protected function render_body() { echo "<h1>Communicate</h1>"; $post = new Post(); $post->set_username("tata"); $post->set_post("basdanskjajksdfhsdjaf"); $post_model = new Post_model(); $post_model->store_post($post); $posts = $post_model->get_posts(6); print_r($posts); }
function author() { $this->parser->data['active_menu_portal'] = TRUE; $data = array("page_title" => "Welcome!", "params" => array()); $author = $this->input->get('author_name'); if (empty($author)) { redirect('/portal/'); } $data['params']['author_name'] = $author; $page = $this->input->get('page'); if ($page != null && preg_match('/^[0-9]+$/i', $page)) { $page = str_replace("page", "", strtolower($page)); $page--; } else { $page = 0; } $data['params']['page'] = $page; $date_from = $this->input->get("date_from"); $date_to = $this->input->get("date_to"); if ($date_from != NULL) { $date_from = strtolower($date_from); switch ($date_from) { case "today": case "yesterday": $data['date_selected'] = $date_from; $data['params']['date_from'] = $date_from; $date_to = new DateTime($date_from); $date_from = clone $date_to; break; case "7days": $data['date_selected'] = $date_from; $data['params']['date_from'] = $date_from; $date_to = new DateTime("yesterday"); $date_from = clone $date_to; $date_from->modify('-6 days'); break; case "30days": $data['date_selected'] = $date_from; $data['params']['date_from'] = $date_from; $date_to = new DateTime("yesterday"); $date_from = clone $date_to; $date_from->modify('-29 days'); break; default: if ($date_to != NULL) { if (preg_match("/^[0-9]{1,2}-[0-9]{1,2}-[0-9]{4}\$/", $date_from) && preg_match("/^[0-9]{1,2}-[0-9]{1,2}-[0-9]{4}\$/", $date_to)) { $data['date_selected'] = "custom"; $data['date_from_input'] = $date_from; $data['date_to_input'] = $date_to; $data['params']['date_from'] = $date_from; $data['params']['date_to'] = $date_to; $date_from = DateTime::createFromFormat("m-d-Y", $date_from); $date_to = DateTime::createFromFormat("m-d-Y", $date_to); break; } } $data['date_selected'] = ""; $date_to = NULL; break; } } if ($date_to == NULL) { $date_to = new DateTime(); $date_from = clone $date_to; $date_from->modify('-29 days'); } $data['date_from'] = $date_from->format("M j, Y"); $data['date_to'] = $date_to->format("M j, Y"); $data['date_from_ymd'] = $date_from->format('Y-m-d'); $data['date_to_ymd'] = $date_to->format('Y-m-d'); $this->load->model("Post_model", "post"); $this->user = $this->ion_auth->user()->row(); if ($this->ion_auth->is_manager()) { $data["is_admin"] = TRUE; } $company_id = array($this->user_company->company_id, $author); $rows = Post_model::get_posts($company_id, $date_to, $date_from, TRUE, TRUE, $page); $day_diff = $date_to->diff($date_from)->days; $rows_prev = Post_model::get_posts($company_id, $date_from->modify('-1 days')->format("Y-m-d"), $date_from->modify("-" . $day_diff . " days")->format("Y-m-d"), FALSE, FALSE); $rows_prev = array_column((array) $rows_prev, 'total_pageviews', 'url'); $data['rows'] = array(); foreach ($rows as $index => $row) { $prev = isset($rows_prev[$row->url]) ? $rows_prev[$row->url] : 0; if ($prev && $row->total_pageviews - $prev) { $prev = round(100 * ($row->total_pageviews - $prev) / $prev, 1); } $ar = array("post_id" => $row->post_id, "n" => $page * 10 + $index + 1, "image" => $row->image, "url" => $row->url, "title" => $row->title, "sessions" => $row->total_pageviews, "date_published" => date('M j, Y', strtotime($row->date_published)), "up_down_text" => $prev ? $prev . "%" : "", 'author' => $row->author); if ($prev > 0) { $ar["up_arrow"] = TRUE; } elseif ($prev < 0) { $ar["down_arrow"] = TRUE; } $data['rows'][] = $ar; } $rows = $this->db->from('post_stats')->select_max('date_updated')->get()->result_array(); $data['last_updated'] = $rows[0]['date_updated']; //Total Stats $count = $this->db->from('posts')->where('company_id', $this->user_company->company_id)->where('date_published >=', $data['date_from_ymd'])->where('date_published <=', $data['date_to_ymd'])->count_all_results(); $count_all = $this->db->from('posts')->where('company_id', $this->user_company->company_id)->count_all_results(); $data['totals'] = array('pageviews' => 0, 'sessions' => 0, 'engaged_minutes' => 0, 'posts' => number_format($count), 'all_posts' => number_format($count_all)); $this->load->library("google_php_client", $this->user_company); $rows = $this->google_php_client->get_profile_stats($data['date_to_ymd'], $data['date_from_ymd']); if ($rows) { $data['totals']['sessions'] = number_format($rows[0][0]); $data['totals']['engaged_minutes'] = number_format($rows[0][0] * $rows[0][1] / 60); $data['totals']['pageviews'] = number_format($rows[0][2]); } $query = $data['params']; $data['prev_link'] = $page == 0 ? "" : "/portal/author/?" . http_build_query($query); $query['page']++; $data['portal_link'] = http_build_query($query); $query['page']++; $data['next_link'] = "/portal/author/?" . http_build_query($query); unset($query['page']); $data['date_link'] = http_build_query($query); $this->parser->parse("portal/home", $data); }