Example #1
0
 static function build($non_sef, $alias, $is_add_base_url = 0)
 {
     $alias = Route::buildAlias($alias);
     //trim($path, '/\\')
     //		return '/'.$alias.'/';
     $non_sef = trim($non_sef, " \t./\\");
     $sef_url = trim($alias, " \t./\\") . '.html';
     $config = CoreConfig::getInstance();
     $is_use_sef_urls = $config->get('is_use_sef_urls');
     if (!$is_use_sef_urls) {
         if ($is_add_base_url) {
             return base_url() . $non_sef . '/';
         }
         return $non_sef . '/';
     }
     $db = CoreFactory::getDB();
     $urls_db_table = $config->get('urls_db_table');
     $query = "\n\t\t\tSELECT non_sef FROM `{$urls_db_table}` WHERE sef = '{$sef_url}'\n\t\t";
     $current_non_sef = $db->setQuery($query)->getResult();
     if ($current_non_sef && $current_non_sef == $non_sef) {
         if ($is_add_base_url) {
             return base_url() . $sef_url;
         }
         return $sef_url;
     }
     $query = "\n\t\t\tSELECT sef FROM `{$urls_db_table}` WHERE non_sef = '{$non_sef}'\n\t\t";
     $cur_sef_url = $db->setQuery($query)->getResult();
     if ($cur_sef_url) {
         $sef_url = $cur_sef_url;
     } else {
         $query = "\n\t\t\t\tINSERT INTO `{$urls_db_table}` SET sef = '{$sef_url}', non_sef = '{$non_sef}'\n\t\t\t";
         $db->setQuery($query)->execute();
     }
     if ($is_add_base_url) {
         return base_url() . $sef_url;
     }
     return $sef_url;
 }