2012-07-24 17:15:57 +02:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/*
|
|
|
|
* 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).
|
2013-02-10 22:57:44 +01:00
|
|
|
* Version: Version 0.4
|
2012-08-25 05:25:39 +02:00
|
|
|
* Author: Zach P <techcity@f.shmuz.in>
|
|
|
|
* Maintainer: Zach P <techcity@f.shmuz.in>
|
2012-07-24 17:15:57 +02:00
|
|
|
*/
|
|
|
|
|
2017-04-30 06:07:00 +02:00
|
|
|
use Friendica\App;
|
2018-01-17 19:42:40 +01:00
|
|
|
use Friendica\Core\Addon;
|
2017-08-26 08:04:21 +02:00
|
|
|
use Friendica\Core\System;
|
2017-12-07 14:56:11 +01:00
|
|
|
use Friendica\Object\Image;
|
2017-04-30 06:07:00 +02:00
|
|
|
|
2017-01-09 13:06:08 +01:00
|
|
|
function frost_init(App $a) {
|
2012-12-27 20:20:47 +01:00
|
|
|
$a->videowidth = 400;
|
|
|
|
$a->videoheight = 330;
|
2017-11-11 10:26:23 +01:00
|
|
|
$a->set_template_engine('smarty3');
|
2012-12-27 20:20:47 +01:00
|
|
|
}
|
2012-07-24 17:15:57 +02:00
|
|
|
|
2017-01-09 13:06:08 +01:00
|
|
|
function frost_content_loaded(App $a) {
|
2012-07-24 17:15:57 +02:00
|
|
|
|
|
|
|
// I could do this in style.php, but by having the CSS in a file the browser will cache it,
|
|
|
|
// making pages load faster
|
|
|
|
if( $a->module === 'home' || $a->module === 'login' || $a->module === 'register' || $a->module === 'lostpass' ) {
|
2017-08-26 09:32:10 +02:00
|
|
|
//$a->page['htmlhead'] = str_replace('$stylesheet', System::baseUrl() . '/view/theme/frost/login-style.css', $a->page['htmlhead']);
|
|
|
|
$a->theme['stylesheet'] = System::baseUrl() . '/view/theme/frost/login-style.css';
|
2012-07-24 17:15:57 +02:00
|
|
|
}
|
2016-12-20 12:36:51 +01:00
|
|
|
|
|
|
|
if ( $a->module === 'login' ) {
|
2013-06-01 18:42:51 +02:00
|
|
|
$a->page['end'] .= '<script type="text/javascript"> $(document).ready(function() { $("#id_" + window.loginName).focus();} );</script>';
|
2016-12-20 12:36:51 +01:00
|
|
|
}
|
2012-07-24 17:15:57 +02:00
|
|
|
|
|
|
|
}
|
2012-11-06 16:43:19 +01:00
|
|
|
|
2013-02-10 22:57:44 +01:00
|
|
|
function frost_install() {
|
2018-01-17 19:42:40 +01:00
|
|
|
Addon::registerHook('prepare_body_final', 'view/theme/frost/theme.php', 'frost_item_photo_links');
|
2013-02-10 22:57:44 +01:00
|
|
|
|
|
|
|
logger("installed theme frost");
|
|
|
|
}
|
|
|
|
|
|
|
|
function frost_uninstall() {
|
2018-01-17 19:42:40 +01:00
|
|
|
Addon::unregisterHook('bbcode', 'view/theme/frost/theme.php', 'frost_bbcode');
|
2013-02-10 22:57:44 +01:00
|
|
|
|
|
|
|
logger("uninstalled theme frost");
|
|
|
|
}
|
|
|
|
|
2017-11-29 13:52:27 +01:00
|
|
|
function frost_item_photo_links(App $a, &$body_info)
|
|
|
|
{
|
2017-12-07 14:56:11 +01:00
|
|
|
$phototypes = Image::supportedTypes();
|
2013-02-10 22:57:44 +01:00
|
|
|
|
|
|
|
$occurence = 1;
|
|
|
|
$p = bb_find_open_close($body_info['html'], "<a", ">");
|
2017-03-21 17:02:59 +01:00
|
|
|
while($p !== false && ($occurence++ < 500)) {
|
2013-02-10 22:57:44 +01:00
|
|
|
$link = substr($body_info['html'], $p['start'], $p['end'] - $p['start']);
|
|
|
|
|
2018-01-15 14:05:12 +01:00
|
|
|
$matches = [];
|
2013-02-10 22:57:44 +01:00
|
|
|
preg_match("/\/photos\/[\w]+\/image\/([\w]+)/", $link, $matches);
|
2017-03-21 17:02:59 +01:00
|
|
|
if($matches) {
|
2013-02-10 22:57:44 +01:00
|
|
|
|
|
|
|
// 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']);
|
|
|
|
|
|
|
|
}
|
2017-01-09 13:06:08 +01:00
|
|
|
|
2013-02-10 22:57:44 +01:00
|
|
|
$p = bb_find_open_close($body_info['html'], "<a", ">", $occurence);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|