示例#1
0
文件: Places.php 项目: noikiy/PD
 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;
 }
示例#2
0
 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'));
 }
示例#3
0
 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));
 }
示例#4
0
文件: Pages.php 项目: noikiy/amatteur
 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));
     }
 }