/** * 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); }
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; } } } }