public function LatestTweetsList($limit = '5')
 {
     $conf = SiteConfig::current_site_config();
     if (empty($conf->TwitterName) || empty($conf->TwitterConsumerKey) || empty($conf->TwitterConsumerSecret) || empty($conf->TwitterAccessToken) || empty($conf->TwitterAccessTokenSecret)) {
         return new ArrayList();
     }
     $cache = SS_Cache::factory('LatestTweets_cache');
     if (!($results = unserialize($cache->load(__FUNCTION__)))) {
         $results = new ArrayList();
         require_once dirname(__FILE__) . '/tmhOAuth/tmhOAuth.php';
         require_once dirname(__FILE__) . '/tmhOAuth/tmhUtilities.php';
         $tmhOAuth = new tmhOAuth(array('consumer_key' => $conf->TwitterConsumerKey, 'consumer_secret' => $conf->TwitterConsumerSecret, 'user_token' => $conf->TwitterAccessToken, 'user_secret' => $conf->TwitterAccessTokenSecret, 'curl_ssl_verifypeer' => false));
         $code = $tmhOAuth->request('GET', $tmhOAuth->url('1.1/statuses/user_timeline'), array('screen_name' => $conf->TwitterName, 'count' => $limit));
         $tweets = $tmhOAuth->response['response'];
         $json = new JSONDataFormatter();
         if (($arr = $json->convertStringToArray($tweets)) && is_array($arr) && isset($arr[0]['text'])) {
             foreach ($arr as $tweet) {
                 try {
                     $here = new DateTime(SS_Datetime::now()->getValue());
                     $there = new DateTime($tweet['created_at']);
                     $there->setTimezone($here->getTimezone());
                     $date = $there->Format('Y-m-d H:i:s');
                 } catch (Exception $e) {
                     $date = 0;
                 }
                 $results->push(new ArrayData(array('Text' => nl2br(tmhUtilities::entify_with_options($tweet, array('target' => '_blank'))), 'Date' => SS_Datetime::create_field('SS_Datetime', $date))));
             }
         }
         $cache->save(serialize($results), __FUNCTION__);
     }
     return $results;
 }
 function asJSON()
 {
     $json = new JSONDataFormatter();
     $pictures = array();
     foreach ($this->SortedPictures() as $pic) {
         $pictures[] = $json->convertDataObjectToJSONObject($pic);
     }
     return array('page' => $json->convertDataObjectToJSONObject($this), 'pictures' => $pictures);
 }
Exemple #3
0
 public function doGetProperties(SS_HTTPRequest $request)
 {
     $range = $request->getVar('range');
     $list = $this->PropertyList()->filter(array('Latitude:LessThan' => floatval($range[0]), 'Latitude:GreaterThan' => floatval($range[2]), 'Longitude:LessThan' => floatval($range[1]), 'Longitude:GreaterThan' => floatval($range[3])));
     $json = JSONDataFormatter::create()->convertDataObjectSet($list);
     return $json;
 }
Exemple #4
0
 public function testJSONDataFormatter()
 {
     $formatter = new JSONDataFormatter();
     $editor = $this->objFromFixture('Member', 'editor');
     $user = $this->objFromFixture('Member', 'user');
     $this->assertEquals($formatter->convertDataObject($editor, array("FirstName", "Email")), '{"FirstName":"Editor","Email":"*****@*****.**"}', "Correct JSON formatting with field subset");
     $set = DataObject::get("Member", sprintf('"Member"."ID" IN (%s)', implode(',', array($editor->ID, $user->ID))), '"Email" ASC');
     $this->assertEquals($formatter->convertDataObjectSet($set, array("FirstName", "Email")), '{"totalSize":null,"items":[{"FirstName":"Editor","Email":"*****@*****.**"},{"FirstName":"User","Email":"*****@*****.**"}]}', "Correct JSON formatting on a dataobjectset with field filter");
 }
 function DeploymentsAsJSON()
 {
     $Deployments = Deployment::get();
     $f = new JSONDataFormatter();
     echo $f->convertDataObjectSet($Deployments);
 }