Esempio n. 1
0
 /**
  * Converts value for some column types
  *
  * @param  mixed     $value  The value to convert
  * @param  ColumnMap $colMap The ColumnMap object
  * @return mixed     The converted value
  */
 protected function convertValueForColumn($value, ColumnMap $colMap)
 {
     if ($colMap->getType() == 'OBJECT' && is_object($value)) {
         if (is_array($value)) {
             $value = array_map('serialize', $value);
         } else {
             $value = serialize($value);
         }
     } elseif ($colMap->getType() == 'ARRAY' && is_array($value)) {
         $value = '| ' . implode(' | ', $value) . ' |';
     } elseif ($colMap->getType() == 'ENUM') {
         if (is_array($value)) {
             $value = array_map(array($colMap, 'getValueSetKey'), $value);
         } else {
             $value = $colMap->getValueSetKey($value);
         }
     }
     return $value;
 }
 /**
  * Returns a sfValidator class name for a given column.
  *
  * @param  ColumnMap $column  A ColumnMap object
  *
  * @return string    The name of a subclass of sfValidator
  */
 public function getValidatorClassForColumn(ColumnMap $column)
 {
     switch ($column->getType()) {
         case PropelColumnTypes::BOOLEAN:
             $name = 'Boolean';
             break;
         case PropelColumnTypes::CLOB:
         case PropelColumnTypes::CHAR:
         case PropelColumnTypes::VARCHAR:
         case PropelColumnTypes::LONGVARCHAR:
             $name = 'String';
             break;
         case PropelColumnTypes::DOUBLE:
         case PropelColumnTypes::FLOAT:
         case PropelColumnTypes::NUMERIC:
         case PropelColumnTypes::DECIMAL:
         case PropelColumnTypes::REAL:
             $name = 'Number';
             break;
         case PropelColumnTypes::INTEGER:
         case PropelColumnTypes::SMALLINT:
         case PropelColumnTypes::TINYINT:
         case PropelColumnTypes::BIGINT:
             $name = 'Integer';
             break;
         case PropelColumnTypes::DATE:
             $name = 'Date';
             break;
         case PropelColumnTypes::TIME:
             $name = 'Time';
             break;
         case PropelColumnTypes::TIMESTAMP:
             $name = 'DateTime';
             break;
         default:
             $name = 'Pass';
     }
     if ($column->isPrimaryKey() || $column->isForeignKey()) {
         $name = 'PropelChoice';
     }
     return sprintf('sfValidator%s', $name);
 }
 public function getType(ColumnMap $column)
 {
     if ($column->isForeignKey()) {
         return 'ForeignKey';
     }
     switch ($column->getType()) {
         case PropelColumnTypes::BOOLEAN:
             return 'Boolean';
         case PropelColumnTypes::DATE:
         case PropelColumnTypes::TIME:
         case PropelColumnTypes::TIMESTAMP:
             return 'Date';
         case PropelColumnTypes::DOUBLE:
         case PropelColumnTypes::FLOAT:
         case PropelColumnTypes::NUMERIC:
         case PropelColumnTypes::DECIMAL:
         case PropelColumnTypes::REAL:
         case PropelColumnTypes::INTEGER:
         case PropelColumnTypes::SMALLINT:
         case PropelColumnTypes::TINYINT:
         case PropelColumnTypes::BIGINT:
             return 'Number';
         default:
             return 'Text';
     }
 }
Esempio n. 4
0
 /**
  * Get value for column to use in database dump.
  * 
  * @param BaseObject $obj
  * @param ColumnMap $column
  * @return mixed
  */
 protected static function getColumnValue(BaseObject $obj, ColumnMap $column)
 {
     switch ($column->getType()) {
         case PropelColumnTypes::DATE:
             return $obj->{'get' . $column->getPhpName()}('Y-m-d');
             break;
         case PropelColumnTypes::TIMESTAMP:
             return $obj->{'get' . $column->getPhpName()}('Y-m-d H:i:s');
             break;
         case PropelColumnTypes::TIME:
             return $obj->{'get' . $column->getPhpName()}('H:i:s');
             break;
         default:
             return $obj->{'get' . $column->getPhpName()}();
     }
 }
Esempio n. 5
0
 /**
  * Formats a temporal value brefore binding, given a ColumnMap object
  *
  * @param     mixed      $value  The temporal value
  * @param     ColumnMap  $cMap
  *
  * @return    string  The formatted temporal value
  */
 protected function formatTemporalValue($value, ColumnMap $cMap)
 {
     /** @var $dt PropelDateTime */
     if ($dt = PropelDateTime::newInstance($value)) {
         switch ($cMap->getType()) {
             case PropelColumnTypes::TIMESTAMP:
             case PropelColumnTypes::BU_TIMESTAMP:
                 $value = $dt->format($this->getTimestampFormatter());
                 break;
             case PropelColumnTypes::DATE:
             case PropelColumnTypes::BU_DATE:
                 $value = $dt->format($this->getDateFormatter());
                 break;
             case PropelColumnTypes::TIME:
                 $value = $dt->format($this->getTimeFormatter());
                 break;
         }
     }
     return $value;
 }
Esempio n. 6
0
 protected static function _getColumnRawValue(ColumnMap $column, $value)
 {
     if ($value === null) {
         return null;
     }
     switch ($column->getType()) {
         case PropelColumnTypes::ENUM:
             $valueSet = $column->getValueSet();
             return array_search($value, $valueSet);
         case PropelColumnTypes::PHP_ARRAY:
             return '| ' . implode(' | ', $value) . ' |';
         case PropelColumnTypes::OBJECT:
             return serialize($value);
     }
     return $value;
 }
Esempio n. 7
0
 /**
  * Set column value from instance.
  *
  * @param \BaseObject $instance
  * @param \ColumnMap $column
  * @param mixed $value
  */
 protected function setColumnValue(\BaseObject $instance, \ColumnMap $column, $value)
 {
     if ($column->getType() === \PropelColumnTypes::PHP_ARRAY && !is_array($value)) {
         if (is_string($value) && !empty($value)) {
             $value = explode("\n", $value);
         } else {
             if ($value !== null) {
                 $value = array();
             }
         }
     }
     $instance->{'set' . $column->getPhpName()}($value);
 }
 /**
  * Extract the value method and the required parameters for it, for given a ColumnMap's type.
  * Return an Array holding the value method as first value and its parameters as the second one.
  *
  * @param ColumnMap $column
  * @return Array
  */
 public static function extractValueMethod(ColumnMap $column)
 {
     $value_method = 'get' . $column->getPhpName();
     $params = null;
     if (in_array($column->getType(), array(PropelColumnTypes::BU_DATE, PropelColumnTypes::DATE))) {
         $params = ncChangeLogConfigHandler::getDateFormat();
     } elseif (in_array($column->getType(), array(PropelColumnTypes::BU_TIMESTAMP, PropelColumnTypes::TIMESTAMP))) {
         $params = ncChangeLogConfigHandler::getDateTimeFormat();
     } elseif ($column->getType() == PropelColumnTypes::TIME) {
         $params = ncChangeLogConfigHandler::getTimeFormat();
     }
     return array($value_method, $params);
 }