Exemplo n.º 1
0
 protected function _postInsert()
 {
     parent::_postInsert();
     $signatureTbl = new Book_Model_DbTable_Signatures();
     $signature = $signatureTbl->createRow(array('parent_object_id' => $this->getIdentity(), 'parent_object_type' => $this->getType(), 'favorite_count' => 0, 'view_count' => 0));
     $signature->save();
 }
Exemplo n.º 2
0
 private function _getSignature()
 {
     $subject = $this->_getSubject();
     if ($subject) {
         $signatureTable = new Book_Model_DbTable_Signatures();
         $select = $signatureTable->select()->where('parent_object_id = ?', $subject->getIdentity())->where('parent_object_type = ?', $subject->getType());
         $signature = $signatureTable->fetchRow($select);
         if ($signature == null) {
             $signature = $signatureTable->createRow(array('parent_object_id' => $subject->getIdentity(), 'parent_object_type' => $subject->getType(), 'favorite_count' => 0, 'view_count' => 0));
         }
         return $signature;
     }
 }
Exemplo n.º 3
0
 public function getObject($type, $id)
 {
     $object = Engine_Api::_()->getItem($type, $id);
     if ($object) {
         $signatureTbl = new Book_Model_DbTable_Signatures();
         $signatureSel = $signatureTbl->select();
         $signatureSel->where('parent_object_type = ?', $type)->where('parent_object_id = ?', $id);
         $signature = $signatureTbl->fetchRow($signatureSel);
         if ($signature == NULL) {
             $signature = $signatureTbl->createRow(array('parent_object_id' => $id, 'parent_object_type' => $type, 'favorite_count' => 0, 'view_count' => 0));
             $signature->save();
         }
         $itemTbl = Engine_Api::_()->getItemTable($type);
         $itemTblName = $itemTbl->info(Zend_Db_Table_Abstract::NAME);
         $select = $itemTbl->getSelect('*');
         $tablePrimaryKey = current($itemTbl->info(Zend_Db_Table_Abstract::PRIMARY));
         $select->where("{$itemTblName}.{$tablePrimaryKey} = ?", $id);
         return $itemTbl->fetchRow($select);
     }
 }
Exemplo n.º 4
0
 public function setRating($user_id, $rating)
 {
     $ratingTable = new Book_Model_DbTable_Ratings();
     $select = $ratingTable->select()->where('parent_object_type = ?', $this->getType())->where('parent_object_id = ?', $this->getIdentity())->where('user_id = ?', $user_id);
     $row = $ratingTable->fetchRow($select);
     if (empty($row)) {
         $row = $ratingTable->createRow(array('parent_object_type' => $this->getType(), 'parent_object_id' => $this->getIdentity(), 'user_id' => $user_id, 'rating' => $rating));
         $row->save();
         $signatureTable = new Book_Model_DbTable_Signatures();
         $select = $signatureTable->select()->where('parent_object_id = ?', $this->getIdentity())->where('parent_object_type = ?', $this->getType());
         $signatureRow = $signatureTable->fetchRow($select);
         if ($signatureRow == NULL) {
             $signatureRow = $signatureTable->createRow(array('parent_object_id' => $this->getIdentity(), 'parent_object_type' => $this->getType()));
         }
         $signatureRow->rating_count = $signatureRow->rating_count + 1;
         $ratingSum = $this->getRatingSum();
         if ($ratingSum != 0) {
             $signatureRow->rating = $ratingSum / $signatureRow->rating_count;
         } else {
             $signatureRow->rating = $rating;
         }
         $signatureRow->save();
     }
 }
Exemplo n.º 5
0
 protected function _postInsert()
 {
     parent::_postInsert();
     $signatureTbl = new Book_Model_DbTable_Signatures();
     $signature = $signatureTbl->createRow(array('parent_object_id' => $this->getIdentity(), 'parent_object_type' => $this->getType(), 'favorite_count' => 0, 'view_count' => 0));
     $signature->save();
     $popularityTbl = new Book_Model_DbTable_Popularities();
     $popularity = $popularityTbl->createRow(array('resource_id' => $this->getIdentity(), 'resource_type' => $this->getType(), 'posted_date' => date('Y-m-d H:i:s')));
     $popularity->save();
 }