Advertisement
sergeyzimin

wp-polls plagin ajustment

Jun 17th, 2012
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 10.37 KB | None | 0 0
  1. function create_poll_table() {
  2.     global $wpdb;
  3.     polls_textdomain();
  4.     if(@is_file(ABSPATH.'/wp-admin/includes/upgrade.php')) {
  5.         include_once(ABSPATH.'/wp-admin/includes/upgrade.php');
  6.     }elseif(@is_file(ABSPATH.'/wp-admin/upgrade-functions.php')) {
  7.         include_once(ABSPATH.'/wp-admin/upgrade-functions.php');
  8.     } elseif(@is_file(ABSPATH.'/wp-admin/includes/upgrade.php')) {
  9.         include_once(ABSPATH.'/wp-admin/includes/upgrade.php');
  10.     } else {
  11.         die('We have problem finding your \'/wp-admin/upgrade-functions.php\' and \'/wp-admin/includes/upgrade.php\'');
  12.     }
  13.     // Create Poll Tables (3 Tables)
  14.     $charset_collate = '';
  15.     if($wpdb->supports_collation()) {
  16.         if(!empty($wpdb->charset)) {
  17.             $charset_collate = "DEFAULT CHARACTER SET $wpdb->charset";
  18.         }
  19.         if(!empty($wpdb->collate)) {
  20.             $charset_collate .= " COLLATE $wpdb->collate";
  21.         }
  22.     }
  23.     $create_table = array();
  24.    
  25.     $blog_ids = $wpdb->get_results("SELECT `blog_id` FROM `".$wpdb->base_prefix ."blogs` ", ARRAY_N);
  26.                     if($blog_ids) {
  27.                         foreach($blog_ids as $blog_id) {
  28.                 if ($blog_id[0] == 1)  {$blog_id = 0; $blog_id_='';
  29.                 } else { $blog_id = $blog_id[0] ; $blog_id_ = $blog_id.'_';}
  30.     $pollsq = $blog_id_.'pollsq'; $pollsa = $blog_id_.'pollsa'; $pollsip = $blog_id_.'pollsip';
  31.     $create_table = array();
  32.     $create_table['pollsq'] = "CREATE TABLE ".$wpdb->base_prefix .$blog_id_."pollsq (".
  33.                                     "pollq_id int(10) NOT NULL auto_increment,".
  34.                                     "pollq_question varchar(200) character set utf8 NOT NULL default '',".
  35.                                     "pollq_timestamp varchar(20) NOT NULL default '',".
  36.                                     "pollq_totalvotes int(10) NOT NULL default '0',".
  37.                                     "pollq_active tinyint(1) NOT NULL default '1',".
  38.                                     "pollq_expiry varchar(20) NOT NULL default '',".
  39.                                     "pollq_multiple tinyint(3) NOT NULL default '0',".
  40.                                     "pollq_totalvoters int(10) NOT NULL default '0',".
  41.                                     "PRIMARY KEY (pollq_id)) $charset_collate;";
  42.     $create_table['pollsa'] = "CREATE TABLE ".$wpdb->base_prefix .$blog_id_."pollsa (".
  43.                                     "polla_aid int(10) NOT NULL auto_increment,".
  44.                                     "polla_qid int(10) NOT NULL default '0',".
  45.                                     "polla_answers varchar(200) character set utf8 NOT NULL default '',".
  46.                                     "polla_votes int(10) NOT NULL default '0',".
  47.                                     "PRIMARY KEY (polla_aid)) $charset_collate;";
  48.     $create_table['pollsip'] = "CREATE TABLE ".$wpdb->base_prefix .$blog_id_."pollsip (".
  49.                                     "pollip_id int(10) NOT NULL auto_increment,".
  50.                                     "pollip_qid varchar(10) NOT NULL default '',".
  51.                                     "pollip_aid varchar(10) NOT NULL default '',".
  52.                                     "pollip_ip varchar(100) NOT NULL default '',".
  53.                                     "pollip_host VARCHAR(200) NOT NULL default '',".
  54.                                     "pollip_timestamp varchar(20) NOT NULL default '0000-00-00 00:00:00',".
  55.                                     "pollip_user tinytext NOT NULL,".
  56.                                     "pollip_userid int(10) NOT NULL default '0',".
  57.                                     "PRIMARY KEY (pollip_id),".
  58.                                     "KEY pollip_ip (pollip_id),".
  59.                                     "KEY pollip_qid (pollip_qid)".
  60.                                     ") $charset_collate;";
  61.                                    
  62.     maybe_create_table($wpdb->$pollsq, $create_table['pollsq']);
  63.     maybe_create_table($wpdb->$pollsa, $create_table['pollsa']);
  64.     maybe_create_table($wpdb->$pollsip, $create_table['pollsip']);
  65.     // Check Whether It is Install Or Upgrade
  66.     $first_poll = $wpdb->get_var("SELECT pollq_id FROM ".$wpdb->base_prefix .$blog_id_."pollsq LIMIT 1");
  67.     // If Install, Insert 1st Poll Question With 5 Poll Answers
  68.     if(empty($first_poll)) {
  69.         // Insert Poll Question (1 Record)
  70.         $insert_pollq = $wpdb->query("INSERT INTO ".$wpdb->base_prefix .$blog_id_."pollsq VALUES (1, '".__('How Is My Site?', 'wp-polls')."', '".current_time('timestamp')."', 0, 1, '', 0, 0);");
  71.         if($insert_pollq) {
  72.             // Insert Poll Answers  (5 Records)
  73.             $wpdb->query("INSERT INTO ".$wpdb->base_prefix .$blog_id_."pollsa VALUES (1, 1, '".__('Good', 'wp-polls')."', 0);");
  74.             $wpdb->query("INSERT INTO ".$wpdb->base_prefix .$blog_id_."pollsa VALUES (2, 1, '".__('Excellent', 'wp-polls')."', 0);");
  75.             $wpdb->query("INSERT INTO ".$wpdb->base_prefix .$blog_id_."pollsa VALUES (3, 1, '".__('Bad', 'wp-polls')."', 0);");
  76.             $wpdb->query("INSERT INTO ".$wpdb->base_prefix .$blog_id_."pollsa VALUES (4, 1, '".__('Can Be Improved', 'wp-polls')."', 0);");
  77.             $wpdb->query("INSERT INTO ".$wpdb->base_prefix .$blog_id_."pollsa VALUES (5, 1, '".__('No Comments', 'wp-polls')."', 0);");
  78.         }
  79.     }
  80.     // Add In Options (16 Records)
  81.     add_blog_option ($blog_id,'poll_template_voteheader', '<p style="text-align:left;"><strong>%POLL_QUESTION%</strong></p>'.
  82.     '<div id="polls-%POLL_ID%-ans" class="wp-polls-ans">'.
  83.     '<ul class="wp-polls-ul">');
  84.     add_blog_option($blog_id,'poll_template_votebody', '<li><input type="%POLL_CHECKBOX_RADIO%" id="poll-answer-%POLL_ANSWER_ID%" name="poll_%POLL_ID%" value="%POLL_ANSWER_ID%" /> <label for="poll-answer-%POLL_ANSWER_ID%">%POLL_ANSWER%</label></li>');
  85.     add_blog_option($blog_id,'poll_template_votefooter', '</ul>'.
  86.     '<p style="text-align: center;"><input type="button" name="vote" value="   '.__('Vote', 'wp-polls').'   " class="Buttons" onclick="poll_vote(%POLL_ID%);" /></p>'.
  87.     '<p style="text-align: center;"><a href="#ViewPollResults" onclick="poll_result(%POLL_ID%); return false;" title="'.__('View Results Of This Poll', 'wp-polls').'">'.__('View Results', 'wp-polls').'</a></p>'.
  88.     '</div>');
  89.     add_blog_option($blog_id,'poll_template_resultheader', '<p style="text-align:left;"><strong>%POLL_QUESTION%</strong></p>'.
  90.     '<div id="polls-%POLL_ID%-ans" class="wp-polls-ans">'.
  91.     '<ul class="wp-polls-ul">');
  92.     add_blog_option($blog_id,'poll_template_resultbody', '<li>%POLL_ANSWER% <small>(%POLL_ANSWER_PERCENTAGE%%'.__(',', 'wp-polls').' %POLL_ANSWER_VOTES% '.__('Votes', 'wp-polls').')</small><div class="pollbar" style="width: %POLL_ANSWER_IMAGEWIDTH%%;" title="%POLL_ANSWER_TEXT% (%POLL_ANSWER_PERCENTAGE%% | %POLL_ANSWER_VOTES% '.__('Votes', 'wp-polls').')"></div></li>');
  93.     add_blog_option($blog_id,'poll_template_resultbody2', '<li><strong><i>%POLL_ANSWER% <small>(%POLL_ANSWER_PERCENTAGE%%'.__(',', 'wp-polls').' %POLL_ANSWER_VOTES% '.__('Votes', 'wp-polls').')</small></i></strong><div class="pollbar" style="width: %POLL_ANSWER_IMAGEWIDTH%%;" title="'.__('You Have Voted For This Choice', 'wp-polls').' - %POLL_ANSWER_TEXT% (%POLL_ANSWER_PERCENTAGE%% | %POLL_ANSWER_VOTES% '.__('Votes', 'wp-polls').')"></div></li>');
  94.     add_blog_option($blog_id,'poll_template_resultfooter', '</ul>'.
  95.     '<p style="text-align: center;">'.__('Total Voters', 'wp-polls').': <strong>%POLL_TOTALVOTERS%</strong></p>'.
  96.     '</div>');
  97.     add_blog_option($blog_id,'poll_template_resultfooter2', '</ul>'.
  98.     '<p style="text-align: left;">'.__('Total Voters', 'wp-polls').': <strong>%POLL_TOTALVOTERS%</strong></p>'.
  99.     '<p style="text-align: center;"><a href="#VotePoll" onclick="poll_booth(%POLL_ID%); return false;" title="'.__('Vote For This Poll', 'wp-polls').'">'.__('Vote', 'wp-polls').'</a></p>'.
  100.     '</div>');
  101.     add_blog_option($blog_id,'poll_template_disable', __('Sorry, there are no polls available at the moment.', 'wp-polls'));
  102.     add_blog_option($blog_id,'poll_template_error', __('An error has occurred when processing your poll.', 'wp-polls'));
  103.     add_blog_option($blog_id,'poll_currentpoll', 0);
  104.     add_blog_option($blog_id,'poll_latestpoll', 1);
  105.     add_blog_option($blog_id,'poll_archive_perpage', 5);
  106.     add_blog_option($blog_id,'poll_ans_sortby', 'polla_aid');
  107.     add_blog_option($blog_id,'poll_ans_sortorder', 'asc');
  108.     add_blog_option($blog_id,'poll_ans_result_sortby', 'polla_votes');
  109.     add_blog_option($blog_id,'poll_ans_result_sortorder', 'desc');
  110.     // Database Upgrade For WP-Polls 2.1
  111.     add_blog_option($blog_id,'poll_logging_method', '3');
  112.     add_blog_option($blog_id,'poll_allowtovote', '2');
  113.     maybe_add_column($wpdb->$pollsq, 'pollq_active', "ALTER TABLE ".$wpdb->base_prefix .$blog_id_."pollsq ADD pollq_active TINYINT( 1 ) NOT NULL DEFAULT '1';");
  114.     // Database Upgrade For WP-Polls 2.12
  115.     maybe_add_column($wpdb->$pollsip, 'pollip_userid', "ALTER TABLE ".$wpdb->base_prefix .$blog_id_."pollsip ADD pollip_userid INT( 10 ) NOT NULL DEFAULT '0';");
  116.     add_blog_option($blog_id,'poll_archive_url', site_url('pollsarchive'));
  117.     // Database Upgrade For WP-Polls 2.13
  118.     add_blog_option($blog_id,'poll_bar', array('style' => 'default', 'background' => 'd8e1eb', 'border' => 'c8c8c8', 'height' => 8));
  119.     // Database Upgrade For WP-Polls 2.14
  120.     maybe_add_column($wpdb->$pollsq, 'pollq_expiry', "ALTER TABLE ".$wpdb->base_prefix .$blog_id_."pollsq ADD pollq_expiry varchar(20) NOT NULL default '';");
  121.     add_blog_option($blog_id,'poll_close', 1);
  122.     // Database Upgrade For WP-Polls 2.20
  123.     add_blog_option($blog_id,'poll_ajax_style', array('loading' => 1, 'fading' => 1));
  124.     add_blog_option($blog_id,'poll_template_pollarchivelink', '<ul>'.
  125.     '<li><a href="%POLL_ARCHIVE_URL%">'.__('Polls Archive', 'wp-polls').'</a></li>'.
  126.     '</ul>');
  127.     add_blog_option($blog_id,'poll_archive_displaypoll', 2);
  128.     add_blog_option($blog_id,'poll_template_pollarchiveheader', '');
  129.     add_blog_option($blog_id,'poll_template_pollarchivefooter', '<p>'.__('Start Date:', 'wp-polls').' %POLL_START_DATE%<br />'.__('End Date:', 'wp-polls').' %POLL_END_DATE%</p>');
  130.     maybe_add_column($wpdb->$pollsq, 'pollq_multiple', "ALTER TABLE ".$wpdb->base_prefix .$blog_id_."pollsq ADD pollq_multiple TINYINT( 3 ) NOT NULL DEFAULT '0';");
  131.     $pollq_totalvoters = maybe_add_column($wpdb->$pollsq, 'pollq_totalvoters', "ALTER TABLE ".$wpdb->base_prefix .$blog_id_."pollsq ADD pollq_totalvoters INT( 10 ) NOT NULL DEFAULT '0';");
  132.     if($pollq_totalvoters) {
  133.         $pollq_totalvoters = intval($wpdb->get_var("SELECT SUM(pollq_totalvoters) FROM ".$wpdb->base_prefix .$blog_id_."pollsq"));
  134.         if($pollq_totalvoters == 0) {
  135.             $wpdb->query("UPDATE ".$wpdb->base_prefix .$blog_id_."pollsq SET pollq_totalvoters = pollq_totalvotes");
  136.         }
  137.     }
  138.     // Database Upgrade For WP-Polls 2.30
  139.     add_blog_option($blog_id,'poll_cookielog_expiry', 0);
  140.     add_blog_option($blog_id,'poll_template_pollarchivepagingheader', '');
  141.     add_blog_option($blog_id,'poll_template_pollarchivepagingfooter', '');
  142.     // Database Upgrade For WP-Polls 2.50
  143.     delete_blog_option($blog_id,'poll_archive_show');
  144.     // Database Upgrade For WP-Polls 2.61
  145.     $wpdb->query("ALTER TABLE ".$wpdb->base_prefix .$blog_id_."pollsip ADD INDEX pollip_ip (pollip_id);");
  146.     $wpdb->query("ALTER TABLE ".$wpdb->base_prefix .$blog_id_."pollsip ADD INDEX pollip_qid (pollip_qid);");
  147.     }
  148.     }
  149.     // Set 'manage_polls' Capabilities To Administrator
  150.     $role = get_role('administrator');
  151.     if(!$role->has_cap('manage_polls')) {
  152.         $role->add_cap('manage_polls');
  153.     }
  154.     cron_polls_place();
  155. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement