Platon Technologies
not logged in Login Registration
EnglishSlovak
open source software development celebrating 10 years of open source development! Thursday, October 15, 2026

Diff for phpMyEdit/phpMyEdit.class.php between version 1.155 and 1.156

version 1.155, 2004/12/07 23:48:16 version 1.156, 2004/12/08 16:21:12
Line 19 
Line 19 
  * http://platon.sk/projects/phpMyEdit/   * http://platon.sk/projects/phpMyEdit/
  */   */
   
 /* $Platon: phpMyEdit/phpMyEdit.class.php,v 1.154 2004/11/25 09:52:55 nepto Exp $ */  /* $Platon: phpMyEdit/phpMyEdit.class.php,v 1.155 2004/12/07 23:48:16 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 2260  function '.$this->js['prefix'].'filter_h
Line 2260  function '.$this->js['prefix'].'filter_h
         {          {
                 // PRE Triggers                  // PRE Triggers
                 $ret = true;                  $ret = true;
                 if ($this->change_operation() && isset($this->triggers['update']['pre'])) {                  if ($this->change_operation()) {
                         $ret = include($this->triggers['update']['pre']);                          $ret &= $this->exec_triggers_simple('update', 'pre');
                         // if PRE update fails, then back to view operation                          // if PRE update fails, then back to view operation
                         if (! $ret) {                          if (! $ret) {
                                 $this->operation = $this->labels['View'];                                  $this->operation = $this->labels['View'];
                                 $ret = true;                                  $ret = true;
                         }                          }
                 }                  }
                 if (($this->add_operation() || $this->copy_operation())                  if ($this->add_operation() || $this->copy_operation()) {
                                 && isset($this->triggers['insert']['pre'])) {                          $ret &= $this->exec_triggers_simple('insert', 'pre');
                         $ret = include($this->triggers['insert']['pre']);  
                 }                  }
                 if ($this->view_operation() && isset($this->triggers['select']['pre'])) {                  if ($this->view_operation()) {
                         $ret = include($this->triggers['select']['pre']);                          $ret &= $this->exec_triggers_simple('select', 'pre');
                 }                  }
                 if ($this->delete_operation() && isset($this->triggers['delete']['pre'])) {                  if ($this->delete_operation()) {
                         $ret = include($this->triggers['delete']['pre']);                          $ret &= $this->exec_triggers_simple('delete', 'pre');
                 }                  }
                 // if PRE insert/view/delete fail, then back to the list                  // if PRE insert/view/delete fail, then back to the list
                 if ($ret == false) {                  if ($ret == false) {
Line 2351  function '.$this->js['prefix'].'filter_h
Line 2350  function '.$this->js['prefix'].'filter_h
                 // Creating array of changed keys ($changed)                  // Creating array of changed keys ($changed)
                 $changed = array_keys($newvals);                  $changed = array_keys($newvals);
                 // Before trigger, newvals can be efectively changed                  // Before trigger, newvals can be efectively changed
                 if (isset($this->triggers['insert']['before'])) {                  if ($this->exec_triggers('insert', 'before', $oldvals, $changed, $newvals) == false) {
                         $ret = include($this->triggers['insert']['before']);                          return false;
                         if ($ret == false) {  
                                 return false;  
                         }  
                 }                  }
                 // Real query (no additional query in this method)                  // Real query (no additional query in this method)
                 foreach($newvals as $fd => $val) {                  foreach($newvals as $fd => $val) {
Line 2402  function '.$this->js['prefix'].'filter_h
Line 2398  function '.$this->js['prefix'].'filter_h
                         $this->myquery($query, __LINE__);                          $this->myquery($query, __LINE__);
                 }                  }
                 // After trigger                  // After trigger
                 if (isset($this->triggers['insert']['after'])) {                  if ($this->exec_triggers('insert', 'after', $oldvals, $changed, $newvals) == false) {
                         $ret = include($this->triggers['insert']['after']);                          return false;
                         if ($ret == false) {  
                                 return false;  
                         }  
                 }                  }
                 return true;                  return true;
         } /* }}} */          } /* }}} */
Line 2464  function '.$this->js['prefix'].'filter_h
Line 2457  function '.$this->js['prefix'].'filter_h
                         $changed[] = $key;                          $changed[] = $key;
                 }                  }
                 // Before trigger                  // Before trigger
                 if (isset($this->triggers['update']['before'])) {                  if ($this->exec_triggers('update', 'before', $oldvals, $changed, $newvals) == false) {
                         $ret = include($this->triggers['update']['before']);                          return false;
                         if ($ret == false) {  
                                 return false;  
                         }  
                 }                  }
                 // Real query                  // Real query
                 $res = $this->myquery($query_real, __LINE__);                  $res = $this->myquery($query_real, __LINE__);
Line 2513  function '.$this->js['prefix'].'filter_h
Line 2503  function '.$this->js['prefix'].'filter_h
                         }                          }
                 }                  }
                 // After trigger                  // After trigger
                 if (isset($this->triggers['update']['after'])) {                  if ($this->exec_triggers('update', 'after', $oldvals, $changed, $newvals) == false) {
                         $ret = include($this->triggers['update']['after']);                          return false;
                         if ($ret == false) {  
                                 return false;  
                         }  
                 }                  }
                 return true;                  return true;
         } /* }}} */          } /* }}} */
Line 2532  function '.$this->js['prefix'].'filter_h
Line 2519  function '.$this->js['prefix'].'filter_h
                 @mysql_free_result($res);                  @mysql_free_result($res);
                 // Creating array of changed keys ($changed)                  // Creating array of changed keys ($changed)
                 $changed = array_keys($oldvals);                  $changed = array_keys($oldvals);
                   $newvals = array();
                 // Before trigger                  // Before trigger
                 if (isset($this->triggers['delete']['before'])) {                  if ($this->exec_triggers('delete', 'before', $oldvals, $changed, $newvals) == false) {
                         $ret = include($this->triggers['delete']['before']);                          return false;
                         if ($ret == false) {  
                                 return false;  
                         }  
                 }                  }
                 // Real query                  // Real query
                 $query = 'DELETE FROM '.$this->tb.' WHERE ('.$this->key.' = '                  $query = 'DELETE FROM '.$this->tb.' WHERE ('.$this->key.' = '
Line 2562  function '.$this->js['prefix'].'filter_h
Line 2547  function '.$this->js['prefix'].'filter_h
                         $this->myquery($query, __LINE__);                          $this->myquery($query, __LINE__);
                 }                  }
                 // After trigger                  // After trigger
                 if (isset($this->triggers['delete']['after'])) {                  if ($this->exec_triggers('delete', 'after', $oldvals, $changed, $newvals) == false) {
                         $ret = include($this->triggers['delete']['after']);                          return false;
                         if ($ret == false) {  
                                 return false;  
                         }  
                 }                  }
                 return true;                  return true;
         } /* }}} */          } /* }}} */
Line 2637  function '.$this->js['prefix'].'filter_h
Line 2619  function '.$this->js['prefix'].'filter_h
         } /* }}} */          } /* }}} */
   
         /*          /*
            * Apply triggers function
            * Run a (set of) trigger(s). $trigger can be an Array or a filename
            * Break and return false as soon as a trigger return false
            * we need a reference on $newvals to be able to change value before insert/update
            */
           function exec_triggers($op, $step, $oldvals, &$changed, &$newvals) /* {{{ */
           {
                   if (! isset($this->triggers[$op][$step])) {
                           return true;
                   }
                   $ret  = true;
                   $trig = $this->triggers[$op][$step];
                   if (is_array($trig)) {
                           ksort($trig);
                           for ($t = reset($trig); $t !== false && $ret != false; $t = next($trig)) {
                                   $ret = include($t);
                           }
                   } else {
                           $ret = include($trig);
                   }
                   return $ret;
           } /* }}} */
   
           function exec_triggers_simple($op, $step) /* {{{ */
           {
                   $oldvals = $newvals = $changed = array();
                   return $this->exec_triggers($op, $step, $oldvals, $changed, $newvals);
           } /* }}} */
   
           /*
          * Recreate functions           * Recreate functions
          */           */
         function recreate_fdd() /* {{{ */          function recreate_fdd() /* {{{ */
Line 2865  function '.$this->js['prefix'].'filter_h
Line 2877  function '.$this->js['prefix'].'filter_h
                  * ======================================================================                   * ======================================================================
                  */                   */
                 // Cancel button - Cancel Triggers                  // Cancel button - Cancel Triggers
                 if (($this->add_canceled() || $this->copy_canceled()) && isset($this->triggers['insert']['cancel'])) {                  if ($this->add_canceled() || $this->copy_canceled()) {
                         include($this->triggers['insert']['cancel']);                          $this->exec_triggers_simple('insert', 'cancel');
                 }                  }
                 if ($this->view_canceled() && isset($this->triggers['select']['cancel'])) {                  if ($this->view_canceled()) {
                         include($this->triggers['select']['cancel']);                          $this->exec_triggers_simple('select', 'cancel');
                 }                  }
                 if ($this->change_canceled() && isset($this->triggers['update']['cancel'])) {                  if ($this->change_canceled()) {
                         include($this->triggers['update']['cancel']);                          $this->exec_triggers_simple('update', 'cancel');
                 }                  }
                 if ($this->delete_canceled() && isset($this->triggers['delete']['cancel'])) {                  if ($this->delete_canceled()) {
                         include($this->triggers['delete']['cancel']);                          $this->exec_triggers_simple('delete', 'cancel');
                 }                  }
                 // Save/More Button - database operations                  // Save/More Button - database operations
                 if ($this->saveadd == $this->labels['Save'] || $this->savecopy == $this->labels['Save']) {                  if ($this->saveadd == $this->labels['Save'] || $this->savecopy == $this->labels['Save']) {

Legend:
Removed from v.1.155  
changed lines
  Added in v.1.156

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