Example #1
0
 /**
  * Function used to get playlists
  */
 function get_playlists($params = array())
 {
     global $cb_columns, $db;
     $fields = array('playlists' => $cb_columns->object('playlists')->get_columns());
     $order = $params['order'];
     $limit = $params['limit'];
     $main_query = $query = "SELECT " . table_fields($fields) . " FROM " . table('playlists');
     $condition = "playlists.playlist_type = 'v'";
     if (!has_access('admin_access')) {
         $condition .= $condition ? " AND " : "";
         $condition .= "playlists.privacy = 'public'";
     } else {
         if ($params['privacy']) {
             $condition .= $condition ? " AND " : "";
             $condition .= " playlists.privacy = '" . mysql_clean($params['privacy']) . "' ";
         }
     }
     if ($params['category']) {
         $condition .= $condition ? " AND " : "";
         $condition .= " playlists.category = '" . $params['category'] . "' ";
     }
     if ($params['include']) {
         $ids = is_array($params['include']) ? $params['include'] : explode(',', $params['include']);
         if (is_array($ids) and !empty($ids)) {
             $condition .= $condition ? " AND " : "";
             $ids = implode(",", array_map('trim', $ids));
             $condition .= " playlists.playlist_id IN ({$ids}) ";
         }
     }
     if ($params['exclude']) {
         $ids = is_array($params['exclude']) ? $params['exclude'] : explode(',', $params['exclude']);
         if (is_array($ids) and !empty($ids)) {
             $condition .= $condition ? " AND " : "";
             $ids = implode(",", array_map('trim', $ids));
             $condition .= " playlists.playlist_id NOT IN ({$ids}) ";
         }
     }
     if ($params['date_span']) {
         $condition .= $condition ? " AND " : "";
         $column = $params['date_span_column'] ? trim($params['date_span_column']) : 'playlists.date_added';
         $condition .= cbsearch::date_margin($column, $params['date_span']);
     }
     if ($params['last_update']) {
         $condition .= $condition ? " AND " : "";
         $condition .= cbsearch::date_margin('playlists.last_update', $params['last_update']);
     }
     if ($params['user']) {
         $condition .= $condition ? " AND " : "";
         $condition .= " playlists.userid = '" . $params['user'] . "' ";
     }
     if ($params['has_items']) {
         $condition .= $condition ? " AND " : "";
         $condition .= " playlists.total_items > '0' ";
     }
     if ($params['count_only']) {
         $result = $db->count(cb_sql_table('playlists'), 'playlist_id');
         return $result;
     }
     if ($condition) {
         $query .= " WHERE " . $condition;
     }
     $order = " ORDER BY " . ($order ? trim($order) : "playlists.date_added DESC");
     $limit = $limit ? " LIMIT {$limit} " : "";
     $query .= $order . $limit;
     $query_id = cb_query_id($query);
     $action_array = array('query_id' => $query_id);
     $data = cb_do_action('select_playlists', array_merge($action_array, $params));
     if ($data) {
         return $data;
     }
     $results = select($query);
     if (!empty($results)) {
         cb_do_action('return_playlists', array('query_id' => $query_id, 'results' => $results));
         return $results;
     }
     return false;
 }
Example #2
0
 /**
  * Function used to get playlist items
  */
 function get_playlist_items($playlist_id, $order = null, $limit = -1)
 {
     global $db, $cb_columns;
     $fields = array('playlist_items' => $cb_columns->object('playlist_items')->temp_change('date_added', 'item_added')->get_columns(), 'playlists' => $cb_columns->object('playlists')->temp_remove('first_item,cover')->temp_change('date_added,description,tags,category', 'playlist_added,playlist_description,playlist_tags,playlist_category')->get_columns(), 'video' => $cb_columns->object('videos')->get_columns());
     $query = "SELECT " . table_fields($fields) . " FROM " . table('playlist_items');
     $query .= " LEFT JOIN " . table('playlists') . " ON playlist_items.playlist_id = playlists.playlist_id";
     $query .= " LEFT JOIN " . table('video') . " ON playlist_items.object_id = video.videoid";
     $query .= " WHERE playlist_items.playlist_id = '" . $playlist_id . "' ";
     if (!is_null($order)) {
         $query .= "ORDER BY " . $order;
     }
     if ($limit > 0) {
         $query .= " LIMIT " . $limit;
     }
     $query_id = cb_query_id($query);
     $data = cb_do_action('select_playlist_items', array('query_id' => $query_id, 'playlist_id' => $playlist_id));
     if ($data) {
         return $data;
     }
     $data = select($query);
     if ($data) {
         cb_do_action('return_playlist_items', array('query_id' => $query_id, 'results' => $data));
         return $data;
     }
     return false;
 }
Example #3
0
 /**
  * Alias function for table_fields
  *
  * @param $fields
  * @param bool $table
  * @return bool|string
  */
 function tbl_fields($fields, $table = false)
 {
     return table_fields($fields, $table);
 }
Example #4
0
File: bios.php Project: NazarK/sqp
function database_object_get($tablename, $idvalue, $props = false)
{
    $o = db_fetch_object(db_query("SELECT * FROM {$tablename} WHERE id=%d", $idvalue));
    if ($o) {
        if ($props) {
            ///get objects for _id fields
            $fields = table_fields($tablename);
            foreach ($o as $field => $field_value) {
                global $fields_stack;
                if (array_search($field, $fields_stack) !== FALSE) {
                    continue;
                }
                if (str_end($field, "_id")) {
                    $subtable = str_start($field, "_id") . "s";
                    $subtable = connected_table($tablename, $subtable);
                    if ($subtable) {
                        $member = str_start($field, "_id");
                        $prop = database_object_get($subtable, $field_value);
                        if ($prop) {
                            foreach ($prop as $propname => $propvalue) {
                                $o_prop_name = $propname;
                                $o->{$o_prop_name} = $propvalue;
                            }
                        }
                    }
                }
            }
            ///get linked tables
            global $tables;
            foreach ($tables as $table => $tableobject) {
                $this_object_link = str_start($tablename, "s") . "_id";
                $this_object_prefix = str_prefix($tablename);
                $link_table_prefix = str_prefix($table);
                $table_no_prefix = $table;
                if ($this_object_prefix == $link_table_prefix) {
                    $this_object_link = str_no_prefix($this_object_link, $this_object_prefix);
                    $table_no_prefix = str_no_prefix($table_no_prefix, $this_object_prefix);
                }
                $ignore_the_table = true;
                global $database_object_get_tables;
                if (count($database_object_get_tables) == 0) {
                    $ignore_the_table = false;
                } else {
                    foreach ($database_object_get_tables as $get_table) {
                        if ($get_table == $table) {
                            $ignore_the_table = 0;
                            break;
                        }
                    }
                }
                if ($ignore_the_table === true) {
                    continue;
                }
                $fields = table_fields($table);
                foreach ($fields as $fieldname) {
                    if ($fieldname == $this_object_link) {
                        $rr = db_query("SELECT id FROM {$table} WHERE {$fieldname} = {$idvalue}");
                        global $fields_stack;
                        $fields_stack[] = $fieldname;
                        $propname = $table;
                        if ($this_object_prefix == $link_table_prefix) {
                            $propname = str_no_prefix($table, $this_object_prefix);
                        }
                        $subobjects = array();
                        while ($r = db_fetch_object($rr)) {
                            $subobject = database_object_get($table, $r->id, true);
                            $subobjects[] = $subobject;
                        }
                        array_pop($fields_stack);
                        $o->{$propname} = $subobjects;
                    }
                }
            }
        }
    }
    return $o;
}
function search_on_table($tableno, $search_text)
{
    global $tables_to_search;
    // build the sql
    $search_sql = 'select * from ' . $tables_to_search[$tableno] . ' where ';
    //pre($fields_names);
    $fields_on_this_table = table_fields($tableno);
    $len = sizeof($fields_on_this_table);
    for ($i = 0; $i < $len; $i += 1) {
        if ($i != 0) {
            $search_sql .= ' or ';
        }
        $search_sql .= '`' . $fields_on_this_table[$i] . '` like \'%' . $search_text . '%\' ';
    }
    //pre($data);
    return fetch_array($search_sql);
    // run SQL
    // build the data..
}