Merge pull request #545 from annando/master
New bbcode: "share", caching of photos and some changes to "vier"
This commit is contained in:
commit
ecc55221af
15 changed files with 354 additions and 41 deletions
15
boot.php
15
boot.php
|
@ -520,6 +520,19 @@ if(! class_exists('App')) {
|
||||||
$this->is_tablet = $mobile_detect->isTablet();
|
$this->is_tablet = $mobile_detect->isTablet();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function get_basepath() {
|
||||||
|
|
||||||
|
$basepath = get_config("system", "basepath");
|
||||||
|
|
||||||
|
if ($basepath == "")
|
||||||
|
$basepath = $_SERVER["DOCUMENT_ROOT"];
|
||||||
|
|
||||||
|
if ($basepath == "")
|
||||||
|
$basepath = $_SERVER["PWD"];
|
||||||
|
|
||||||
|
return($basepath);
|
||||||
|
}
|
||||||
|
|
||||||
function get_baseurl($ssl = false) {
|
function get_baseurl($ssl = false) {
|
||||||
|
|
||||||
$scheme = $this->scheme;
|
$scheme = $this->scheme;
|
||||||
|
@ -1895,7 +1908,7 @@ function clear_cache($basepath = "", $path = "") {
|
||||||
$fullpath = $path."/".$file;
|
$fullpath = $path."/".$file;
|
||||||
if ((filetype($fullpath) == "dir") and ($file != ".") and ($file != ".."))
|
if ((filetype($fullpath) == "dir") and ($file != ".") and ($file != ".."))
|
||||||
clear_cache($basepath, $fullpath);
|
clear_cache($basepath, $fullpath);
|
||||||
if ((filetype($fullpath) == "file") and filectime($fullpath) < (time() - $cachetime))
|
if ((filetype($fullpath) == "file") and (filectime($fullpath) < (time() - $cachetime)))
|
||||||
unlink($fullpath);
|
unlink($fullpath);
|
||||||
}
|
}
|
||||||
closedir($dh);
|
closedir($dh);
|
||||||
|
|
|
@ -155,6 +155,9 @@ function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) {
|
||||||
// $Text = preg_replace("/\[url\=([^\[\]]*)\]\s*\[img\](.*?)\[\/img\]\s*\[\/url\]/ism",
|
// $Text = preg_replace("/\[url\=([^\[\]]*)\]\s*\[img\](.*?)\[\/img\]\s*\[\/url\]/ism",
|
||||||
// "[url]$1[/url]\n[img]$2[/img]", $Text);
|
// "[url]$1[/url]\n[img]$2[/img]", $Text);
|
||||||
|
|
||||||
|
// Remove the avatar picture since that isn't looking good on the other side
|
||||||
|
//$Text = preg_replace("/\[share(.*?)avatar\s?=\s?'.*?'\s?(.*?)\]\s?(.*?)\s?\[\/share\]\s?/ism","\n[share$1$2]$3[/share]",$Text);
|
||||||
|
|
||||||
// Convert it to HTML - don't try oembed
|
// Convert it to HTML - don't try oembed
|
||||||
$Text = bbcode($Text, $preserve_nl, false);
|
$Text = bbcode($Text, $preserve_nl, false);
|
||||||
|
|
||||||
|
|
|
@ -206,7 +206,59 @@ function bb_replace_images($body, $images) {
|
||||||
return $newbody;
|
return $newbody;
|
||||||
}}
|
}}
|
||||||
|
|
||||||
|
function bb_ShareAttributes($match) {
|
||||||
|
|
||||||
|
$attributes = $match[1];
|
||||||
|
|
||||||
|
$author = "";
|
||||||
|
preg_match("/author='(.*?)'/ism", $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$author = $matches[1];
|
||||||
|
|
||||||
|
preg_match('/author="(.*?)"/ism', $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$author = $matches[1];
|
||||||
|
|
||||||
|
$link = "";
|
||||||
|
preg_match("/link='(.*?)'/ism", $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$link = $matches[1];
|
||||||
|
|
||||||
|
preg_match('/link="(.*?)"/ism', $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$link = $matches[1];
|
||||||
|
|
||||||
|
$avatar = "";
|
||||||
|
preg_match("/avatar='(.*?)'/ism", $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$avatar = $matches[1];
|
||||||
|
|
||||||
|
preg_match('/avatar="(.*?)"/ism', $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$avatar = $matches[1];
|
||||||
|
|
||||||
|
$profile = "";
|
||||||
|
preg_match("/profile='(.*?)'/ism", $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$profile = $matches[1];
|
||||||
|
|
||||||
|
preg_match('/profile="(.*?)"/ism', $attributes, $matches);
|
||||||
|
if ($matches[1] != "")
|
||||||
|
$profile = $matches[1];
|
||||||
|
|
||||||
|
$headline = '<div class="shared_header">';
|
||||||
|
|
||||||
|
if ($avatar != "")
|
||||||
|
$headline .= '<img src="'.$avatar.'" height="32" width="32" >';
|
||||||
|
|
||||||
|
$headline .= sprintf(t('<span><a href="%s">%s</a> wrote the following <a href="%s">post</a>:</span>'), $profile, $author, $link);
|
||||||
|
|
||||||
|
$headline .= "</div>";
|
||||||
|
|
||||||
|
$text = "<br />".$headline.'<blockquote class="shared_content">'.trim($match[2])."</blockquote>";
|
||||||
|
|
||||||
|
return($text);
|
||||||
|
}
|
||||||
|
|
||||||
// BBcode 2 HTML was written by WAY2WEB.net
|
// BBcode 2 HTML was written by WAY2WEB.net
|
||||||
// extended to work with Mistpark/Friendica - Mike Macgirvin
|
// extended to work with Mistpark/Friendica - Mike Macgirvin
|
||||||
|
@ -248,6 +300,13 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
|
||||||
$Text = str_replace("<", "<", $Text);
|
$Text = str_replace("<", "<", $Text);
|
||||||
$Text = str_replace(">", ">", $Text);
|
$Text = str_replace(">", ">", $Text);
|
||||||
|
|
||||||
|
// remove some newlines before the general conversion
|
||||||
|
$Text = preg_replace("/\s?\[share(.*?)\]\s?(.*?)\s?\[\/share\]\s?/ism","[share$1]$2[/share]",$Text);
|
||||||
|
|
||||||
|
// when the content is meant exporting to other systems then remove the avatar picture since this doesn't really look good on these systems
|
||||||
|
if (!$tryoembed)
|
||||||
|
$Text = preg_replace("/\[share(.*?)avatar\s?=\s?'.*?'\s?(.*?)\]\s?(.*?)\s?\[\/share\]\s?/ism","\n[share$1$2]$3[/share]",$Text);
|
||||||
|
|
||||||
// Convert new line chars to html <br /> tags
|
// Convert new line chars to html <br /> tags
|
||||||
|
|
||||||
// nlbr seems to be hopelessly messed up
|
// nlbr seems to be hopelessly messed up
|
||||||
|
@ -271,7 +330,7 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
|
||||||
|
|
||||||
// Perform URL Search
|
// Perform URL Search
|
||||||
|
|
||||||
$Text = preg_replace("/([^\]\=]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/ism", '$1<a href="$2" target="external-link">$2</a>', $Text);
|
$Text = preg_replace("/([^\]\='".'"'."]|^)(https?\:\/\/[a-zA-Z0-9\:\/\-\?\&\;\.\=\_\~\#\%\$\!\+\,]+)/ism", '$1<a href="$2" target="external-link">$2</a>', $Text);
|
||||||
|
|
||||||
if ($tryoembed)
|
if ($tryoembed)
|
||||||
$Text = preg_replace_callback("/\[bookmark\=([^\]]*)\].*?\[\/bookmark\]/ism",'tryoembed',$Text);
|
$Text = preg_replace_callback("/\[bookmark\=([^\]]*)\].*?\[\/bookmark\]/ism",'tryoembed',$Text);
|
||||||
|
@ -422,7 +481,8 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true) {
|
||||||
// [img]pathtoimage[/img]
|
// [img]pathtoimage[/img]
|
||||||
$Text = preg_replace("/\[img\](.*?)\[\/img\]/ism", '<img src="$1" alt="' . t('Image/photo') . '" />', $Text);
|
$Text = preg_replace("/\[img\](.*?)\[\/img\]/ism", '<img src="$1" alt="' . t('Image/photo') . '" />', $Text);
|
||||||
|
|
||||||
|
// Shared content
|
||||||
|
$Text = preg_replace_callback("/\[share(.*?)\](.*?)\[\/share\]/ism","bb_ShareAttributes",$Text);
|
||||||
|
|
||||||
$Text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism",'<br/><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . t('Encrypted content') . '" /><br />', $Text);
|
$Text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism",'<br/><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . t('Encrypted content') . '" /><br />', $Text);
|
||||||
$Text = preg_replace("/\[crypt=(.*?)\](.*?)\[\/crypt\]/ism",'<br/><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . '$1' . ' ' . t('Encrypted content') . '" /><br />', $Text);
|
$Text = preg_replace("/\[crypt=(.*?)\](.*?)\[\/crypt\]/ism",'<br/><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . '$1' . ' ' . t('Encrypted content') . '" /><br />', $Text);
|
||||||
|
|
|
@ -458,13 +458,17 @@ function delivery_run(&$argv, &$argc){
|
||||||
|
|
||||||
// only expose our real email address to true friends
|
// only expose our real email address to true friends
|
||||||
|
|
||||||
if(($contact['rel'] == CONTACT_IS_FRIEND) && (! $contact['blocked']))
|
if(($contact['rel'] == CONTACT_IS_FRIEND) && (! $contact['blocked'])) {
|
||||||
|
if($reply_to) {
|
||||||
|
$headers = 'From: '.email_header_encode($local_user[0]['username'],'UTF-8').' <'.$reply_to.'>'."\n";
|
||||||
|
$headers .= 'Sender: '.$local_user[0]['email']."\n";
|
||||||
|
} else
|
||||||
$headers = 'From: '.email_header_encode($local_user[0]['username'],'UTF-8').' <'.$local_user[0]['email'].'>'."\n";
|
$headers = 'From: '.email_header_encode($local_user[0]['username'],'UTF-8').' <'.$local_user[0]['email'].'>'."\n";
|
||||||
else
|
} else
|
||||||
$headers = 'From: ' . email_header_encode($local_user[0]['username'],'UTF-8') . ' <' . t('noreply') . '@' . $a->get_hostname() . '>' . "\n";
|
$headers = 'From: ' . email_header_encode($local_user[0]['username'],'UTF-8') . ' <' . t('noreply') . '@' . $a->get_hostname() . '>' . "\n";
|
||||||
|
|
||||||
if($reply_to)
|
//if($reply_to)
|
||||||
$headers .= 'Reply-to: ' . $reply_to . "\n";
|
// $headers .= 'Reply-to: ' . $reply_to . "\n";
|
||||||
|
|
||||||
// for testing purposes: Collect exported mails
|
// for testing purposes: Collect exported mails
|
||||||
// $file = tempnam("/tmp/friendica/", "mail-out-");
|
// $file = tempnam("/tmp/friendica/", "mail-out-");
|
||||||
|
|
|
@ -135,6 +135,8 @@ function nav(&$a) {
|
||||||
$nav['manage'] = array('manage', t('Manage'), "", t('Manage other pages'));
|
$nav['manage'] = array('manage', t('Manage'), "", t('Manage other pages'));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$nav['delegations'] = Array('delegate', t('Delegations'), "", t('Delegate Page Management'));
|
||||||
|
|
||||||
$nav['settings'] = array('settings', t('Settings'),"", t('Account settings'));
|
$nav['settings'] = array('settings', t('Settings'),"", t('Account settings'));
|
||||||
if(feature_enabled(local_user(),'multi_profiles'))
|
if(feature_enabled(local_user(),'multi_profiles'))
|
||||||
$nav['profiles'] = array('profiles', t('Profiles'),"", t('Manage/Edit Profiles'));
|
$nav['profiles'] = array('profiles', t('Profiles'),"", t('Manage/Edit Profiles'));
|
||||||
|
|
|
@ -854,8 +854,7 @@ function scale_external_images($s, $include_link = true, $scale_replace = false)
|
||||||
}
|
}
|
||||||
|
|
||||||
// replace the special char encoding
|
// replace the special char encoding
|
||||||
|
$s = htmlspecialchars($s,ENT_NOQUOTES,'UTF-8');
|
||||||
$s = htmlspecialchars($s,ENT_QUOTES,'UTF-8');
|
|
||||||
return $s;
|
return $s;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -771,14 +771,17 @@ function notifier_run(&$argv, &$argc){
|
||||||
$subject = (($it['title']) ? email_header_encode($it['title'],'UTF-8') : t("\x28no subject\x29")) ;
|
$subject = (($it['title']) ? email_header_encode($it['title'],'UTF-8') : t("\x28no subject\x29")) ;
|
||||||
|
|
||||||
// only expose our real email address to true friends
|
// only expose our real email address to true friends
|
||||||
|
|
||||||
if(($contact['rel'] == CONTACT_IS_FRIEND) && (! $contact['blocked']))
|
if(($contact['rel'] == CONTACT_IS_FRIEND) && (! $contact['blocked']))
|
||||||
|
if($reply_to) {
|
||||||
|
$headers = 'From: ' . email_header_encode($local_user[0]['username'],'UTF-8') . ' <' . $reply_to . '>' . "\n";
|
||||||
|
$headers .= 'Sender: '.$local_user[0]['email']."\n";
|
||||||
|
} else
|
||||||
$headers = 'From: ' . email_header_encode($local_user[0]['username'],'UTF-8') . ' <' . $local_user[0]['email'] . '>' . "\n";
|
$headers = 'From: ' . email_header_encode($local_user[0]['username'],'UTF-8') . ' <' . $local_user[0]['email'] . '>' . "\n";
|
||||||
else
|
else
|
||||||
$headers = 'From: ' . email_header_encode($local_user[0]['username'],'UTF-8') . ' <' . t('noreply') . '@' . $a->get_hostname() . '>' . "\n";
|
$headers = 'From: ' . email_header_encode($local_user[0]['username'],'UTF-8') . ' <' . t('noreply') . '@' . $a->get_hostname() . '>' . "\n";
|
||||||
|
|
||||||
if($reply_to)
|
//if($reply_to)
|
||||||
$headers .= 'Reply-to: ' . $reply_to . "\n";
|
// $headers .= 'Reply-to: ' . $reply_to . "\n";
|
||||||
|
|
||||||
// for testing purposes: Collect exported mails
|
// for testing purposes: Collect exported mails
|
||||||
//$file = tempnam("/tmp/friendica/", "mail-out2-");
|
//$file = tempnam("/tmp/friendica/", "mail-out2-");
|
||||||
|
|
|
@ -2,6 +2,13 @@
|
||||||
|
|
||||||
require_once("boot.php");
|
require_once("boot.php");
|
||||||
|
|
||||||
|
function RemoveReply($subject) {
|
||||||
|
while (in_array(strtolower(substr($subject, 0, 3)), array("re:", "aw:")))
|
||||||
|
$subject = trim(substr($subject, 4));
|
||||||
|
|
||||||
|
return($subject);
|
||||||
|
}
|
||||||
|
|
||||||
function onepoll_run(&$argv, &$argc){
|
function onepoll_run(&$argv, &$argc){
|
||||||
global $a, $db;
|
global $a, $db;
|
||||||
|
|
||||||
|
@ -374,10 +381,6 @@ function onepoll_run(&$argv, &$argc){
|
||||||
// $datarray['parent-uri'] = $r[0]['uri'];
|
// $datarray['parent-uri'] = $r[0]['uri'];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
if(! x($datarray,'parent-uri'))
|
|
||||||
$datarray['parent-uri'] = $datarray['uri'];
|
|
||||||
|
|
||||||
// Decoding the header
|
// Decoding the header
|
||||||
$subject = imap_mime_header_decode($meta->subject);
|
$subject = imap_mime_header_decode($meta->subject);
|
||||||
$datarray['title'] = "";
|
$datarray['title'] = "";
|
||||||
|
@ -392,11 +395,26 @@ function onepoll_run(&$argv, &$argc){
|
||||||
//$datarray['title'] = notags(trim($meta->subject));
|
//$datarray['title'] = notags(trim($meta->subject));
|
||||||
$datarray['created'] = datetime_convert('UTC','UTC',$meta->date);
|
$datarray['created'] = datetime_convert('UTC','UTC',$meta->date);
|
||||||
|
|
||||||
// Is it reply?
|
// Is it a reply?
|
||||||
$reply = ((substr(strtolower($datarray['title']), 0, 3) == "re:") or
|
$reply = ((substr(strtolower($datarray['title']), 0, 3) == "re:") or
|
||||||
(substr(strtolower($datarray['title']), 0, 3) == "re-") or
|
(substr(strtolower($datarray['title']), 0, 3) == "re-") or
|
||||||
(raw_refs != ""));
|
(raw_refs != ""));
|
||||||
|
|
||||||
|
// Remove Reply-signs in the subject
|
||||||
|
$datarray['title'] = RemoveReply($datarray['title']);
|
||||||
|
|
||||||
|
// If it seems to be a reply but a header couldn't be found take the last message with matching subject
|
||||||
|
if(!x($datarray,'parent-uri') and $reply) {
|
||||||
|
$r = q("SELECT `uri` , `parent-uri` FROM `item` WHERE MATCH (`title`) AGAINST ('".'"%s"'."' IN BOOLEAN MODE) ORDER BY `created` DESC LIMIT 1",
|
||||||
|
dbesc(protect_sprintf($datarray['title'])));
|
||||||
|
if(count($r))
|
||||||
|
$datarray['parent-uri'] = $r[0]['parent-uri'];
|
||||||
|
}
|
||||||
|
|
||||||
|
if(! x($datarray,'parent-uri'))
|
||||||
|
$datarray['parent-uri'] = $datarray['uri'];
|
||||||
|
|
||||||
|
|
||||||
$r = email_get_msg($mbox,$msg_uid, $reply);
|
$r = email_get_msg($mbox,$msg_uid, $reply);
|
||||||
if(! $r) {
|
if(! $r) {
|
||||||
logger("Mail: can't fetch msg ".$msg_uid." for ".$mailconf[0]['user']);
|
logger("Mail: can't fetch msg ".$msg_uid." for ".$mailconf[0]['user']);
|
||||||
|
|
|
@ -105,6 +105,9 @@ function poller_run(&$argv, &$argc){
|
||||||
// clear old item cache files
|
// clear old item cache files
|
||||||
clear_cache();
|
clear_cache();
|
||||||
|
|
||||||
|
// clear cache for photos
|
||||||
|
clear_cache($a->get_basepath(), $a->get_basepath()."/photo");
|
||||||
|
|
||||||
$manual_id = 0;
|
$manual_id = 0;
|
||||||
$generation = 0;
|
$generation = 0;
|
||||||
$hub_update = false;
|
$hub_update = false;
|
||||||
|
|
|
@ -292,11 +292,11 @@ function alt_pager(&$a, $i) {
|
||||||
$o .= '<div class="pager">';
|
$o .= '<div class="pager">';
|
||||||
|
|
||||||
if($a->pager['page']>1)
|
if($a->pager['page']>1)
|
||||||
$o .= "<a href=\"$url"."&page=".($a->pager['page'] - 1).'">' . t('newer') . '</a>';
|
$o .= "<a href=\"$url"."&page=".($a->pager['page'] - 1).'" class="pager_newer">' . t('newer') . '</a>';
|
||||||
if($i>0) {
|
if($i>0) {
|
||||||
if($a->pager['page']>1)
|
if($a->pager['page']>1)
|
||||||
$o .= " - ";
|
$o .= " - ";
|
||||||
$o .= "<a href=\"$url"."&page=".($a->pager['page'] + 1).'">' . t('older') . '</a>';
|
$o .= "<a href=\"$url"."&page=".($a->pager['page'] + 1).'" class="pager_older">' . t('older') . '</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -7,6 +7,7 @@ function photo_init(&$a) {
|
||||||
global $_SERVER;
|
global $_SERVER;
|
||||||
|
|
||||||
$prvcachecontrol = false;
|
$prvcachecontrol = false;
|
||||||
|
$file = "";
|
||||||
|
|
||||||
switch($a->argc) {
|
switch($a->argc) {
|
||||||
case 4:
|
case 4:
|
||||||
|
@ -20,6 +21,7 @@ function photo_init(&$a) {
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
$photo = $a->argv[1];
|
$photo = $a->argv[1];
|
||||||
|
$file = $photo;
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
default:
|
default:
|
||||||
|
@ -42,7 +44,6 @@ function photo_init(&$a) {
|
||||||
exit;
|
exit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
$default = 'images/person-175.jpg';
|
$default = 'images/person-175.jpg';
|
||||||
|
|
||||||
if(isset($type)) {
|
if(isset($type)) {
|
||||||
|
@ -115,6 +116,8 @@ function photo_init(&$a) {
|
||||||
intval($resolution)
|
intval($resolution)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
$public = ($r[0]['allow_cid'] == '') AND ($r[0]['allow_gid'] == '') AND ($r[0]['deny_cid'] == '') AND ($r[0]['deny_gid'] == '');
|
||||||
|
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
$data = $r[0]['data'];
|
$data = $r[0]['data'];
|
||||||
$mimetype = $r[0]['type'];
|
$mimetype = $r[0]['type'];
|
||||||
|
@ -198,6 +201,12 @@ function photo_init(&$a) {
|
||||||
header("Cache-Control: max-age=31536000");
|
header("Cache-Control: max-age=31536000");
|
||||||
}
|
}
|
||||||
echo $data;
|
echo $data;
|
||||||
|
|
||||||
|
// If the photo is public and there is an existing photo directory store the photo there
|
||||||
|
if ($public and ($file != ""))
|
||||||
|
if (is_dir($_SERVER["DOCUMENT_ROOT"]."/photo"))
|
||||||
|
file_put_contents($_SERVER["DOCUMENT_ROOT"]."/photo/".$file, $data);
|
||||||
|
|
||||||
killme();
|
killme();
|
||||||
// NOTREACHED
|
// NOTREACHED
|
||||||
}
|
}
|
||||||
|
|
|
@ -209,6 +209,7 @@ function settings_post(&$a) {
|
||||||
intval($mail_pubmail),
|
intval($mail_pubmail),
|
||||||
intval(local_user())
|
intval(local_user())
|
||||||
);
|
);
|
||||||
|
logger("mail: updating mailaccount. Response: ".print_r($r, true));
|
||||||
$r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1",
|
$r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1",
|
||||||
intval(local_user())
|
intval(local_user())
|
||||||
);
|
);
|
||||||
|
@ -731,7 +732,7 @@ function settings_content(&$a) {
|
||||||
'$mail_ssl' => array('mail_ssl', t('Security:'), strtoupper($mail_ssl), '', array( 'notls'=>t('None'), 'TLS'=>'TLS', 'SSL'=>'SSL')),
|
'$mail_ssl' => array('mail_ssl', t('Security:'), strtoupper($mail_ssl), '', array( 'notls'=>t('None'), 'TLS'=>'TLS', 'SSL'=>'SSL')),
|
||||||
'$mail_user' => array('mail_user', t('Email login name:'), $mail_user, ''),
|
'$mail_user' => array('mail_user', t('Email login name:'), $mail_user, ''),
|
||||||
'$mail_pass' => array('mail_pass', t('Email password:'), '', ''),
|
'$mail_pass' => array('mail_pass', t('Email password:'), '', ''),
|
||||||
'$mail_replyto' => array('mail_replyto', t('Reply-to address:'), '', 'Optional'),
|
'$mail_replyto' => array('mail_replyto', t('Reply-to address:'), $mail_replyto, 'Optional'),
|
||||||
'$mail_pubmail' => array('mail_pubmail', t('Send public posts to all email contacts:'), $mail_pubmail, ''),
|
'$mail_pubmail' => array('mail_pubmail', t('Send public posts to all email contacts:'), $mail_pubmail, ''),
|
||||||
'$mail_action' => array('mail_action', t('Action after import:'), $mail_action, '', array(0=>t('None'), /*1=>t('Delete'),*/ 2=>t('Mark as seen'), 3=>t('Move to folder'))),
|
'$mail_action' => array('mail_action', t('Action after import:'), $mail_action, '', array(0=>t('None'), /*1=>t('Delete'),*/ 2=>t('Mark as seen'), 3=>t('Move to folder'))),
|
||||||
'$mail_movetofolder' => array('mail_movetofolder', t('Move to folder:'), $mail_movetofolder, ''),
|
'$mail_movetofolder' => array('mail_movetofolder', t('Move to folder:'), $mail_movetofolder, ''),
|
||||||
|
|
|
@ -41,6 +41,7 @@
|
||||||
{{ if $nav.help }} <li><a class="$nav.help.2" target="friendica-help" href="$nav.help.0" title="$nav.help.3" >$nav.help.1</a></li>{{ endif }}
|
{{ if $nav.help }} <li><a class="$nav.help.2" target="friendica-help" href="$nav.help.0" title="$nav.help.3" >$nav.help.1</a></li>{{ endif }}
|
||||||
<li><a class="$nav.search.2" href="friendica" title="Site Info / Impressum" >Info/Impressum</a></li>
|
<li><a class="$nav.search.2" href="friendica" title="Site Info / Impressum" >Info/Impressum</a></li>
|
||||||
<li><a class="$nav.directory.2" href="$nav.directory.0" title="$nav.directory.3" >$nav.directory.1</a></li>
|
<li><a class="$nav.directory.2" href="$nav.directory.0" title="$nav.directory.3" >$nav.directory.1</a></li>
|
||||||
|
{{ if $nav.delegations }}<li><a class="$nav.delegations.2" href="$nav.delegations.0" title="$nav.delegations.3">$nav.delegations.1</a></li>{{ endif }}
|
||||||
{{ if $nav.settings }}<li><a class="$nav.settings.2" href="$nav.settings.0" title="$nav.settings.3">$nav.settings.1</a></li>{{ endif }}
|
{{ if $nav.settings }}<li><a class="$nav.settings.2" href="$nav.settings.0" title="$nav.settings.3">$nav.settings.1</a></li>{{ endif }}
|
||||||
{{ if $nav.admin }}<li><a class="$nav.admin.2" href="$nav.admin.0" title="$nav.admin.3" >$nav.admin.1</a></li>{{ endif }}
|
{{ if $nav.admin }}<li><a class="$nav.admin.2" href="$nav.admin.0" title="$nav.admin.3" >$nav.admin.1</a></li>{{ endif }}
|
||||||
|
|
||||||
|
@ -74,7 +75,6 @@
|
||||||
{{ for $nav.usermenu as $usermenu }}
|
{{ for $nav.usermenu as $usermenu }}
|
||||||
<li><a class="$usermenu.2" href="$usermenu.0" title="$usermenu.3">$usermenu.1</a></li>
|
<li><a class="$usermenu.2" href="$usermenu.0" title="$usermenu.3">$usermenu.1</a></li>
|
||||||
{{ endfor }}
|
{{ endfor }}
|
||||||
|
|
||||||
{{ if $nav.notifications }}<li><a class="$nav.notifications.2" href="$nav.notifications.0" title="$nav.notifications.3" >$nav.notifications.1</a></li>{{ endif }}
|
{{ if $nav.notifications }}<li><a class="$nav.notifications.2" href="$nav.notifications.0" title="$nav.notifications.3" >$nav.notifications.1</a></li>{{ endif }}
|
||||||
{{ if $nav.messages }}<li><a class="$nav.messages.2" href="$nav.messages.0" title="$nav.messages.3" >$nav.messages.1</a></li>{{ endif }}
|
{{ if $nav.messages }}<li><a class="$nav.messages.2" href="$nav.messages.0" title="$nav.messages.3" >$nav.messages.1</a></li>{{ endif }}
|
||||||
{{ if $nav.contacts }}<li><a class="$nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a></li>{{ endif }}
|
{{ if $nav.contacts }}<li><a class="$nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a></li>{{ endif }}
|
||||||
|
|
|
@ -314,6 +314,66 @@
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
div.pager, .birthday-notice {
|
||||||
|
text-align: center;
|
||||||
|
height: 1.2em;
|
||||||
|
padding-bottom: 12px;
|
||||||
|
-webkit-border-radius: 6px;
|
||||||
|
-moz-border-radius: 6px;
|
||||||
|
border-radius: 6px;
|
||||||
|
background-color: #f2f2f2;
|
||||||
|
clear: left;
|
||||||
|
margin-top: 15px;
|
||||||
|
padding: 1%;
|
||||||
|
height: 1em;
|
||||||
|
margin-bottom: 15px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.birthday-notice {
|
||||||
|
margin-top: 5px;
|
||||||
|
margin-bottom: 5px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#live-network {
|
||||||
|
/* border-bottom: 1px solid #BDCDD4; */
|
||||||
|
border-bottom: 1px solid #D2D2D2;
|
||||||
|
width: 100%;
|
||||||
|
height: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pager a {
|
||||||
|
}
|
||||||
|
|
||||||
|
.pager a.pager_older {
|
||||||
|
float: right;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pager a.pager_newer {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shared_header {
|
||||||
|
height: 32px;
|
||||||
|
color: #999;
|
||||||
|
border-top: 1px solid #D2D2D2;
|
||||||
|
padding-top: 16px;
|
||||||
|
margin-top: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shared_header img {
|
||||||
|
float: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
.shared_header span {
|
||||||
|
margin-left: 9px;
|
||||||
|
}
|
||||||
|
|
||||||
|
blockquote.shared_content {
|
||||||
|
margin-left: 32px;
|
||||||
|
color: #000;
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
#contact-edit-links ul {
|
#contact-edit-links ul {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
|
@ -332,10 +392,10 @@
|
||||||
/* global */
|
/* global */
|
||||||
body {
|
body {
|
||||||
font-family: 'Lato', "Helvetica Neue", Helvetica, Arial, sans-serif;
|
font-family: 'Lato', "Helvetica Neue", Helvetica, Arial, sans-serif;
|
||||||
font-size: 13px;
|
font-size: 14px;
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
color: #2d2d2d;
|
color: #2d2d2d;
|
||||||
margin: 50px 0px 0px 0px;
|
margin: 37px 0px 0px 0px;
|
||||||
display: table;
|
display: table;
|
||||||
}
|
}
|
||||||
h4 {
|
h4 {
|
||||||
|
@ -345,7 +405,8 @@ h4 {
|
||||||
a {
|
a {
|
||||||
/* color: #36C; */
|
/* color: #36C; */
|
||||||
/* color: #3e3e8c; */
|
/* color: #3e3e8c; */
|
||||||
color: #3465A4;
|
/* color: #3465A4; */
|
||||||
|
color: #3E3E8C;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
}
|
}
|
||||||
a:hover {
|
a:hover {
|
||||||
|
@ -379,7 +440,8 @@ a:hover {
|
||||||
.fakelink {
|
.fakelink {
|
||||||
/* color: #36c; */
|
/* color: #36c; */
|
||||||
/* color: #3e3e8c; */
|
/* color: #3e3e8c; */
|
||||||
color: #3465A4;
|
/* color: #3465A4; */
|
||||||
|
color: #3E3E8C;
|
||||||
text-decoration: none;
|
text-decoration: none;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
}
|
}
|
||||||
|
@ -580,7 +642,7 @@ nav .nav-menu {
|
||||||
padding-left: 5px;
|
padding-left: 5px;
|
||||||
padding-right: 5px;
|
padding-right: 5px;
|
||||||
margin: 3px 3px 0px;
|
margin: 3px 3px 0px;
|
||||||
font-size: 13px;
|
font-size: 14px;
|
||||||
border-bottom: 3px solid #364A84;
|
border-bottom: 3px solid #364A84;
|
||||||
}
|
}
|
||||||
nav .nav-menu.selected {
|
nav .nav-menu.selected {
|
||||||
|
@ -790,6 +852,8 @@ aside {
|
||||||
width: 185px;
|
width: 185px;
|
||||||
padding: 0px 10px 0px 20px;
|
padding: 0px 10px 0px 20px;
|
||||||
border-right: 1px solid #D2D2D2;
|
border-right: 1px solid #D2D2D2;
|
||||||
|
background-color: #ECECF2;
|
||||||
|
font-size: 14px;
|
||||||
/* background: #F1F1F1; */
|
/* background: #F1F1F1; */
|
||||||
}
|
}
|
||||||
aside .vcard .fn {
|
aside .vcard .fn {
|
||||||
|
@ -983,6 +1047,7 @@ section {
|
||||||
}
|
}
|
||||||
/* wall item */
|
/* wall item */
|
||||||
.tread-wrapper {
|
.tread-wrapper {
|
||||||
|
/* border-bottom: 1px solid #BDCDD4; */
|
||||||
border-bottom: 1px solid #D2D2D2;
|
border-bottom: 1px solid #D2D2D2;
|
||||||
position: relative;
|
position: relative;
|
||||||
padding: 5px;
|
padding: 5px;
|
||||||
|
@ -1006,7 +1071,7 @@ section {
|
||||||
display: table-row;
|
display: table-row;
|
||||||
}
|
}
|
||||||
.wall-item-bottom {
|
.wall-item-bottom {
|
||||||
font-size: 13px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
.wall-item-container .wall-item-bottom {
|
.wall-item-container .wall-item-bottom {
|
||||||
opacity: 0.5;
|
opacity: 0.5;
|
||||||
|
@ -1045,10 +1110,10 @@ section {
|
||||||
}
|
}
|
||||||
|
|
||||||
.wall-item-container .wall-item-content {
|
.wall-item-container .wall-item-content {
|
||||||
font-size: 13px;
|
font-size: 14px;
|
||||||
max-width: 660px;
|
max-width: 660px;
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
line-height: 1.4;
|
line-height: 1.36;
|
||||||
}
|
}
|
||||||
|
|
||||||
.wall-item-container .wall-item-content img {
|
.wall-item-container .wall-item-content img {
|
||||||
|
@ -1620,15 +1685,51 @@ section {
|
||||||
ul.tabs {
|
ul.tabs {
|
||||||
list-style-type: none;
|
list-style-type: none;
|
||||||
padding-bottom: 10px;
|
padding-bottom: 10px;
|
||||||
font-size: 13px;
|
font-size: 14px;
|
||||||
}
|
}
|
||||||
ul.tabs li {
|
ul.tabs li {
|
||||||
float: left;
|
float: left;
|
||||||
margin-left: 7px;
|
margin-left: 7px;
|
||||||
}
|
}
|
||||||
ul.tabs li .active {
|
/*ul.tabs li .active {
|
||||||
border-bottom: 1px solid #005c94;
|
border-bottom: 1px solid #005c94;
|
||||||
|
}*/
|
||||||
|
ul.tabs a {
|
||||||
|
display: block;
|
||||||
|
float: left;
|
||||||
|
padding: 0px 10px 1px 10px;
|
||||||
|
-webkit-border-radius: 4px;
|
||||||
|
-moz-border-radius: 4px;
|
||||||
|
border-radius: 4px;
|
||||||
|
border: 1px solid #ECECF2;
|
||||||
|
font-weight: bold;
|
||||||
|
line-height: 1.4em;
|
||||||
|
color: #3e3e8c;
|
||||||
|
text-shadow: 0px 1px 0px rgba(255, 255, 255, 0.9);
|
||||||
|
background: #ececf2;
|
||||||
|
background: -moz-linear-gradient(top, #ffffff 0%, #ececf2 100%);
|
||||||
|
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#ececf2));
|
||||||
|
background: -webkit-linear-gradient(top, #ffffff 0%,#ececf2 100%);
|
||||||
|
background: -o-linear-gradient(top, #ffffff 0%,#ececf2 100%);
|
||||||
|
background: -ms-linear-gradient(top, #ffffff 0%,#ececf2 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#ececf2',GradientType=0 );
|
||||||
|
background: linear-gradient(top, #ffffff 0%,#ececf2 100%);
|
||||||
}
|
}
|
||||||
|
ul.tabs li .active, ul.tabs a:hover {
|
||||||
|
color: #fff;
|
||||||
|
text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.5);
|
||||||
|
border: 1px solid #ececf2;
|
||||||
|
background: #364a84;
|
||||||
|
background: -moz-linear-gradient(top, #7b8dbb 0%, #364a84 100%);
|
||||||
|
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#7b8dbb), color-stop(100%,#364a84));
|
||||||
|
background: -webkit-linear-gradient(top, #7b8dbb 0%,#364a84 100%);
|
||||||
|
background: -o-linear-gradient(top, #7b8dbb 0%,#364a84 100%);
|
||||||
|
background: -ms-linear-gradient(top, #7b8dbb 0%,#364a84 100%);
|
||||||
|
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#7b8dbb', endColorstr='#364a84',GradientType=0 );
|
||||||
|
background: linear-gradient(top, #7b8dbb 0%,#364a84 100%);
|
||||||
|
text-decoration: none;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Form fields
|
* Form fields
|
||||||
*/
|
*/
|
||||||
|
@ -1808,7 +1909,7 @@ ul.tabs li .active {
|
||||||
|
|
||||||
/* page footer */
|
/* page footer */
|
||||||
footer {
|
footer {
|
||||||
height: 100px;
|
/* height: 100px; */
|
||||||
display: table-row;
|
display: table-row;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -7,3 +7,100 @@
|
||||||
* Maintainer: Ike <http://pirati.ca/profile/heluecht>
|
* Maintainer: Ike <http://pirati.ca/profile/heluecht>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
$a->theme_info = array();
|
||||||
|
|
||||||
|
function vier_init(&$a) {
|
||||||
|
$a->page['htmlhead'] .= <<< EOT
|
||||||
|
<script>
|
||||||
|
/*function insertFormatting(comment,BBcode,id) {
|
||||||
|
|
||||||
|
var tmpStr = $("#comment-edit-text-" + id).val();
|
||||||
|
if(tmpStr == comment) {
|
||||||
|
tmpStr = "";
|
||||||
|
$("#comment-edit-text-" + id).addClass("comment-edit-text-full");
|
||||||
|
$("#comment-edit-text-" + id).removeClass("comment-edit-text-empty");
|
||||||
|
openMenu("comment-edit-submit-wrapper-" + id);
|
||||||
|
$("#comment-edit-text-" + id).val(tmpStr);
|
||||||
|
}
|
||||||
|
|
||||||
|
textarea = document.getElementById("comment-edit-text-" +id);
|
||||||
|
if (document.selection) {
|
||||||
|
textarea.focus();
|
||||||
|
selected = document.selection.createRange();
|
||||||
|
if (BBcode == "url"){
|
||||||
|
selected.text = "["+BBcode+"]" + "http://" + selected.text + "[/"+BBcode+"]";
|
||||||
|
} else
|
||||||
|
selected.text = "["+BBcode+"]" + selected.text + "[/"+BBcode+"]";
|
||||||
|
} else if (textarea.selectionStart || textarea.selectionStart == "0") {
|
||||||
|
var start = textarea.selectionStart;
|
||||||
|
var end = textarea.selectionEnd;
|
||||||
|
if (BBcode == "url"){
|
||||||
|
textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + "http://" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length);
|
||||||
|
} else
|
||||||
|
textarea.value = textarea.value.substring(0, start) + "["+BBcode+"]" + textarea.value.substring(start, end) + "[/"+BBcode+"]" + textarea.value.substring(end, textarea.value.length);
|
||||||
|
}
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
function showThread(id) {
|
||||||
|
$("#collapsed-comments-" + id).show()
|
||||||
|
$("#collapsed-comments-" + id + " .collapsed-comments").show()
|
||||||
|
}
|
||||||
|
function hideThread(id) {
|
||||||
|
$("#collapsed-comments-" + id).hide()
|
||||||
|
$("#collapsed-comments-" + id + " .collapsed-comments").hide()
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
function cmtBbOpen(id) {
|
||||||
|
$("#comment-edit-bb-" + id).show();
|
||||||
|
}
|
||||||
|
function cmtBbClose(id) {
|
||||||
|
$("#comment-edit-bb-" + id).hide();
|
||||||
|
}
|
||||||
|
$(document).ready(function() {
|
||||||
|
|
||||||
|
$('html').click(function() { $("#nav-notifications-menu" ).hide(); });
|
||||||
|
|
||||||
|
$('.group-edit-icon').hover(
|
||||||
|
function() {
|
||||||
|
$(this).addClass('icon'); $(this).removeClass('iconspacer');},
|
||||||
|
function() {
|
||||||
|
$(this).removeClass('icon'); $(this).addClass('iconspacer');}
|
||||||
|
);
|
||||||
|
|
||||||
|
$('.sidebar-group-element').hover(
|
||||||
|
function() {
|
||||||
|
id = $(this).attr('id');
|
||||||
|
$('#edit-' + id).addClass('icon'); $('#edit-' + id).removeClass('iconspacer');},
|
||||||
|
|
||||||
|
function() {
|
||||||
|
id = $(this).attr('id');
|
||||||
|
$('#edit-' + id).removeClass('icon');$('#edit-' + id).addClass('iconspacer');}
|
||||||
|
);
|
||||||
|
|
||||||
|
|
||||||
|
$('.savedsearchdrop').hover(
|
||||||
|
function() {
|
||||||
|
$(this).addClass('drop'); $(this).addClass('icon'); $(this).removeClass('iconspacer');},
|
||||||
|
function() {
|
||||||
|
$(this).removeClass('drop'); $(this).removeClass('icon'); $(this).addClass('iconspacer');}
|
||||||
|
);
|
||||||
|
|
||||||
|
$('.savedsearchterm').hover(
|
||||||
|
function() {
|
||||||
|
id = $(this).attr('id');
|
||||||
|
$('#drop-' + id).addClass('icon'); $('#drop-' + id).addClass('drophide'); $('#drop-' + id).removeClass('iconspacer');},
|
||||||
|
|
||||||
|
function() {
|
||||||
|
id = $(this).attr('id');
|
||||||
|
$('#drop-' + id).removeClass('icon');$('#drop-' + id).removeClass('drophide'); $('#drop-' + id).addClass('iconspacer');}
|
||||||
|
);
|
||||||
|
|
||||||
|
});
|
||||||
|
|
||||||
|
*/
|
||||||
|
</script>
|
||||||
|
EOT;
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in a new issue