Prettier code in get_date_picker. Worked anyhow.
[fa-stable.git] / includes / db_pager.inc
index e09659a0210697dc9171dc17e335d4fe3922ca3e..36afb923543c739e7c5b159f070c29ae45093b65 100644 (file)
@@ -61,7 +61,6 @@ class db_pager {
        //      $name is base name for pager controls
        function db_pager($sql, $name, $table = null, $page_len=0) 
        {
-               global $table_style;
                $this->width = "95%";
                if ($page_len == 0) $page_len = user_query_size();
                $this->name = $name;
@@ -160,11 +159,11 @@ class db_pager {
                        $c = 0;
                  // add result field names to column defs for 
                  // col value retrieve and sort purposes 
-                  $cnt = min(mysql_num_fields($result), count($this->columns));
+                  $cnt = min(db_num_fields($result), count($this->columns));
                        for ($c = $i = 0; $c < $cnt; $c++) {
                                if (!(isset($this->columns[$c]['insert']) && $this->columns[$c]['insert'])) {
 //                                     if (!@($this->columns[$c]['type']=='skip'))
-                                               $this->columns[$c]['name']= mysql_field_name($result, $i);
+                                               $this->columns[$c]['name']= db_field_name($result, $i);
                                        if (!@($this->columns[$c]['type']=='insert'))
                                        $i++;
                                        }
@@ -261,7 +260,7 @@ class db_pager {
 
                if(count($this->extra_where)) {
                    $where .= ($where=='' ? '' : ' AND ')
-                               .implode( $this->extra_where, ' AND ');
+                               .implode(' AND ', $this->extra_where);
                }
                if ($where) $where = " WHERE ($where)";
 
@@ -284,7 +283,9 @@ class db_pager {
            }
                                
            if (count($ord)) {
-                       $sql .= " ORDER BY " . implode($ord, ',');
+                       $ord = array_map(function_exists('mysql_real_escape_string') ? 
+                               'mysql_real_escape_string': 'mysql_escape_string', $ord);
+                       $sql .= " ORDER BY " . implode(',', $ord);
                } else {
                        if($order)
                                $sql .= " ORDER BY $order"; // original base query order
@@ -453,7 +454,7 @@ function &new_db_pager($name, $sql, $coldef, $table = null, $key = null, $page_l
                unset($_SESSION[$name]); // kill pager if sql has changed
        }
        if (!isset($_SESSION[$name])) {
-           $_SESSION[$name] =& new db_pager($sql, $name, $table, $page_len);
+           $_SESSION[$name] = new db_pager($sql, $name, $table, $page_len);
                $_SESSION[$name]->main_tbl = $table;
                $_SESSION[$name]->key = $key;
                $_SESSION[$name]->set_sql($sql);