/** * * @param \GO\Base\Model $model * @return array formatted grid row key value array */ public function formatModel($model) { $oldLevel = error_reporting(E_ERROR); //suppress errors in the eval'd code $formattedRecord = array(); if ($model instanceof \GO\Base\Db\ActiveRecord) { $formattedRecord = $model->getAttributes($this->_modelFormatType); } $columns = $this->getColumns(); foreach ($columns as $column) { $column->setModelFormatType($this->_modelFormatType); $formattedRecord[$column->getDataIndex()] = $column->render($model); } error_reporting($oldLevel); if (isset($this->_formatRecordFunction)) { $formattedRecord = call_user_func($this->_formatRecordFunction, $formattedRecord, $model, $this); if (!$formattedRecord) { if (is_array($this->_formatRecordFunction)) { $str = $this->_formatRecordFunction[1]; } else { $str = $this->_formatRecordFunction; } throw new \Exception("Fatal error: {$str} should return the record"); } } return $formattedRecord; }