Merge pull request #545 from annando/master

New bbcode: "share", caching of photos and some changes to "vier"
This commit is contained in:
friendica 2012-12-19 03:13:42 -08:00
commit ecc55221af
15 changed files with 354 additions and 41 deletions

View file

@ -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);

View file

@ -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);

View file

@ -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("<", "&lt;", $Text); $Text = str_replace("<", "&lt;", $Text);
$Text = str_replace(">", "&gt;", $Text); $Text = str_replace(">", "&gt;", $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);

View file

@ -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-");

View file

@ -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'));

View file

@ -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;
} }

View file

@ -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-");

View file

@ -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']);

View file

@ -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;

View file

@ -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 .= "&nbsp;-&nbsp;"; $o .= "&nbsp;-&nbsp;";
$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>';
} }

View file

@ -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
} }

View file

@ -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, ''),

View file

@ -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 }}

View file

@ -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;
} }

View file

@ -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;
}