+ if ( $a->module === 'login' ) {
+ $a->page['end'] .= '<script type="text/javascript"> $(document).ready(function() { $("#id_" + window.loginName).focus();} );</script>';
+ }
+
+}
+
+function frost_install() {
+ Addon::registerHook('prepare_body_final', 'view/theme/frost/theme.php', 'frost_item_photo_links');
+
+ logger("installed theme frost");
+}
+
+function frost_uninstall() {
+ Addon::unregisterHook('bbcode', 'view/theme/frost/theme.php', 'frost_bbcode');
+
+ logger("uninstalled theme frost");
+}
+
+function frost_item_photo_links(App $a, &$body_info)
+{
+ $occurence = 0;
+ $p = Plaintext::getBoundariesPosition($body_info['html'], '<a', '>');
+ while($p !== false && ($occurence++ < 500)) {
+ $link = substr($body_info['html'], $p['start'], $p['end'] - $p['start']);
+
+ $matches = [];
+ preg_match("/\/photos\/[\w]+\/image\/([\w]+)/", $link, $matches);
+ if($matches) {
+
+ // Replace the link for the photo's page with a direct link to the photo itself
+ $newlink = str_replace($matches[0], "/photo/{$matches[1]}", $link);
+
+ // Add a "quiet" parameter to any redir links to prevent the "XX welcomes YY" info boxes
+ $newlink = preg_replace("/href=\"([^\"]+)\/redir\/([^\"]+)&url=([^\"]+)\"/", 'href="$1/redir/$2&quiet=1&url=$3"', $newlink);
+
+ // Having any arguments to the link for Colorbox causes it to fetch base64 code instead of the image
+ $newlink = preg_replace("/\/[?&]zrl=([^&\"]+)/", '', $newlink);
+
+ $body_info['html'] = str_replace($link, $newlink, $body_info['html']);
+
+ }
+
+ $p = Plaintext::getBoundariesPosition($body_info['html'], '<a', '>', $occurence);
+ }