Пример #1
0
 /**
  * Convert data array into entity
  *
  * @return QuickTag\Model\StoredTag
  * @param array $data
  * @access public
  */
 public function build($data)
 {
     $object = new StoredTag();
     if ($data['tag_user_context'] !== null) {
         $object->setUserContext($data['tag_user_context']);
     }
     if ($data['tag_weight'] !== null) {
         $object->setWeight($data['tag_weight']);
     }
     $object->setTagId($data['tag_id']);
     $object->setTagCreated($data['tag_date_created']);
     $object->setTitle($data['tag_title']);
     return $object;
 }
Пример #2
0
 /**
  *  Create a tag
  *
  *  @access protected
  *  @return boolean the result true if removed
  *  @param QuickTag\Model\StoredTag $tag
  *  @throws QuickTag\QuickTagException if database operation fails
  */
 protected function createTag(StoredTag $tag)
 {
     $result = null;
     try {
         if ($tag->getTagCreated() === null) {
             $tag->setTagCreated(new DateTime());
         }
         # new tag store it
         $result = $this->gateway->insertQuery()->start()->addColumn('tag_title', $tag->getTitle())->addColumn('tag_weight', $tag->getWeight())->addColumn('tag_user_context', $tag->getUserContext())->addColumn('tag_date_created', $tag->getTagCreated())->end()->insert();
         if ($result) {
             $tag->setTagId((int) $this->gateway->lastInsertId());
         }
         # normalise the return
         if ($result === null) {
             $result = false;
         }
     } catch (DBALGatewayException $exception) {
         throw new QuickTagException($exception->getMessage(), 0, $exception);
     }
     return $result;
 }
Пример #3
0
 public function testEntityDemolish()
 {
     $tag_id = 1;
     $tag_user_context = 3;
     $tag_date_created = new DateTime();
     $tag_weight = 3.56;
     $tag_title = 'finance';
     $data = array('tag_id' => $tag_id, 'tag_user_context' => $tag_user_context, 'tag_date_created' => $tag_date_created, 'tag_weight' => $tag_weight, 'tag_title' => $tag_title);
     $builder = new TagBuilder();
     $entity = new StoredTag();
     $entity->setTagId($tag_id);
     $entity->setUserContext($tag_user_context);
     $entity->setTagCreated($tag_date_created);
     $entity->setWeight($tag_weight);
     $entity->setTitle($tag_title);
     $this->assertEquals($data, $builder->demolish($entity));
 }
Пример #4
0
 /**
  *  Creates a Tag
  *
  *  @access public
  *  @return string a json response
  */
 public function postTagAction(Application $app, Request $req)
 {
     $response = array('msg' => null, 'result' => null);
     # Validate Params
     $errors = $this->getValidator()->validateValue(array('tagTitle' => $req->get('tagTitle'), 'tagWeight' => $req->get('tagWeight')), $this->getValidationRules());
     if (count($errors) > 0) {
         $this->getContainer()->abort(400, $this->serializeValidationErrors($errors));
     }
     $tag = new StoredTag();
     $tag->setTitle((string) $req->get('tagTitle'));
     $tag->setWeight((double) $req->get('tagWeight'));
     $tag->setTagCreated(new DateTime());
     $response['result'] = $this->getTagLibrary()->storeTag($tag);
     $response['msg'] = sprintf('Stored new tag with title %s tag at id %s', $tag->getTitle(), $tag->getTagId());
     return $this->response($response, 200);
 }