/** * Event listener which return url for resource by fields. * @param array $fields Fields from search module. * @return string */ public static function onSearchGetUrl($fields) { if (!is_array($fields)) { return ''; } if ($fields["MODULE_ID"] !== "disk" || substr($fields["URL"], 0, 1) !== "=") { return $fields["URL"]; } parse_str(ltrim($fields["URL"], "="), $data); if (empty($data['ID'])) { return ''; } $file = File::loadById($data['ID']); if (!$file) { return ''; } $pathFileDetail = Driver::getInstance()->getUrlManager()->getPathFileDetail($file); \CSearch::update($fields['ID'], array('URL' => $pathFileDetail)); return $pathFileDetail; }
/** * Event listener which return url for resource by fields. * @param array $fields Fields from search module. * @return string */ public static function onSearchGetUrl($fields) { if (!is_array($fields)) { return ''; } if ($fields["MODULE_ID"] !== "disk" || substr($fields["URL"], 0, 1) !== "=") { return $fields["URL"]; } parse_str(ltrim($fields["URL"], "="), $data); if (empty($data['ID'])) { return ''; } $object = BaseObject::loadById($data['ID']); if (!$object) { return ''; } $pathFileDetail = self::getDetailUrl($object); \CSearch::update($fields['ID'], array('URL' => $pathFileDetail)); return $pathFileDetail; }