Exemplo n.º 1
0
 public static function get_defaults($owner_table = false)
 {
     $defaults = array();
     $nextorder = array();
     if ($owner_table && strlen($owner_table)) {
         $where = " WHERE e.owner_table = '" . mysql_real_escape_string($owner_table) . "' ";
         $defaults[$owner_table] = array();
         $nextorder[$owner_table] = 0;
     } else {
         $where = '';
     }
     $sql = "SELECT `extra_default_id`,`extra_key`, `order`, `display_type`, `owner_table`, `searchable`, `field_type`, `options` FROM `" . _DB_PREFIX . "extra_default` e {$where} ORDER BY e.`order` ASC";
     foreach (qa($sql) as $r) {
         if (!isset($defaults[$r['owner_table']])) {
             $defaults[$r['owner_table']] = array();
         }
         if (!isset($nextorder[$r['owner_table']])) {
             $nextorder[$r['owner_table']] = 0;
         }
         $defaults[$r['owner_table']][$r['extra_key']] = array('key' => $r['extra_key'], 'order' => $r['order'], 'extra_default_id' => $r['extra_default_id'], 'display_type' => $r['display_type'], 'searchable' => $r['searchable'], 'field_type' => $r['field_type'], 'options' => isset($r['options']) ? @json_decode($r['options'], true) : array());
         $nextorder[$r['owner_table']] = max($r['order'], $nextorder[$r['owner_table']]);
     }
     // search database for keys.
     $sql = "SELECT `extra_key`,`owner_table` FROM `" . _DB_PREFIX . "extra` e {$where} GROUP BY e.extra_key";
     foreach (qa($sql) as $r) {
         if (!isset($nextorder[$r['owner_table']])) {
             $nextorder[$r['owner_table']] = 0;
         }
         if (!isset($defaults[$r['owner_table']]) || !isset($defaults[$r['owner_table']][$r['extra_key']])) {
             $nextorder[$r['owner_table']]++;
             $extra_default_id = update_insert('extra_default_id', false, 'extra_default', array('owner_table' => $r['owner_table'], 'extra_key' => $r['extra_key'], 'order' => $nextorder[$r['owner_table']], 'display_type' => 0));
             $defaults[$r['owner_table']][$r['extra_key']] = array();
             $defaults[$r['owner_table']][$r['extra_key']]['key'] = $r['extra_key'];
             $defaults[$r['owner_table']][$r['extra_key']]['order'] = $nextorder[$r['owner_table']];
             $defaults[$r['owner_table']][$r['extra_key']]['extra_default_id'] = $extra_default_id;
             $defaults[$r['owner_table']][$r['extra_key']]['display_type'] = 0;
             $defaults[$r['owner_table']][$r['extra_key']]['field_type'] = '';
             $defaults[$r['owner_table']][$r['extra_key']]['options'] = array();
             module_cache::clear_cache(false);
         }
         if (!isset($defaults[$r['owner_table']][$r['extra_key']]['order'])) {
             $defaults[$r['owner_table']][$r['extra_key']]['order'] = 0;
         }
         /*$defaults[$r['owner_table']][$r['extra_key']] = array(
               'key' => $r['extra_key'],
               'order'=> isset($defaults[$r['extra_key']]) ? $defaults[$r['extra_key']]['order'] : 0,
           );*/
     }
     if ($owner_table) {
         uasort($defaults[$owner_table], 'sort_extra_defaults');
         return $defaults[$owner_table];
     } else {
         return $defaults;
         //return all for settings area
     }
     /*        switch($owner_table){
                 case 'website':
                     $defaults = array(
                         array('key' => 'FTP Username',),
                         array('key' => 'FTP Password',),
                         array('key' => 'FTP Provider',),
                         array('key' => 'Host Username',),
                         array('key' => 'Host Password',),
                         array('key' => 'Host Provider',),
                         array('key' => 'WordPress User',),
                         array('key' => 'WordPress Pass',),
                         array('key' => 'Analytics Account',),
                         array('key' => 'Webmaster Account',),
                     );
                     break;
             }*/
 }