Пример #1
0
 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());
 }
Пример #2
0
 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);
 }
Пример #3
0
 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;
 }
Пример #4
0
/**
 *
 * 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();
Пример #5
0
 /**
  * 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"}';
     }
 }
Пример #6
0
 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;
 }
Пример #7
0
 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']);
 }
Пример #8
0
 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();
 }
Пример #10
0
 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));
     }
 }
Пример #11
0
 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;
 }
Пример #12
0
 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;
 }
Пример #13
0
 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;
 }