Пример #1
1
 public static function string($key = false)
 {
     global $CFG;
     if (empty($key)) {
         return false;
     }
     $lang = empty($CFG->language) ? 'eng' : $CFG->language;
     if ($lang == 'en') {
         $lang = 'eng';
     } else {
         if ($lang == 'es') {
             $lang = 'esp';
         }
     }
     if ($CFG->memcached) {
         $cached = $CFG->m->get('lang_' . $key . '_' . $lang);
         if ($cached) {
             return $cached;
         }
     }
     $sql = 'SELECT ' . $lang . ' AS line FROM lang WHERE `key` = "' . $key . '" LIMIT 0,1';
     $result = db_query_array($sql);
     if ($result) {
         if ($CFG->memcached) {
             $CFG->m->set('lang_' . $key . '_' . $lang, $result[0]['line'], 300);
         }
         return $result[0]['line'];
     } else {
         return false;
     }
 }
Пример #2
1
 public static function getReserveSurplus()
 {
     global $CFG;
     $reserve_ratio = $CFG->bitcoin_reserve_ratio ? $CFG->bitcoin_reserve_ratio : '0';
     $sending_fee = $CFG->bitcoin_sending_fee ? $CFG->bitcoin_sending_fee : '0';
     $sql = 'SELECT (hot_wallet_btc - ((total_btc * ' . $reserve_ratio . ') + pending_withdrawals) - ' . $sending_fee . ') AS surplus, hot_wallet_btc FROM status WHERE id = 1';
     $result = db_query_array($sql);
     if (!$result) {
         return 0;
     }
     return $result[0];
 }
Пример #3
0
 public static function getForApp()
 {
     global $CFG;
     $return = array('user' => array(), 'sexos' => array(), 'content_cats' => array(), 'event_cats' => array(), 'hatzalah_phone' => $CFG->hatzalah_phone, 'dsi_phone' => $CFG->dsi_phone);
     if (!empty(User::$info)) {
         $return['user'] = User::$info;
         $status = User::getUserStatus();
         $return['user']['status'] = $status[User::$info['site_users_status']]['key'];
         unset($return['user']['nonce']);
         unset($return['user']['session_key']);
         unset($return['user']['ip']);
         unset($return['user']['awaiting']);
         unset($return['user']['id']);
         unset($return['user']['reg_date']);
         unset($return['user']['last_login']);
         unset($return['user']['user']);
         unset($return['user']['pass']);
         unset($return['user']['site_users_status']);
     }
     $sql = 'SELECT * FROM sexos';
     $result = db_query_array($sql);
     if ($result) {
         foreach ($result as $row) {
             $return['sexos'][$row['id']] = $row['name'];
         }
     }
     $return['content_cats'] = Content::getTopics();
     $return['event_cats'] = Events::getCats();
     return $return;
 }
Пример #4
0
 public static function getRecord($url)
 {
     global $CFG;
     $url = preg_replace("/[^0-9a-zA-Z!@#\$%&*?\\.\\-_]/", "", $url);
     if (empty($url)) {
         return false;
     }
     if ($CFG->memcached) {
         $cached = $CFG->m->get('content_' . $url . '_' . $CFG->language);
         if ($cached) {
             return $cached;
         }
     }
     $sql = "SELECT * FROM content WHERE url = '{$url}' ";
     $result = db_query_array($sql);
     if ($result) {
         $result[0]['title'] = empty($result[0]['title_' . $CFG->language]) ? $result[0]['title'] : $result[0]['title_' . $CFG->language];
         $result[0]['content'] = empty($result[0]['content_' . $CFG->language]) ? $result[0]['content'] : $result[0]['content_' . $CFG->language];
         $result[0]['title'] = str_replace('[exchange_name]', $CFG->exchange_name, str_replace('[baseurl]', $CFG->frontend_baseurl, $result[0]['title']));
         $result[0]['content'] = str_replace('[exchange_name]', $CFG->exchange_name, str_replace('[baseurl]', $CFG->frontend_baseurl, $result[0]['content']));
         if ($CFG->memcached) {
             $CFG->m->set('content_' . $url . '_' . $CFG->language, $result[0], 300);
         }
         return $result[0];
     }
     return false;
 }
Пример #5
0
 function save()
 {
     $table = $_REQUEST['pe_table'];
     $g_id = $_REQUEST['pe_group_id'];
     if (is_array($_REQUEST['pe']['tabs'])) {
         foreach ($_REQUEST['pe']['tabs'] as $id => $permission) {
             if ($result = db_query_array("SELECT id FROM {$table}_groups_tabs WHERE tab_id = {$id} && group_id = {$g_id}")) {
                 $r_id = $result[0]['id'];
                 DB::update("{$table}_groups_tabs", array('permission' => $permission), $r_id);
             } else {
                 DB::insert("{$table}_groups_tabs", array('permission' => $permission, 'tab_id' => $id, 'group_id' => $g_id));
             }
         }
     }
     if (is_array($_REQUEST['pe']['pages'])) {
         foreach ($_REQUEST['pe']['pages'] as $id => $permission) {
             if ($result = db_query_array("SELECT id FROM {$table}_groups_pages WHERE page_id = {$id} && group_id = {$g_id}")) {
                 $r_id = $result[0]['id'];
                 DB::update("{$table}_groups_pages", array('permission' => $permission), $r_id);
             } else {
                 DB::insert("{$table}_groups_pages", array('permission' => $permission, 'page_id' => $id, 'group_id' => $g_id));
             }
         }
     }
 }
Пример #6
0
 public static function getRecord($table, $id = 0, $f_id = 0, $id_required = false, $f_id_field = false, $order_by = false, $order_asc = false, $for_update = false)
 {
     if ($id_required && !($id > 0)) {
         return false;
     }
     if (!$table) {
         return false;
     }
     $f_id_field = $f_id_field ? $f_id_field : 'f_id';
     $sql = "SELECT {$table}.* FROM {$table} WHERE 1 ";
     if ($id > 0) {
         $sql .= " AND  {$table}.id = {$id} ";
     }
     if ($f_id) {
         $sql .= " AND  {$table}.{$f_id_field} = '{$f_id}' ";
     }
     if ($order_by) {
         $order_asc = $order_asc ? 'ASC' : 'DESC';
         $sql .= " ORDER BY {$order_by} {$order_asc} ";
     }
     $sql .= " LIMIT 0,1 ";
     if ($for_update) {
         $sql .= ' FOR UPDATE';
     }
     $result = db_query_array($sql);
     return $result[0];
 }
Пример #7
0
 public static function getUserFees($user_id = false)
 {
     global $CFG;
     if (!$user_id) {
         return false;
     }
     if (!empty(self::$user_fees[$user_id])) {
         return self::$user_fees[$user_id];
     }
     if ($CFG->memcached) {
         $cached = $CFG->m->get('user_fee_' . $user_id);
         if ($cached) {
             self::$user_fees[$user_id] = $cached;
             return $cached;
         }
     }
     $sql = 'SELECT fee_schedule.fee, fee_schedule.fee1 FROM fee_schedule LEFT JOIN site_users ON (site_users.fee_schedule = fee_schedule.id) WHERE site_users.id = ' . $user_id . ' LIMIT 0,1';
     $result = db_query_array($sql);
     if ($result) {
         if ($CFG->memcached) {
             $CFG->m->set('user_fee_' . $user_id, $result[0], 300);
         }
         self::$user_fees[$user_id] = $result[0];
         return $result[0];
     }
     return false;
 }
Пример #8
0
 function get($route_id = '')
 {
     $sql = "SELECT * FROM routes\n                    WHERE 1 ";
     if ($route_id) {
         $sql .= " AND route_id = '" . $route_id . "'";
     }
     return db_query_array($sql);
 }
Пример #9
0
 function get($shuttle_id = '')
 {
     $sql = "SELECT * FROM shuttles\n                    WHERE 1 ";
     if ($shuttle_id) {
         $sql .= " AND shuttle_id = '" . $shuttle_id . "'";
     }
     return db_query_array($sql);
 }
Пример #10
0
 public static function getUserFees($user_id = false)
 {
     if (!$user_id) {
         return false;
     }
     $sql = 'SELECT fee_schedule.* FROM fee_schedule LEFT JOIN site_users ON (site_users.fee_schedule = fee_schedule.id) WHERE site_users.id = ' . $user_id . ' LIMIT 0,1';
     $result = db_query_array($sql);
     return $result ? $result[0] : false;
 }
Пример #11
0
 function getHighestProxy($user_id = 0)
 {
     $sql = "SELECT amount,user_id FROM {$this->table}_bids WHERE item_id = {$this->id} AND item_table = '{$this->table}' ";
     if ($user_id > 0) {
         $sql .= " AND user_id = {$user_id} ";
     }
     $sql .= " ORDER BY amount DESC LIMIT 0,1";
     $result = db_query_array($sql);
     return $result[0];
 }
Пример #12
0
function execute_array($sql, $args = array())
{
    $result = db_query_array($sql, $args);
    if ($result === FALSE) {
        trigger_error("Query failed in execute: {$sql}", E_USER_ERROR);
    }
    if (is_resource($result)) {
        mysql_free_result($result);
    }
    return mysql_affected_rows();
}
Пример #13
0
 function get($shuttle_id = '')
 {
     $sql = "SELECT * FROM shuttle_coords\n                    WHERE 1 ";
     if ($route_id) {
         $sql .= " AND shuttle_id = '" . $shuttle_id . "'";
     }
     if ($seq) {
         $sql .= " AND seq = '" . $seq . "'";
     }
     return db_query_array($sql);
 }
Пример #14
0
 public static function get()
 {
     $sql = "SELECT * FROM currencies WHERE is_active = 'Y' ORDER BY currency ASC";
     $result = db_query_array($sql);
     if ($result) {
         foreach ($result as $row) {
             $currencies[$row['currency']] = $row;
             $currencies[$row['id']] = $row;
         }
     }
     return $currencies;
 }
Пример #15
0
 public static function get()
 {
     $sql = 'SELECT * FROM date_overrides WHERE `date` >= "' . date('Y-m-d', strtotime('-1 month')) . '" AND `date` <= "' . date('Y-m-d', strtotime('+1 month')) . '" ORDER BY `date` DESC';
     $result = db_query_array($sql);
     if (!$result) {
         return false;
     }
     $return = array();
     foreach ($result as $row) {
         $return[$row['date']] = array('neitz_hachama' => strtotime($row['date'] . ' ' . substr($row['netz'], strrpos($row['netz'], ' ') + 1)) * 1000, 'sof_zman_shma' => strtotime($row['date'] . ' ' . substr($row['shema'], strrpos($row['shema'], ' ') + 1)) * 1000, 'sof_zman_tfilla' => strtotime($row['date'] . ' ' . substr($row['tefilah'], strrpos($row['tefilah'], ' ') + 1)) * 1000, 'mincha_gedola' => strtotime($row['date'] . ' ' . substr($row['minha_gedola'], strrpos($row['minha_gedola'], ' ') + 1)) * 1000, 'mincha_ketana' => strtotime($row['date'] . ' ' . substr($row['minha_ketana'], strrpos($row['minha_ketana'], ' ') + 1)) * 1000, 'shkiah' => strtotime($row['date'] . ' ' . substr($row['shekia'], strrpos($row['shekia'], ' ') + 1)) * 1000, 'tzeit' => strtotime($row['date'] . ' ' . substr($row['tzet'], strrpos($row['tzet'], ' ') + 1)) * 1000, 'candles' => $row['candles'] > 0 ? strtotime($row['date'] . ' ' . substr($row['candles'], strrpos($row['candles'], ' ') + 1)) * 1000 : 0);
     }
     return $return;
 }
Пример #16
0
 public static function delete($remove_id)
 {
     global $CFG;
     if (!$CFG->session_active) {
         return false;
     }
     $sql = 'SELECT id FROM bank_accounts WHERE id = ' . $remove_id . ' AND site_user = '******'id'];
     $result = db_query_array($sql);
     if (!$result) {
         return false;
     }
     $remove_id = preg_replace("/[^0-9]/", "", $remove_id);
     db_delete('bank_accounts', $remove_id);
 }
 function get($route_id = '', $seq1 = '', $seq2 = '')
 {
     $sql = "SELECT * FROM route_coord_distances\n                    WHERE 1 ";
     if ($route_id) {
         $sql .= " AND route_id = '" . $route_id . "'";
     }
     if ($seq1) {
         $sql .= " AND seq1 = '" . $seq1 . "'";
     }
     if ($seq2) {
         $sql .= " AND seq2 = '" . $seq2 . "'";
     }
     return db_query_array($sql);
 }
Пример #18
0
 private function getPages($tab_id)
 {
     global $CFG;
     $table_fields = DB::getTableFields('admin_pages', 1);
     if (!in_array('icon', $table_fields)) {
         $sql = "ALTER TABLE admin_pages ADD admin_pages.icon VARCHAR( 255 ) NOT NULL";
         db_query($sql);
     }
     if (!in_array('page_map_reorders', $table_fields)) {
         $sql = "ALTER TABLE admin_pages ADD admin_pages.page_map_reorders TINYINT( 1 ) NOT NULL";
         db_query($sql);
     }
     $sql = "SELECT * FROM admin_pages WHERE f_id = {$tab_id} ORDER BY admin_pages.order, name ASC";
     return db_query_array($sql);
 }
Пример #19
0
    public static function get()
    {
        global $CFG;
        if (!$CFG->session_active) {
            return false;
        }
        $sql = 'SELECT
				links.id,
				links.name,
				links.url,
				links.description
				FROM links
				ORDER BY links.name ASC';
        return db_query_array($sql);
    }
Пример #20
0
 public static function get()
 {
     global $CFG;
     if ($CFG->memcached) {
         $cached = $CFG->m->get('settings');
         if ($cached) {
             return $cached;
         }
     }
     $sql = 'SELECT * FROM app_configuration WHERE id = 1';
     $result = db_query_array($sql);
     if ($CFG->memcached) {
         $CFG->m->set('settings', $result[0], 300);
     }
     return $result[0];
 }
Пример #21
0
 function getUserRank()
 {
     global $CFG;
     if (!(User::$info['id'] > 0)) {
         return false;
     }
     foreach ($CFG->currencies as $currency) {
         $currencies[] = '(site_users.' . strtolower($currency['currency']) . ' * ' . $currency['usd_ask'] . ')';
     }
     $currency_str = '((site_users.btc * currencies.usd_ask) + ' . implode(' + ', $currencies) . ' - 100000) ';
     $currency_str1 = '((s1.btc * currencies.usd_ask) + ' . str_replace('site_users', 's1', implode(' + ', $currencies)) . ' - 100000)';
     $sql = "SELECT LOWER(iso_countries.code) AS country, UPPER(LEFT(site_users.first_name,1)) AS f, UPPER(LEFT(site_users.last_name,1)) AS l ,{$currency_str} AS usd_gain FROM site_users\n\t\tLEFT JOIN currencies ON (currencies.id = {$CFG->btc_currency_id})\n\t\tLEFT JOIN iso_countries ON (site_users.country = iso_countries.id)\n\t\tWHERE site_users.id = " . User::$info['id'] . " LIMIT 0,1";
     $result = db_query_array($sql);
     $return = $result[0];
     $sql = "SELECT COUNT(DISTINCT {$currency_str}) AS rank FROM site_users LEFT JOIN currencies ON (currencies.id = {$CFG->btc_currency_id}) WHERE {$currency_str} >= {$return['usd_gain']}";
     $result = db_query_array($sql);
     $return['rank'] = $result[0]['rank'];
     return $return;
 }
Пример #22
0
    public static function get()
    {
        global $CFG;
        if (!$CFG->session_active) {
            return false;
        }
        $sql = 'SELECT
				products.id,
				products.name,
				products.supervision,
				products.warn,
				products.date_updated,
				GROUP_CONCAT(DISTINCT CONCAT_WS("|",product_cats.id,product_cats.name) SEPARATOR ",") AS categories
				FROM products
				LEFT JOIN products_product_cats ON (products_product_cats.f_id = products.id)
				LEFT JOIN product_cats ON (products_product_cats.c_id = product_cats.id)
				GROUP BY products.id ORDER BY products.name ASC';
        return db_query_array($sql);
    }
Пример #23
0
    function showTabsPages()
    {
        global $CFG;
        echo '
		<div class="faux_caption">' . $CFG->faux_editor_caption . '</div>
		<div class="faux_container">
			<div class="faux_select" onclick="openFauxSelect1(1,event)" id="fauxs_1">
				<div class="paste">';
        $result = db_query_array("SELECT * FROM admin_tabs");
        if ($result) {
            foreach ($result as $tab) {
                $o = '<a class="f_elem" onclick="fauxSelect1(this,event,1,' . $tab['id'] . ',1)"><div class="f_icon_tab"></div> ' . $tab['name'] . '</a>';
                $options[] = $o;
                if ($CFG->is_tab && $CFG->id == $tab['id']) {
                    echo $o;
                }
                $result1 = db_query_array("SELECT * FROM admin_pages WHERE f_id = {$tab['id']}");
                if ($result1) {
                    foreach ($result1 as $page) {
                        $o = '<a class="f_elem f_sub" onclick="fauxSelect1(this,event,1,' . $page['id'] . ')"><div class="f_icon_page"></div> ' . $page['name'] . '</a>';
                        $options[] = $o;
                        if (!$CFG->is_tab && $CFG->id == $page['id']) {
                            echo $o;
                        }
                    }
                }
            }
        } else {
            echo '<div class="f_elem">' . $CFG->faux_no_options . '</div>';
        }
        echo '
				</div>
				<div class="f_down">' . $CFG->down . '</div>
			</div>
			<div class="faux_dropdown" id="faux_1">
				' . implode('', $options) . '
				<div class="clear"></div>
			</div>
			<div class="clear"></div>
		</div>
		';
    }
Пример #24
0
 public static function hasPermission($api_key)
 {
     global $CFG;
     if ($CFG->memcached) {
         $cached = $CFG->m->get('api_' . $api_key . '_p');
         if ($cached) {
             return $cached;
         }
     }
     $sql = 'SELECT api_keys.view AS p_view, api_keys.orders AS p_orders, api_keys.withdraw AS p_withdraw FROM api_keys WHERE api_keys.key = "' . $api_key . '"';
     $result = db_query_array($sql);
     if ($result) {
         if ($CFG->memcached) {
             $CFG->m->set('api_' . $api_key . '_p', $result[0], 300);
         }
         return $result[0];
     } else {
         return array('p_view' => 'Y', 'p_orders' => 'Y', 'p_withdraw' => 'Y');
     }
 }
Пример #25
0
    public static function get($cats = false)
    {
        global $CFG;
        if (!$CFG->session_active) {
            return false;
        }
        //GROUP_CONCAT(DISTINCT CONCAT_WS("|",directory_schedule.start,directory_schedule.end) SEPARATOR ",") AS times
        //LEFT JOIN directory_schedule ON (directory_schedule.directory_id = directory_schedule.id)
        $sql = 'SELECT 
				directory.id,
				directory.name,
				directory.tel,
				directory.email,
				directory.website,
				directory.address,
				directory.warn,
				directory.content,
				directory_cats.key, 
				directory_cats.name AS category,
				"directory" AS type, 
				GROUP_CONCAT(DISTINCT CONCAT_WS("|",restaurant_cats.id,restaurant_cats.name) SEPARATOR ",") AS restaurant_categories
				FROM directory
				LEFT JOIN directory_cats ON (directory.directory_cat = directory_cats.id)
				LEFT JOIN directory_restaurant_cats ON (directory_restaurant_cats.f_id = directory.id)
				LEFT JOIN restaurant_cats ON (directory_restaurant_cats.c_id = restaurant_cats.id)
				WHERE 1 ';
        if (is_array($cats) && count($cats) > 0) {
            $c_arr = array();
            foreach ($cats as $cat) {
                $cat = preg_replace("/[^a-zA-Z0-9]/", "", $cat);
                $c_arr[] = '"' . $cat . '"';
            }
            $sql .= ' AND directory_cats.key IN (' . implode(',', $c_arr) . ' ';
        } else {
            if ($cats) {
                $sql .= ' AND directory_cats.key = "' . $cats . '"';
            }
        }
        $sql .= ' AND directory.is_active = "Y" GROUP BY directory.id ORDER BY directory.name ASC';
        return db_query_array($sql);
    }
Пример #26
0
 public static function get($count = false, $page = false, $per_page = false)
 {
     $page = preg_replace("/[^0-9]/", "", $page);
     $per_page = preg_replace("/[^0-9]/", "", $per_page);
     $page = $page > 0 ? $page - 1 : 0;
     $r1 = $page * $per_page;
     if (!$count) {
         $sql = "SELECT * FROM news ";
     } else {
         $sql = "SELECT COUNT(id) AS total FROM news ";
     }
     $sql .= " ORDER BY news.date DESC ";
     if ($per_page > 0 && !$count) {
         $sql .= " LIMIT {$r1},{$per_page} ";
     }
     $result = db_query_array($sql);
     if (!$count) {
         return $result;
     } else {
         return $result[0]['total'];
     }
 }
Пример #27
0
 function getForeignValue($field, $f_id)
 {
     if (empty($field) || !($f_id > 0)) {
         return false;
     }
     $join_path = explode(',', $field);
     if (is_array($join_path)) {
         foreach ($join_path as $join_field) {
             $join_field_parts = explode('.', $join_field);
             $where_name = $select_name == 'id' ? $join_field_parts[1] : 'id';
             $select_name = $join_field_parts[1];
             $join_table = $join_field_parts[0];
             $sql = "SELECT {$select_name} FROM {$join_table} WHERE {$where_name} = {$f_id}";
             $result = db_query_array($sql);
             $row = $result[0];
             $f_id = $row[$select_name];
         }
     } else {
         return false;
     }
     return $f_id;
 }
Пример #28
0
 public static function get()
 {
     global $CFG;
     if ($CFG->memcached) {
         $cached = $CFG->m->get('currencies');
         if ($cached) {
             return $cached;
         }
     }
     $sql = "SELECT * FROM currencies WHERE is_active = 'Y'";
     $result = db_query_array($sql);
     if ($result) {
         foreach ($result as $row) {
             $currencies[$row['currency']] = $row;
             $currencies[(string) $row['id']] = $row;
         }
         ksort($currencies);
         if ($CFG->memcached) {
             $CFG->m->set('currencies', $currencies, 60);
         }
     }
     return $currencies;
 }
Пример #29
0
 public static function updateEscrows($escrows = false)
 {
     global $CFG;
     if (!is_array($escrows) || empty($escrows)) {
         return false;
     }
     $currencies_str = '(CASE currency ';
     $currency_ids = array();
     foreach ($escrows as $curr_abbr => $balance) {
         $curr_info = $CFG->currencies[strtoupper($curr_abbr)];
         $currencies_str .= ' WHEN ' . $curr_info['id'] . ' THEN balance + ' . $balance . ' ';
         $currency_ids[] = $curr_info['id'];
     }
     $currencies_str .= ' END)';
     $sql = 'UPDATE status_escrows SET balance = ' . $currencies_str . ' WHERE currency IN (' . implode(',', $currency_ids) . ') AND status_id = 1';
     $result = db_query($sql);
     if (!$result || $result < count($escrows)) {
         $sql = 'SELECT currency FROM status_escrows WHERE status_id = 1';
         $result = db_query_array($sql);
         $existing = array();
         if ($result) {
             foreach ($result as $row) {
                 $existing[] = $row['currency'];
             }
         }
         foreach ($escrows as $curr_abbr => $balance) {
             $curr_info = $CFG->currencies[strtoupper($curr_abbr)];
             if (in_array($curr_info['id'], $existing)) {
                 continue;
             }
             $sql = 'INSERT INTO status_escrows (balance,status_id,currency) VALUES (' . $balance . ',1,' . $curr_info['id'] . ') ';
             $result = db_query($sql);
         }
     }
     return $result;
 }
Пример #30
-1
    public static function get()
    {
        global $CFG;
        if (!$CFG->session_active) {
            return false;
        }
        $sql = 'SELECT
				shlijim.id,
				CONCAT_WS(" ",shlijim.first_name,shlijim.last_name) AS name,
				shlijim.passport,
				shlijim.motivo,
				shlijim.num_estudiantes,
				shlijim.comments AS content,
				shlijim.warn,
				iso_countries.name AS country,
				IFNULL(shlijim_status.key,"unknown") AS status,
				CONCAT("shlijim","_",shlijim_files.f_id,"_",shlijim_files.id,"_large.",shlijim_files.ext) AS img
				FROM shlijim
				LEFT JOIN iso_countries ON (shlijim.country = iso_countries.id)
				LEFT JOIN shlijim_visit_reg ON (shlijim_visit_reg.shlijim_id = shlijim.id AND shlijim_visit_reg.date_start <= CURDATE() AND shlijim_visit_reg.date_end >= CURDATE())
				LEFT JOIN shlijim_status ON (shlijim_visit_reg.status = shlijim_status.id)
				LEFT JOIN shlijim_files ON (shlijim.id = shlijim_files.f_id)
				WHERE shlijim_status.key IS NOT NULL
				GROUP BY shlijim.id ORDER BY shlijim.last_name ASC';
        return db_query_array($sql);
    }