public function editePlace($place_id, $data) { $db = JO_Db::getDefaultAdapter(); $parent_id = isset($data['parent_id']) ? $data['parent_id'] : '0'; if ($data['level'] == 1 && ($data['Lat'] == 0.0 || $data['Lng'] == 0.0)) { if (isset($data['description'][JO_Registry::get('config_language_id')]['title'])) { $place_title = $data['description'][JO_Registry::get('config_language_id')]['title']; $get_cordinates = Model_GoogleApi::getCordinatesByPlace($place_title); $data['Lat'] = $get_cordinates['Lat']; $data['Lng'] = $get_cordinates['Lng']; } } $db->update('places', array('image' => $data['image'], 'parent_id' => $parent_id, 'date_modified' => new JO_Db_Expr('NOW()'), 'status' => $data['status'], 'Lat' => (double) (isset($data['Lat']) ? $data['Lat'] : '0'), 'Lng' => (double) (isset($data['Lng']) ? $data['Lng'] : '0'), 'level' => $data['level']), array('place_id = ?' => (int) $place_id)); $db->delete('places_description', array('place_id = ?' => (int) $place_id)); if (isset($data['description'])) { foreach ($data['description'] as $language_id => $value) { $db->insert('places_description', array('place_id' => $place_id, 'language_id' => $language_id, 'meta_title' => $value['meta_title'], 'meta_description' => $value['meta_description'], 'meta_keywords' => $value['meta_keywords'], 'title' => $value['title'], 'description' => $value['description'])); } } $db->delete('places_types', array('place_id = ?' => (int) $place_id)); if (isset($data['type'])) { foreach ($data['type'] as $type) { $db->insert('places_types', array('place_id' => (int) $place_id, 'option_item_id' => (int) $type)); } } if (isset($data['keyword']) && trim($data['keyword'])) { Model_AutoSeo::generatePlace($place_id, $data['keyword']); } else { Model_AutoSeo::generatePlace($place_id); } self::fixAllRecordsTypeUrlQuery(); return $place_id; }
public static function generateSourceQuery($source_id) { $db = JO_Db::getDefaultAdapter(); $info = self::getSource($source_id); if (!$info) { return; } if (trim($info['source'])) { $slug = $uniqueSlug = self::clear($info['source']); } else { $slug = $uniqueSlug = 'source'; } $index = 1; $db->query("DELETE FROM url_alias WHERE query = 'source_id=" . (int) $source_id . "'"); while (Model_AutoSeo::getTotalKey($uniqueSlug)) { $uniqueSlug = $slug . '-' . $index++; } $db->insert('url_alias', array('query' => 'source_id=' . (int) $source_id, 'keyword' => $uniqueSlug, 'path' => $uniqueSlug, 'route' => 'source/index')); }
public static function generateCategory($category_id, $keyword = '') { $db = JO_Db::getDefaultAdapter(); $info = self::getCategory($category_id); if (!$info) { return; } if (trim($keyword)) { $slug = $uniqueSlug = Model_AutoSeo::translate($keyword); } elseif (trim($info['title'])) { $slug = $uniqueSlug = Model_AutoSeo::translate($info['title']); } else { $slug = $uniqueSlug = 'category'; } $slug = mb_strtolower($slug, 'utf-8'); $uniqueSlug = mb_strtolower($uniqueSlug, 'utf-8'); $index = 1; $db->query("DELETE FROM url_alias WHERE query = 'category_id=" . (int) $category_id . "'"); while (Model_AutoSeo::getTotalKey($uniqueSlug)) { $uniqueSlug = $slug . '-' . $index++; } $db->insert('url_alias', array('query' => 'category_id=' . (int) $category_id, 'keyword' => $uniqueSlug, 'route' => 'category/index', 'path' => $uniqueSlug)); }
public static function generatePage($page_id, $keyword = '') { $db = JO_Db::getDefaultAdapter(); $info = self::getPage($page_id); if (!$info) { return; } if (trim($keyword)) { $slug = $uniqueSlug = Model_AutoSeo::translate($keyword); } elseif (trim($info['title'])) { $slug = $uniqueSlug = Model_AutoSeo::translate($info['title']); } else { $slug = $uniqueSlug = 'page'; } $index = 1; $db->query("DELETE FROM url_alias WHERE query = 'page_id=" . (int) $page_id . "'"); while (Model_AutoSeo::getTotalKey($uniqueSlug)) { $uniqueSlug = $slug . '-' . $index++; } $db->insert('url_alias', array('query' => 'page_id=' . (int) $page_id, 'keyword' => $uniqueSlug, 'route' => 'pages/read')); $last_inser_id = $db->lastInsertId(); if ($last_inser_id) { $db->update('url_alias', array('path' => self::getPagePath($page_id)), array('url_alias_id = ?' => $last_inser_id)); } }