public function __invoke() { $input = $this->loadInput("Day18/Puzzle1"); $controller = new GridController(); $grid = $controller->startGrid($input); for ($i = 1; $i <= 100; $i++) { $grid = $controller->nextGrid($grid); } $this->write("Number of lights after 100 steps: " . $grid->numberTurnedOn()); }
public function testOwnerWithAccessAllMentions() { $builders = $this->buildData(); $this->simulateLogin('*****@*****.**'); $_GET['u'] = 'someuser1'; $_GET['n'] = 'twitter'; $_GET['d'] = 'tweets-mostreplies'; $controller = new GridController(true); $this->assertTrue(isset($controller)); ob_start(); $controller->control(); $results = ob_get_contents(); ob_end_clean(); $json = substr($results, 29, 210); $ob = json_decode($json); // @TODO Figure out why these assertions don't work // $this->assertEqual($ob->status, 'success'); // $this->assertEqual(count($ob->posts), 3); $this->assertPattern('/"status":"success"/', $results); }
public function getDashboardMenuItems($instance) { $menus = array(); $posts_data_tpl = Utils::getPluginViewDirectory('facebook') . 'posts.tpl'; $posts_menu_item = new MenuItem("Posts", "Post insights", $posts_data_tpl); $posts_menu_ds_1 = new Dataset("all_posts", 'PostDAO', "getAllPosts", array($instance->network_user_id, $instance->network, 5, "#page_number#"), 'getAllPostsIterator', array($instance->network_user_id, $instance->network, GridController::getMaxRows()), false); $posts_menu_item->addDataset($posts_menu_ds_1); $posts_menu_ds_2 = new Dataset("most_replied_to", 'PostDAO', "getMostRepliedToPosts", array($instance->network_user_id, $instance->network, 5, '#page_number#')); $posts_menu_item->addDataset($posts_menu_ds_2); $posts_menu_ds_3 = new Dataset("most_liked", 'PostDAO', "getMostFavedPosts", array($instance->network_user_id, $instance->network, 5, '#page_number#')); $posts_menu_item->addDataset($posts_menu_ds_3); $posts_menu_ds_4 = new Dataset("inquiries", 'PostDAO', "getAllQuestionPosts", array($instance->network_user_id, $instance->network, 5, "#page_number#")); $posts_menu_item->addDataset($posts_menu_ds_4); $posts_menu_ds_5 = new Dataset("wallposts", 'PostDAO', "getPostsToUser", array($instance->network_user_id, $instance->network, 5, '#page_number#', !Session::isLoggedIn()), 'getPostsToUserIterator', array($instance->network_user_id, $instance->network, GridController::getMaxRows())); $posts_menu_item->addDataset($posts_menu_ds_5); $menus['posts'] = $posts_menu_item; $friends_data_tpl = Utils::getPluginViewDirectory('facebook') . 'friends.tpl'; $friend_fan_menu_title = $instance->network == 'facebook page' ? 'Fans' : 'Friends'; $friends_menu_item = new MenuItem($friend_fan_menu_title, "Friends insights", $friends_data_tpl); $friends_menu_ds_2 = new Dataset("follower_count_history_by_day", 'CountHistoryDAO', 'getHistory', array($instance->network_user_id, $instance->network, 'DAY', 15)); $friends_menu_item->addDataset($friends_menu_ds_2); $friends_menu_ds_3 = new Dataset("follower_count_history_by_week", 'CountHistoryDAO', 'getHistory', array($instance->network_user_id, $instance->network, 'WEEK', 15)); $friends_menu_item->addDataset($friends_menu_ds_3); $friends_menu_ds_4 = new Dataset("follower_count_history_by_month", 'CountHistoryDAO', 'getHistory', array($instance->network_user_id, $instance->network, 'MONTH', 11)); $friends_menu_item->addDataset($friends_menu_ds_4); $menus['friends'] = $friends_menu_item; $fb_data_tpl = Utils::getPluginViewDirectory('facebook') . 'facebook.inline.view.tpl'; //All tab $alltab = new MenuItem("All posts", 'All your status updates', $fb_data_tpl, 'posts'); $alltabds = new Dataset("all_facebook_posts", 'PostDAO', "getAllPosts", array($instance->network_user_id, $instance->network, 15, "#page_number#"), 'getAllPostsIterator', array($instance->network_user_id, $instance->network, GridController::getMaxRows()), false); $alltabds->addHelp('userguide/listings/facebook/dashboard_all_facebook_posts'); $alltab->addDataset($alltabds); $menus["posts-all"] = $alltab; // Most replied-to tab $mrttab = new MenuItem("Most replied-to", "Posts with most replies", $fb_data_tpl, 'posts'); $mrttabds = new Dataset("most_replied_to_posts", 'PostDAO', "getMostRepliedToPosts", array($instance->network_user_id, $instance->network, 15, '#page_number#')); $mrttabds->addHelp('userguide/listings/facebook/dashboard_mostreplies'); $mrttab->addDataset($mrttabds); $menus["posts-mostreplies"] = $mrttab; // Most liked posts $mltab = new MenuItem("Most liked", "Posts with most likes", $fb_data_tpl, 'posts'); $mltabds = new Dataset("most_replied_to_posts", 'PostDAO', "getMostFavedPosts", array($instance->network_user_id, $instance->network, 15, '#page_number#')); $mltabds->addHelp('userguide/listings/facebook/dashboard_mostlikes'); $mltab->addDataset($mltabds); $menus["posts-mostlikes"] = $mltab; //Questions tab $qtab = new MenuItem("Inquiries", "Inquiries, or posts with a question mark in them", $fb_data_tpl, 'posts'); $qtabds = new Dataset("all_facebook_posts", 'PostDAO', "getAllQuestionPosts", array($instance->network_user_id, $instance->network, 15, "#page_number#")); $qtabds->addHelp('userguide/listings/facebook/dashboard_questions'); $qtab->addDataset($qtabds); $menus["posts-questions"] = $qtab; // Wall Posts $messagestab = new MenuItem("Posts On Your Wall", "Posts to your wall by other users", $fb_data_tpl, 'posts'); $messagestabds = new Dataset("messages_to_you", 'PostDAO', "getPostsToUser", array($instance->network_user_id, $instance->network, 15, '#page_number#', !Session::isLoggedIn()), 'getPostsToUserIterator', array($instance->network_user_id, $instance->network, GridController::getMaxRows())); $messagestabds->addHelp('userguide/listings/facebook/dashboard-wallposts'); $messagestab->addDataset($messagestabds); $menus["posts-toyou"] = $messagestab; return $menus; }
/** * * ThinkUp/webapp/post/grid.php * * Copyright (c) 2009-2011 Mark Wilkie * * LICENSE: * * This file is part of ThinkUp (http://thinkupapp.com). * * ThinkUp is free software: you can redistribute it and/or modify it under the terms of the GNU General Public * License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any * later version. * * ThinkUp is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more * details. * * You should have received a copy of the GNU General Public License along with ThinkUp. If not, see * <http://www.gnu.org/licenses/>. * * * @author Mark Wilkie <mark[at]bitterpill[dot]org> * @license http://www.gnu.org/licenses/gpl.html * @copyright 2009-2010 Mark Wilkie */ chdir(".."); require_once 'init.php'; $controller = new GridController(); echo $controller->go();
/** * Outputs JavaScript callback string with json array/list of post as an argument */ public function authControl($owner = false) { $public_search = false; if ($owner) { $public_search = true; } $private_reply_search = false; $this->setContentType('text/javascript'); if (!$this->is_missing_param) { $instance_dao = DAOFactory::getDAO('InstanceDAO'); if ($instance_dao->isUserConfigured($_GET['u'], $_GET['n'])) { $username = $_GET['u']; $ownerinstance_dao = DAOFactory::getDAO('OwnerInstanceDAO'); $owner_dao = DAOFactory::getDAO('OwnerDAO'); if (!$owner) { $owner = $owner_dao->getByEmail($this->getLoggedInUser()); } $instance = $instance_dao->getByUsername($username, $_GET['n']); if (!$ownerinstance_dao->doesOwnerHaveAccessToInstance($owner, $instance)) { echo '{"status":"failed","message":"Insufficient privileges."}'; } else { echo "tu_grid_search.populate_grid("; $posts_it; if (isset($_GET['t'])) { // replies? $post_dao = DAOFactory::getDAO('PostDAO'); $posts_it = $post_dao->getRepliesToPostIterator($_GET['t'], $_GET['n'], 'default', 'km', $public_search); if (!$public_search) { $private_reply_search = true; } } else { if (isset($_GET['nolimit']) && $_GET['nolimit'] == 'true') { self::$MAX_ROWS = 0; } $webapp_plugin_registrar = PluginRegistrarWebapp::getInstance(); $webapp_plugin_registrar->setActivePlugin($instance->network); $tab = $webapp_plugin_registrar->getDashboardMenuItem($_GET['d'], $instance); $posts_it = $tab->datasets[0]->retrieveIterator(); } echo '{"status":"success","limit":' . self::$MAX_ROWS . ',"posts": [' . "\n"; $cnt = 0; // lets make sure we have a post iterator, and not just a list of posts if (get_class($posts_it) != 'PostIterator') { throw Exception("Grid Search should use a PostIterator to conserve memory"); } foreach ($posts_it as $key => $value) { if ($private_reply_search) { if (!$ownerinstance_dao->doesOwnerHaveAccessToPost($owner, $value)) { continue; } } $cnt++; $data = array('id' => $cnt, 'text' => $value->post_text, 'post_id_str' => $value->post_id . '_str', 'author' => $value->author_username, 'date' => $value->adj_pub_date, 'network' => $value->network); echo json_encode($data) . ",\n"; flush(); } $data = array('id' => -1, 'text' => 'Last Post', 'author' => 'nobody'); echo json_encode($data); echo ']});'; } } else { echo '{"status":"failed","message":"' . $_GET['u'] . 'is not configured."}'; } } else { echo '{"status":"failed","message":"Missing Parameters"}'; } }
public function getDashboardMenuItems($instance) { $twitter_data_tpl = Utils::getPluginViewDirectory('twitter') . 'twitter.inline.view.tpl'; $menus = array(); //All tab $all_mi = new MenuItem("All Tweets", "All tweets", $twitter_data_tpl, "Tweets"); $all_mi_ds = new Dataset("all_tweets", 'PostDAO', "getAllPosts", array($instance->network_user_id, 'twitter', 15, "#page_number#"), 'getAllPostsIterator', array($instance->network_user_id, 'twitter', GridController::getMaxRows())); $all_mi_ds->addHelp('userguide/listings/twitter/dashboard_tweets-all'); $all_mi->addDataset($all_mi_ds); $menus['tweets-all'] = $all_mi; //Questions $q_mi = new MenuItem("Inquiries", "Inquiries, or tweets with a question mark in them", $twitter_data_tpl); $q_mi_ds = new Dataset("all_tweets", 'PostDAO', "getAllQuestionPosts", array($instance->network_user_id, 'twitter', 15, "#page_number#")); $q_mi_ds->addHelp('userguide/listings/twitter/dashboard_tweets-questions'); $q_mi->addDataset($q_mi_ds); $menus['tweets-questions'] = $q_mi; // Most replied-to $mrt_mi = new MenuItem("Most replied-to", "Tweets with most replies", $twitter_data_tpl); $mrt_mi_ds = new Dataset("most_replied_to_tweets", 'PostDAO', "getMostRepliedToPosts", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $mrt_mi_ds->addHelp('userguide/listings/twitter/dashboard_tweets-mostreplies'); $mrt_mi->addDataset($mrt_mi_ds); $menus['tweets-mostreplies'] = $mrt_mi; // Most shared $mstab = new MenuItem("Most retweeted", "Most retweeted tweets", $twitter_data_tpl); $mstabds = new Dataset("most_retweeted", 'PostDAO', "getMostRetweetedPosts", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $mstabds->addHelp('userguide/listings/twitter/dashboard_tweets-mostretweeted'); $mstab->addDataset($mstabds); $menus["tweets-mostretweeted"] = $mstab; if (Session::isLoggedIn()) { //show protected tweets //All Mentions $amtab = new MenuItem("All Mentions", "Any post that mentions you", $twitter_data_tpl, 'Replies'); $amtabds1 = new Dataset("all_tweets", 'PostDAO', "getAllPosts", array($instance->network_user_id, 'twitter', 15), "getAllMentionsIterator", array($instance->network_username, GridController::getMaxRows(), 'twitter')); $amtabds2 = new Dataset("all_mentions", 'PostDAO', "getAllMentions", array($instance->network_username, 15, $instance->network, '#page_number#')); $amtabds2->addHelp('userguide/listings/twitter/dashboard_mentions-all'); $amtab->addDataset($amtabds1); $amtab->addDataset($amtabds2); $menus["mentions-all"] = $amtab; //All Replies $artab = new MenuItem("Replies", "Posts that directly reply to you (i.e., start with your name)", $twitter_data_tpl); $artabds = new Dataset("all_replies", 'PostDAO', "getAllReplies", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $artabds->addHelp('userguide/listings/twitter/dashboard_mentions-allreplies'); $artab->addDataset($artabds); $menus["mentions-allreplies"] = $artab; //All Orphan Mentions $omtab = new MenuItem("Not Replies or Forwards", "Mentions that are not associated with a specific post", $twitter_data_tpl); $omtabds1 = new Dataset("all_tweets", 'PostDAO', "getAllPosts", array($instance->network_user_id, 'twitter', 15)); $omtabds2 = new Dataset("orphan_replies", 'PostDAO', "getOrphanReplies", array($instance->network_username, 15, $instance->network, '#page_number#')); $omtabds2->addHelp('userguide/listings/twitter/dashboard_mentions-orphan'); $omtab->addDataset($omtabds1); $omtab->addDataset($omtabds2); $menus["mentions-orphan"] = $omtab; } else { //All public mentions $amtab = new MenuItem("All Mentions", "Any post that mentions you", $twitter_data_tpl, 'Replies'); $amtabds2 = new Dataset("all_mentions", 'PostDAO', "getAllMentions", array($instance->network_username, 15, $instance->network, '#page_number#', true)); $amtabds2->addHelp('userguide/listings/twitter/dashboard_mentions-all'); $amtab->addDataset($amtabds2); $menus["mentions-all"] = $amtab; } // Conversations $convotab = new MenuItem("Conversations", "Exchanges between you and other users", $twitter_data_tpl); $convotabds = new Dataset("author_replies", 'PostDAO', "getPostsAuthorHasRepliedTo", array($instance->network_user_id, 15, 'twitter', '#page_number#', !Session::isLoggedIn())); $convotabds->addHelp('userguide/listings/twitter/dashboard_tweets-convo'); $convotab->addDataset($convotabds); $menus["tweets-convo"] = $convotab; //Most Active Friends $motab = new MenuItem('Chatterboxes', 'People you follow who tweet the most', $twitter_data_tpl, 'Who You Follow'); $motabds = new Dataset('people', 'FollowDAO', "getMostActiveFollowees", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $motabds->addHelp('userguide/listings/twitter/dashboard_friends-mostactive'); $motab->addDataset($motabds); $menus["friends-mostactive"] = $motab; //Least Active Friends $latab = new MenuItem('Deadbeats', 'People you follow who tweet the least', $twitter_data_tpl); $latabds = new Dataset("people", 'FollowDAO', "getLeastActiveFollowees", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $latabds->addHelp('userguide/listings/twitter/dashboard_friends-leastactive'); $latab->addDataset($latabds); $menus["friends-leastactive"] = $latab; //Popular friends $poptab = new MenuItem('Popular', 'Most-followed people you follow', $twitter_data_tpl); $poptabds = new Dataset("people", 'FollowDAO', "getMostFollowedFollowees", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $poptabds->addHelp('userguide/listings/twitter/dashboard_followers-mostfollowed'); $poptab->addDataset($poptabds); $menus["friends-mostfollowed"] = $poptab; //Follower count history $follower_history_tpl = Utils::getPluginViewDirectory('twitter') . 'twitter.followercount.tpl'; $trendtab = new MenuItem('Follower Count', 'Your follower count over time', $follower_history_tpl, 'Followers'); $trendtabds = new Dataset("follower_count_history_by_day", 'FollowerCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'DAY', 15)); $trendtab->addDataset($trendtabds); $trendtabweekds = new Dataset("follower_count_history_by_week", 'FollowerCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'WEEK', 15)); $trendtab->addDataset($trendtabweekds); $trendtabmonthds = new Dataset("follower_count_history_by_month", 'FollowerCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'MONTH', 11)); $trendtabmonthds->addHelp('userguide/listings/twitter/dashboard_followers-history'); $trendtab->addDataset($trendtabmonthds); $menus['followers-history'] = $trendtab; //Most followed $mftab = new MenuItem('Most-followed', 'Followers with most followers', $twitter_data_tpl); $mftabds = new Dataset("people", 'FollowDAO', "getMostFollowedFollowers", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $mftabds->addHelp('userguide/listings/twitter/dashboard_followers-mostfollowed'); $mftab->addDataset($mftabds); $menus["followers-mostfollowed"] = $mftab; //Least likely/Most Discerning $lltab = new MenuItem("Most Discerning", 'Followers with the greatest follower-to-friend ratio', $twitter_data_tpl); $lltabds = new Dataset("people", 'FollowDAO', "getLeastLikelyFollowers", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $lltabds->addHelp('userguide/listings/twitter/dashboard_followers-leastlikely'); $lltab->addDataset($lltabds); $menus["followers-leastlikely"] = $lltab; //Earliest $eftab = new MenuItem("Earliest Joiners", 'Followers ordered by what date they created their Twitter ' . 'account', $twitter_data_tpl); $eftabds = new Dataset("people", 'FollowDAO', "getEarliestJoinerFollowers", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $eftabds->addHelp('userguide/listings/twitter/dashboard_followers-earliest'); $eftab->addDataset($eftabds); $menus["followers-earliest"] = $eftab; $fvalltab = new MenuItem("Your Favorites", "All your favorites", $twitter_data_tpl, 'Favorites'); $fvalltabds = new Dataset("all_tweets", 'FavoritePostDAO', "getAllFavoritePosts", array($instance->network_user_id, 'twitter', 20, "#page_number#"), 'getAllFavoritePostsIterator', array($instance->network_user_id, 'twitter', GridController::getMaxRows())); $fvalltabds->addHelp('userguide/listings/twitter/dashboard_ftweets-all'); $fvalltab->addDataset($fvalltabds); $menus["ftweets-all"] = $fvalltab; $fvdtab = new MenuItem("Favorited by Others", "Favorited by Others", $twitter_data_tpl); $ftab2 = new Dataset("all_favd", 'FavoritePostDAO', "getAllFavoritedPosts", array($instance->network_user_id, $instance->network, 20, '#page_number#')); $fvdtab->addDataset($ftab2); $menus["favd-all"] = $fvdtab; //Links from friends $fltab = new MenuItem('Links from People You Follow', 'Links your friends posted', $twitter_data_tpl, 'Links'); $fltabds = new Dataset("links", 'LinkDAO', "getLinksByFriends", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $fltabds->addHelp('userguide/listings/twitter/dashboard_links-friends'); $fltab->addDataset($fltabds); $menus["links-friends"] = $fltab; //Links from favorites $lftab = new MenuItem('Links From Favorites', 'Links in posts you favorited', $twitter_data_tpl); $lftabds = new Dataset("links", 'LinkDAO', "getLinksByFavorites", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $lftabds->addHelp('userguide/listings/twitter/dashboard_links-favorites'); $lftab->addDataset($lftabds); $menus["links-favorites"] = $lftab; //Photos $ptab = new MenuItem("Photos from People You Follow", 'Photos your friends have posted', $twitter_data_tpl); $ptabds = new Dataset("links", 'LinkDAO', "getPhotosByFriends", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $ptabds->addHelp('userguide/listings/twitter/dashboard_links-photos'); $ptab->addDataset($ptabds); $menus["links-photos"] = $ptab; return $menus; }
public function testNoProfilerOutput() { // Enable profiler $config = Config::getInstance(); $config->setValue('enable_profiler', true); $_SERVER['HTTP_HOST'] = 'something'; $builders = $this->buildData(); $this->simulateLogin('*****@*****.**'); $_GET['u'] = 'someuser1'; $_GET['n'] = 'twitter'; $_GET['d'] = 'tweets-all'; $controller = new GridController(true); $this->assertTrue(isset($controller)); ob_start(); $results = $controller->go(); $results .= ob_get_contents(); ob_end_clean(); $json = substr($results, 29, strrpos($results, ';') - 30); $ob = json_decode($json); // If the profiler outputs HTML (it shouldn't), the following will fail $this->assertIsA($ob, 'stdClass'); unset($_SERVER['HTTP_HOST']); }
public function getDashboardMenuItems($instance) { // determine if the Twitter Realtime plugin is active. $rt_plugin_active = false; $plugin_dao = DAOFactory::getDAO('PluginDAO'); $plugin_id = $plugin_dao->getPluginId('twitterrealtime'); if (isset($plugin_id)) { $rt_plugin_active = $plugin_dao->isPluginActive($plugin_id); } $menus = array(); $tweets_data_tpl = Utils::getPluginViewDirectory('twitter') . 'tweets.tpl'; $tweets_menu_item = new MenuItem("Tweets", "Tweets insights", $tweets_data_tpl); $tweets_menu_ds_1 = new Dataset("all_tweets", 'PostDAO', "getAllPosts", array($instance->network_user_id, 'twitter', 5, "#page_number#"), 'getAllPostsIterator', array($instance->network_user_id, 'twitter', GridController::getMaxRows())); $tweets_menu_ds_1->addHelp('userguide/listings/twitter/dashboard_tweets-all'); $tweets_menu_item->addDataset($tweets_menu_ds_1); $menus['tweets'] = $tweets_menu_item; $tweets_menu_ds_2 = new Dataset("inquiries", 'PostDAO', "getAllQuestionPosts", array($instance->network_user_id, 'twitter', 5, "#page_number#")); $tweets_menu_ds_2->addHelp('userguide/listings/twitter/dashboard_tweets-questions'); $tweets_menu_item->addDataset($tweets_menu_ds_2); $tweets_menu_ds_3 = new Dataset("most_replied_to_tweets", 'PostDAO', "getMostRepliedToPosts", array($instance->network_user_id, 'twitter', 5, '#page_number#')); $tweets_menu_ds_3->addHelp('userguide/listings/twitter/dashboard_tweets-mostreplies'); $tweets_menu_item->addDataset($tweets_menu_ds_3); // $tweets_menu_ds_7 = new Dataset("author_replies", 'PostDAO', "getPostsAuthorHasRepliedTo", // array($instance->network_user_id, 5, 'twitter', '#page_number#', !Session::isLoggedIn())); // $tweets_menu_ds_7->addHelp('userguide/listings/twitter/dashboard_tweets-convo'); // $tweets_menu_item->addDataset($tweets_menu_ds_7); $tweets_menu_ds_4 = new Dataset("most_retweeted", 'PostDAO', "getMostRetweetedPosts", array($instance->network_user_id, 'twitter', 5, '#page_number#')); $tweets_menu_ds_4->addHelp('userguide/listings/twitter/dashboard_tweets-mostretweeted'); $tweets_menu_item->addDataset($tweets_menu_ds_4); $tweets_menu_ds_5 = new Dataset("messages_to_you", 'PostDAO', "getPostsToUser", array($instance->network_user_id, $instance->network, 5, '#page_number#', !Session::isLoggedIn()), 'getPostsToUserIterator', array($instance->network_user_id, $instance->network, GridController::getMaxRows())); $tweets_menu_ds_5->addHelp('userguide/listings/twitter/dashboard_tweets-touser'); $tweets_menu_item->addDataset($tweets_menu_ds_5); $tweets_menu_ds_6 = new Dataset("favorites", 'FavoritePostDAO', "getAllFavoritePosts", array($instance->network_user_id, 'twitter', 5, "#page_number#", !Session::isLoggedIn()), 'getAllFavoritePostsIterator', array($instance->network_user_id, 'twitter', GridController::getMaxRows())); $tweets_menu_ds_6->addHelp('userguide/listings/twitter/dashboard_ftweets-all'); $tweets_menu_item->addDataset($tweets_menu_ds_6); $follower_data_tpl = Utils::getPluginViewDirectory('twitter') . 'followers.tpl'; $followers_menu_item = new MenuItem("Followers", "Follower insights", $follower_data_tpl); $menus['followers'] = $followers_menu_item; $followers_ds1 = new Dataset('leastlikely', 'FollowDAO', "getLeastLikelyFollowers", array($instance->network_user_id, 'twitter', 13, '#page_number#')); $followers_menu_item->addDataset($followers_ds1); $followers_ds9 = new Dataset('leastlikelythisweek', 'InsightDAO', "getPreCachedInsightData", array('FollowMySQLDAO::getLeastLikelyFollowersThisWeek', $instance->id, date('Y-m-d'))); $followers_menu_item->addDataset($followers_ds9); $followers_ds2 = new Dataset("popular", 'FollowDAO', "getMostFollowedFollowers", array($instance->network_user_id, 'twitter', 13, '#page_number#')); $followers_ds2->addHelp('userguide/listings/twitter/dashboard_followers-mostfollowed'); $followers_menu_item->addDataset($followers_ds2); $followers_ds3 = new Dataset("follower_count_history_by_day", 'FollowerCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'DAY', 15)); $followers_menu_item->addDataset($followers_ds3); $followers_ds4 = new Dataset("follower_count_history_by_week", 'FollowerCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'WEEK', 15)); $followers_menu_item->addDataset($followers_ds4); $followers_ds5 = new Dataset("follower_count_history_by_month", 'FollowerCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'MONTH', 15)); $followers_ds5->addHelp('userguide/listings/twitter/dashboard_followers-history'); $followers_menu_item->addDataset($followers_ds5); $followers_ds6 = new Dataset("list_membership_count_history_by_day", 'GroupMembershipCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'DAY', 15)); $followers_menu_item->addDataset($followers_ds6); $followers_ds7 = new Dataset("list_membership_count_history_by_week", 'GroupMembershipCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'WEEK', 15)); $followers_menu_item->addDataset($followers_ds7); $followers_ds8 = new Dataset("list_membership_count_history_by_month", 'GroupMembershipCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'MONTH', 15)); $followers_ds8->addHelp('userguide/listings/twitter/dashboard_followers-liststats'); $followers_menu_item->addDataset($followers_ds8); $who_you_follow_data_tpl = Utils::getPluginViewDirectory('twitter') . 'who_you_follow.tpl'; $who_you_follow_menu_item = new MenuItem("Who You Follow", "Friend insights", $who_you_follow_data_tpl); $menus['you-follow'] = $who_you_follow_menu_item; $you_follow_ds1 = new Dataset('chatterboxes', 'FollowDAO', "getMostActiveFollowees", array($instance->network_user_id, 'twitter', 13, '#page_number#')); $you_follow_ds1->addHelp('userguide/listings/twitter/dashboard_friends-mostactive'); $who_you_follow_menu_item->addDataset($you_follow_ds1); $you_follow_ds2 = new Dataset("deadbeats", 'FollowDAO', "getLeastActiveFollowees", array($instance->network_user_id, 'twitter', 13, '#page_number#')); $you_follow_ds2->addHelp('userguide/listings/twitter/dashboard_friends-leastactive'); $who_you_follow_menu_item->addDataset($you_follow_ds2); $you_follow_ds3 = new Dataset("popular", 'FollowDAO', "getMostFollowedFollowees", array($instance->network_user_id, 'twitter', 13, '#page_number#')); $you_follow_ds3->addHelp('userguide/listings/twitter/dashboard_followers-mostfollowed'); $who_you_follow_menu_item->addDataset($you_follow_ds3); $links_data_tpl = Utils::getPluginViewDirectory('twitter') . 'links.tpl'; $links_menu_item = new MenuItem("Links", "Links insights", $links_data_tpl); $menus['links'] = $links_menu_item; $links_ds_1 = new Dataset("linksinfaves", 'LinkDAO', "getLinksByFavorites", array($instance->network_user_id, 'twitter', 5, '#page_number#', !Session::isLoggedIn())); $links_ds_1->addHelp('userguide/listings/twitter/dashboard_links-favorites'); $links_menu_item->addDataset($links_ds_1); $links_ds_2 = new Dataset("linksbyfriends", 'LinkDAO', "getLinksByFriends", array($instance->network_user_id, 'twitter', 5, '#page_number#', !Session::isLoggedIn())); $links_ds_2->addHelp('userguide/listings/twitter/dashboard_links-friends'); $links_menu_item->addDataset($links_ds_2); $links_ds_3 = new Dataset("photosbyfriends", 'LinkDAO', "getPhotosByFriends", array($instance->network_user_id, 'twitter', 5, '#page_number#', !Session::isLoggedIn())); $links_ds_3->addHelp('userguide/listings/twitter/dashboard_links-photos'); $links_menu_item->addDataset($links_ds_3); //inner items $twitter_data_tpl = Utils::getPluginViewDirectory('twitter') . 'twitter.inline.view.tpl'; //All tab $all_mi = new MenuItem("Your tweets", "All your tweets", $twitter_data_tpl, "tweets"); $all_mi_ds = new Dataset("all_tweets", 'PostDAO', "getAllPosts", array($instance->network_user_id, 'twitter', 15, "#page_number#"), 'getAllPostsIterator', array($instance->network_user_id, 'twitter', GridController::getMaxRows())); $all_mi_ds->addHelp('userguide/listings/twitter/dashboard_tweets-all'); $all_mi->addDataset($all_mi_ds); $menus['tweets-all'] = $all_mi; //Questions $q_mi = new MenuItem("Inquiries", "Inquiries, or tweets with a question mark in them", $twitter_data_tpl, 'tweets'); $q_mi_ds = new Dataset("all_tweets", 'PostDAO', "getAllQuestionPosts", array($instance->network_user_id, 'twitter', 15, "#page_number#")); $q_mi_ds->addHelp('userguide/listings/twitter/dashboard_tweets-questions'); $q_mi->addDataset($q_mi_ds); $menus['tweets-questions'] = $q_mi; // Most replied-to $mrt_mi = new MenuItem("Most replied-to", "Tweets with most replies", $twitter_data_tpl, 'tweets'); $mrt_mi_ds = new Dataset("most_replied_to_tweets", 'PostDAO', "getMostRepliedToPosts", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $mrt_mi_ds->addHelp('userguide/listings/twitter/dashboard_tweets-mostreplies'); $mrt_mi->addDataset($mrt_mi_ds); $menus['tweets-mostreplies'] = $mrt_mi; // Most shared $mstab = new MenuItem("Most retweeted", "Most retweeted tweets", $twitter_data_tpl, 'tweets'); $mstabds = new Dataset("most_retweeted", 'PostDAO', "getMostRetweetedPosts", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $mstabds->addHelp('userguide/listings/twitter/dashboard_tweets-mostretweeted'); $mstab->addDataset($mstabds); $menus["tweets-mostretweeted"] = $mstab; if ($rt_plugin_active) { // 'home timeline' $tltab = new MenuItem("Timeline", "Your Timeline", $twitter_data_tpl, 'tweets'); $tltab2 = new Dataset("home_timeline", 'PostDAO', "getPostsByFriends", array($instance->network_user_id, $instance->network, 20, '#page_number#', !Session::isLoggedIn()), 'getPostsByFriendsIterator', array($instance->network_user_id, 'twitter', GridController::getMaxRows())); $tltab->addDataset($tltab2); $menus["home-timeline"] = $tltab; } // Conversations $convotab = new MenuItem("Conversations", "Exchanges between you and other users", $twitter_data_tpl, 'tweets'); $convotabds = new Dataset("author_replies", 'PostDAO', "getPostsAuthorHasRepliedTo", array($instance->network_user_id, 15, 'twitter', '#page_number#', !Session::isLoggedIn())); $convotabds->addHelp('userguide/listings/twitter/dashboard_tweets-convo'); $convotab->addDataset($convotabds); $menus["tweets-convo"] = $convotab; // Messages to you $messagestab = new MenuItem("Tweets to you", "Tweets other users sent you", $twitter_data_tpl, 'tweets'); $messagestabds = new Dataset("messages_to_you", 'PostDAO', "getPostsToUser", array($instance->network_user_id, $instance->network, 15, '#page_number#', !Session::isLoggedIn()), 'getPostsToUserIterator', array($instance->network_user_id, $instance->network, GridController::getMaxRows())); $messagestabds->addHelp('userguide/listings/twitter/dashboard_tweets-touser'); $messagestab->addDataset($messagestabds); $menus["tweets-messages"] = $messagestab; // Most popular tweets of the year $current_year = intval(date('Y')); $year = $current_year; if (isset($_GET['y'])) { if (is_numeric($_GET['y'])) { $year_param = intval($_GET['y']); if ($year_param >= 2005 && $year_param <= $current_year) { $year = $year_param; } } } $yearly_popular_tab = new MenuItem("Top 25 Posts of " . $year, "Most retweeted and replied-to tweets of " . $year . ".", $twitter_data_tpl, 'tweets'); $yearly_popular_tab_dataset = new Dataset("years_most_popular", 'PostDAO', "getMostPopularPostsOfTheYear", array($instance->network_user_id, $instance->network, $year, 25)); $yearly_popular_tab->addDataset($yearly_popular_tab_dataset); $menus["years_most_popular"] = $yearly_popular_tab; $fvalltab = new MenuItem("Favorites", "All your favorites", $twitter_data_tpl, 'tweets'); $fvalltabds = new Dataset("all_tweets", 'FavoritePostDAO', "getAllFavoritePosts", array($instance->network_user_id, 'twitter', 20, "#page_number#", !Session::isLoggedIn()), 'getAllFavoritePostsIterator', array($instance->network_user_id, 'twitter', GridController::getMaxRows())); $fvalltabds->addHelp('userguide/listings/twitter/dashboard_ftweets-all'); $fvalltab->addDataset($fvalltabds); $menus["ftweets-all"] = $fvalltab; //Most Active Friends $motab = new MenuItem('Chatterboxes', 'People you follow who tweet the most', $twitter_data_tpl, 'you-follow'); $motabds = new Dataset('people', 'FollowDAO', "getMostActiveFollowees", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $motabds->addHelp('userguide/listings/twitter/dashboard_friends-mostactive'); $motab->addDataset($motabds); $menus["friends-mostactive"] = $motab; //Least Active Friends $latab = new MenuItem('Quietest', 'People you follow who tweet the least', $twitter_data_tpl, 'you-follow'); $latabds = new Dataset("people", 'FollowDAO', "getLeastActiveFollowees", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $latabds->addHelp('userguide/listings/twitter/dashboard_friends-leastactive'); $latab->addDataset($latabds); $menus["friends-leastactive"] = $latab; //Popular friends $poptab = new MenuItem('Popular', 'Most-followed people you follow', $twitter_data_tpl, 'you-follow'); $poptabds = new Dataset("people", 'FollowDAO', "getMostFollowedFollowees", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $poptabds->addHelp('userguide/listings/twitter/dashboard_followers-mostfollowed'); $poptab->addDataset($poptabds); $menus["friends-mostfollowed"] = $poptab; //Least likely/Most Discerning $lltab = new MenuItem("Discerning", 'Followers with the greatest follower-to-friend ratio', $twitter_data_tpl, 'followers'); $lltabds = new Dataset("people", 'FollowDAO', "getLeastLikelyFollowers", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $lltabds->addHelp('userguide/listings/twitter/dashboard_followers-leastlikely'); $lltab->addDataset($lltabds); $menus["followers-leastlikely"] = $lltab; //Most followed $mftab = new MenuItem('Popular', 'Followers with the most followers', $twitter_data_tpl, 'followers'); $mftabds = new Dataset("people", 'FollowDAO', "getMostFollowedFollowers", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $mftabds->addHelp('userguide/listings/twitter/dashboard_followers-mostfollowed'); $mftab->addDataset($mftabds); $menus["followers-mostfollowed"] = $mftab; //Follower count history $follower_history_tpl = Utils::getPluginViewDirectory('twitter') . 'twitter.followercount.tpl'; $trendtab = new MenuItem('Count history', 'Your follower count over time', $follower_history_tpl, 'followers'); $trendtabds = new Dataset("follower_count_history_by_day", 'FollowerCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'DAY', 15)); $trendtab->addDataset($trendtabds); $trendtabweekds = new Dataset("follower_count_history_by_week", 'FollowerCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'WEEK', 15)); $trendtab->addDataset($trendtabweekds); $trendtabmonthds = new Dataset("follower_count_history_by_month", 'FollowerCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'MONTH', 11)); $trendtabmonthds->addHelp('userguide/listings/twitter/dashboard_followers-history'); $trendtab->addDataset($trendtabmonthds); $menus['followers-history'] = $trendtab; //List membership count history $group_membership_history_tpl = Utils::getPluginViewDirectory('twitter') . 'twitter.listmembershipcount.tpl'; $group_trend_tab = new MenuItem('List stats', 'Your list membership count over time', $group_membership_history_tpl, 'followers'); $group_trend_tab_ds = new Dataset("list_membership_count_history_by_day", 'GroupMembershipCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'DAY', 15)); $group_trend_tab->addDataset($group_trend_tab_ds); $group_trend_tab_week_ds = new Dataset("list_membership_count_history_by_week", 'GroupMembershipCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'WEEK', 15)); $group_trend_tab->addDataset($group_trend_tab_week_ds); $group_trend_tab_month_ds = new Dataset("list_membership_count_history_by_month", 'GroupMembershipCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'MONTH', 11)); $group_trend_tab_month_ds->addHelp('userguide/listings/twitter/dashboard_followers-liststats'); $group_trend_tab->addDataset($group_trend_tab_month_ds); $menus['group-membership-history'] = $group_trend_tab; if ($rt_plugin_active) { $fvdtab = new MenuItem("Favorited by Others", "Favorited by Others", $twitter_data_tpl, 'links'); $ftab2 = new Dataset("all_favd", 'FavoritePostDAO', "getAllFavoritedPosts", array($instance->network_user_id, $instance->network, 20, '#page_number#')); $fvdtab->addDataset($ftab2); $menus["favd-all"] = $fvdtab; } //Links from favorites $lftab = new MenuItem('Links in favorites', 'Links in posts you favorited', $twitter_data_tpl, 'links'); $lftabds = new Dataset("links", 'LinkDAO', "getLinksByFavorites", array($instance->network_user_id, 'twitter', 15, '#page_number#', !Session::isLoggedIn())); $lftabds->addHelp('userguide/listings/twitter/dashboard_links-favorites'); $lftab->addDataset($lftabds); $menus["links-favorites"] = $lftab; //Links from friends $fltab = new MenuItem('Links by who you follow', 'Links your friends posted', $twitter_data_tpl, 'links'); $fltabds = new Dataset("links", 'LinkDAO', "getLinksByFriends", array($instance->network_user_id, 'twitter', 15, '#page_number#', !Session::isLoggedIn())); $fltabds->addHelp('userguide/listings/twitter/dashboard_links-friends'); $fltab->addDataset($fltabds); $menus["links-friends"] = $fltab; //Photos $ptab = new MenuItem("Photos by who you follow", 'Photos your friends have posted', $twitter_data_tpl, 'links'); $ptabds = new Dataset("links", 'LinkDAO', "getPhotosByFriends", array($instance->network_user_id, 'twitter', 15, '#page_number#', !Session::isLoggedIn())); $ptabds->addHelp('userguide/listings/twitter/dashboard_links-photos'); $ptab->addDataset($ptabds); $menus["links-photos"] = $ptab; return $menus; }
public function actionDataTables() { $criteria = new CDbCriteria(); $pagination = new EDTPagination(); $sort = new EDTSort($_REQUEST['module'], $_REQUEST['sColumns']); $sort->defaultOrder = 'id'; //die(print_r($criteria)); $dataProvider = new CActiveDataProvider($_REQUEST['module'], array('criteria' => $criteria, 'pagination' => $pagination, 'sort' => $sort)); self::$wid = $this->createWidget('ext.EDataTables.EDataTables', array('id' => 'data_table', 'dataProvider' => $dataProvider, 'ajaxUrl' => $this->createUrl('grid/DataTables'), 'columns' => $_REQUEST['sColumns'], 'serverData' => array("dataProvider" => $dataProvider), 'buttons' => array('export' => array('label' => Yii::t('app', 'Save as CSV'), 'text' => false, 'htmlClass' => '', 'icon' => Yii::app()->theme !== null && Yii::app()->theme->name == 'bootstrap' ? 'icon-download-alt' : 'ui-icon-disk', 'url' => $this->createUrl('grid/exportCVS'))), 'options' => array('bStateSave' => false, 'bPaginate' => true, 'bLengthChange' => true, 'iDisplayLength' => 50))); echo json_encode(self::$wid->getFormattedData(intval($_REQUEST['sEcho']))); Yii::app()->end(); }
public function actionIndex() { $concessioners = Concessioner::model()->findAll(); $vehicles = Vehicle::model()->findAllByAttributes(array('status' => 'ACTIVE')); $versions = VehicleVersion::model()->findAllByAttributes(array('status' => 'ACTIVE')); $cities = City::model()->findAll(); if (isset($_POST['Search'])) { $criteria = new CDbCriteria(); $date = ""; $vehicle_or_version = ""; $columns = array(); switch ($_POST['Search']['module']) { case "TechnicalDate": $columns = array('id', 'client.identity', 'client.name', 'client.lastname', 'client.email', 'client.phone', 'client.preference_contact', 'client.cellphone', 'client.medio', 'vehicle.model', 'vehicle.year', 'vehicle.license_plate', 'vehicle.kilometer', 'concessioner.name', 'concessioner.address', 'work', 'preference_date', 'hour', 'taxi', 'detail_work', 'creation_date'); $date = "creation_date"; $vehicle_or_version = "vehicle_id"; break; case "Quotation": $columns = array('id', 'Cédula' => 'client.identity:text', 'Nombre' => 'client.name:text', 'Apellido' => 'client.lastname:text', 'client.email:text', 'client.phone', 'client.preference_contact', 'client.preference_contact2', 'client.cellphone', 'client.localize', 'client.medio', 'concessioner.name', 'Ciudad' => 'concessioner.city.name', 'Vehiculo 1' => 'vehicleversion.vehicle.name', 'Referencia 1 vehículo' => 'vehicleversion.reference', 'Vehiculo 2' => 'vehicleversion2.vehicle.name', 'Referencia 2 vehículo' => 'vehicleversion2.reference', 'Tiempo' => 'time:text', 'Fecha de creación' => 'creation_date'); $date = "creation_date"; $vehicle_or_version = "vehicle_version_id"; break; case "Replacement": $columns = array('id:number', 'Cédula' => 'client.identity:text', 'Nombre' => 'client.name:text', 'Apellido' => 'client.lastname:text', 'client.email:text', 'client.phone', 'client.preference_contact', 'client.cellphone', 'client.medio', 'Concesionario' => 'concessioner.name:text', 'Parte a reemplazar' => 'part:text', 'vehicle.model', 'vehicle.year', 'vehicle.license_plate', 'vehicle.kilometer', 'vehicle.chasis', 'Fecha de creación' => 'creation_date'); $vehicle_or_version = "vehicle_id"; break; case "Suggestion": $columns = array('id:number', 'Cédula' => 'client.identity:text', 'Nombre' => 'client.name:text', 'Apellido' => 'client.lastname:text', 'client.email:text', 'client.phone', 'client.preference_contact', 'client.cellphone', 'client.medio', 'Concesionario' => 'concessioner.name:text', 'Vehículo' => 'vehicle.name:text', 'Descripción' => 'description:text', 'Tipo' => 'type:text', 'Fecha de creación' => 'creation_date:date'); $date = "creation_date"; break; case "Satisfaction": $columns = array('id:number', 'Cédula' => 'quotation.client.identity:text', 'Nombre' => 'quotation.client.name:text', 'Apellido' => 'quotation.client.lastname:text', 'quotation.client.email:text', 'quotation.client.phone', 'quotation.client.preference_contact', 'quotation.client.cellphone', 'client.medio', 'Concesionario' => 'quotation.concessioner.name:text', ' Cliente Contactado' => 'contact:text', 'Puntaje' => 'score:text', 'Descripción' => 'description:text', 'Fecha de creación' => 'creation_date:date'); $date = "creation_date"; break; case "SatisfactionR": $columns = array('id:number', 'Cédula' => 'replacement.client.identity:text', 'Nombre' => 'replacement.client.name:text', 'Apellido' => 'replacement.client.lastname:text', 'replacement.client.email:text', 'replacement.client.phone', 'replacement.client.preference_contact', 'replacement.client.cellphone', 'Concesionario' => 'replacement.concessioner.name:text', ' Cliente Contactado' => 'contact:text', 'client.medio', 'Puntaje' => 'score:text', 'Descripción' => 'description:text', 'Fecha de creación' => 'creation_date:date'); $date = "creation_date"; break; case "SatisfactionS": $columns = array('id:number', 'Cédula' => 'suggestion.client.identity:text', 'Nombre' => 'suggestion.client.name:text', 'Apellido' => 'suggestion.client.lastname:text', 'suggestion.client.email:text', 'suggestion.client.phone', 'suggestion.client.preference_contact', 'suggestion.client.cellphone', 'client.medio', 'Concesionario' => 'suggestion.concessioner.name:text', ' Cliente Contactado' => 'contact:text', 'Puntaje' => 'score:text', 'Descripción' => 'description:text', 'Fecha de creación' => 'creation_date:date'); $date = "creation_date"; break; } if ($_POST['Search']['date_from'] && $_POST['Search']['date_to']) { $criteria->addBetweenCondition('creation_date', $_POST['Search']['date_from'], $_POST['Search']['date_to']); } if ($_POST['Search']['city'] != 0 && $_POST['Search']['concessioner'] == 0) { $citiess = City::model()->findByPk($_POST['Search']['city']); foreach ($citiess->concessioners as $concessioner) { $criteria->addSearchCondition('concessioner_id', $concessioner->id, "", 'OR'); } } elseif ($_POST['Search']['city'] != 0 && $_POST['Search']['concessioner'] != 0) { $criteria->addSearchCondition('concessioner_id', $_POST['Search']['concessioner']); } if ($_POST['Search']['identity']) { $clients = Client::model()->findAllByAttributes(array('identity' => $_POST['Search']['identity'])); foreach ($clients as $client) { $criteria->addSearchCondition('client_id', $client->id, "", 'OR'); } } if ($_POST['Search']['name']) { $clients2 = Client::model()->findAllByAttributes(array('name' => $_POST['Search']['name'])); foreach ($clients2 as $client) { $criteria->addSearchCondition('client_id', $client->id, "", 'OR'); } } if ($_POST['Search']['lastname']) { $clients3 = Client::model()->findAllByAttributes(array('lastname' => $_POST['Search']['lastname'])); foreach ($clients3 as $client) { $criteria->addSearchCondition('client_id', $client->id, "", 'OR'); } } if ($_POST['Search']['email']) { $clients4 = Client::model()->findAllByAttributes(array('email' => $_POST['Search']['email'])); foreach ($clients4 as $client) { $criteria->addSearchCondition('client_id', $client->id, "", 'OR'); } } if ($_POST['Search']['model'] != 0 && $_POST['Search']['version'] == 0) { if ($vehicle_or_version == "vehicle_id") { $criteria->addSearchCondition('vehicle_id', $_POST['Search']['model']); } elseif ($vehicle_or_version == "vehicle_version_id") { $vehicle1 = Vehicle::model()->findByPk($_POST['Search']['model']); foreach ($vehicle1->vehicleVersions as $version) { $criteria->addSearchCondition('vehicle_version_id', $version->id, "", 'OR'); $criteria->addSearchCondition('vehicle_version_id2', $version->id, "", 'OR'); } } } elseif ($_POST['Search']['model'] == 0 && $_POST['Search']['version'] != 0) { if ($vehicle_or_version == "vehicle_version_id") { $criteria->addSearchCondition('vehicle_version_id', $_POST['Search']['version'], "", 'OR'); $criteria->addSearchCondition('vehicle_version_id2', $_POST['Search']['version'], "", 'OR'); } } if ($_POST['Search']['module'] != "0") { $pagination = new EDTPagination(); $criteria->order = "id DESC"; $pagination->applyLimit($criteria); $sort = new EDTSort($_POST['Search']['module'], $columns); $sort->defaultOrder = 'id'; //die(print_r($criteria)); self::$dataProvider = new CActiveDataProvider($_POST['Search']['module'], array('criteria' => $criteria, 'pagination' => $pagination, 'sort' => $sort)); } else { self::$dataProvider = new CActiveDataProvider('TechnicalDate', array('criteria' => $criteria)); } $widget2 = $this->widget('EExcelView', array('dataProvider' => self::$dataProvider, 'grid_mode' => 'export', 'title' => 'report', 'autoWidth' => true, 'template' => "{summary}\n{items}\n{exportbuttons}\n{pager}", 'filename' => 'report', 'stream' => false, 'columns' => $columns)); $widget1 = $this->createWidget('ext.EDataTables.EDataTables', array('id' => 'data_table', 'dataProvider' => self::$dataProvider, 'columns' => $columns, 'serverData' => array("module" => $_POST['Search']['module']), 'buttons' => array('refresh' => null), 'options' => array('bStateSave' => false, 'bPaginate' => false, 'bLengthChange' => true))); if (!Yii::app()->getRequest()->getIsAjaxRequest()) { $export = 0; if ($_POST['Search']['print'] == "YES") { $export = 1; } $this->render('index', array('cities' => $cities, 'vehicles' => $vehicles, 'versions' => $versions, 'concessioners' => $concessioners, 'widget2' => $widget2, 'widget1' => $widget1, 'export' => $export)); return; } else { echo json_encode(self::$wid->getFormattedData(intval($_REQUEST['sEcho']))); Yii::app()->end(); } } else { $this->render('index', array('cities' => $cities, 'vehicles' => $vehicles, 'versions' => $versions, 'concessioners' => $concessioners)); } }
public function getDashboardMenuItems($instance) { $menus = array(); $posts_data_tpl = Utils::getPluginViewDirectory('googleplus') . 'posts.tpl'; $posts_menu_item = new MenuItem("Posts", "Post insights", $posts_data_tpl); $posts_menu_ds_1 = new Dataset("all_posts", 'PostDAO', "getAllPosts", array($instance->network_user_id, $instance->network, 3, "#page_number#"), 'getAllPostsIterator', array($instance->network_user_id, $instance->network, GridController::getMaxRows()), false); $posts_menu_item->addDataset($posts_menu_ds_1); $posts_menu_ds_2 = new Dataset("most_replied_to", 'PostDAO', "getMostRepliedToPosts", array($instance->network_user_id, $instance->network, 3, '#page_number#')); $posts_menu_item->addDataset($posts_menu_ds_2); $posts_menu_ds_3 = new Dataset("plus_oned", 'PostDAO', "getMostFavedPosts", array($instance->network_user_id, $instance->network, 3, '#page_number#')); $posts_menu_item->addDataset($posts_menu_ds_3); $posts_menu_ds_4 = new Dataset("questions", 'PostDAO', "getAllQuestionPosts", array($instance->network_user_id, $instance->network, 3, "#page_number#")); $posts_menu_item->addDataset($posts_menu_ds_4); $menus['posts'] = $posts_menu_item; $gp_data_tpl = Utils::getPluginViewDirectory('googleplus') . 'googleplus.inline.view.tpl'; //All tab $alltab = new MenuItem("All posts", 'All posts', $gp_data_tpl, 'posts'); $alltabds = new Dataset("gplus_posts", 'PostDAO', "getAllPosts", array($instance->network_user_id, $instance->network, 15, "#page_number#"), 'getAllPostsIterator', array($instance->network_user_id, $instance->network, GridController::getMaxRows()), false); $alltabds->addHelp('userguide/listings/googleplus/dashboard_all_gplus_posts'); $alltab->addDataset($alltabds); $menus["posts-all"] = $alltab; // Most replied-to tab $mrttab = new MenuItem("Most discussed", "Posts with the most comments", $gp_data_tpl, 'posts'); $mrttabds = new Dataset("gplus_posts", 'PostDAO', "getMostRepliedToPosts", array($instance->network_user_id, $instance->network, 15, '#page_number#')); $mrttabds->addHelp('userguide/listings/googleplus/dashboard_mostreplies'); $mrttab->addDataset($mrttabds); $menus["posts-mostreplies"] = $mrttab; // Most liked posts $mltab = new MenuItem("Most +1'ed", "Posts with most +1s", $gp_data_tpl, 'posts'); $mltabds = new Dataset("gplus_posts", 'PostDAO', "getMostFavedPosts", array($instance->network_user_id, $instance->network, 15, '#page_number#')); $mltabds->addHelp('userguide/listings/googleplus/dashboard_mostlikes'); $mltab->addDataset($mltabds); $menus["posts-mostplusones"] = $mltab; //Questions tab $qtab = new MenuItem("Inquiries", "Inquiries, or posts with a question mark in them", $gp_data_tpl, 'posts'); $qtabds = new Dataset("gplus_posts", 'PostDAO', "getAllQuestionPosts", array($instance->network_user_id, $instance->network, 15, "#page_number#")); $qtabds->addHelp('userguide/listings/googleplus/dashboard_questions'); $qtab->addDataset($qtabds); $menus["posts-questions"] = $qtab; return $menus; }
public function getDashboardMenuItems($instance) { $fb_data_tpl = Utils::getPluginViewDirectory('facebook') . 'facebook.inline.view.tpl'; $menus = array(); //All tab $alltab = new MenuItem("All posts", 'All status updates', $fb_data_tpl, 'Posts'); $alltabds = new Dataset("all_facebook_posts", 'PostDAO', "getAllPosts", array($instance->network_user_id, $instance->network, 15, "#page_number#"), 'getAllPostsIterator', array($instance->network_user_id, $instance->network, GridController::getMaxRows()), false); $alltabds->addHelp('userguide/listings/facebook/dashboard_all_facebook_posts'); $alltab->addDataset($alltabds); $menus["all_facebook_posts"] = $alltab; // Most replied-to tab $mrttab = new MenuItem("Most replied-to", "Posts with most replies", $fb_data_tpl); $mrttabds = new Dataset("most_replied_to_posts", 'PostDAO', "getMostRepliedToPosts", array($instance->network_user_id, $instance->network, 15, '#page_number#')); $mrttabds->addHelp('userguide/listings/facebook/dashboard_mostreplies'); $mrttab->addDataset($mrttabds); $menus["mostreplies"] = $mrttab; // Most liked posts $mltab = new MenuItem("Most liked", "Posts with most likes", $fb_data_tpl); $mltabds = new Dataset("most_replied_to_posts", 'PostDAO', "getMostFavedPosts", array($instance->network_user_id, $instance->network, 15, '#page_number#')); $mltabds->addHelp('userguide/listings/facebook/dashboard_mostlikes'); $mltab->addDataset($mltabds); $menus["mostlikes"] = $mltab; //Questions tab $qtab = new MenuItem("Inquiries", "Inquiries, or posts with a question mark in them", $fb_data_tpl); $qtabds = new Dataset("all_facebook_posts", 'PostDAO', "getAllQuestionPosts", array($instance->network_user_id, $instance->network, 15, "#page_number#")); $qtabds->addHelp('userguide/listings/facebook/dashboard_questions'); $qtab->addDataset($qtabds); $menus["questions"] = $qtab; return $menus; }
public function getDashboardMenuItems($instance) { // determine if the Twitter Realtime plugin is active. $rt_plugin_active = false; $plugin_dao = DAOFactory::getDAO('PluginDAO'); $plugin_id = $plugin_dao->getPluginId('twitterrealtime'); if (isset($plugin_id)) { $rt_plugin_active = $plugin_dao->isPluginActive($plugin_id); } $twitter_data_tpl = Utils::getPluginViewDirectory('twitter') . 'twitter.inline.view.tpl'; $menus = array(); //All tab $all_mi = new MenuItem("All tweets", "All tweets", $twitter_data_tpl, "Tweets"); $all_mi_ds = new Dataset("all_tweets", 'PostDAO', "getAllPosts", array($instance->network_user_id, 'twitter', 15, "#page_number#"), 'getAllPostsIterator', array($instance->network_user_id, 'twitter', GridController::getMaxRows())); $all_mi_ds->addHelp('userguide/listings/twitter/dashboard_tweets-all'); $all_mi->addDataset($all_mi_ds); $menus['tweets-all'] = $all_mi; //Questions $q_mi = new MenuItem("Inquiries", "Inquiries, or tweets with a question mark in them", $twitter_data_tpl); $q_mi_ds = new Dataset("all_tweets", 'PostDAO', "getAllQuestionPosts", array($instance->network_user_id, 'twitter', 15, "#page_number#")); $q_mi_ds->addHelp('userguide/listings/twitter/dashboard_tweets-questions'); $q_mi->addDataset($q_mi_ds); $menus['tweets-questions'] = $q_mi; // Most replied-to $mrt_mi = new MenuItem("Most replied-to", "Tweets with most replies", $twitter_data_tpl); $mrt_mi_ds = new Dataset("most_replied_to_tweets", 'PostDAO', "getMostRepliedToPosts", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $mrt_mi_ds->addHelp('userguide/listings/twitter/dashboard_tweets-mostreplies'); $mrt_mi->addDataset($mrt_mi_ds); $menus['tweets-mostreplies'] = $mrt_mi; // Most shared $mstab = new MenuItem("Most retweeted", "Most retweeted tweets", $twitter_data_tpl); $mstabds = new Dataset("most_retweeted", 'PostDAO', "getMostRetweetedPosts", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $mstabds->addHelp('userguide/listings/twitter/dashboard_tweets-mostretweeted'); $mstab->addDataset($mstabds); $menus["tweets-mostretweeted"] = $mstab; if ($rt_plugin_active) { // 'home timeline' $tltab = new MenuItem("Timeline", "Your Timeline", $twitter_data_tpl); $tltab2 = new Dataset("home_timeline", 'PostDAO', "getPostsByFriends", array($instance->network_user_id, $instance->network, 20, '#page_number#', !Session::isLoggedIn()), 'getPostsByFriendsIterator', array($instance->network_user_id, 'twitter', GridController::getMaxRows())); $tltab->addDataset($tltab2); $menus["home-timeline"] = $tltab; } // Conversations $convotab = new MenuItem("Conversations", "Exchanges between you and other users", $twitter_data_tpl); $convotabds = new Dataset("author_replies", 'PostDAO', "getPostsAuthorHasRepliedTo", array($instance->network_user_id, 15, 'twitter', '#page_number#', !Session::isLoggedIn())); $convotabds->addHelp('userguide/listings/twitter/dashboard_tweets-convo'); $convotab->addDataset($convotabds); $menus["tweets-convo"] = $convotab; $fvalltab = new MenuItem("Favorites", "All your favorites", $twitter_data_tpl); $fvalltabds = new Dataset("all_tweets", 'FavoritePostDAO', "getAllFavoritePosts", array($instance->network_user_id, 'twitter', 20, "#page_number#", !Session::isLoggedIn()), 'getAllFavoritePostsIterator', array($instance->network_user_id, 'twitter', GridController::getMaxRows())); $fvalltabds->addHelp('userguide/listings/twitter/dashboard_ftweets-all'); $fvalltab->addDataset($fvalltabds); $menus["ftweets-all"] = $fvalltab; //Most Active Friends $motab = new MenuItem('Chatterboxes', 'People you follow who tweet the most', $twitter_data_tpl, 'Who You Follow'); $motabds = new Dataset('people', 'FollowDAO', "getMostActiveFollowees", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $motabds->addHelp('userguide/listings/twitter/dashboard_friends-mostactive'); $motab->addDataset($motabds); $menus["friends-mostactive"] = $motab; //Least Active Friends $latab = new MenuItem('Deadbeats', 'People you follow who tweet the least', $twitter_data_tpl); $latabds = new Dataset("people", 'FollowDAO', "getLeastActiveFollowees", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $latabds->addHelp('userguide/listings/twitter/dashboard_friends-leastactive'); $latab->addDataset($latabds); $menus["friends-leastactive"] = $latab; //Popular friends $poptab = new MenuItem('Popular', 'Most-followed people you follow', $twitter_data_tpl); $poptabds = new Dataset("people", 'FollowDAO', "getMostFollowedFollowees", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $poptabds->addHelp('userguide/listings/twitter/dashboard_followers-mostfollowed'); $poptab->addDataset($poptabds); $menus["friends-mostfollowed"] = $poptab; //Least likely/Most Discerning $lltab = new MenuItem("Discerning", 'Followers with the greatest follower-to-friend ratio', $twitter_data_tpl, 'Followers'); $lltabds = new Dataset("people", 'FollowDAO', "getLeastLikelyFollowers", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $lltabds->addHelp('userguide/listings/twitter/dashboard_followers-leastlikely'); $lltab->addDataset($lltabds); $menus["followers-leastlikely"] = $lltab; //Most followed $mftab = new MenuItem('Popular', 'Followers with the most followers', $twitter_data_tpl); $mftabds = new Dataset("people", 'FollowDAO', "getMostFollowedFollowers", array($instance->network_user_id, 'twitter', 15, '#page_number#')); $mftabds->addHelp('userguide/listings/twitter/dashboard_followers-mostfollowed'); $mftab->addDataset($mftabds); $menus["followers-mostfollowed"] = $mftab; //Follower count history $follower_history_tpl = Utils::getPluginViewDirectory('twitter') . 'twitter.followercount.tpl'; $trendtab = new MenuItem('Count history', 'Your follower count over time', $follower_history_tpl); $trendtabds = new Dataset("follower_count_history_by_day", 'FollowerCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'DAY', 15)); $trendtab->addDataset($trendtabds); $trendtabweekds = new Dataset("follower_count_history_by_week", 'FollowerCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'WEEK', 15)); $trendtab->addDataset($trendtabweekds); $trendtabmonthds = new Dataset("follower_count_history_by_month", 'FollowerCountDAO', 'getHistory', array($instance->network_user_id, 'twitter', 'MONTH', 11)); $trendtabmonthds->addHelp('userguide/listings/twitter/dashboard_followers-history'); $trendtab->addDataset($trendtabmonthds); $menus['followers-history'] = $trendtab; if ($rt_plugin_active) { $fvdtab = new MenuItem("Favorited by Others", "Favorited by Others", $twitter_data_tpl); $ftab2 = new Dataset("all_favd", 'FavoritePostDAO', "getAllFavoritedPosts", array($instance->network_user_id, $instance->network, 20, '#page_number#')); $fvdtab->addDataset($ftab2); $menus["favd-all"] = $fvdtab; } //Links from favorites $lftab = new MenuItem('Links in favorites', 'Links in posts you favorited', $twitter_data_tpl, 'Links'); $lftabds = new Dataset("links", 'LinkDAO', "getLinksByFavorites", array($instance->network_user_id, 'twitter', 15, '#page_number#', !Session::isLoggedIn())); $lftabds->addHelp('userguide/listings/twitter/dashboard_links-favorites'); $lftab->addDataset($lftabds); $menus["links-favorites"] = $lftab; //Links from friends $fltab = new MenuItem('Links by who you follow', 'Links your friends posted', $twitter_data_tpl); $fltabds = new Dataset("links", 'LinkDAO', "getLinksByFriends", array($instance->network_user_id, 'twitter', 15, '#page_number#', !Session::isLoggedIn())); $fltabds->addHelp('userguide/listings/twitter/dashboard_links-friends'); $fltab->addDataset($fltabds); $menus["links-friends"] = $fltab; //Photos $ptab = new MenuItem("Photos by who you follow", 'Photos your friends have posted', $twitter_data_tpl); $ptabds = new Dataset("links", 'LinkDAO', "getPhotosByFriends", array($instance->network_user_id, 'twitter', 15, '#page_number#', !Session::isLoggedIn())); $ptabds->addHelp('userguide/listings/twitter/dashboard_links-photos'); $ptab->addDataset($ptabds); $menus["links-photos"] = $ptab; return $menus; }