示例#1
0
 public function get_alternative_link()
 {
     $nc_core = nc_Core::get_object();
     $current_catalogue = $nc_core->catalogue->get_current();
     $current_sub = $nc_core->subdivision->get_current();
     if ($current_catalogue['ncMobile'] == 1) {
         $Catalogue_ID = $current_catalogue['ncMobileSrc'];
         $SQL = "SELECT Sub_Class_ID,\n                           Subdivision_ID,\n                           SrcMirror\n                    FROM Sub_Class\n                        WHERE Subdivision_ID = " . $current_sub['Subdivision_ID'];
         $result = (array) $this->db->get_results($SQL);
         $sub_class_id = null;
         foreach ($result as $row) {
             if ($row->SrcMirror) {
                 $sub_class_id = $row->SrcMirror;
                 break;
             }
         }
         if ($sub_class_id) {
             $Hidden_URL = $nc_core->sub_class->get_by_id($sub_class_id, 'Hidden_URL');
         }
     } else {
         $Catalogue_ID = $this->db->get_var("SELECT Catalogue_ID FROM Catalogue WHERE ncMobileSrc = " . $current_catalogue['Catalogue_ID']);
         $SQL = "SELECT Sub_Class_ID,\n                           Subdivision_ID,\n                           SrcMirror\n                    FROM Sub_Class\n                        WHERE SrcMirror IN (SELECT Sub_Class_ID FROM Sub_Class WHERE Subdivision_ID = {$current_sub['Subdivision_ID']})";
         $result = (array) $this->db->get_row($SQL, ARRAY_A);
         if ($result['Sub_Class_ID']) {
             $Hidden_URL = $nc_core->sub_class->get_by_id($result['Sub_Class_ID'], 'Hidden_URL');
         }
     }
     $Domain = $nc_core->catalogue->get_by_id($Catalogue_ID, 'Domain');
     $suffix = '';
     global $action;
     switch ($action) {
         case 'full':
             global $f_Keyword, $cc_keyword, $message;
             $suffix = $f_Keyword ? $f_Keyword : $cc_keyword . "_" . $message;
             $suffix .= '.html';
             break;
     }
     $REQUEST_URI = (string) $_SERVER['REQUEST_URI'];
     if (!$Hidden_URL && ($REQUEST_URI = !'/')) {
         $Hidden_URL = $REQUEST_URI;
         if ($REQUEST_URI[strlen($REQUEST_URI) - 1] != '/') {
             $url_array = explode('/', $REQUEST_URI);
             array_pop($url_array);
             $Hidden_URL = join('/', $url_array) . '/';
         }
         $SQL = "SELECT COUNT(*)\n                        FROM Subdivision\n                            WHERE Hidden_URL = '{$Hidden_URL}'\n                                AND Catalogue_ID = " . $Catalogue_ID;
         $result = $this->db->get_var($SQL);
         $url = $result ? $Domain . $Hidden_URL . $suffix : $Domain;
     } else {
         $url = $Domain . $Hidden_URL . $suffix;
     }
     return $url;
 }
示例#2
0
 public function get_system_table_fields($item = "")
 {
     // call as static
     static $storage = array();
     // check cache
     if (empty($storage)) {
         // Load system table field info
         $res = $this->db->get_results("SELECT b.`System_Table_Name` AS system_table_name,\n                        a.`Field_ID` as id,\n                        a.`Field_Name` as name,\n                        a.`TypeOfData_ID` as type,\n                        a.`Inheritance` as inheritance,\n                        a.`Format` as format\n                   FROM `Field` AS a, `System_Table` AS b\n                  WHERE a.`System_Table_ID` = b.`System_Table_ID`", ARRAY_A);
         //ORDER BY a.`System_Table_ID`, a.`Priority`"
         // compile system table fields array
         if (!empty($res)) {
             foreach ($res as $row) {
                 $storage[$row['system_table_name']][] = $row;
             }
         }
     }
     // if item requested return item value
     if ($item) {
         return array_key_exists($item, $storage) ? $storage[$item] : array();
     }
     // return data associative array
     return $storage;
 }