Example #1
0
 public function getServiceConfig()
 {
     return array('factories' => array('Blvd\\Model\\BlvdTable' => function ($sm) {
         $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter');
         $table = new BlvdTable($dbAdapter);
         return $table;
     }, 'Blvd\\Model\\BlvdMapper' => function ($sm) {
         $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter');
         $mapper = new BlvdMapper($dbAdapter);
         $mapper->setServiceLocator($sm);
         return $mapper;
     }, 'Blvd\\Model\\BlvdCategoryMapper' => function ($sm) {
         $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter');
         $mapper = new BlvdCategoryMapper($dbAdapter);
         return $mapper;
     }, 'Blvd\\Model\\BlvdJoinCategoryMapper' => function ($sm) {
         $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter');
         $mapper = new BlvdJoinCategoryMapper($dbAdapter);
         return $mapper;
     }, 'Blvd\\Model\\BlvdJoinCategoryTable' => function ($sm) {
         $tableGateway = $sm->get('BlvdJoinCategoryTableGateway');
         $table = new BlvdJoinCategoryTable($tableGateway);
         return $table;
     }, 'BlvdJoinCategoryTableGateway' => function ($sm) {
         $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter');
         $resultSetPrototype = new ResultSet();
         $resultSetPrototype->setArrayObjectPrototype(new BlvdJoinCategory());
         return new TableGateway('blvd_categories', $dbAdapter, null, $resultSetPrototype);
     }, 'Blvd\\Model\\SocialMediaMapper' => function ($sm) {
         $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter');
         $mapper = new socialMediaMapper($dbAdapter);
         $mapper->setServiceLocator($sm);
         return $mapper;
     }));
 }
Example #2
0
 public function getServiceConfig()
 {
     return array('factories' => array('YelpMy\\Model\\YelpMapper' => function ($sm) {
         $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter');
         $mapper = new YelpMapper($dbAdapter);
         return $mapper;
     }, 'YelpMy\\Model\\YelpBlvd' => function ($sm) {
         $configArr = $sm->get('config');
         $model = new YelpBlvd($configArr['yelp']);
         return $model;
     }, 'Blvd\\Model\\BlvdMapper' => function ($sm) {
         $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter');
         $model = new BlvdMapper($dbAdapter);
         $model->setServiceLocator($sm);
         return $model;
     }, 'Blvd\\Model\\SocialMediaMapper' => function ($sm) {
         $dbAdapter = $sm->get('Zend\\Db\\Adapter\\Adapter');
         $model = new SocialMediaMapper($dbAdapter);
         $model->setServiceLocator($sm);
         return $model;
     }));
 }
 public function saveTwitterUser(TwitterUserEntity $twitterUser, $setFoodtruck = false)
 {
     $hydrator = new ClassMethods();
     $data = $hydrator->extract($twitterUser);
     $select = $this->sql->select();
     //$whereArr = array('screen_name' => $twitterUser->getScreenName());
     $whereArr = array('twitter_id' => $twitterUser->getTwitterId());
     $select->where($whereArr);
     $statement = $this->sql->prepareStatementForSqlObject($select);
     echo "<br><br>" . $select->getSqlString($this->dbAdapter->getPlatform());
     $results = $statement->execute();
     //echo "\n".$results->count()."\n";
     //$results->current();
     if ($results->count() > 0) {
         // update action
         $action = $this->sql->update();
         $rows = new ResultSet();
         $arr = $rows->initialize($results)->toArray();
         $isFoodtruck = (int) $arr[0]['foodtruck'];
         if ($setFoodtruck == false) {
             unset($data['foodtruck']);
         }
         $action->set($data);
         $action->where(array('screen_name' => $twitterUser->getScreenName()));
         $data['foodtruck'] = $isFoodtruck;
     } else {
         // insert action
         $action = $this->sql->insert();
         $action->values($data);
     }
     $statement = $this->sql->prepareStatementForSqlObject($action);
     echo "<br><br>\n" . $action->getSqlString($this->dbAdapter->getPlatform()) . "\n";
     $result = $statement->execute();
     // save profile pic to blvd users
     // TODO use $results to see if profile image url is already set in db
     // TODO dont' iterate over blvdEntity
     // TODO use service locator to get BlvdMapper
     $blvdMapper = new BlvdMapper($this->dbAdapter);
     //this needs to be done manually as instagram may have added them already
     if ($blvdMapper->getBlvdWithTwitterUsername($twitterUser->getScreenName()) == false) {
         $blvdMapper->saveTwitterUserToBlvd($twitterUser);
     }
     if ($twitterUser->getProfileImageUrl() != '') {
         if ($blvdEntity = $blvdMapper->getBlvdWithTwitterUsername($twitterUser->getScreenName())) {
             foreach ($blvdEntity as $key => $ent) {
                 $ent->setProfilePictureUrl($twitterUser->getProfileImageUrl());
                 $blvdMapper->saveBlvd($ent);
                 break;
             }
         }
     }
     $hydrator = new ClassMethods();
     $twitterUser = new TwitterUserEntity();
     $hydrator->hydrate($data, $twitterUser);
     return $twitterUser;
     return $result;
 }