* @version $Revision: 17580 $ */ class CustomFieldCallbacks { function callback($params, &$smarty, $callback, $userId=null) { global $gallery; GalleryCoreApi::requireOnce('modules/customfield/classes/CustomFieldHelper.class'); switch ($callback) { case 'LoadCustomFields': list ($ret, $item) = GalleryCoreApi::loadEntitiesById($params['itemId'], 'GalleryItem'); if ($ret) { return $ret; } list ($ret, $hasPermission) = GalleryCoreApi::hasItemPermission($item->getId(), 'core.view'); if ($ret) { return $ret; } if (!$hasPermission) { /* Avoid information disclosure, act as if the item didn't exist. */ return GalleryCoreApi::error(ERROR_MISSING_OBJECT); } list ($ret, $fields) = CustomFieldHelper::fetchFieldValues(array($item), 'detail'); if ($ret) { return $ret; } $block =& $smarty->_tpl_vars['block']; $block['customfield']['LoadCustomFields']['fields'] = isset($fields[$item->getId()]) ? $fields[$item->getId()] : array(); return null; } return GalleryCoreApi::error(ERROR_BAD_PARAMETER); } } ?>