コード例 #1
0
 public function prepareCategories($pTags)
 {
     if (empty($pTags)) {
         return array();
     }
     $ids = array();
     foreach ($pTags as $t) {
         if (Query::count($this->table, Query::condition()->andWhere('name_category', Query::EQUAL, $t))) {
             continue;
         }
         $permalink = RoutingHandler::sanitize($t);
         $this->insert(array('name_category' => $t, 'permalink_category' => $permalink));
         $ids[] = $this->getInsertId();
     }
     return $ids;
 }
コード例 #2
0
ファイル: model.ModelLink.php プロジェクト: arno06/Savely
 public function addState($pUrl, $pIdUser = null)
 {
     $existing_link = $this->one(Query::condition()->andWhere('url_link', Query::EQUAL, $pUrl)->orWhere('canonical_link', Query::EQUAL, $pUrl));
     $headers = get_headers($pUrl);
     $code = substr($headers[0], 9, 3);
     if (in_array($code, array(404, 400, 401, 500, 503)) && $existing_link) {
         $this->deleteById($existing_link[$this->id]);
         return false;
     }
     $content = $this->parseLink($pUrl);
     if ($content === false || is_array($content) && empty($content['title']) && empty($content['price'])) {
         return false;
     }
     if (!$existing_link && isset($content['canonical']) && !empty($content['canonical'])) {
         $existing_link = $this->one(Query::condition()->andWhere('url_link', Query::EQUAL, $content['canonical'])->orWhere('canonical_link', Query::EQUAL, $content['canonical']));
     }
     if (!$existing_link) {
         Query::insert(array('url_link' => $pUrl, 'canonical_link' => $content['canonical'], 'title_link' => $content['title'], 'image_link' => $content['image']))->into($this->table)->execute($this->handler);
     } else {
         Query::update('sil_links')->values(array('url_link' => $pUrl, 'canonical_link' => $content['canonical'], 'title_link' => $content['title'], 'image_link' => $content['image']))->andWhere('id_link', Query::EQUAL, $existing_link['id_link'])->execute();
     }
     $existing_link = $this->one(Query::condition()->andWhere('url_link', Query::EQUAL, $pUrl)->orWhere('canonical_link', Query::EQUAL, $content['canonical']));
     if (isset($pIdUser)) {
         if (!Query::count('sil_user_links', Query::condition()->andWhere('id_user', Query::EQUAL, $pIdUser)->andWhere('id_link', Query::EQUAL, $existing_link['id_link']))) {
             Query::insert(array('id_user' => $pIdUser, 'id_link' => $existing_link['id_link']))->into('sil_user_links')->execute();
         }
     }
     Query::insert(array('id_link' => $existing_link['id_link'], 'price_state' => $content['price']['price'], 'devise_state' => $content['price']['devise']))->into('sil_states')->execute($this->handler);
     Query::update($this->table)->values(array('last_price_link' => $content['price']['price'], 'devise_link' => $content['price']['devise']))->andWhere('id_link', Query::EQUAL, $existing_link['id_link'])->execute();
     return true;
 }