Example #1
0
 /**
  * Returns an instance of class (singleton pattern implementation).
  *
  * @return QUESTIONS_BOL_FollowDao
  */
 public static function getInstance()
 {
     if (self::$classInstance === null) {
         self::$classInstance = new self();
     }
     return self::$classInstance;
 }
Example #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]);
     }
 }
Example #3
0
 public function findFollows($questionId, $userContext = array(), $ignoreUsers = array())
 {
     return $this->followDao->findFollowList($questionId, $userContext, $ignoreUsers);
 }
 public function findMyFeedCount($startStamp, $userId)
 {
     $activityDao = QUESTIONS_BOL_ActivityDao::getInstance();
     $followDao = QUESTIONS_BOL_FollowDao::getInstance();
     $query = "SELECT COUNT(DISTINCT q.id) FROM " . $this->getTableName() . " q\n            INNER JOIN " . $activityDao->getTableName() . " a ON q.id=a.questionId\n            LEFT JOIN " . $followDao->getTableName() . " f ON q.id=f.questionId\n            WHERE a.privacy!=:pn AND a.timeStamp <= :ss\n                AND f.userId=:u\n                OR a.userId=:u";
     return $this->dbo->queryForColumn($query, array('ss' => $startStamp, 'u' => $userId, 'pn' => QUESTIONS_BOL_FeedService::PRIVACY_NOBODY));
 }