wpPiwik = $wpPiwik; if( isset($_POST['s']) ){ $cnt = $this->prepare_items ($_POST['s']); } else { $cnt = $this->prepare_items (); } global $status, $page; $this->showSearchForm(); parent::__construct ( array ( 'singular' => __ ( 'site', 'wp-piwik' ), 'plural' => __ ( 'sites', 'wp-piwik' ), 'ajax' => false ) ); if ($cnt > 0) $this->display (); else echo '

' . __ ( 'No site configured yet.', 'wp-piwik' ) . '

'; } public function get_columns() { $columns = array ( 'id' => __ ( 'Blog ID', 'wp-piwik' ), 'name' => __ ( 'Title', 'wp-piwik' ), 'siteurl' => __ ( 'URL', 'wp-piwik' ), 'piwikid' => __ ( 'Site ID (Piwik)', 'wp-piwik' ) ); return $columns; } public function prepare_items($search = '') { $current_page = $this->get_pagenum (); $per_page = 10; global $blog_id; global $wpdb; global $pagenow; if (is_plugin_active_for_network ( 'wp-piwik/wp-piwik.php' )) { $total_items = $wpdb->get_var ( $wpdb->prepare('SELECT COUNT(*) FROM ' . $wpdb->blogs . ' WHERE CONCAT(domain, path) LIKE "%%%s%%" AND spam = 0 AND deleted = 0', $search)); $blogs = \WP_Piwik\Settings::getBlogList($per_page, $current_page, $search); foreach ( $blogs as $blog ) { $blogDetails = get_blog_details ( $blog['blog_id'], true ); $this->data [] = array ( 'name' => $blogDetails->blogname, 'id' => $blogDetails->blog_id, 'siteurl' => $blogDetails->siteurl, 'piwikid' => $this->wpPiwik->getPiwikSiteId ( $blogDetails->blog_id ) ); } } else { $blogDetails = get_bloginfo (); $this->data [] = array ( 'name' => get_bloginfo ( 'name' ), 'id' => '-', 'siteurl' => get_bloginfo ( 'url' ), 'piwikid' => $this->wpPiwik->getPiwikSiteId () ); $total_items = 1; } $columns = $this->get_columns (); $hidden = array (); $sortable = array (); $this->_column_headers = array ( $columns, $hidden, $sortable ); $this->set_pagination_args ( array ( 'total_items' => $total_items, 'per_page' => $per_page ) ); foreach ( $this->data as $key => $dataset ) { if (empty ( $dataset ['piwikid'] ) || $dataset ['piwikid'] == 'n/a') $this->data [$key] ['piwikid'] = __ ( 'Site not created yet.', 'wp-piwik' ); if ($this->wpPiwik->isNetworkMode ()) $this->data [$key] ['name'] = '' . $dataset ['name'] . ''; } $this->items = $this->data; return count ( $this->items ); } public function column_default($item, $column_name) { switch ($column_name) { case 'id' : case 'name' : case 'siteurl' : case 'piwikid' : return $item [$column_name]; default : return print_r ( $item, true ); } } private function showSearchForm() { ?>
search_box('Search domain and path', 'wpPiwikSiteSearch'); ?>