Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Saturday, April 20, 2024

Diff for phpMyEdit/phpMyEdit.class.php between version 1.158 and 1.159

version 1.158, 2004/12/27 17:57:54 version 1.159, 2004/12/30 19:58:51
Line 19 
Line 19 
  * http://platon.sk/projects/phpMyEdit/   * http://platon.sk/projects/phpMyEdit/
  */   */
   
 /* $Platon: phpMyEdit/phpMyEdit.class.php,v 1.157 2004/12/27 03:10:27 nepto Exp $ */  /* $Platon: phpMyEdit/phpMyEdit.class.php,v 1.158 2004/12/27 17:57:54 nepto Exp $ */
   
 /*  This is a generic table editing program. The table and fields to be  /*  This is a generic table editing program. The table and fields to be
         edited are defined in the calling program.          edited are defined in the calling program.
Line 405  class phpMyEdit
Line 405  class phpMyEdit
                         $qparts['from']    = $this->dbp.$this->tb;                          $qparts['from']    = $this->dbp.$this->tb;
                 }                  }
                 $values = array();                  $values = array();
                 $res    = $this->myquery($this->query_make($qparts), __LINE__);                  $res    = $this->myquery($this->get_SQL_query($qparts), __LINE__);
                 while ($row = @mysql_fetch_array($res, MYSQL_NUM)) {                  while ($row = @mysql_fetch_array($res, MYSQL_NUM)) {
                         $values[$row[0]] = $desc ? $row[1] : $row[0];                          $values[$row[0]] = $desc ? $row[1] : $row[0];
                 }                  }
Line 460  class phpMyEdit
Line 460  class phpMyEdit
                 return $ret;                  return $ret;
         } /* }}} */          } /* }}} */
   
         function create_column_list() /* {{{ */          function get_SQL_query($parts) /* {{{ */
         {  
                 $fields = array();  
                 for ($k = 0; $k < $this->num_fds; $k++) {  
                         if (! $this->displayed[$k] && $k != $this->key_num) {  
                                 continue;  
                         }  
                         $fields[] = $this->fqn($k).' AS qf'.$k;  
                         if ($this->col_has_values($k)) {  
                                 $fields[] = $this->fqn($k, true, true).' AS qf'.$k.'_idx';  
                         }  
                         if ($this->col_has_datemask($k)) {  
                                 $fields[] = 'UNIX_TIMESTAMP('.$this->fqn($k).') AS qf'.$k.'_timestamp';  
                         }  
                 }  
                 return join(',', $fields);  
         } /* }}} */  
   
         function query_make($parts) /* {{{ */  
         {          {
                 foreach ($parts as $k => $v) {                  foreach ($parts as $k => $v) {
                         $parts[$k] = trim($parts[$k]);                          $parts[$k] = trim($parts[$k]);
Line 525  class phpMyEdit
Line 507  class phpMyEdit
                 return $ret;                  return $ret;
         } /* }}} */          } /* }}} */
   
         function create_join_clause() /* {{{ */          function get_SQL_column_list() /* {{{ */
           {
                   $fields = array();
                   for ($k = 0; $k < $this->num_fds; $k++) {
                           if (! $this->displayed[$k] && $k != $this->key_num) {
                                   continue;
                           }
                           $fields[] = $this->fqn($k).' AS qf'.$k;
                           if ($this->col_has_values($k)) {
                                   $fields[] = $this->fqn($k, true, true).' AS qf'.$k.'_idx';
                           }
                           if ($this->col_has_datemask($k)) {
                                   $fields[] = 'UNIX_TIMESTAMP('.$this->fqn($k).') AS qf'.$k.'_timestamp';
                           }
                   }
                   return join(',', $fields);
           } /* }}} */
   
           function get_SQL_join_clause() /* {{{ */
         {          {
                 $main_table  = 'PMEtable0';                  $main_table  = 'PMEtable0';
                 $join_clause = $this->tb." AS $main_table";                  $join_clause = $this->tb." AS $main_table";
Line 556  class phpMyEdit
Line 556  class phpMyEdit
                 return $join_clause;                  return $join_clause;
         } /* }}} */          } /* }}} */
   
         function make_where_from_query_opts($qp = null, $text = 0) /* {{{ */          function get_SQL_where_from_query_opts($qp = null, $text = 0) /* {{{ */
         {          {
                 if ($qp == null) {                  if ($qp == null) {
                         $qp = $this->query_opts;                          $qp = $this->query_opts;
Line 593  class phpMyEdit
Line 593  class phpMyEdit
                                 return join(' AND ',$where);                                  return join(' AND ',$where);
                         }                          }
                 }                  }
                 return false;                  return ''; /* empty string */
         } /* }}} */          } /* }}} */
   
         function gather_query_opts() /* {{{ */          function gather_query_opts() /* {{{ */
Line 992  function '.$this->js['prefix'].'filter_h
Line 992  function '.$this->js['prefix'].'filter_h
                  */                   */
   
                 $qparts['type']   = 'select';                  $qparts['type']   = 'select';
                 $qparts['select'] = $this->create_column_list();                  $qparts['select'] = $this->get_SQL_column_list();
                 $qparts['from']   = $this->create_join_clause();                  $qparts['from']   = $this->get_SQL_join_clause();
                 $qparts['where']  = '('.$this->fqn($this->key).'='                  $qparts['where']  = '('.$this->fqn($this->key).'='
                         .$this->key_delim.$this->rec.$this->key_delim.')';                          .$this->key_delim.$this->rec.$this->key_delim.')';
   
                 $res = $this->myquery($this->query_make($qparts),__LINE__);                  $res = $this->myquery($this->get_SQL_query($qparts),__LINE__);
                 if (! ($row = @mysql_fetch_array($res, MYSQL_ASSOC))) {                  if (! ($row = @mysql_fetch_array($res, MYSQL_ASSOC))) {
                         return false;                          return false;
                 }                  }
Line 1815  function '.$this->js['prefix'].'filter_h
Line 1815  function '.$this->js['prefix'].'filter_h
                 $count_parts = array(                  $count_parts = array(
                                 'type'   => 'select',                                  'type'   => 'select',
                                 'select' => 'count(*)',                                  'select' => 'count(*)',
                                 'from'   => $this->create_join_clause(),                                  'from'   => $this->get_SQL_join_clause(),
                                 'where'  => $this->make_where_from_query_opts());                                  'where'  => $this->get_SQL_where_from_query_opts());
                 $res = $this->myquery($this->query_make($count_parts), __LINE__);                  $res = $this->myquery($this->get_SQL_query($count_parts), __LINE__);
                 $row = @mysql_fetch_array($res, MYSQL_NUM);                  $row = @mysql_fetch_array($res, MYSQL_NUM);
                 $total_recs = $row[0];                  $total_recs = $row[0];
                 if ($this->last_operation()) {                  if ($this->last_operation()) {
Line 1893  function '.$this->js['prefix'].'filter_h
Line 1893  function '.$this->js['prefix'].'filter_h
                  * Prepare the SQL Query from the data definition file                   * Prepare the SQL Query from the data definition file
                  */                   */
                 $qparts['type']   = 'select';                  $qparts['type']   = 'select';
                 $qparts['select'] = $this->create_column_list();                  $qparts['select'] = $this->get_SQL_column_list();
                 // Even if the key field isn't displayed, we still need its value                  // Even if the key field isn't displayed, we still need its value
                 if ($select_recs) {                  if ($select_recs) {
                         if (!in_array ($this->key, $this->fds)) {                          if (!in_array ($this->key, $this->fds)) {
                                 $qparts['select'] .= ','.$this->fqn($this->key);                                  $qparts['select'] .= ','.$this->fqn($this->key);
                         }                          }
                 }                  }
                 $qparts['from']  = $this->create_join_clause();                  $qparts['from']  = $this->get_SQL_join_clause();
                 $qparts['where'] = $this->make_where_from_query_opts();                  $qparts['where'] = $this->get_SQL_where_from_query_opts();
                 // build up the ORDER BY clause                  // build up the ORDER BY clause
                 if (isset($this->sfn)) {                  if (isset($this->sfn)) {
                         // WTF $raw_sort_fields?                          // WTF $raw_sort_fields?
Line 1945  function '.$this->js['prefix'].'filter_h
Line 1945  function '.$this->js['prefix'].'filter_h
                  * mysql_field_len() function. We will also fetch the first row to get                   * mysql_field_len() function. We will also fetch the first row to get
                  * the field names.                   * the field names.
                  */                   */
                 $query = $this->query_make($qparts);                  $query = $this->get_SQL_query($qparts);
                 $res   = $this->myquery($query, __LINE__);                  $res   = $this->myquery($query, __LINE__);
                 if ($res == false) {                  if ($res == false) {
                         $this->error('invalid SQL query', $query);                          $this->error('invalid SQL query', $query);
Line 1964  function '.$this->js['prefix'].'filter_h
Line 1964  function '.$this->js['prefix'].'filter_h
                         $filter_row = $row;                          $filter_row = $row;
                         if (! is_array($filter_row)) {                          if (! is_array($filter_row)) {
                                 unset($qparts['where']);                                  unset($qparts['where']);
                                 $query = $this->query_make($qparts);                                  $query = $this->get_SQL_query($qparts);
                                 $res   = $this->myquery($query, __LINE__);                                  $res   = $this->myquery($query, __LINE__);
                                 if ($res == false) {                                  if ($res == false) {
                                         $this->error('invalid SQL query', $query);                                          $this->error('invalid SQL query', $query);
Line 2067  function '.$this->js['prefix'].'filter_h
Line 2067  function '.$this->js['prefix'].'filter_h
                 /*                  /*
                  * Display the current query                   * Display the current query
                  */                   */
                 $text_query = $this->make_where_from_query_opts(null, true);                  $text_query = $this->get_SQL_where_from_query_opts(null, true);
                 if ($text_query != '' && $this->display['query']) {                  if ($text_query != '' && $this->display['query']) {
                         $css_class_name = $this->getCSSclass('queryinfo');                          $css_class_name = $this->getCSSclass('queryinfo');
                         echo '<tr class="',$css_class_name,'">',"\n";                          echo '<tr class="',$css_class_name,'">',"\n";
Line 2232  function '.$this->js['prefix'].'filter_h
Line 2232  function '.$this->js['prefix'].'filter_h
                                 $qp = array();                                  $qp = array();
                                 $qp['type'] = 'select';                                  $qp['type'] = 'select';
                                 $qp['select'] = $aggr_from_clause;                                  $qp['select'] = $aggr_from_clause;
                                 $qp['from'] = $this->create_join_clause ();                                  $qp['from']   = $this->get_SQL_join_clause();
                                 $qp['where'] = $this->make_where_from_query_opts();                                  $qp['where']  = $this->get_SQL_where_from_query_opts();
                                 $tot_query = $this->query_make($qp);                                  $tot_query    = $this->get_SQL_query($qp);
                                 $totals_result = $this->myquery($tot_query,__LINE__);                                  $totals_result = $this->myquery($tot_query,__LINE__);
                                 $tot_row       = @mysql_fetch_array($totals_result, MYSQL_ASSOC);                                  $tot_row       = @mysql_fetch_array($totals_result, MYSQL_ASSOC);
                         //}                          //}

Legend:
Removed from v.1.158  
changed lines
  Added in v.1.159

Platon Group <platon@platon.org> http://platon.org/
Copyright © 2002-2006 Platon Group
Site powered by Metafox CMS
Go to Top