Beispiel #1
0
 /**
  * Sets a field from the object by name passed in as a string.
  *
  * @param      string $name peer name
  * @param      mixed $value field value
  * @param      string $type The type of fieldname the $name is of:
  *                     one of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME
  *                     BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM
  * @return     void
  */
 public function setByName($name, $value, $type = BasePeer::TYPE_PHPNAME)
 {
     $pos = sfGuardUserPeer::translateFieldName($name, $type, BasePeer::TYPE_NUM);
     return $this->setByPosition($pos, $value);
 }
Beispiel #2
0
 protected function addFilterCriteria($criteria)
 {
     $filters = isset($_REQUEST['filter']) ? $_REQUEST['filter'] : null;
     if (!$filters) {
         return;
     }
     // GridFilters sends filters as an Array if not json encoded
     if (is_array($filters)) {
         $encoded = false;
     } else {
         $encoded = true;
         $filters = json_decode($filters);
     }
     // loop through filters sent by client
     if (is_array($filters)) {
         for ($i = 0; $i < count($filters); $i++) {
             $filter = $filters[$i];
             // assign filter data (location depends if encoded or not)
             if ($encoded) {
                 $field = $filter->field;
                 $value = $filter->value;
                 $compare = isset($filter->comparison) ? $filter->comparison : null;
                 $filterType = $filter->type;
             } else {
                 $field = $filter['field'];
                 $value = $filter['data']['value'];
                 $compare = isset($filter['data']['comparison']) ? $filter['data']['comparison'] : null;
                 $filterType = $filter['data']['type'];
             }
             switch ($filterType) {
                 case 'string':
                     $column = sfGuardUserPeer::translateFieldName(sfInflector::camelize($field), BasePeer::TYPE_PHPNAME, BasePeer::TYPE_COLNAME);
                     $criteria->add($column, "%{$value}%", Criteria::LIKE);
                     break;
                 default:
                     break;
             }
         }
     }
 }