Example #1
0
 /**
  * Replacements setter/getter.
  *
  * @param array $replacements
  *
  * @return mixed
  */
 public function replacements($replacements = null)
 {
     if (func_num_args() === 0) {
         return $this->replacements;
     } else {
         // Unregister old replacements :
         if (isset($this->replacements) && count($this->replacements) > 0) {
             foreach ($this->replacements as $replacement) {
                 $replacement->unregister_user($this);
             }
         }
         // Set new replacements :
         $this->replacements = array();
         foreach ($replacements as $replacement) {
             // Turn replacements that aren't fragments into value fragments (SQL = quoted value) :
             if (!$replacement instanceof GlueDB_Fragment) {
                 $replacement = new GlueDB_Fragment_Value($replacement);
             }
             // Set up dependency :
             $replacement->register_user($this);
             // Add replacement :
             $this->replacements[] = $replacement;
         }
         // Invalidate :
         $this->invalidate();
         return $this;
     }
 }
Example #2
0
 /**
  * Values setter/getter.
  *
  * @param array $values
  *
  * @return mixed
  */
 public function values($values = null)
 {
     if (func_num_args() === 0) {
         return $this->values;
     } else {
         // Unregister old values :
         if (isset($this->values) && count($this->values) > 0) {
             foreach ($this->values as $value) {
                 $value->unregister_user($this);
             }
         }
         // Set new values :
         $this->values = array();
         foreach ($values as $value) {
             // Turn values that aren't fragments into value fragments (SQL = quoted value) :
             if (!$value instanceof GlueDB_Fragment) {
                 $value = new GlueDB_Fragment_Value($value);
             }
             // Set up dependency :
             $value->register_user($this);
             // Add value :
             $this->values[] = $value;
         }
         // Invalidate :
         $this->invalidate();
         return $this;
     }
 }
Example #3
0
 /**
  * Compiles GlueDB_Fragment_Value fragments into an SQL string.
  *
  * @param GlueDB_Fragment_Value $fragment
  *
  * @return string
  */
 public function compile_value(GlueDB_Fragment_Value $fragment)
 {
     // Get data from fragment :
     $value = $fragment->value();
     // Generate SQL :
     return $this->quote_value($value);
 }