function doModel() { switch ($this->action) { case 'logout': // unset only the required parameters in Session $this->logout(); $this->redirectTo(osc_admin_base_url(true)); break; default: //default dashboard page (main page at oc-admin) $this->_exportVariableToView("numItemsPerCategory", osc_get_non_empty_categories()); $this->_exportVariableToView("numUsers", User::newInstance()->count()); $this->_exportVariableToView("numItems", Item::newInstance()->count()); $this->_exportVariableToView('newsList', osc_listNews()); $this->_exportVariableToView('twitterRSS', osc_latestTweets()); // stats $items = array(); $stats_items = Stats::newInstance()->new_items_count(date('Y-m-d H:i:s', mktime(0, 0, 0, date("m"), date("d") - 10, date("Y"))), 'day'); for ($k = 10; $k >= 0; $k--) { $items[date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - $k, date("Y")))] = 0; } foreach ($stats_items as $item) { $items[$item['d_date']] = $item['num']; } $users = array(); $stats_users = Stats::newInstance()->new_users_count(date('Y-m-d H:i:s', mktime(0, 0, 0, date("m"), date("d") - 10, date("Y"))), 'day'); for ($k = 10; $k >= 0; $k--) { $users[date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - $k, date("Y")))] = 0; } foreach ($stats_users as $user) { $users[$user['d_date']] = $user['num']; } $this->_exportVariableToView("item_stats", $items); $this->_exportVariableToView("user_stats", $users); //calling the view... $this->doView('main/index.php'); } }
function doModel() { switch ($this->action) { case 'logout': // unset only the required parameters in Session osc_run_hook('logout_admin'); $this->logout(); $this->redirectTo(osc_admin_base_url(true)); break; default: //default dashboard page (main page at oc-admin) $this->_exportVariableToView("numItemsPerCategory", osc_get_non_empty_categories()); $this->_exportVariableToView("numUsers", User::newInstance()->count()); $this->_exportVariableToView("numItems", Item::newInstance()->count()); // stats $items = array(); $stats_items = Stats::newInstance()->new_items_count(date('Y-m-d H:i:s', mktime(0, 0, 0, date("m"), date("d") - 10, date("Y"))), 'day'); for ($k = 10; $k >= 0; $k--) { $items[date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - $k, date("Y")))] = 0; } foreach ($stats_items as $item) { $items[$item['d_date']] = $item['num']; } $users = array(); $stats_users = Stats::newInstance()->new_users_count(date('Y-m-d H:i:s', mktime(0, 0, 0, date("m"), date("d") - 10, date("Y"))), 'day'); for ($k = 10; $k >= 0; $k--) { $users[date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - $k, date("Y")))] = 0; } foreach ($stats_users as $user) { $users[$user['d_date']] = $user['num']; } if (function_exists('disk_free_space')) { $freedisk = @disk_free_space(osc_uploads_path()); if ($freedisk !== false && $freedisk < 52428800) { //52428800 = 50*1024*1024 osc_add_flash_error_message(_m('You have very few free space left, users will not be able to upload pictures'), 'admin'); } } // show messages subscribed $status_subscribe = Params::getParam('subscribe_osclass'); if ($status_subscribe != '') { switch ($status_subscribe) { case -1: osc_add_flash_error_message(_m('Entered an invalid email'), 'admin'); break; case 0: osc_add_flash_warning_message(_m("You're already subscribed"), 'admin'); break; case 1: osc_add_flash_ok_message(_m('Subscribed correctly'), 'admin'); break; default: osc_add_flash_warning_message(_m("Error subscribing"), 'admin'); break; } } $this->_exportVariableToView("item_stats", $items); $this->_exportVariableToView("user_stats", $users); //calling the view... $this->doView('main/index.php'); } }
function doModel() { parent::doModel(); //specific things for this class switch ($this->action) { case 'reports': // manage stats view $reports = array(); if (Params::getParam('type_stat') == 'week') { $stats_reports = Stats::newInstance()->new_reports_count(date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - 70, date("Y"))), 'week'); for ($k = 10; $k >= 0; $k--) { $reports[date('W', mktime(0, 0, 0, date("m"), date("d"), date("Y"))) - $k]['views'] = 0; $reports[date('W', mktime(0, 0, 0, date("m"), date("d"), date("Y"))) - $k]['spam'] = 0; $reports[date('W', mktime(0, 0, 0, date("m"), date("d"), date("Y"))) - $k]['repeated'] = 0; $reports[date('W', mktime(0, 0, 0, date("m"), date("d"), date("Y"))) - $k]['bad_classified'] = 0; $reports[date('W', mktime(0, 0, 0, date("m"), date("d"), date("Y"))) - $k]['offensive'] = 0; $reports[date('W', mktime(0, 0, 0, date("m"), date("d"), date("Y"))) - $k]['expired'] = 0; } } else { if (Params::getParam('type_stat') == 'month') { $stats_reports = Stats::newInstance()->new_reports_count(date('Y-m-d', mktime(0, 0, 0, date("m") - 10, date("d"), date("Y"))), 'month'); for ($k = 10; $k >= 0; $k--) { $reports[date('F', mktime(0, 0, 0, date("m") - $k, date("d"), date("Y")))]['views'] = 0; $reports[date('F', mktime(0, 0, 0, date("m") - $k, date("d"), date("Y")))]['spam'] = 0; $reports[date('F', mktime(0, 0, 0, date("m") - $k, date("d"), date("Y")))]['repeated'] = 0; $reports[date('F', mktime(0, 0, 0, date("m") - $k, date("d"), date("Y")))]['bad_classified'] = 0; $reports[date('F', mktime(0, 0, 0, date("m") - $k, date("d"), date("Y")))]['offensive'] = 0; $reports[date('F', mktime(0, 0, 0, date("m") - $k, date("d"), date("Y")))]['expired'] = 0; } } else { $stats_reports = Stats::newInstance()->new_reports_count(date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - 10, date("Y"))), 'day'); for ($k = 10; $k >= 0; $k--) { $reports[date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - $k, date("Y")))]['views'] = 0; $reports[date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - $k, date("Y")))]['spam'] = 0; $reports[date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - $k, date("Y")))]['repeated'] = 0; $reports[date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - $k, date("Y")))]['bad_classified'] = 0; $reports[date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - $k, date("Y")))]['offensive'] = 0; $reports[date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - $k, date("Y")))]['expired'] = 0; } } } $max = array(); $max['views'] = 0; $max['other'] = 0; foreach ($stats_reports as $report) { $reports[$report['d_date']]['views'] = $report['views']; $reports[$report['d_date']]['spam'] = $report['spam']; $reports[$report['d_date']]['repeated'] = $report['repeated']; $reports[$report['d_date']]['bad_classified'] = $report['bad_classified']; $reports[$report['d_date']]['offensive'] = $report['offensive']; $reports[$report['d_date']]['expired'] = $report['expired']; if ($report['views'] > $max['views']) { $max['views'] = $report['views']; } if ($report['spam'] > $max['other']) { $max['other'] = $report['spam']; } if ($report['repeated'] > $max['other']) { $max['other'] = $report['repeated']; } if ($report['bad_classified'] > $max['other']) { $max['other'] = $report['bad_classified']; } if ($report['offensive'] > $max['other']) { $max['other'] = $report['offensive']; } if ($report['expired'] > $max['other']) { $max['other'] = $report['expired']; } } $this->_exportVariableToView("reports", $reports); $this->_exportVariableToView("max", $max); $this->doView("stats/reports.php"); break; case 'comments': // manage stats view $comments = array(); if (Params::getParam('type_stat') == 'week') { $stats_comments = Stats::newInstance()->new_comments_count(date('Y-m-d H:i:s', mktime(0, 0, 0, date("m"), date("d") - 70, date("Y"))), 'week'); for ($k = 10; $k >= 0; $k--) { $comments[date('W', mktime(0, 0, 0, date("m"), date("d"), date("Y"))) - $k] = 0; } } else { if (Params::getParam('type_stat') == 'month') { $stats_comments = Stats::newInstance()->new_comments_count(date('Y-m-d H:i:s', mktime(0, 0, 0, date("m") - 10, date("d"), date("Y"))), 'month'); for ($k = 10; $k >= 0; $k--) { $comments[date('F', mktime(0, 0, 0, date("m") - $k, date("d"), date("Y")))] = 0; } } else { $stats_comments = Stats::newInstance()->new_comments_count(date('Y-m-d H:i:s', mktime(0, 0, 0, date("m"), date("d") - 10, date("Y"))), 'day'); for ($k = 10; $k >= 0; $k--) { $comments[date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - $k, date("Y")))] = 0; } } } $max = 0; foreach ($stats_comments as $comment) { $comments[$comment['d_date']] = $comment['num']; if ($comment['num'] > $max) { $max = $comment['num']; } } $this->_exportVariableToView("comments", $comments); $this->_exportVariableToView("latest_comments", Stats::newInstance()->latest_comments()); $this->_exportVariableToView("max", $max); $this->doView("stats/comments.php"); break; default: case 'items': // manage stats view $items = array(); $reports = array(); if (Params::getParam('type_stat') == 'week') { $stats_items = Stats::newInstance()->new_items_count(date('Y-m-d H:i:s', mktime(0, 0, 0, date("m"), date("d") - 70, date("Y"))), 'week'); $stats_reports = Stats::newInstance()->new_reports_count(date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - 70, date("Y"))), 'week'); for ($k = 10; $k >= 0; $k--) { $reports[date('W', mktime(0, 0, 0, date("m"), date("d"), date("Y"))) - $k]['views'] = 0; $items[date('W', mktime(0, 0, 0, date("m"), date("d"), date("Y"))) - $k] = 0; } } else { if (Params::getParam('type_stat') == 'month') { $stats_items = Stats::newInstance()->new_items_count(date('Y-m-d H:i:s', mktime(0, 0, 0, date("m") - 10, date("d"), date("Y"))), 'month'); $stats_reports = Stats::newInstance()->new_reports_count(date('Y-m-d', mktime(0, 0, 0, date("m") - 10, date("d"), date("Y"))), 'month'); for ($k = 10; $k >= 0; $k--) { $reports[date('F', mktime(0, 0, 0, date("m") - $k, date("d"), date("Y")))]['views'] = 0; $items[date('F', mktime(0, 0, 0, date("m") - $k, date("d"), date("Y")))] = 0; } } else { $stats_items = Stats::newInstance()->new_items_count(date('Y-m-d H:i:s', mktime(0, 0, 0, date("m"), date("d") - 10, date("Y"))), 'day'); $stats_reports = Stats::newInstance()->new_reports_count(date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - 10, date("Y"))), 'day'); for ($k = 10; $k >= 0; $k--) { $reports[date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - $k, date("Y")))]['views'] = 0; $items[date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - $k, date("Y")))] = 0; } } } $max = 0; foreach ($stats_items as $item) { $items[$item['d_date']] = $item['num']; if ($item['num'] > $max) { $max = $item['num']; } } $max_views = 0; foreach ($stats_reports as $report) { $reports[$report['d_date']]['views'] = $report['views']; if ($report['views'] > $max_views) { $max_views = $report['views']; } } $this->_exportVariableToView("reports", $reports); $this->_exportVariableToView("items", $items); $this->_exportVariableToView("latest_items", Stats::newInstance()->latest_items()); $this->_exportVariableToView("max", $max); $this->_exportVariableToView("max_views", $max_views); $this->doView("stats/items.php"); break; case 'users': // manage stats view $users = array(); if (Params::getParam('type_stat') == 'week') { $stats_users = Stats::newInstance()->new_users_count(date('Y-m-d H:i:s', mktime(0, 0, 0, date("m"), date("d") - 70, date("Y"))), 'week'); for ($k = 10; $k >= 0; $k--) { $users[date('W', mktime(0, 0, 0, date("m"), date("d"), date("Y"))) - $k] = 0; } } else { if (Params::getParam('type_stat') == 'month') { $stats_users = Stats::newInstance()->new_users_count(date('Y-m-d H:i:s', mktime(0, 0, 0, date("m") - 10, date("d"), date("Y"))), 'month'); for ($k = 10; $k >= 0; $k--) { $users[date('F', mktime(0, 0, 0, date("m") - $k, date("d"), date("Y")))] = 0; } } else { $stats_users = Stats::newInstance()->new_users_count(date('Y-m-d H:i:s', mktime(0, 0, 0, date("m"), date("d") - 10, date("Y"))), 'day'); for ($k = 10; $k >= 0; $k--) { $users[date('Y-m-d', mktime(0, 0, 0, date("m"), date("d") - $k, date("Y")))] = 0; } } } $max = 0; foreach ($stats_users as $user) { $users[$user['d_date']] = $user['num']; if ($user['num'] > $max) { $max = $user['num']; } } $item = Stats::newInstance()->items_by_user(); $this->_exportVariableToView("users_by_country", Stats::newInstance()->users_by_country()); $this->_exportVariableToView("users_by_region", Stats::newInstance()->users_by_region()); $this->_exportVariableToView("item", !isset($item[0]['avg']) || !is_numeric($item[0]['avg']) ? 0 : $item[0]['avg']); $this->_exportVariableToView("latest_users", Stats::newInstance()->latest_users()); $this->_exportVariableToView("users", $users); $this->_exportVariableToView("max", $max); $this->doView("stats/users.php"); break; } }