]> git.mxchange.org Git - friendica.git/blobdiff - view/theme/frost/theme.php
update to Frost v0.4
[friendica.git] / view / theme / frost / theme.php
index 8deef782f04366fd9109b14dc14d56185f4eab8c..3decb2a11857331562c4ffff312a5c54ea2cd46e 100644 (file)
@@ -4,7 +4,7 @@
  * Name: Frost
  * Description: Like frosted glass
  * Credits: Navigation icons taken from http://iconza.com. Other icons taken from http://thenounproject.com, including: Like, Dislike, Black Lock, Unlock, Pencil, Tag, Camera, Paperclip (Marie Coons), Folder (Sergio Calcara), Chain-link (Andrew Fortnum), Speaker (Harold Kim), Quotes (Henry Ryder), Video Camera (Anas Ramadan), and Left Arrow, Right Arrow, and Delete X (all three P.J. Onori). All under Attribution (CC BY 3.0). Others from The Noun Project are public domain or No Rights Reserved (CC0).
- * Version: Version 0.3.2
+ * Version: Version 0.4
  * Author: Zach P <techcity@f.shmuz.in>
  * Maintainer: Zach P <techcity@f.shmuz.in>
  */
@@ -30,3 +30,45 @@ function frost_content_loaded(&$a) {
 
 }
 
+function frost_install() {
+       register_hook('prepare_body_final', 'view/theme/frost/theme.php', 'frost_item_photo_links');
+
+       logger("installed theme frost");
+}
+
+function frost_uninstall() {
+       unregister_hook('bbcode', 'view/theme/frost/theme.php', 'frost_bbcode');
+
+       logger("uninstalled theme frost");
+}
+
+function frost_item_photo_links(&$a, &$body_info) {
+       require_once('include/Photo.php');
+       $phototypes = Photo::supportedTypes();
+
+       $occurence = 1;
+       $p = bb_find_open_close($body_info['html'], "<a", ">");
+       while($p !== false && ($occurence++ < 500)) {
+               $link = substr($body_info['html'], $p['start'], $p['end'] - $p['start']);
+
+               $matches = array();
+               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 = bb_find_open_close($body_info['html'], "<a", ">", $occurence);
+       }
+}
+