/** * Helper function that procesess the raw data after a load. * * @see \MUtil_Model_SelectModelPaginator * * @param mixed $data Nested array or \Traversable containing rows or iterator * @param boolean $new True when it is a new item * @param boolean $isPostData With post data, unselected multiOptions values are not set so should be added * @return array or \Traversable Nested */ public function processAfterLoad($data, $new = false, $isPostData = false) { $data = parent::processAfterLoad($data, $new, $isPostData); if ($data instanceof \Traversable) { $data = iterator_to_array($data); } foreach ($data as &$row) { if (isset($row['gor_user_class']) && !empty($row['gor_user_class'])) { $definition = $this->loader->getUserLoader()->getUserDefinition($row['gor_user_class']); if ($definition instanceof \Gems_User_UserDefinitionConfigurableInterface && $definition->hasConfig()) { $definition->addConfigFields($this); $row = $row + $definition->loadConfig($row); } } } return $data; }