public function share($pData) { $pData['added_date_post'] = "NOW()"; $pData['id_user'] = AuthenticationHandler::$data['id_user']; $pData['status_post'] = 1; $pData['permalink_post'] = $this->generatePermalink(); $id_tags = array(); if (isset($pData['tags_post']) && !empty($pData['tags_post'])) { $tags = explode(",", $pData['tags_post']); foreach ($tags as &$t) { $t = trim($t); } $m = new ModelCategory(); $id_tags = $m->prepareCategories($tags); unset($pData['tags_post']); } $this->insert($pData); $id = $this->getInsertId(); foreach ($id_tags as $i) { Query::insert(array('id_post' => $id, 'id_category' => $i))->into('post_category')->execute(); } return $pData['permalink_post']; }
/** * Méthode d'insertion de données dans la table du model * Renvoie le resultat de la requête * @param array $pValues Tableau associatif des données à insérer * @return resource */ public function insert(array $pValues) { return Query::insert($pValues)->into($this->table)->execute($this->handler); }
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; }