Пример #1
0
 /**
  * Returns an instance of class (singleton pattern implementation).
  *
  * @return QUESTIONS_BOL_ActivityDao
  */
 public static function getInstance()
 {
     if (self::$classInstance === null) {
         self::$classInstance = new self();
     }
     return self::$classInstance;
 }
Пример #2
0
 private function copyData()
 {
     $tables = array(array(QUESTIONS_BOL_QuestionDao::getInstance()->getTableName(), EQUESTIONS_BOL_QuestionDao::getInstance()->getTableName(), array('id', 'userId', 'text', 'settings', 'timeStamp')), array(QUESTIONS_BOL_OptionDao::getInstance()->getTableName(), EQUESTIONS_BOL_OptionDao::getInstance()->getTableName(), array('id', 'userId', 'questionId', 'text', 'timeStamp')), array(QUESTIONS_BOL_AnswerDao::getInstance()->getTableName(), EQUESTIONS_BOL_AnswerDao::getInstance()->getTableName(), array('id', 'userId', 'optionId', 'timeStamp')), array(QUESTIONS_BOL_FollowDao::getInstance()->getTableName(), EQUESTIONS_BOL_FollowDao::getInstance()->getTableName(), array('id', 'userId', 'questionId', 'timeStamp')), array(QUESTIONS_BOL_ActivityDao::getInstance()->getTableName(), EQUESTIONS_BOL_ActivityDao::getInstance()->getTableName(), array('id', 'questionId', 'activityType', 'activityId', 'userId', 'timeStamp', 'privacy', 'data')));
     foreach ($tables as $t) {
         OW::getDbo()->query('REPLACE INTO ' . $t[1] . ' (`' . implode('` ,`', $t[2]) . '`) SELECT `' . implode('` ,`', $t[2]) . '` FROM ' . $t[0]);
     }
 }
Пример #3
0
 public function setPrivacy($userId, $privacy)
 {
     $this->activityDao->setPrivacy($userId, $privacy);
 }
Пример #4
0
 public function findFriendsFeedCount($startStamp, $userId)
 {
     $activityDao = QUESTIONS_BOL_ActivityDao::getInstance();
     $friendsDao = FRIENDS_BOL_FriendshipDao::getInstance();
     $query = "SELECT COUNT(DISTINCT q.id)\n            FROM " . $this->getTableName() . " q\n            INNER JOIN " . $activityDao->getTableName() . " a ON q.id=a.questionId\n            INNER JOIN " . $friendsDao->getTableName() . " f ON ( a.userId=f.userId OR a.userId=f.friendId ) AND f.status=:fs\n            WHERE a.timeStamp <= :ss\n                AND ( f.userId =:u OR f.friendId=:u )\n                AND a.userId!=:u\n                AND a.userId!=:pn";
     return $this->dbo->queryForColumn($query, array('fs' => FRIENDS_BOL_FriendshipDao::VAL_STATUS_ACTIVE, 'ss' => $startStamp, 'u' => $userId, 'pn' => QUESTIONS_BOL_FeedService::PRIVACY_NOBODY));
 }