. */ ?> base_prefix . $shortName; } else { return $wpdb->prefix . $shortName; } } public static function isNetworkInstall() { if(is_multisite() && defined('BLOG_ID_CURRENT_SITE') && is_plugin_active_for_network( ERROR_REPORT_PLUGIN_NAME.'/index.php' )){ //check if main blog has network-install option return get_blog_option(BLOG_ID_CURRENT_SITE, ERROR_REPORT_PLUGIN_NAME . '-network-install',false); }else { return false; } } public static function addPluginOption($option,$value, $deprecated = '', $autoload = 'yes') { if(self::isNetworkInstall()){ add_blog_option(BLOG_ID_CURRENT_SITE, ERROR_REPORT_PLUGIN_NAME . '-' . $option, $value); } else { add_option(ERROR_REPORT_PLUGIN_NAME . '-' . $option, $value, $deprecated, $autoload ); } } public static function updatePluginOption($option,$value = null, $deprecated = '', $autoload = 'yes') { if(self::isNetworkInstall()){ if(self::getPluginOption($option,'not_set') != "not_set"){ update_blog_option(BLOG_ID_CURRENT_SITE,ERROR_REPORT_PLUGIN_NAME . '-' . $option, $value); } else { add_blog_option(BLOG_ID_CURRENT_SITE,ERROR_REPORT_PLUGIN_NAME . '-' . $option, $value); } } else { if(self::getPluginOption($option,'not_set') != "not_set"){ update_option(ERROR_REPORT_PLUGIN_NAME . '-' . $option, $value); } else { add_option(ERROR_REPORT_PLUGIN_NAME . '-' . $option, $value, $deprecated, $autoload ); } } } public static function deletePluginOption($option) { if(self::isNetworkInstall()){ delete_blog_option(BLOG_ID_CURRENT_SITE, ERROR_REPORT_PLUGIN_NAME . '-' . $option ); } else { delete_option(ERROR_REPORT_PLUGIN_NAME . '-' . $option ); } } public static function getPluginOption($option,$default = null) { if(self::isNetworkInstall()){ return get_blog_option(BLOG_ID_CURRENT_SITE, ERROR_REPORT_PLUGIN_NAME . '-' . $option,$default); } else { return get_option(ERROR_REPORT_PLUGIN_NAME . '-' . $option,$default); } } public static function _createTables($networkwide) { global $wpdb; //create table if not present if($networkwide && function_exists('is_super_admin') && is_super_admin()){ $wpdb->errorReportTable = $wpdb->base_prefix . self::LOG_TABLE; } else { $wpdb->errorReportTable = $wpdb->prefix . self::LOG_TABLE; } if ( !self::_tableExist($wpdb->errorReportTable) ) { $wpdb->query( "CREATE TABLE IF NOT EXISTS `{$wpdb->errorReportTable}` ( `id` bigint(20) NOT NULL auto_increment, `blog_id` bigint(20) NOT NULL, `url` varchar(255) NOT NULL, `count` bigint(20) NOT NULL, `referer` varchar(255) NOT NULL, `last_error` datetime NOT NULL, PRIMARY KEY (`id`) );" ); } } public static function _tableExist($tableName) { global $wpdb; if($wpdb->get_var("SHOW TABLES LIKE '{$tableName}'") == $tableName){ return true; } else { return false; } } /** * @deprecated * @param bool $networkwide */ public static function _dropTables($networkwide) { global $wpdb; if($networkwide && function_exists('is_super_admin') && is_super_admin()){ $wpdb->errorReportTable = $wpdb->base_prefix . self::LOG_TABLE; } else { $wpdb->errorReportTable = $wpdb->prefix . self::LOG_TABLE; } if ( $wpdb->get_var("SHOW TABLES LIKE '{$wpdb->errorReportTable}'") == $wpdb->errorReportTable ) { $wpdb->query( "DROP TABLE`{$wpdb->errorReportTable}`" ); } } public static function pagination($count,$limitByPage,$p) { $pageCount = ceil($count/$limitByPage); $lpm1 = $pageCount-1; $prev = $p - 1; $next = $p + 1; $current_url = set_url_scheme( 'http://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'] ); $pagination = '' . sprintf( _n( '%s item', '%s items', $count ), number_format_i18n( $count ) ) . ''; $adjacents = 3; if($pageCount > 1){ //previous button if ($p > 1){ $pagination.= '<<'; } else { $pagination.= '<<'; } if ($pageCount < 7 + ($adjacents * 2)){ for ($counter = 1; $counter <= $pageCount; $counter++){ if ($counter == $p){ $pagination.= ''.$counter.''; } else { $pagination.= ''.$counter.''; } } }elseif($pageCount > 5 + ($adjacents * 2)){ if($p < 1 + ($adjacents * 2)){ for ($counter = 1; $counter < 4 + ($adjacents * 2); $counter++){ if ($counter == $p) $pagination.= ''.$counter.''; else $pagination.= ''.$counter.''; } $pagination.= '...'; $pagination.= ''.$lpm1.''; $pagination.= ''.$pageCount.''; } //in middle; hide some front and some back elseif($pageCount - ($adjacents * 2) > $p && $p > ($adjacents * 2)){ $pagination.= '1'; $pagination.= '2'; $pagination.= '...'; for ($counter = $p - $adjacents; $counter <= $p + $adjacents; $counter++){ if ($counter == $p) $pagination.= ''.$counter.''; else $pagination.= ''.$counter.''; } $pagination.= '...'; $pagination.= ''.$lpm1.''; $pagination.= ''.$pageCount.''; }else{ $pagination.= '1'; $pagination.= '2'; $pagination.= '...'; for ($counter = $pageCount - (2 + ($adjacents * 2)); $counter <= $pageCount; $counter++){ if ($counter == $p) $pagination.= ''.$counter.''; else $pagination.= ''.$counter.''; } } } if ($p < $counter - 1){ $pagination.= '>>'; } else { $pagination.= '>>'; } } return $pagination; } }