From 35128ef2c95d8f76afd3edea594623cc265da673 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Mon, 27 Feb 2012 22:01:17 +0000 Subject: [PATCH 001/153] Avoid a Notice --- include/event.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/event.php b/include/event.php index 4a9a9a004..29202badd 100755 --- a/include/event.php +++ b/include/event.php @@ -163,7 +163,7 @@ function bbtoevent($s) { if(preg_match("/\[event\-adjust\](.*?)\[\/event\-adjust\]/is",$s,$match)) $ev['adjust'] = $match[1]; $match = ''; - $ev['nofinish'] = (($ev['start'] && (!x($ev, 'finish') || !$ev['finish'])) ? 1 : 0); + $ev['nofinish'] = (((x($ev, 'start') && $ev['start']) && (!x($ev, 'finish') || !$ev['finish'])) ? 1 : 0); return $ev; } From e33c2b8f89d0174b6b2bcbd31d8d89c2ee664340 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Mon, 27 Feb 2012 22:08:00 +0000 Subject: [PATCH 002/153] Avoid a Notice --- include/items.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/include/items.php b/include/items.php index 7d52571c2..5452dfbda 100755 --- a/include/items.php +++ b/include/items.php @@ -682,7 +682,7 @@ function item_store($arr,$force_parent = false) { unset($arr['dsprsig']); } - if($arr['gravity']) + if(x($arr, 'gravity')) $arr['gravity'] = intval($arr['gravity']); elseif($arr['parent-uri'] === $arr['uri']) $arr['gravity'] = 0; @@ -800,6 +800,8 @@ function item_store($arr,$force_parent = false) { logger('item_store: item parent was not found - ignoring item'); return 0; } + + $parent_deleted = 0; } } From 7c30fca98186538eff731519bdd0c76527237192 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Mon, 27 Feb 2012 22:17:57 +0000 Subject: [PATCH 003/153] Avoid a Notice --- boot.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boot.php b/boot.php index 54f318e5e..c89dae27c 100755 --- a/boot.php +++ b/boot.php @@ -1335,7 +1335,7 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){ array( 'label' => t('Profile'), 'url' => $url.'/?tab=profile', - 'sel' => (($tab=='profile')?'active':''), + 'sel' => ((isset($tab) && $tab=='profile')?'active':''), ), array( 'label' => t('Photos'), From e55d13c2b4425183dde64da8ca27c794f4c04900 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Tue, 28 Feb 2012 12:56:16 +0000 Subject: [PATCH 004/153] Avoid a notice --- include/items.php | 1 + 1 file changed, 1 insertion(+) diff --git a/include/items.php b/include/items.php index 5452dfbda..5268dfc1d 100755 --- a/include/items.php +++ b/include/items.php @@ -742,6 +742,7 @@ function item_store($arr,$force_parent = false) { if($arr['parent-uri'] === $arr['uri']) { $parent_id = 0; + $parent_deleted = 0; $allow_cid = $arr['allow_cid']; $allow_gid = $arr['allow_gid']; $deny_cid = $arr['deny_cid']; From 1204210c69eade767bb19af5a5a18cee4a9db215 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Tue, 28 Feb 2012 13:01:58 +0000 Subject: [PATCH 005/153] wasn't actually changed before --- include/conversation.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/conversation.php b/include/conversation.php index 53369cf20..6f0dc3687 100755 --- a/include/conversation.php +++ b/include/conversation.php @@ -976,8 +976,8 @@ function conv_sort($arr,$order) { usort($parents,'sort_thr_commented'); if(count($parents)) - foreach($parents as $x) - $x['children'] = array(); + foreach($parents as $i=>$_x) + $parents[$i]['children'] = array(); foreach($arr as $x) { if($x['id'] != $x['parent']) { From f48556cbc08c0600e256f5964a553c666ee66372 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Tue, 28 Feb 2012 13:40:41 +0000 Subject: [PATCH 006/153] contact.network is used later to check if a direct link or a redirect by /redir/contactid should be used --- mod/message.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod/message.php b/mod/message.php index 4b494e906..e293d62d9 100755 --- a/mod/message.php +++ b/mod/message.php @@ -176,7 +176,7 @@ function message_content(&$a) { $a->set_pager_total($r[0]['total']); $r = q("SELECT max(`mail`.`created`) AS `mailcreated`, min(`mail`.`seen`) AS `mailseen`, - `mail`.* , `contact`.`name`, `contact`.`url`, `contact`.`thumb` + `mail`.* , `contact`.`name`, `contact`.`url`, `contact`.`thumb` , `contact`.`network` FROM `mail` LEFT JOIN `contact` ON `mail`.`contact-id` = `contact`.`id` WHERE `mail`.`uid` = %d AND `from-url` $eq '%s' GROUP BY `parent-uri` ORDER BY `created` DESC LIMIT %d , %d ", intval(local_user()), From 36a1a43f06dc2a0d55463c83154cce55fa3948ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Tue, 28 Feb 2012 13:42:12 +0000 Subject: [PATCH 007/153] Avoid notices --- boot.php | 2 +- mod/dfrn_request.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/boot.php b/boot.php index c89dae27c..e39504e11 100755 --- a/boot.php +++ b/boot.php @@ -1209,7 +1209,7 @@ function current_theme(){ $a = get_app(); $system_theme = ((isset($a->config['system']['theme'])) ? $a->config['system']['theme'] : ''); - $theme_name = ((is_array($_SESSION) && x($_SESSION,'theme')) ? $_SESSION['theme'] : $system_theme); + $theme_name = ((isset($_SESSION) && x($_SESSION,'theme')) ? $_SESSION['theme'] : $system_theme); if($theme_name && file_exists('view/theme/' . $theme_name . '/style.css')) return($theme_name); diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php index bc159137d..452fec166 100755 --- a/mod/dfrn_request.php +++ b/mod/dfrn_request.php @@ -43,7 +43,7 @@ function dfrn_request_post(&$a) { return; - if($_POST['cancel']) { + if(x($_POST, 'cancel')) { goaway(z_root()); } From 5bb8ed4b8b5310acc8556ef2fba7b3958284b2a6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Tue, 28 Feb 2012 21:56:42 +0000 Subject: [PATCH 008/153] Mostly some checks in order to avoid Notices; 1 real bugfix in /mod/network.php --- include/conversation.php | 5 +++-- include/oembed.php | 2 +- include/template_processor.php | 9 +++++++-- mod/network.php | 14 ++++++++------ 4 files changed, 19 insertions(+), 11 deletions(-) diff --git a/include/conversation.php b/include/conversation.php index 9f564843e..bd9b11bee 100755 --- a/include/conversation.php +++ b/include/conversation.php @@ -373,7 +373,8 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { $comments[$item['parent']] = 1; else $comments[$item['parent']] += 1; - } + } elseif(! x($comments,$item['parent'])) + $comments[$item['parent']] = 0; // avoid notices later on } // map all the like/dislike activities for each parent item @@ -921,7 +922,7 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) { $o .= replace_macros($tpl,array( '$return_path' => $a->cmd, '$action' => $a->get_baseurl().'/item', - '$share' => (($x['button']) ? $x['button'] : t('Share')), + '$share' => (x($x,'button') ? $x['button'] : t('Share')), '$upload' => t('Upload photo'), '$shortupload' => t('upload photo'), '$attach' => t('Attach file'), diff --git a/include/oembed.php b/include/oembed.php index 5c3c595f5..52068efc7 100755 --- a/include/oembed.php +++ b/include/oembed.php @@ -62,7 +62,7 @@ function oembed_fetch_url($embedurl){ function oembed_format_object($j){ $embedurl = $j->embedurl; - $jhtml = oembed_iframe($j->embedurl,$j->width,$j->height ); + $jhtml = oembed_iframe($j->embedurl,(isset($j->width) ? $j->width : null), (isset($j->height) ? $j->height : null) ); $ret=""; switch ($j->type) { case "video": { diff --git a/include/template_processor.php b/include/template_processor.php index 28c3f07dd..7a4cba64e 100755 --- a/include/template_processor.php +++ b/include/template_processor.php @@ -92,8 +92,13 @@ */ private function _replcb_for($args){ $m = array_map('trim', explode(" as ", $args[2])); - list($keyname, $varname) = explode("=>",$m[1]); - if (is_null($varname)) { $varname=$keyname; $keyname=""; } + $x = explode("=>",$m[1]); + if (count($x) == 1) { + $varname = $x[0]; + $keyname = ""; + } else { + list($keyname, $varname) = $x; + } if ($m[0]=="" || $varname=="" || is_null($varname)) die("template error: 'for ".$m[0]." as ".$varname."'") ; //$vals = $this->r[$m[0]]; $vals = $this->_get_var($m[0]); diff --git a/mod/network.php b/mod/network.php index 03a671b61..26265f5a0 100755 --- a/mod/network.php +++ b/mod/network.php @@ -44,7 +44,7 @@ function network_init(&$a) { } $a->page['aside'] .= group_side('network','network',true,$group_id); - $a->page['aside'] .= networks_widget($a->get_baseurl() . '/network',(($_GET['nets']) ? $_GET['nets'] : '')); + $a->page['aside'] .= networks_widget($a->get_baseurl() . '/network',(x($_GET, 'nets') ? $_GET['nets'] : '')); $a->page['aside'] .= saved_searches($search); } @@ -130,15 +130,15 @@ function network_content(&$a, $update = 0) { $starred_active = 'active'; } - if($_GET['bmark']) { + if(x($_GET,'bmark')) { $bookmarked_active = 'active'; } - if($_GET['conv']) { + if(x($_GET,'conv')) { $conv_active = 'active'; } - if($_GET['spam']) { + if(x($_GET,'spam')) { $spam_active = 'active'; } @@ -245,7 +245,7 @@ function network_content(&$a, $update = 0) { $def_acl = array('allow_cid' => '<' . intval($cid) . '>'); if(! $update) { - if(group) { + if($group) { if(($t = group_public_members($group)) && (! get_pconfig(local_user(),'system','nowarn_insecure'))) { notice( sprintf( tt('Warning: This group contains %s member from an insecure network.', 'Warning: This group contains %s members from an insecure network.', @@ -492,7 +492,9 @@ function network_content(&$a, $update = 0) { $items = conv_sort($items,$ordering); - } + } else { + $items = array(); + } } From 52ea842e872cc004fd012496c828e9fb6186bec9 Mon Sep 17 00:00:00 2001 From: Michael Date: Fri, 2 Mar 2012 10:33:39 +0100 Subject: [PATCH 009/153] html2bbcode: don't convert sizes and fonts. --- include/html2bbcode.php | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/include/html2bbcode.php b/include/html2bbcode.php index 65920380b..442e38691 100755 --- a/include/html2bbcode.php +++ b/include/html2bbcode.php @@ -10,7 +10,7 @@ Originally made for the syncom project: http://wiki.piratenpartei.de/Syncom function node2bbcode(&$doc, $oldnode, $attributes, $startbb, $endbb) { do { - $done = node2bbcodesub(&$doc, $oldnode, $attributes, $startbb, $endbb); + $done = node2bbcodesub($doc, $oldnode, $attributes, $startbb, $endbb); } while ($done); } @@ -150,10 +150,14 @@ function html2bbcode($message) node2bbcode($doc, 'font', array('size'=>'/(\d+)/'), '[size=$1]', '[/size]'); node2bbcode($doc, 'font', array('color'=>'/(.+)/'), '[color=$1]', '[/color]'); - node2bbcode($doc, 'span', array('style'=>'/.*color:\s*(.+?)[,;].*/'), '[color="$1"]', '[/color]'); - node2bbcode($doc, 'span', array('style'=>'/.*font-size:\s*(\d+)/'), '[size=$1]', '[/size]'); + // Untested + //node2bbcode($doc, 'span', array('style'=>'/.*font-size:\s*(.+?)[,;].*font-family:\s*(.+?)[,;].*color:\s*(.+?)[,;].*/'), '[size=$1][font=$2][color=$3]', '[/color][/font][/size]'); + //node2bbcode($doc, 'span', array('style'=>'/.*font-size:\s*(\d+)[,;].*/'), '[size=$1]', '[/size]'); + //node2bbcode($doc, 'span', array('style'=>'/.*font-size:\s*(.+?)[,;].*/'), '[size=$1]', '[/size]'); + node2bbcode($doc, 'span', array('style'=>'/.*color:\s*(.+?)[,;].*/'), '[color="$1"]', '[/color]'); //node2bbcode($doc, 'span', array('style'=>'/.*font-family:\s*(.+?)[,;].*/'), '[font=$1]', '[/font]'); + //node2bbcode($doc, 'div', array('style'=>'/.*font-family:\s*(.+?)[,;].*font-size:\s*(\d+?)pt.*/'), '[font=$1][size=$2]', '[/size][/font]'); //node2bbcode($doc, 'div', array('style'=>'/.*font-family:\s*(.+?)[,;].*font-size:\s*(\d+?)px.*/'), '[font=$1][size=$2]', '[/size][/font]'); //node2bbcode($doc, 'div', array('style'=>'/.*font-family:\s*(.+?)[,;].*/'), '[font=$1]', '[/font]'); From 02a9fd5dc1d1d9e848e2f406f2e13c4cf0ce228b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Sat, 3 Mar 2012 10:44:34 +0000 Subject: [PATCH 010/153] A 'PHP Fatal error: Call to a member function getElementsByTagName() on a non-object in mod/parse_url.php on line 191' occurred when the linked HTML-File doesn't have a HEAD. The HTML-file couln't be link to in the editor therefore. --- mod/parse_url.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod/parse_url.php b/mod/parse_url.php index e0b378f68..27dac4d5d 100755 --- a/mod/parse_url.php +++ b/mod/parse_url.php @@ -188,7 +188,7 @@ function parse_url_content(&$a) { if(! $text) { logger('parsing meta'); - $items = $domhead->getElementsByTagName('meta'); + $items = (isset($domhead) && is_object($domhead) ? $domhead->getElementsByTagName('meta') : null); if($items) { foreach($items as $item) { $property = $item->getAttribute('property'); From fbc017cdba81fa7b159bca5fd0b3a4fb4885c5ad Mon Sep 17 00:00:00 2001 From: Alexander Kampmann Date: Mon, 5 Mar 2012 22:22:10 +0100 Subject: [PATCH 011/153] added test blueprints, fixed? encoding issues --- tests/xss_filter_tests.php | 140 +++++++++++++++++++++++++++++++++++++ view/de/strings.php | 20 +++--- 2 files changed, 150 insertions(+), 10 deletions(-) create mode 100644 tests/xss_filter_tests.php diff --git a/tests/xss_filter_tests.php b/tests/xss_filter_tests.php new file mode 100644 index 000000000..2d29e390a --- /dev/null +++ b/tests/xss_filter_tests.php @@ -0,0 +1,140 @@ +' + +$validstring=notags($invalidstring); +$escapedString=escape_tags($invalidstring); + +assert("[submit type="button" onclick="alert(\'failed!\');" /]", $validstring); +assert("what ever", $escapedString); + +/** +*autonames should be random, even length +*/ +$autoname1=autoname(10); +$autoname2=autoname(10); + +assertNotEquals($autoname1, $autoname2); + +/** +*autonames should be random, odd length +*/ +$autoname1=autoname(9); +$autoname2=autoname(9); + +assertNotEquals($autoname1, $autoname2); + +/** +* try to fail autonames +*/ +$autoname1=autoname(0); +$autoname2=autoname(MAX_VALUE); +$autoname3=autoname(1); +assert(count($autoname1), 0); +assert(count($autoname2), MAX_VALUE); +assert(count($autoname3), 1); + +/** +*xmlify and unxmlify +*/ +$text="I want to break\n this!11!" +$xml=xmlify($text); //test whether it actually may be part of a xml document +$retext=unxmlify($text); + +assert($text, $retext); + +/** +* test hex2bin and reverse +*/ + +assert(-3, hex2bin(bin2hex(-3))); +assert(0, hex2bin(bin2hex(0))); +assert(12, hex2bin(bin2hex(12))); +assert(MAX_INT, hex2bin(bin2hex(MAX_INT))); + +/** +* test expand_acl +*/ +$text="<1><2><3>"; +assert(array(1, 2, 3), $text); + +$text="<1><279012><15>"; +assert(array(1, 279012, 15), $text); + +$text="<1><279012>"; //maybe that's invalid +assert(array(1, 279012, "tt"), $text); + +$text="<1><279 012>"; //maybe that's invalid +assert(array(1, "279 012", "tt"), $text); + +$text=""; //maybe that's invalid +assert(array(), $text); + +$text="According to documentation, that's invalid. "; //should be invalid +assert(array(), $text); + +$text=" diff --git a/view/de/strings.php b/view/de/strings.php index 284c87f2f..2d29f69e2 100755 --- a/view/de/strings.php +++ b/view/de/strings.php @@ -4,7 +4,7 @@ function string_plural_select_de($n){ return ($n != 1); } ; -$a->strings["Post successful."] = "Beitrag erfolgreich veröffentlicht."; +$a->strings["Post successful."] = "Beitrag erfolgreich veröffentlicht."; $a->strings["[Embedded content - reload page to view]"] = "[Eingebetteter Inhalt - Seite neu laden zum Betrachten]"; $a->strings["Contact settings applied."] = "Einstellungen zum Kontakt angewandt."; $a->strings["Contact update failed."] = "Konnte den Kontakt nicht aktualisieren."; @@ -12,15 +12,15 @@ $a->strings["Permission denied."] = "Zugriff verweigert."; $a->strings["Contact not found."] = "Kontakt nicht gefunden."; $a->strings["Repair Contact Settings"] = "Kontakt-Einstellungen reparieren"; $a->strings["WARNING: This is highly advanced and if you enter incorrect information your communications with this contact may stop working."] = "ACHTUNG: Das sind Experten-Einstellungen! Wenn Du etwas falsches eingibst, funktioniert die Kommunikation mit diesem Kontakt evtl. nicht mehr."; -$a->strings["Please use your browser 'Back' button now if you are uncertain what to do on this page."] = "Bitte nutze den Zurück-Button deines Browsers jetzt, wenn du dir unsicher bist, was auf dieser Seite gemacht wird."; -$a->strings["Return to contact editor"] = "Zurück zum Kontakteditor"; +$a->strings["Please use your browser 'Back' button now if you are uncertain what to do on this page."] = "Bitte nutze den Zurück-Button deines Browsers jetzt, wenn du dir unsicher bist, was auf dieser Seite gemacht wird."; +$a->strings["Return to contact editor"] = "Zurück zum Kontakteditor"; $a->strings["Name"] = "Name"; $a->strings["Account Nickname"] = "Account-Spitzname"; -$a->strings["@Tagname - overrides Name/Nickname"] = "@Tagname - überschreibt Name/Spitzname"; +$a->strings["@Tagname - overrides Name/Nickname"] = "@Tagname - überschreibt Name/Spitzname"; $a->strings["Account URL"] = "Account-URL"; -$a->strings["Friend Request URL"] = "URL für Freundschaftsanfragen"; -$a->strings["Friend Confirm URL"] = "URL für Bestätigungen von Freundschaftsanfragen"; -$a->strings["Notification Endpoint URL"] = "URL-Endpunkt für Benachrichtigungen"; +$a->strings["Friend Request URL"] = "URL für Freundschaftsanfragen"; +$a->strings["Friend Confirm URL"] = "URL für Bestätigungen von Freundschaftsanfragen"; +$a->strings["Notification Endpoint URL"] = "URL-Endpunkt für Benachrichtigungen"; $a->strings["Poll/Feed URL"] = "Pull/Feed-URL"; $a->strings["New photo from this URL"] = "Neues Foto von dieser URL"; $a->strings["Submit"] = "Senden"; @@ -28,7 +28,7 @@ $a->strings["Help:"] = "Hilfe:"; $a->strings["Help"] = "Hilfe"; $a->strings["Not Found"] = "Nicht gefunden"; $a->strings["Page not found."] = "Seite nicht gefunden."; -$a->strings["File exceeds size limit of %d"] = "Die Datei ist größer als das erlaubte Limit von %d"; +$a->strings["File exceeds size limit of %d"] = "Die Datei ist größer als das erlaubte Limit von %d"; $a->strings["File upload failed."] = "Hochladen der Datei fehlgeschlagen."; $a->strings["Friend suggestion sent."] = "Kontaktvorschlag gesendet."; $a->strings["Suggest Friends"] = "Kontakte vorschlagen"; @@ -40,7 +40,7 @@ $a->strings["link to source"] = "Link zum Originalbeitrag"; $a->strings["Events"] = "Veranstaltungen"; $a->strings["Create New Event"] = "Neue Veranstaltung erstellen"; $a->strings["Previous"] = "Vorherige"; -$a->strings["Next"] = "Nächste"; +$a->strings["Next"] = "Nächste"; $a->strings["hour:minute"] = "Stunde:Minute"; $a->strings["Event details"] = "Veranstaltungsdetails"; $a->strings["Format is %s %s. Starting date and Description are required."] = "Format ist %s %s. Anfangsdatum und Beschreibung sind notwendig."; @@ -643,7 +643,7 @@ $a->strings["Site name"] = "Seitenname"; $a->strings["Banner/Logo"] = "Banner/Logo"; $a->strings["System language"] = "Systemsprache"; $a->strings["System theme"] = "Systemweites Thema"; -$a->strings["Maximum image size"] = "Maximale Größe von Bildern"; +$a->strings["Maximum image size"] = "Maximale Größe von Bildern"; $a->strings["Register policy"] = "Registrierungsmethode"; $a->strings["Register text"] = "Registrierungstext"; $a->strings["Accounts abandoned after x days"] = "Accounts gelten nach x Tagen als unbenutzt"; From d90c830332899629a6016f1767bb7dff7d0d56a9 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Wed, 7 Mar 2012 22:30:46 -0500 Subject: [PATCH 012/153] Merge branch 'master', remote-tracking branch 'remotes/upstream/master' * remotes/upstream/master: still getting parent relays on remote systems revup * master: From 185fcd0701946babf61066b49582225286061563 Mon Sep 17 00:00:00 2001 From: Alexander Kampmann Date: Thu, 8 Mar 2012 17:43:12 +0100 Subject: [PATCH 013/153] better tests --- build.xml | 52 ++++++++- tests/xss_filter_test.php | 217 +++++++++++++++++++++++++++++++++++++ tests/xss_filter_tests.php | 140 ------------------------ 3 files changed, 265 insertions(+), 144 deletions(-) create mode 100644 tests/xss_filter_test.php delete mode 100644 tests/xss_filter_tests.php diff --git a/build.xml b/build.xml index 83c530026..0f5745072 100644 --- a/build.xml +++ b/build.xml @@ -1,14 +1,58 @@ - + + + set_include_path( + get_include_path() . PATH_SEPARATOR + . 'include' . PATH_SEPARATOR + . 'library' . PATH_SEPARATOR + . 'library/phpsec' . PATH_SEPARATOR + . '.' ); + + + + + + + + + + + + + + + + + + - - - + + + + + + + + + + + + + + + + + + + + + + diff --git a/tests/xss_filter_test.php b/tests/xss_filter_test.php new file mode 100644 index 000000000..e480ef7ec --- /dev/null +++ b/tests/xss_filter_test.php @@ -0,0 +1,217 @@ +'; + + $validstring=notags($invalidstring); + $escapedString=escape_tags($invalidstring); + + $this->assertEquals('[submit type="button" onclick="alert(\'failed!\');" /]', $validstring); + $this->assertEquals("<submit type="button" onclick="alert('failed!');" />", $escapedString); + } + + /** + *autonames should be random, even length + */ + public function testAutonameEven() { + $autoname1=autoname(10); + $autoname2=autoname(10); + + $this->assertNotEquals($autoname1, $autoname2); + } + + /** + *autonames should be random, odd length + */ + public function testAutonameOdd() { + $autoname1=autoname(9); + $autoname2=autoname(9); + + $this->assertNotEquals($autoname1, $autoname2); + } + + /** + * try to fail autonames + */ + public function testAutonameNoLength() { + $autoname1=autoname(0); + $this->assertEquals(0, count($autoname1)); + } + + public function testAutonameNegativeLength() { + $autoname1=autoname(-23); + $this->assertEquals(0, count($autoname1)); + } + +// public function testAutonameMaxLength() { +// $autoname2=autoname(PHP_INT_MAX); +// $this->assertEquals(PHP_INT_MAX, count($autoname2)); +// } + + public function testAutonameLength1() { + $autoname3=autoname(1); + $this->assertEquals(1, count($autoname3)); + } + + /** + *xmlify and unxmlify + */ + public function testXmlify() { + $text="I want to break\n this!11!"; + $xml=xmlify($text); //test whether it actually may be part of a xml document + $retext=unxmlify($text); + + $this->assertEquals($text, $retext); + } + + /** + * test hex2bin and reverse + */ + + public function testHex2Bin() { + $this->assertEquals(-3, hex2bin(bin2hex(-3))); + $this->assertEquals(0, hex2bin(bin2hex(0))); + $this->assertEquals(12, hex2bin(bin2hex(12))); + $this->assertEquals(PHP_INT_MAX, hex2bin(bin2hex(PHP_INT_MAX))); + } + + /** + * test expand_acl + */ + public function testExpandAclNormal() { + $text="<1><2><3>"; + $this->assertEquals(array(1, 2, 3), expand_acl($text)); + } + + public function testExpandAclBigNumber() { + $text="<1><279012><15>"; + $this->assertEquals(array(1, 279012, 15), expand_acl($text)); + } + + public function testExpandAclString() { + $text="<1><279012>"; //maybe that's invalid + $this->assertEquals(array(1, 279012, 'tt'), expand_acl($text)); + } + + public function testExpandAclSpace() { + $text="<1><279 012><32>"; //maybe that's invalid + $this->assertEquals(array(1, "279 012", "32"), expand_acl($text)); + } + + public function testExpandAclEmpty() { + $text=""; //maybe that's invalid + $this->assertEquals(array(), expand_acl($text)); + } + + public function testExpandAclNoBrackets() { + $text="According to documentation, that's invalid. "; //should be invalid + $this->assertEquals(array(), expand_acl($text)); + } + + public function testExpandAclJustOneBracket1() { + $text="assertEquals(array(), expand_acl($text)); + } + + public function testExpandAclJustOneBracket2() { + $text="Another invalid> string"; //should be invalid + $this->assertEquals(array(), expand_acl($text)); + } + + public function testExpandAclCloseOnly() { + $text="Another> invalid> string>"; //should be invalid + $this->assertEquals(array(), expand_acl($text)); + } + + public function testExpandAclOpenOnly() { + $text="assertEquals(array(), expand_acl($text)); + } + + public function testExpandAclNoMatching1() { + $text=" invalid "; //should be invalid + $this->assertEquals(array(), expand_acl($text)); + } + + public function testExpandAclNoMatching2() { + $text="<1>2><3>"; + $this->assertEquals(array(), expand_acl($text)); + } + + /** + * test attribute contains + */ + public function testAttributeContains1() { + $testAttr="class1 notclass2 class3"; + $this->assertTrue(attribute_contains($testAttr, "class3")); + $this->assertFalse(attribute_contains($testAttr, "class2")); + } + + /** + * test attribute contains + */ + public function testAttributeContains2() { + $testAttr="class1 not-class2 class3"; + $this->assertTrue(attribute_contains($testAttr, "class3")); + $this->assertFalse(attribute_contains($testAttr, "class2")); + } + + public function testAttributeContainsEmpty() { + $testAttr=""; + $this->assertFalse(attribute_contains($testAttr, "class2")); + } + + public function testAttributeContainsSpecialChars() { + $testAttr="--... %\$ä() /(=?}"; + $this->assertFalse(attribute_contains($testAttr, "class2")); + } + + /** + * test get_tags + */ + public function testGetTags() { + $text="hi @Mike, I'm just writing #test_cases, " + ." so @somebody@friendica.com may change #things. Of course I " + ."look for a lot of #pitfalls, like #tags at the end of a sentence " + ."@comment. I hope noone forgets about @fullstops.because that might" + ." break #things. @Mike@campino@friendica.eu is also #nice, isn't it? " + ."Now, add a @first_last tag. "; + //check whether this are all variants (no, auto-stuff is missing). + + $tags=get_tags($text); + + $this->assertEquals("@Mike", $tags[0]); + $this->assertEquals("#test_cases", $tags[1]); + $this->assertEquals("@somebody@friendica.com", $tags[2]); + $this->assertEquals("#things", $tags[3]); + $this->assertEquals("#pitfalls", $tags[4]); + $this->assertEquals("#tags", $tags[5]); + $this->assertEquals("@comment", $tags[6]); + $this->assertEquals("@fullstops", $tags[7]); + $this->assertEquals("#things", $tags[8]); + $this->assertEquals("@Mike", $tags[9]); + $this->assertEquals("@campino@friendica.eu", $tags[10]); + $this->assertEquals("#nice", $tags[11]); + $this->assertEquals("@first_last", $tags[12]); + } + + public function testGetTagsEmpty() { + $tags=get_tags(""); + $this->assertEquals(0, count($tags)); + } +//function qp, quick and dirty?? +//get_mentions +//get_contact_block, bis Zeile 538 +} +?> diff --git a/tests/xss_filter_tests.php b/tests/xss_filter_tests.php deleted file mode 100644 index 2d29e390a..000000000 --- a/tests/xss_filter_tests.php +++ /dev/null @@ -1,140 +0,0 @@ -' - -$validstring=notags($invalidstring); -$escapedString=escape_tags($invalidstring); - -assert("[submit type="button" onclick="alert(\'failed!\');" /]", $validstring); -assert("what ever", $escapedString); - -/** -*autonames should be random, even length -*/ -$autoname1=autoname(10); -$autoname2=autoname(10); - -assertNotEquals($autoname1, $autoname2); - -/** -*autonames should be random, odd length -*/ -$autoname1=autoname(9); -$autoname2=autoname(9); - -assertNotEquals($autoname1, $autoname2); - -/** -* try to fail autonames -*/ -$autoname1=autoname(0); -$autoname2=autoname(MAX_VALUE); -$autoname3=autoname(1); -assert(count($autoname1), 0); -assert(count($autoname2), MAX_VALUE); -assert(count($autoname3), 1); - -/** -*xmlify and unxmlify -*/ -$text="I want to break\n this!11!" -$xml=xmlify($text); //test whether it actually may be part of a xml document -$retext=unxmlify($text); - -assert($text, $retext); - -/** -* test hex2bin and reverse -*/ - -assert(-3, hex2bin(bin2hex(-3))); -assert(0, hex2bin(bin2hex(0))); -assert(12, hex2bin(bin2hex(12))); -assert(MAX_INT, hex2bin(bin2hex(MAX_INT))); - -/** -* test expand_acl -*/ -$text="<1><2><3>"; -assert(array(1, 2, 3), $text); - -$text="<1><279012><15>"; -assert(array(1, 279012, 15), $text); - -$text="<1><279012>"; //maybe that's invalid -assert(array(1, 279012, "tt"), $text); - -$text="<1><279 012>"; //maybe that's invalid -assert(array(1, "279 012", "tt"), $text); - -$text=""; //maybe that's invalid -assert(array(), $text); - -$text="According to documentation, that's invalid. "; //should be invalid -assert(array(), $text); - -$text=" From fbd7e8f8ba4a2736b231ee254e205b36e28d17cc Mon Sep 17 00:00:00 2001 From: Alexander Kampmann Date: Thu, 8 Mar 2012 17:44:57 +0100 Subject: [PATCH 014/153] excludes reports from git --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 6302bc1c8..2531fe4cd 100755 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,9 @@ addon #ignore documentation, it should be newly built doc/api +#ignore reports, should be generted with every build +report/ + #ignore config files from eclipse, we don't want IDE files in our repository .project .buildpath From 2e3116a11e020cd1f2bbe00b03c77210aad33fe5 Mon Sep 17 00:00:00 2001 From: Alexander Kampmann Date: Thu, 8 Mar 2012 17:46:40 +0100 Subject: [PATCH 015/153] added library and include to .htaccess --- .htaccess | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.htaccess b/.htaccess index 1df509670..5f9531a7e 100755 --- a/.htaccess +++ b/.htaccess @@ -5,6 +5,9 @@ AddType audio/ogg .oga Deny from all + +Deny from all + RewriteEngine on From 5fe8952c29a9a624f58110db317d221f64df3a7b Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Thu, 8 Mar 2012 13:37:45 -0500 Subject: [PATCH 016/153] make svg from notifications.svg to ease future editing. more dispy tweaks Signed-off-by: Simon L'nu --- view/theme/dispy/icons.png | Bin 28076 -> 28752 bytes view/theme/dispy/icons.svg | 72 +++++++- view/theme/dispy/nav.tpl | 6 + view/theme/dispy/notifications.png | Bin 2253 -> 3115 bytes view/theme/dispy/notifications.svg | 273 +++++++++++++++++++++++++++++ view/theme/dispy/style.css | 17 +- 6 files changed, 358 insertions(+), 10 deletions(-) mode change 100755 => 100644 view/theme/dispy/notifications.png create mode 100644 view/theme/dispy/notifications.svg diff --git a/view/theme/dispy/icons.png b/view/theme/dispy/icons.png index d9d58aa475ec08bfe8c44076240404a0ec5aa86f..a59a80358436e2c33cb50f5a7075876052f07bfc 100644 GIT binary patch delta 11689 zcmZWvcRbba`#$zevXd3!7$I39Gkb5z%E-g?(D9JVJXwJ3WyBlUZNzqgkZk$O!BhqA8!!%`$*wL(yuX6~8&*#9AV zywnxY>%P0*{O^3A*=xth-pR=cUy7M3D&ei_nh6$GNG9$T+Cy)>`;j>n7<}2tl0;O$ z)xh*B4bAm`kH{YB>gwuiYin~RDPO@*L`Ev-*q!mnX%YHPEdBB!aTNOdEmhEgTSZyf zF(D!0j>pCb?FySl#=9@;2Y7{rg$8DL2re!zas`FHAB(8V`SQr z;raCG)5=KZTh=Qy5fKr1j1vAL<~@;=s5hyG594U=$WT#GP^|s3Uv(^ z7k3K7<5j=a`ZICU%-QDJv%h~O&sO3jdtde}TS{J>}bg%LT{1c&wdq1XQ3d} z60Q#k(KPn+M31r$uB}nu8LjdON^tVBd7ARGJ#Z) zd?evYU!1W0Sb=^7t5+`Hf6mlgz&3vgN=fNQa&vo(d$iW` zahjONG2AzD;1|7j@20poUBKC)*4bZW>S>1g&-BhT#JJz)=l8dH!yP6(y()|Z0&ec^D#%DtJ#FnA-K&V7 z@N=EGw;FaTsm`p2x3*rpb+l121Z)^k=c6SF07$kti6G;iqTC|8OSJBcDT z5Fs5SeIJjOXp?X*_fVH&sGcV^)I%wE3-i9Rz8963mwzjX3aqZHJIcKMsQ#RviAiep z1}+M9sUx7q`=!61qu9T!G**>OR$X1a8a8}vcGf6AT7@xAn`7 zaH-Ze3U15+6d`Hc|a8cXX*w|1)j#L{<6!LnUw6VQ?7j>QZ#rudtW=l)U zut}X%&0o$V=G*+b7YX<7-Fv*)7QiPc7#0_IwXCd+i4>nHNqMyF;a%>B@3CQ@Wg4E& z*Uo0wMBVk;o5j<)tK;$ahvoFNOFS2;6k9^}^}_4=^4zkT`*a?A+3p&l-o&_FI0!YZ zL^gxv^Tb373^}a|BrnQeE5DGkZiC}hYHD+6PEi8lr(J5By``m&Gf#>*LnTfS7t*ZL z_xbR8<=4X&*>IBi0gLM0I_Ju7du}6H()?UprG^m?$VQsnZR+A^FD@<~!P^V%Z$H!0 ziibsW>mw;9OV|_osbXmb2fj>BPCkK65`6t`@Cl260LAGk>a^+FwQH53GLI##KZ}-X z8tdxjO}MXy;9cD?Y4OSjP%10G5aUTsdu(stY~S_bO4BTBOK~xWA-Dd&6gGWX>zuyc zUW@6f$0Dc;aese*mtV_rniM$2x{(v51}ht*xi6!l#?HQYvanIH$dmM?EDqIT>5YCB20no!z(+*z|b@3c_Jg-^sRS4S@B<2Wz#9oC@O+c}0TqGnWCf2wt$>7u|%F4=? z8CGLjREs!Gl;|n(rNBKQXucGC!n@6Wrm^*3k_}kGBEI4D}QHqx2;aE zRDb&_gZSIhVj`ZnKCZihf&mqQc~6maS;4^=`jw_JtDlo|Rg!u51O!5*nA+dme&llc z+xlgXMQAuG+_K|2&Ud#a7jN&r!8AdCTnBS=^Pr&glcA8?!?;ef^&LkJ%@fZ6suvN&>(Hj`?CkI`-XXFaXKQHM>%8|C zoV;9I_zIC*HxPgA$HoL+%pNAjzkaPPqcyIXC~Sh-ApFiZpyJ@!IWeJU#!8l6^0o)1 zt~EaLEzJ-1$?&##>7jEoF5>r6a9KfjaH(`>hT@w<1)$s+RVgnR)d3w~pp>g&JA z$zeWq;A2Z5NG+Jyg0_%ENlks#46cYfTf)OCpI;VLGmbR0v=%e(tv?M8sx7oWb9W02 z3`C*S27=(8rKM$NYLsqoAFmDGP|Xm(xBk5&Bpje>RQiU{IJw zGEltHcmnsI`cUkr&x2j>Z*koui$Yb|b?M_rIjCO{Mum|^bdyFrcq_W{NcHTAc%yyv zWvPzVS|djLH3I{K0EtXVhIZA|0y7UMp*jFW1)Ab|5z1zkhFLn<~-0e&Fy< zt909r6f;-ozFuBI!J1;ewj^Q`aSlAh(`iUy8?zOO*B{f(_z7Y~oto+THffTIb6MS9q_ zvEkv$=>D>27n4&{3gIO58}Ht|!&A1}!U=nT`t$QTgSbx+T!EXCl8h70e~>PJ|2T;U zoKaBo7)vQD6E=JARk-~eV;?5<-jkSoY8dnU95b(=sQzx`hi60)C;|$2^oD zd>x!;JJt`TFnyq>z<+NVc z)(Rxuwk_E%rnPZ)cFvB-;N<7$H`SpKBwm$pUi|GNUY>0A+oyFCDQt_x;FB49p1w6A zuw!j+Z{G@ZixjCQt$^MekSfK{*#MoGki0@&Md`+H!nx7IY z*$O-~tmUf{h1|W9zkiQ0__DIHn3R}E69=sLV~)PU>j?=7&%$23Xj^q_S_be{C^e{5 zr;d2=&wl$&ZZ!Nt5ZIJu#RFyxwJ}9CwVrqu1y(ta!N;7^w zp0%*JJg2$(o5nm-0lVLt7Sr#!vjr@5hMn&2?*8r@gLa)fVD&zPfq@}a=y)WR_LyAw z>9-(5?ic0d_8Jw+uo6DIudGmhKNn2=l>Qt!2s4pIJ+^en)o-ZELM*EPqt%X}5c5W& z1nYG12Gsq;m%gQ0LEZISfrK5Qx-*M>-To z=@}Ud_L7p4r>vuJw=LiBn(Z#FuA&4Z3N{6OeSOt6M^oyW8G`oSsupP9cXr-Gf4${> z#3%Rx0Plio9*TO916*E^`PMDDZTW3~iOVNY+Xlc_hjZ*w^D8SexhV)WtZi%x$Uy#d04v!q8LK*4m;mviah6eS`iHmA$2Gx4Y8ZhCq;^@L}Ny`A0W zc~B4{-{38Dh0iF&IRz!9r!JDhUU#kxy|WV~`l-X~k~IwtmyA(8zK`l$!|J>H`kX;9 zF&t6IDQWIX8#+sbre?j`pcnIcpsP!PjFdUvop(L7-O>Nh;Jhdgc>i?1IZX0G(}`-f zT1Ub7{D2HzGrVwre=eJ)Zo79uUU3?;d!aQEdoL?9z%34w; zF_}}UJWz7DJ;loyB>%U>`9q1W$S|qB^wRZzpW<1dk3EpHV*w(q7g+tM;VA${_dpWY z()KnHNqDZ?Pv?(xFXF53NNH6$KaQ(s;7pGl{m{p5yE#p!(xso}ch$`0i{3UFKK7ud zBI@wV7u9!S-Xy<%{i>?3f1$|wJRw0Rh8Io0+Ji9A?2U@sFo>GhbbL19HVX?m>YYT$ zN%*g->S}pAJC1iI_FK)3A}e=4V)!JS<33iAeRX(_^V`j{?FI`eJ|!}sN!aQW>CgEV zY6%Gm7dN-((2ys~9)>u7{72>Gd~niZHL8+2G-I79k<3*w|RxsS5hQ zv*NWTgaej|uP?HzKZHz4~+UBO?N}zg_u}lak9j_;#fp(mPnNMDO@pisWcTz@wk@CKZ1_ zV^B7W-}td6^skN?oGyD-rXao z&f!^^*q+L=qoq^7>v8;#CW0VB*>jQgW5>Lhy@yldTWWFYJHk&_2InYHR{J^z8(u}& zo#9d6aD-fbte^a_WTc_7-P^%MgoTBPpnhpzp*Fniz#7S~NgmpLFDKU{+SE>lABs9f zZDOi0ky2^*$g{aV?LS}tHX`2)7r#L z>(oeSX;=T}C2sofK)W0zZRMof+)n6ru*y@V#$oCv$1Z>?;1#SFUcpnfRkVvaH@E)i6?w+XTCr?(JEnIh+nd9-3 zc}$+?=ikyVGt92nm{VX32<6ZzU=kC%Q8!bZ{N~N_;pSM?`}Z=Mnxv7Dy0rb62;akv z;P2nft)4vLOhl05$KaHc&o3-6=oG5ssEq+|29=g_<>cnNuBpyHNqHnPZMpVy6O_K9 z#;_EZuz_(CMGR`J@S;fX_|MK<7LxFW@YC+!tDocJv%kG_-x$fJ;WJ094QIw(zx$*p zW_`BK0bcX>&rTO;Z@shifL}e-G(wIvZ0he`R#ov0lDv^Ri5uk{y+=p#{Q2`L&ux9( zvw#{y?&#}xaV`5|lcqWyi2B}z;M_c@cKt`i`cWNMQ(_Y(6u4{{ohd@%=Y46seOzhM z@&W)MG(6lAw1&^cx!HjpZb*unyV_(C*k@;Fu!piJSZ#Dn%&(s_ zcde|f+IxF(K_gbx)acA`_QOGJ<|XNJh6T4toD}sU4F zY74usTQ}}BS(Y-}UsVDw0W&KrHXR9Gp?Z3W`)h;OnVE6UZKt?z-nkT>ZNIb@ACPKBxPG^VW0eZ z#ezuSVW>Wy9_W*FF>m`LdNt3fN;9*)W^5T*mXA3q`PwK}R@R_?tIqaz#P#dfN5;mm z68gIn*fsVyMp@`YToC{M9{0gTWToa45|W3D$79kQ+S!>Z^h3LtB5sAe-Re$uVP$x2 zt;fdZc5siylG3t{c;h9hHtA z$6V@?x;dJ!%>n(0{qo(bSDGtCI5;@d^(eKL3luy{slmTFsg7=m4Gj(1_o-$|&<6(x8*Mf>HQ5PfNS#z_Zec#6ws#LMPkWk_ z$>qUo))uW0$FP}~oSA8s{pjvOjmsVCsbQ)QhOBQ+HC6I~-I0gKM=RoO9Q+f&MY_A4a==KS9`XBdQpj7Ja|k}BGK8JZ&#UvVa9W*+Vmu!BuRioZq2tNAn+ zWCmf@`NP%{jPMe4$B-(&RYgTb^)fp8L8*Q@MZMX_KomWQ1pV2YdgR>PU#jf~2^*W6 zk&Yj)xsy9gIR+WBPAWCLe)$r=DR(d!3(w`}bhYTF9=~NT@!`%KHNs_Y;l64Lf4->) zLFfzlI!exS2#<6m3aF$tEv%W+o#LSh#--HZ5{F^b%UK$v#MUqSt1f zGdDBSpXpv{`hj!Nv}sz_%*?EiOjk?{m0^55JK^wq=XkeQZ&Yx?sDblJ(uQ8$C(3kK z#PCN3nF`uKT*g%{+g#mBkse8_&$;?`%013lO!kyiM}I&Are>!z<1kp)K0=>)B|=( zm(YUH-Ux}O-$eXRSCfIcp!*!KM15Y2=ODl z6E^@NoflfA?ND}hA8y^#l)$?DGbr}*LH^O3ABg?^CE1rft9#3yDGHiBP#-_uOb%z< zFBLYy%+4M~j`mpG0Xm3-;N#~nX;{~(Rt&u_nItR&2qoj{`fp>Q$z9>XD@!7Cbg}hW z2-?p@DBfTL;LUvio7fB83z2wCQaRgQ#pCk~<@Z?nlQ^RNi=De}z0=n>J97;nwJ;G? z-g~C+L_JGPJ!EBM_-r*#Z-h)w8-7U@Ed8(83ML0cFoX9mv0{wPSC*IgP#6A)_7?9w zd-~ECqMsp+c=!Z7dmI_5uS?_`28QiDLPA1TjsM?$buw4X zA*aRa#`z;Tev5R0x*MlnxwW^q_pP`qrsy-zP$q?}I-Z1nDd@bU|E2`#&Ug4YN^T0! zz9e!?@(Dq$5A{Z^4_Cwe7VRz#2OeX!itloALg2QoZc9N*Jss(jqRKYw=QGaH|9OSd z^7EV9Zg32D+DE$eC=uX6;cI9N8}-?4mk=VrFim=-Upx+2ps!QX_ej&wkQXqriBE{X zq=qC|)2yi6(|N4m3K;WIq_rU4h{l`sfr}t;~y>}`1ttk24(?a(54*H_o2u2*4mA| zdi(YzaG_@?cL-%5bie>VqYucEhq4d&o7mXcS>QEP)z*d@a?7LK-1uV|?sIxqP2l`5 zqQJnyBMGgm6MVpY&9v1gINhJFumb@&h$6Xj5y>{1T2s^y1?CC~V7CJgQ(red( zfn1#LcU?tsrpf8{_4MFGQQektbmXSuHH`*O2h2hrUtf#yBCQP&=MYfj9I5(jPnK5) z{_}mHpkO&$Yp1BB6r7R4AnLsv9YM~X16XR<IJPUQsR9I>o10+JjVLEW(*)T9$AEea;t_4K_F}TDziUtA(D~8u zeLzuJxf6Pw%h{n_jOSH4ksz>&n8Eg&bS1{cl9rY>Z1K7cL1kiWwjC{$kCc|ywX@^B z%F&DK#JKtu#u0G(tnBQib{P2}j_ zUL@Tegn{J(>@#MKNyu?JsJ*>iR5*i)ls1wra{~*PxM+!KWoao`D_8y|A0H_R3CV9> z98)lNt`;jjkk;J+^#c54W3oKWX#R26izNVD!nxMgRzBC|2k0jU=J0zbKR^FvWMpSy zW}s1D?oCqK7i{UM4G`I|mq_G^_f7)@3qVF)e|)+|C*e<1QBmPWPKbCJ8!JCmVd5|$ z2(|-gez19e%mE`Xx3GBr!SC1tpb^Y-gOU5_1R_8wo;cg}YaaRh;9z-gx#wKH(`xT4 z1lp7I@$va2X=80&oc{e_e_u*Q=6Pp*EQ(%ixi9<6SqvWtFQ|S*p6}>oSk{6(Bk+%$VK&ZGjVeh(~&6Hm@veJ-%@$=z4c9;05EMC zWAoA;v8{t^o|7QC6OEHazWnb^!8apNK*~s|4Jn(iT;mPiZ)4)Ax|D9k?)>`#RJKd& zkID2AnvnsVH(g8ZgM(KrLFiQM^V+SLWJk((KWJJ_`K-j;`5RT5@*val73hDO;pKiKp|-`&(;+Y2oOPSxace&?}C2H<-0 zQXJ*IYh3OD{`Q}}MKjC6Q)t%}qN-~pVGCj702sFn1 zJ6?p^R#a3Bii%Q6S69XEM4^IbbKF%_RM3unN=gdkojvQBs91P18Ez_B4UMaS>4cx} z3HHDqfJX;gV*EeNfn4cYPBC@msJ{0(aIbc|8 z8?SAmy`pX#ZF{un?C2N`p%SECkZ6R4h26Y)6GNvEr5*-&IwbuzC1oiSbrHW^VfK*$ zvNS10MSPgHC`c$sOH2EPkA`huInAPKG2;5L5Mby} z%_TKJz6!=W4uT0FPL-|ZKdO^AY2yJHfL1+=0mt+~ZY_D>%0Q2nVvf(s%fkkg0{>HY z-#|wJT|2b2kwCyP5CG477Tx$w6`IJL-pVVPIZ~d7HDe;pDBJ<}#eEMIS)l0#`qi0Fr{{#?B z6AqOF9q9%i1>Jq04K`^a$4ioDUfq=azPcI)eRksS&t}Ny<>MIOdkNHN!yX6=2y}x% zRP8h;)arYr-1dRLABxnoSx`_&s2BFI%J;}Vj5%$9HB;C*V+hsI3WGVnQ%(c_opE$u z8F%uU2l^{@8j;srE|6lvE^v$D;t@nq!Ry1BQx31OR#$5PQjaozAmERr0@6#7JXBE~ zE5D?)C~Q+Jl36RqJzZR0ZBH7!R$+ZjJG_`WR52z0@ZrOlb!Yw-b=v`CV>=r=`^xFT z`gE-wIUym65Z(#%3i*2cobGx7zm{>x$jGWtmw}K92InBLad7O4AFbMGB9X|Tj~`K2 zcs=3V^m-sIjSC72qHUfXsz^9MWZ%*1!ubOxf{6PXF?i6>Uh4QYiUx7KAQ%wwKdCZq za9dVmF#&Dc-`@}4oZzKUD&4B2q=bTN^Kjmyv|EKq0Qc==ee3Gl8r|XkQ4erN0257p zecWopvWaF#p5!R7G?!(@ty_Kn(F&-AblJVwZDVA)bMqSXev4`v=6FRhlN&s1IKy&Z zV&;4fgm47Za(!Eyvy@szH}#{0Lo$`$)LdH-gJu!Da*O0{XfKFuC)EGg`wwfr;C&3K zpBZ`^WGyzGm+UX+?^gS<`6EbMY%GpdPY@%Yc4xqxS`7SqyY1r4;cZ$P7kzG2ztlC%dH(J(}(XQ^o2S2bS z9z%M40w}pf;e3mTiaRJXlM#4c+u2qr?X8B16?7}Ix0#QLiFs^p&ZL0=(p@$4Q*>{7 zdYT57=VrpflIuHKp64caBLvk^q~o``rMoc7M-wetXTU~!p)$_q3)bH5;>S3M@0WU_ zs2fq2Z9{sNdi|e1NdZSTZS#-l?takS+iU+*JC{Jrd-s8n5$#aASUBEQhViuBv!iWD z_@C!0#4UrbdsF~N%W5AmZ(?jrN=+RODvcQ=1SE%$p-7`3dQ12E*6is3|A-(%l(Mj3 z7WLf1hOj>`FK=9_flMMZ4j4H&P-W`3-;^Bu*?H9JcT6G)t?k3se+bOgTv^FmVba2O z>HqJ{^AI@lkl5~A122zhEArAG20{+^7C#O(>n*v6e1as|KrQRrZJ5g#Z{Z0ZL1~Vs zqP>RSNswkg;S&}PS7gNu=_qk~%D^ zYv1SjE~2eGt?lx^Kq@1PijWWFF$XH? z;_e=z%GL#K0| z$^O2kX6gI)tZIEJDFk%~ICzxSs3)uhOf%a=19UZG+6s6n}++}76YJ%V%c1=#| zKSn|B{v4_u^hItR4^Sn|XL5TpHS86}P0wML4t*rRL18`xXdv?T?H*`@qp&g@2WvGn zH*wkhc5naG9}tlcxI6e8m1ZC1m6Qlj8Tb8O09Y^gC$QVs0X*V@>jh(s;J~i{#KQ~G zyfkievi!!E!NK^nv{Kh-7#P3^=?IF6xl-@E7@L>JIwEj|k&*HAt%l@33iP3QdDZLp zX`uIs4Lz5^1AZWAg8oMs&!;Nd=;wbS~(3V{U zqvPWGAlZEEf9CyY4s%DgGpP5s&i?E~0jc~BsXV9W=YatixC^v%2fu$;1^o3oU1!(G z_zrXrpP0BimR_vgoR9Rzjnd!u9&uBx0MH256JcY9?TP!JkZNgZovfufyDWDTK)z|* zQqD)mu-KRw zB#aVezn>jk{QGlLc0clAI0f+8JkVcU1F6kPOx-u5+&WUrnXx+z}#`FxW+T?^-`UD8OB;67M7VahJw7?vP9rVNq)7}i|fC#crVM{ zX~Y+8M7ILUMK~+J%EeKeqobqqz_^PvZ;}Tr`_fWV0|XpqD&%s=~>CjhUvnS(vaS(6JI3f?|4V$XrAxV6JX4Lo!i&go2jTTDJ-W1mL;AFcvR__RRs8t!Cxoxpj3|RL#I>h$<>ItM!K=Bc>2>WXKS>$9GF)vPnNsxi zlK{=8j@aI6DAT;V>Egwno1gXND}H0i=%L{GCKt z8`?3O%ESV!@QJmf*aP(v9a4OJ{Djlf(}veW#qD2S?IicHXsM{Gewv@3kA?X8_*${D zs-?39pAlf7z25slK}_s%G-Co~up}x%H#d6~jj4({FF%Wqi2L90rsc2*iilK`zzt`E z1}ry|l9HH%U4dx;jX*cE&ok3*3#QuoSYm^mles{_6paagN1^@lkiT{j)etm2|q}_q&%&e4dQo*?aS)i_00RB zxPN0U;PZPwe+EgNcq(?lQXENgoOeko?xf7n(9qkh@s?{+({Sns4~B}5=Ti<26TKxq z#*Cc8hcR;)Iayg*GTCY^__RclFSo}J-&`H9GV8HVhrWMLppeGzSQE=9AkaTqq`@Xg zrJ8OCr=g;vGOVC*y@J4XcBz@~KY!*J->{OL;KjnmW@Cwp0%@jJf(}zvRsD{GwqAfs z$v;c-=uz!*ja|YI=GCi{bwQVvpUZ>;0|Vyq@|vs(1IEP@ABHxj!3(W*=xDB*+2Y3+ zh4Q+(x{G&s)z#HYXJ=)?DWKz4#jS(&e9$yi{`yPwA#Nib@;RIjzh&O zDHJ|hk!zq?dbxy+Ujwt}hoNgG>R zI+LQ)Q?l7=v=S2ShS_TAt}ZTPg#P3`Mv*K;5edvy+TuWaSN8tCf>_nPx%+L=G*Wx5$j6X0_DC7&+tPtodg(bed_ zC8K&j)><%KcB1ZEw6%a8^1x|F<`F-QsyMh=(GW*I{;R$$Aj zJEaakPElqG8L-@)v|nnvSX+nstV5NY9GGDEv;Ug-}S`e;-YbC4FD=HZyz5gaR4*fZSV%52*5G|Y|K-)woE#{p(qre<@wK0~ukU(a zjE{K81t%Y0?`9b#!J}#tF<(SPO3G7!-BniW+J=H&4_`$RKP;IsTW#sJedZ$b2k*f3 zBFfd1`c=`n94r?FS!!W;c=!P<7D-LuKo4(aa43nRzSePJIy|TFC2W5pzrY!1{(Le% zGt*c~eG)^H&j{K^S|KP_w2$fP?(UYMkMGeMU6aURc`ft$b+MDdC;fC0uh^kg7b^Q3 zQ2_i5oSX!F)f+-WLhlDGoyl?v)L5wORaXEkv#_ygw4qsWr)1gb7Z^)ROIy8pb6u#C z#xG{hox;ebQ;w205}uMmK3%F80#a|%aiK1cgp{-$%6&g@w`JgU;d!foA!V&%sH0Rejpwe|uIKimAt6PQ$r$2?bef8;4)Ms#!a*!IwB5-#=j zqRPt3zKx0s)@1FCeJnEBM#I6u5uwQ%rpw;P{Mj$~sYZU_=#0bI(e7q&P8WTt-XqLN z&EPV~03oSq44vv|!h>b#!(`|?OB+9%-!N-*%$VJpB<*tdKZD``&ot_RVDk*Vn{raW(R)${IlYTponHWo!k&*F8 zPEM}i)LV3XtvC81HFYdNL-d6@$01D?;%+P~taG^Ns*51>{?(N+miR(YR-Oh~@m+(2aRW&s=WlYffck5_w9{fE+Wa9ez+H2|? zFBWU$-{aNii>Du49!_1$zzb?Kabwn2BQ{Ao*w$wKu9Dk>@w z?MLYcCfMu2)1vxpn zpx;%c!|5+*pt0I!^zZuV#*hUeAz@RoFMdTdcy>*X?J+Z<&!d;dHMZkh%&O_%^y?h- zssO<}J@M!Y#WW9-cJ1izm;1R%jizxFuy%8?2SCeqNxzy|2Nz^Qvbeu6Kw-quwDAZ3 zi$PEMFRuja5R*j)`mcgt+W6x%D#tpvtJ}YZim>%rh*iDZ-1O;^hK?{%f@y41#aRg> zsd>n7!m6v?nZu;H6tmTokq8V9o)#R;sg-3K!l7YPPGWYFp%F>37)wjb#d7$ZnDRu8 z1T5tBlKNDzob<#wz^xR4m`Eg;ZE8SBPT{B!m8!C-X_niE?bgfXW|D^wSJ$_;1Tvuf zoeL1_M-;-<(^C(Q0o-erY#kj*WOSNtm!ZSv=H`TyncOYCy|3&dWnT4}SG_1GD4<-l zHDV!Nww)^0vQ$$W^GnUwV`5?|qK{{Rb8sAGX|0p+VmWC5bsdSX~xGvu<`^$>Jv9mnc6 zAGgNEEPXpLPmImYUHg+nU*sUxv7Rd^D=*?@4T$YNjrx#17*aXzhjAgrINt2B6O2s? z56odX-)!OU+nW;W>M^)c^U7k%Sr!Y{9ol(s96G-JOzRuU zq3)!$%@~8XBEO@Npa=~buppriaa0Sdmmj z;aRAOHs{?D_}#<9I8%8s$G?A1U-bf}0N?^OK0Y1;0|OS$_w6 zc&A+M1lP^EKlXv)yqV{f{`n3iEHlR12y{sr*2v6+1SmwKK$VV*>meQ<-h25cE}ouc zmyCdY;gEBq*xA|XHhDY+Oh2cV*#LpS3%I*RA^fKrnw$He$DC_%ac{4wxp{S|gHB#a z<@wd_hWG6@W)xOT8zln)##Etyqk!L)%l=X`DIg}nU>HzVQK<^J^YOdcDR6Of>*|Z4 z>@ z$|OmW)>h6@c5I^HWtC|sa&l^_d3QK2ptdU~-k>qQjgId2J!*{rtjw;pR;OR$Wv2Pb z4_Qt=9@)wH3sdftl{wwquU`q};;8zexA9U9u6Im+!n=mi(zFCPfv7Oe$L-Ugapzj! zamlKKy?ZQz2vuY00ZeOkZ7moyx3%V@-S(STo<)wxkC9hv19!&s3Ct|IpZ^Smefjc5 zlD^1f>2j?Xd$G}7&feKW{Bzu!v(450uxRh!w?ek5XmK_%;z-W)LQnO|ob+E)to@tJ z-uu?SHYVGExa0p}{Dr|FxeA(Yc+N;*Z1NFax!&g&SiiiFs-e-{x&+IrsUa>H&8XNy zraWIJ@HpDEsc8lidZRkL5(RnH+!L^yHV5Ai^L>i%BoareK;_j!o%gfEEHJfiUAIy)7g`3C`JVPGr}5*iuCCrZ zW)C{1u~5r7^A-gXR6g0A#TDyd&e!vu&kaq*RsI67_8>KQKHum%<@ z)IXhIg3JbM24F>_#^59HG_XZBzNduO%?T|!HE|fc^FV2&q+%i=lz|KB-Dg1>c%bnDO>hB4& z)rSXxhVcI7r9V|W)fYbGiuqr@nD$0Jdi(ZmN0mjt%gzr*FhkO^v*So-6O`yw@bAVl z03ZV!&;@FgfRZvAKwIbJBr&CcQxBlHoX}rC+t)lYw7jGrBgFwU2?`0VLIXq>%i+8# zxh*YJCnqPbAyOKe3WWd7w{eD*#Xj;l8oM8;gF}NS{Ra|LyUT4C=<{A<&P%>dPVi40 zCb4hdV$3cq4U@p=V>m=CK~`0C&)_b@q^eAkcoM-0Y`#>kSV9Mg`Tz zJ20MyL`GtA^YFwcCu6{&r058I8hQ~C%GlUg7Z;bngoK1XZ3Uoby=E>01VULwnRb|9 zZTV*;Ad4L#zlbeuta3f=#jpI(1?yeI^FK8K#X*?4`?ZF?e$>WLQb_+g9UNZXsbGB1 z2gR>{5rL#$1p?TU0nBGuR@0fno>-`;sANKJPY8*KR=1!nba)arfR1LbBYFV=(#_4y z?U@Ri@0nT$8sDv}SC5Y3*8AgT7CI{=bS`xNm=3c%S#HMv=M=EwHqzndw6O{4UJV?uTO2rl5bNfa}*p)Z#(MK3N~O-5RNY4D~8NRZ+3{GVH?#!u>@%-G35|kYQ}H z=fAoSZJ%{b>KhtRMC$zQ-ot_P5JzH!j15a*e%W`t+Kqb?o0gXLoy&c5xU<1^9p}fz z=_$9ZXwb1q_B3i8ovnM2W3p4(=Mqm2aHOxc|*9g@X8+4PsbFJ zhNh9&?5li%c|%%>KqVX<#Rsqh8s=(ug!kXu#`&u7hGOnyoU0o|a4rK4Z=f7LO$ph{ z!flFe zKLETQ5)tJ>b{Y{!dnMuJp|5$!_Qr)LIeFJHc7A;wy4aD4#%)!RUxsCWK} zc9#&ru7`n-e_2eQNLl~zpA9mMHfz-2%Ce6a6f#ukkIdb}ph{Znzxq~=Dw{EzYuwSn zVXVwx%6(Jdr(Z}Sn~wS1S1Umv{=!VR$FeDm%xXHTS3BE%bzmJ{KM!Slc0F~;>nLnS z)6ro#G3x9@Dl<~grJ40c}ViS=*tItmc4dSq!iGp=7X*_^YiFy-o zr<8UgsS$^PhQr`8+YAfrmY}w)^go5-q3tiov11>`M8=t4X1)X34gs%<1(+7DPWovm z83Q8|m`xW$O~-g+X8-xeF+{}j>sBM&1U3`v5pD@=!XR8aIlxyizr8wv1%ka@xxGG% z`RWcJQ1+4O3wP|rFQup{5ZR5dBE@!K-owzMZjSr|TL3D4-r(cld6wYmQP11Y$ z9`G0J-WPbzTINIQJS-Z_lqu$$UsDrsb!?Wqa}Qg_k?=&tD*G8YEU>ZhO|IByMMlE? z>+<4<$Vv9Gr>A}6cc2R-I-^sZk&8WhhHK(?f(m=juN+DeW*m74kn|CoHmq>>v2k;x z+4JMG%kCc=(GU{s%$j3zwr)VJ?Piw^WFj)`_u*1>Lqo%haicarp>W(19}AbWO_kx# z67A|9n4$SE?5(JRB(MGj8N(|vF)?+&T4KUh0QBqkQ>-ET3ar9EMQC3TkIIjZWgG0- zJZ{R)&K}I6@?5ge^t_1k0@UE@u=xnKo%xOdUKt8)hJvq|*AATOQzM-X4wfb+-bT1i z{X#BL5MXAOE68^}*}e7xH5zJ-<{HEZe$T)_-5Q!=Rv`7D)W1U5$h z7lnlP@$pD#Awhsb(DU;{b)6T7ZEbD$PzSWH4pUA}{~Hg#iz%H3=wCpH2PTTNKQB{L zMFj^F$j|;b8Vk@G1~)Q64s~{RUIB@w^8PxaHZW}5f5(S}goh*~`TNdJ0Bnjh3e3N! z3(YpV7pP-8TU&>(teBo3{iH!45TJX=tElwGLkw~s@#^|aot$FtuLcEvPXd4p27vpX z?t#`bVrzuF+MZ*aBO)SVu{&8*`SokpbeRDiF_u<%1ypBl#nlJW8JZvz9JNhSeBReF$&(c;olm3c4L zV#^yMpcBdfayRS1@8|E&h1l1M*Si}}<fUEv&13$xB(2vyMQFnt*rltnjSx{38GyWY1~TuiFzZ$ASJcV3#E)qO|K zgZAdl8~uJRz;gk+1{om#@}-VQc)ndvUtdmXDb7*LS*-CN8&0yf@7~Gi>XN{;*IhYaUGz>J0ZEI`bsJ>c$ra`M}Pm!Eg3{v6c*gv^0c<-_-ujN1}pZGHVB zHDvay6*d@+XIA=%P^2}+*NFVTy{EgNvh?%w;{-eMj#2;*h__l!Nw3BAiD58YR0SC+ zP5CDchyx0r%fm7auV3Hd1-*~62KglV_f>{GTZ za}!il^z;cKrlR6sqd$&zc9?)`0gYjOEc^NK@v&N}8muEvDQPTM4!^7ksI34qfs^yf zsru{JU|=%d1C^NXZ(!&d$XxdT+*>iT-_ zZF*W-iF@#9e?Pi{f&%M8lgADeyf^dDh}HLESL^Ef`l*DCl~vH_7NsW@c=m}L8dlH? zJ62s*Ha7AW`?k*ZYTqDSUDaJfHe3YtJrDNx!T&T>36O(e_bZWat*&O9KeaM9U!*`F zXBXLxN5Tms$EqykJoabR8%O&3&_Kn4smi8u#}0 z_m?c@3y{oInCLXBFcattzcw;W`0%0f^%U!)2u+n=o14Xc)0@R$hm3|ZM0BhOm56{q z=jj32-<5WkO%dR@2JvYF2%ReQ3`!i@_%=Amt*e|=QViVL7vTs4o7yI{rVa|C3VBT= zC8g*W>kkAfjtgw=$MZ5+DFf& zEcM;IMa_e|Ce!hv18gOFPM9%9MGL_zDLm5XjgeQiqzp~}g#ZetgXr$Sje5C{1)g3fX}R) zUCS#f1~)hRhNvo|bU{JibKD^S>Ojk(WoAYP7T?uM2tENhIcAY27G6XMSUPbd{bp@t zC9tPQ#?solYj6<`jsDoAuCBiQBQIJVU8@^R2wXPbsbFIzZN?^jaWwZtqi~9m z?=W=pt<=9eLpW(sQ4#1krd7HCeC1xfBD5Y!MO9K#$_;_;yNSfV+uTVoo$(wlw?+dd z(G5-}u&4n4ChuVn7#;T*zf?sYt*<{|W@d(IF@NX-XqHNt@h{O+h2r-1w$gfp!eOBf zmz2Y}Cxyr6cz=$^rG&ZmJg?lT!nm~(bZvl=Yrh5(1QGjW)M7rC=a^so|NJJvK!F8j zL0MTZnooh6Kn_kPAi?g@O_{0sKb|AA$I}!OgS$DL5;7|Bk4iGp=m$XPPE$_WgaI{m zbtG`A0l1J#jR)j%35PBW_*Z}q$W>PGo_v>$Bp`82@lM}RdiFH-|)1;BB%Vt3el zUaq*fc(Sl3D=_M`*b{4j%TV>^%o@1Sih0;ddU`3RTR`nG?F>du=CdaOcK0ND`PTl; z2S%lp!$UkTAm_Qxf6Cbv>85`CI0jV3UYQbY3+p7rBplb@9rcLq7@S!te)8tCxc~iu zi47Y{O3G5BX6-GJJqnO;_e=Hk^b|h12K&L~Fw41N0}_Ybut9B0#NOX}<`EVuh+&bA zpJ%P-Nac_vH@KLrRE73-W>U$6IxYePXceTlrd<@LX$S0{g8;swHSMAUX=-jSxerfI zlYlp5Jv?fn-1h+Zb9rp5mFiW$&~pa}inD9Q59AVn&t`vbuVci?`2%jf&v&P=iI|jW zdGSb6-)pxVTtl`S}#uyid$?o!_*! zw0z__1L_>49Z6|B%ia(dhYubTNi#!vS6?ZC93ibFwINXpa01kldM=ZYnwEIl$B&cS z3V6Ir`@)jevzY%NwZsri(Q1NI((1C&fUmOcUc(nV%FZi>;&3t$bk zZaH&ztJ)S7Hgo_(cx@bT&L&SbMMXtPb%+>HDH}EJVs|b7(_fe$0AvF`NBrnfP!0>| z^<;&BLaVVneJZ7lz9f z4jO1MxZE$tHj$fsFP*4_J>-iFcuw+@$|*=^Cnq%>mYSw2bEkNgfBmv7h4iZXyqENW zU^;@7|J+_GGzJ&n{{b=(#gQXrf(Hi`%#e(9& z*Z1Op%wj(wBR!pff+9*bnxv@qJ=)tPo}e+Z?HXTx;JW}r%*@#tKQ({6%s>DTMuP*# zB09t<2?@y+ARyzwkp)9tU?2oTK}Ron_JynGaE{foB0=_DfzKxe=ds+Wx-7J)h0Y z%mkF>YU?v}jwqrdzzEOg8DCmjihut;@aoE2G~kvD0#)te;UNPAw-Cf_AEomO$cKi2 zJ7GZN$H5Vdd(&M^tW~NB1vy(>*m>yzGO`QMNjJ8D;Fx359)P=ik|h=5a=0k8vE{z? zeKo^t*{%}kH-&N2GWAte>gBxmTnWG!AX#KMFT|Ryp99Ny7>z#e;xf@2b_6)PZVS=iY% z5o}z<{AsulI4?FkJ9}?szCpdbxR3>k_k5kB{l|L^>Rq3~Wx(CdDiH8OfB^zL5m3`e zKqX7!Fp*{_SqC%z@%cHgcf?WKAGm6Ua2R-h4fxJ192|0bdgPfBP;68bmZ;wq0ib8L zV^R-+VZduVZe(caa4s+%0tLM@&k(4mimD+$BjHDE|a7 zTiM*lPlAq{a@}MLSg>fITP`pT#U~_$w6uu&-CfLFw1Lk=fL_-H1b-wXBp}J5#nMQW zyE5}xzyJI9FJN!d+S(-dHnQ^~-~@4C$8rG0B;&Ou2>5d#Kqcss^$;&X(z{h1QaI6-!hXrE^P=h}U5U zK!<~S_QaN9C?+NbLh|7Lw2yxvNY&UScLfDZOYRiKk;eA+_IZwJ<6HF!q(^GbpAEst z2tJwUbp)E-G(?`R%%njfGg<5F#6H=(AlMYcBumRn_NaLa_~O#=q+E;sSa1xYBl~#- z?{w|Iiy4!v<8FL2Fw80?!B;^BP#h$H(?7IHL-*zKYh%Og@^Fb_ZyvZBG2}effkPW> zfKz*49cSw|Z&6V0glCOpHc2)09Hxv7XZbaIUSt)#Ou?aKV*}^CUfQ5*sDQIL_ahuB z{9i0~yVj#0?UCH!3vVzxK|RC`j;74Y$xAf;H4m|DpM|P8vH-SbAwj^ diff --git a/view/theme/dispy/icons.svg b/view/theme/dispy/icons.svg index 40899c0a5..998e2641f 100644 --- a/view/theme/dispy/icons.svg +++ b/view/theme/dispy/icons.svg @@ -51,9 +51,9 @@ borderopacity="1.0" inkscape:pageopacity="0.0" inkscape:pageshadow="2" - inkscape:zoom="10.435404" - inkscape:cx="86.68027" - inkscape:cy="39.719931" + inkscape:zoom="1.9403009" + inkscape:cx="73.744486" + inkscape:cy="108.36719" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" @@ -2101,7 +2101,71 @@ y="0" xlink:href="#g353" id="use357" - transform="translate(-5,6)" + transform="translate(-6,6)" + width="250" + height="200" /> + + + + + + + + + diff --git a/view/theme/dispy/nav.tpl b/view/theme/dispy/nav.tpl index 867751310..4a030e7ae 100644 --- a/view/theme/dispy/nav.tpl +++ b/view/theme/dispy/nav.tpl @@ -69,6 +69,9 @@ works --> {{ if $nav.contacts }}
  • $nav.contacts.1
  • {{ endif }} + {{ if $nav.introductions }} +
  • $nav.introductions.1
  • + {{ endif }} {{ if $nav.profiles }}
  • $nav.profiles.1
  • {{ endif }} @@ -105,6 +108,9 @@ works --> {{ if $nav.messages }} {{ endif }} + {{if $nav.introductions }} + + {{ endif }} diff --git a/view/theme/dispy/notifications.png b/view/theme/dispy/notifications.png old mode 100755 new mode 100644 index f0f6a90e81cbb8b5b46a56733f2debfa2d58b042..37ebdf1e3e4900a84beb5770dbb04970c1056226 GIT binary patch delta 3071 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 + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/view/theme/dispy/style.css b/view/theme/dispy/style.css index 472fd875c..f7a1b295c 100644 --- a/view/theme/dispy/style.css +++ b/view/theme/dispy/style.css @@ -344,6 +344,12 @@ nav .nav-link { #nav-home-link:hover { background-position: -66px -132px; } +#nav-intro-link { + background-position: 0px -190px; +} +#nav-intro-link:hover { + background-position: -44px -190px; +} #nav-login-link { background-position: 0 -88px; } @@ -504,6 +510,9 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-link #home-update { background-position: -90px 0px; } +#intro-update { + background-position: -120px 0px; +} #lang-select-icon { cursor: pointer; position: absolute; @@ -514,7 +523,6 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-link position: absolute; top: 0; left: 16px; - padding-right: 50px; } .menu-popup { position: absolute; @@ -933,10 +941,6 @@ aside #viewcontacts { #jot-title-wrapper { margin-bottom: 5px; } -#jot-title { - border: 1px solid #cccccc; - width: 90%; -} #jot-title-display { font-weight: bold; } @@ -1107,7 +1111,7 @@ section { clear:both; } .wall-item-location { - margin-top: 10px; + margin-top: 15px; width: 100px; overflow: hidden; text-overflow: ellipsis; @@ -1735,6 +1739,7 @@ div[id$="wrapper"] br { margin: 5px 2px 0 0; } .profile-edit-side-link { + margin: 0 20px -18px 0; float: right; } .profile-listing { From b584b263234515a1059c8b5541bbfed9bc4bfcba Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Thu, 8 Mar 2012 15:30:47 -0500 Subject: [PATCH 017/153] Merge branch 'master', remote-tracking branch 'remotes/upstream/master' * remotes/upstream/master: * master: From feda3cfc960c317c91f483238c29fce629f494e6 Mon Sep 17 00:00:00 2001 From: tommy tomson Date: Fri, 9 Mar 2012 02:59:13 +0100 Subject: [PATCH 018/153] fixed star-bug --- view/theme/diabook-blue/icons/starred.png | Bin 0 -> 1617 bytes view/theme/diabook-blue/icons/unstarred.png | Bin 358 -> 468 bytes view/theme/diabook-blue/style.css | 9 +++------ view/theme/diabook-blue/wall_item.tpl | 9 +++------ view/theme/diabook-blue/wallwall_item.tpl | 9 +++------ view/theme/diabook/icons/starred.png | Bin 0 -> 1617 bytes view/theme/diabook/icons/unstarred.png | Bin 358 -> 468 bytes view/theme/diabook/style.css | 11 ++++------- view/theme/diabook/wall_item.tpl | 9 +++------ view/theme/diabook/wallwall_item.tpl | 9 +++------ 10 files changed, 19 insertions(+), 37 deletions(-) create mode 100755 view/theme/diabook-blue/icons/starred.png create mode 100755 view/theme/diabook/icons/starred.png diff --git a/view/theme/diabook-blue/icons/starred.png b/view/theme/diabook-blue/icons/starred.png new file mode 100755 index 0000000000000000000000000000000000000000..72a49c157c8ccf21376e953984ffc30c6fe78b06 GIT binary patch literal 1617 zcmV-X2Cn&uP)4Tx0C?Jslgn=#RTRd5V~?km60yOw#j4O1i#9?@G<~Q|glKEWu9Y?zYnl`% zLaHX?YkSDeczS1?KGX&3h8-=4J>nr&`~el}f?ZcAm8yb}D%Mm8RH>*NRLsJUnU+8~ zt8>5eo$q}2TwTb0>V~1p2-pl_?Nm#mvAQO9{X~XWnV`Ug>qTL)US9%m!%*>$c=7`V zz`dEB>;D-OO&NJ$>;}5c$lCn@Uu!>kGcOedEzH-QCobHj)52o>EPnBR0m&8Nx*2&b8b7 z5{>)jt@rLt-nm8*g`$mQ6NyiNBuXiyJhXzFg+#&IzVS$YSbI|A`gDTYKia?9_wCQ^ zuk2s{Wk>Djc2rEwmjpYymnc?IV~0Dld=x$_1o&J+qKR-(1YAL+cQNWVUo#Jxi{_j; zk1$V~r_2*(*_<=qG?zvUt74U{BEovZnzs&FXRKm!6YHQ=w&tyaR^^!&@KSe8zo1O9 zWNITbtRsooK;yH8L=hn&mX~9Ig>HC7`|VCF4%_x|Q4B*R#bV&iP77Blq5XCzj)azx z)LXJSOJj9S48G%I2LmwnY$sU!HoWyaWbY=}S`WU7VDHfcn<~I7pTVtTUQcfg|F>a$ z4^ivL;lXLL1i7F4{l^Dj*C+7w<9`3oFZ%tbUqbc)e5d{fsUr&3#!m!&00006VoOIv z0RI600RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru+ye;#90delfJ*=X z0?tW9K~y-)g_2EZ6HySy|L?usO`4i)-A&RUY0{chH&u`#O|A9gCJI8W3hG5g{3?jj z*0UGAd-7DhD_T$lFN&gV5wTDaZDTPlR?yfW)FzvlWb?*@Mr^SHe32zow5=j91eRO#~AqAnupvTb|SpSgbm zQmGVlU1tDVrIebKQUlPc>pDxNQvU}4Kr)%sP1D@NIdgH&T&8L6NhXu}-)aSb1^{b3 z9#7CTO;gh}qg*aG3nBWdQij2p0Kql?WqurhTi11ewOaK%j-vypvYy_azTCIPzRAf+ zx0EDRRfVD`!sT{FR8`dgpi-%nOQq7BQ*o-5N(G9daI4L-eLmk+@#yixt+7~acP5jG z*tYE#isDxl#o$5+&N;?2mqYu=altz-Vcd&ZI?zy z#)fl?`4VTG6$%9^7K+32yk0Me z2>DzNQc9|;^SqE%xqT`%< z`cn(ph3XPOQ#foGrg0@6k3|MA4o)Q6tp0d&>qFBFObeAyx5U=A&!lGqE|+F-;`g)j z*}{_XcW&PqI(6pM_^US)Z|1*#-n9H>XFtB*_H^_~=J1h2Z>{x-P)+{<%pw}k+Ei^w P00000NkvXXu0mjfJP-p_ literal 0 HcmV?d00001 diff --git a/view/theme/diabook-blue/icons/unstarred.png b/view/theme/diabook-blue/icons/unstarred.png index ca20724143fd2ee28c363a47dc02268bea610c9a..ba3183f5c72b59b56923526013faaaca193b181a 100755 GIT binary patch delta 417 zcmV;S0bc&*0@MQ`iBL{Q4GJ0x0000DNk~Le0000H0000H2nGNE06T3*`jH_%e**~t z0tL_>zmxy~0aQsuK~y-)ozpu=Tu~6l@t>OY6|s zi5~n)N_vt4=|&$8u~#XnIt9{XRgVKIzF>woaM1YTC-claBf<-+FI z*vI!UBh}(O&e4tqY+x9x;a+1oi%T^Zp#E?yi{3aZFJf*#lRC+uEedb3jA{G`=ratZ zTor?H*>+=?1-0TM&ajhq=N7RZXQP~^@Ga(5Q4>YBR#F?@6bBvvAO}CsFHZ4n00000 LNkvXXu0mjfGfc7s delta 307 zcmV-30nGl?1LguDiBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVUZy|e*zp8 z6&ZjO;`{&r0Omgb13(P*Li9eFd7K4N~zf5`6`gx}7|yGh~`W(w5XcueAzFY-nJduZY=3iXn0 zAm&*dhQCljBNh)ZLJjwLOGqbJj`#|_q-J0(68CY7%fNeqPvaHaI1YjNybe=1%Z_~$ zR~aVQ&QA}fi7u{#u!M7Lm9?iAvTCRw{rw;I3ArguBPXi@Bme*a2>?k&PDHLk FV1fo~eSZJ| diff --git a/view/theme/diabook-blue/style.css b/view/theme/diabook-blue/style.css index e272191c2..5b7a3f3d6 100644 --- a/view/theme/diabook-blue/style.css +++ b/view/theme/diabook-blue/style.css @@ -102,12 +102,11 @@ .icon.recycle { background-image: url("../../../view/theme/diabook-blue/icons/recycle.png");} .icon.remote-link { background-image: url("../../../view/theme/diabook-blue/icons/remote.png");} .icon.tagged { background-image: url("../../../view/theme/diabook-blue/icons/tagged.png");} -.icon.unstarred { background-image: url("../../../view/theme/diabook-blue/icons/star.png");} -.icon.star { background-image: url("../../../view/theme/diabook-blue/icons/star.png");} +.star-item.icon.unstarred { background-image: url("../../../view/theme/diabook-blue/icons/unstarred.png");} +.star-item.icon.starred { background-image: url("../../../view/theme/diabook-blue/icons/starred.png");} .icon.link { background-image: url("../../../view/theme/diabook-blue/icons/link.png");} .icon.lock { background-image: url("../../../view/theme/diabook-blue/icons/lock.png");} .icon.unlock { background-image: url("../../../view/theme/diabook-blue/icons/unlock.png");} -.icon.isstar { background-image: url("../../../view/theme/diabook-blue/icons/isstar.png");} .icon.language { background-image: url("../../../view/theme/diabook-blue/icons/language.png");} @@ -1078,9 +1077,7 @@ section { top: -10px; width: 16px; } -.unstarred { - display: none; -} + .wall-item-container { display: table; width: 780px; diff --git a/view/theme/diabook-blue/wall_item.tpl b/view/theme/diabook-blue/wall_item.tpl index 0a02ba812..b1a014949 100644 --- a/view/theme/diabook-blue/wall_item.tpl +++ b/view/theme/diabook-blue/wall_item.tpl @@ -1,6 +1,5 @@ {{ if $item.indent }}{{ else }}
    - $item.star.starred {{ if $item.lock }}$item.lock{{ endif }}
    @@ -62,11 +61,9 @@ {{ if $item.star }} - - $item.star.do - - $item.star.undo - $item.star.tagger + + $item.star.do + {{ endif }} {{ if $item.plink }}$item.plink.title{{ endif }} diff --git a/view/theme/diabook-blue/wallwall_item.tpl b/view/theme/diabook-blue/wallwall_item.tpl index effb7273f..603a908c5 100644 --- a/view/theme/diabook-blue/wallwall_item.tpl +++ b/view/theme/diabook-blue/wallwall_item.tpl @@ -1,6 +1,5 @@ {{ if $item.indent }}{{ else }}
    - $item.star.starred {{ if $item.lock }}$item.lock{{ endif }}
    @@ -68,11 +67,9 @@ {{ if $item.star }} - - $item.star.do - - $item.star.undo - $item.star.tagger + + $item.star.do + {{ endif }} {{ if $item.plink }}$item.plink.title{{ endif }} diff --git a/view/theme/diabook/icons/starred.png b/view/theme/diabook/icons/starred.png new file mode 100755 index 0000000000000000000000000000000000000000..72a49c157c8ccf21376e953984ffc30c6fe78b06 GIT binary patch literal 1617 zcmV-X2Cn&uP)4Tx0C?Jslgn=#RTRd5V~?km60yOw#j4O1i#9?@G<~Q|glKEWu9Y?zYnl`% zLaHX?YkSDeczS1?KGX&3h8-=4J>nr&`~el}f?ZcAm8yb}D%Mm8RH>*NRLsJUnU+8~ zt8>5eo$q}2TwTb0>V~1p2-pl_?Nm#mvAQO9{X~XWnV`Ug>qTL)US9%m!%*>$c=7`V zz`dEB>;D-OO&NJ$>;}5c$lCn@Uu!>kGcOedEzH-QCobHj)52o>EPnBR0m&8Nx*2&b8b7 z5{>)jt@rLt-nm8*g`$mQ6NyiNBuXiyJhXzFg+#&IzVS$YSbI|A`gDTYKia?9_wCQ^ zuk2s{Wk>Djc2rEwmjpYymnc?IV~0Dld=x$_1o&J+qKR-(1YAL+cQNWVUo#Jxi{_j; zk1$V~r_2*(*_<=qG?zvUt74U{BEovZnzs&FXRKm!6YHQ=w&tyaR^^!&@KSe8zo1O9 zWNITbtRsooK;yH8L=hn&mX~9Ig>HC7`|VCF4%_x|Q4B*R#bV&iP77Blq5XCzj)azx z)LXJSOJj9S48G%I2LmwnY$sU!HoWyaWbY=}S`WU7VDHfcn<~I7pTVtTUQcfg|F>a$ z4^ivL;lXLL1i7F4{l^Dj*C+7w<9`3oFZ%tbUqbc)e5d{fsUr&3#!m!&00006VoOIv z0RI600RN!9r;`8x010qNS#tmY3ljhU3ljkVnw%H_000McNliru+ye;#90delfJ*=X z0?tW9K~y-)g_2EZ6HySy|L?usO`4i)-A&RUY0{chH&u`#O|A9gCJI8W3hG5g{3?jj z*0UGAd-7DhD_T$lFN&gV5wTDaZDTPlR?yfW)FzvlWb?*@Mr^SHe32zow5=j91eRO#~AqAnupvTb|SpSgbm zQmGVlU1tDVrIebKQUlPc>pDxNQvU}4Kr)%sP1D@NIdgH&T&8L6NhXu}-)aSb1^{b3 z9#7CTO;gh}qg*aG3nBWdQij2p0Kql?WqurhTi11ewOaK%j-vypvYy_azTCIPzRAf+ zx0EDRRfVD`!sT{FR8`dgpi-%nOQq7BQ*o-5N(G9daI4L-eLmk+@#yixt+7~acP5jG z*tYE#isDxl#o$5+&N;?2mqYu=altz-Vcd&ZI?zy z#)fl?`4VTG6$%9^7K+32yk0Me z2>DzNQc9|;^SqE%xqT`%< z`cn(ph3XPOQ#foGrg0@6k3|MA4o)Q6tp0d&>qFBFObeAyx5U=A&!lGqE|+F-;`g)j z*}{_XcW&PqI(6pM_^US)Z|1*#-n9H>XFtB*_H^_~=J1h2Z>{x-P)+{<%pw}k+Ei^w P00000NkvXXu0mjfJP-p_ literal 0 HcmV?d00001 diff --git a/view/theme/diabook/icons/unstarred.png b/view/theme/diabook/icons/unstarred.png index ca20724143fd2ee28c363a47dc02268bea610c9a..ba3183f5c72b59b56923526013faaaca193b181a 100755 GIT binary patch delta 417 zcmV;S0bc&*0@MQ`iBL{Q4GJ0x0000DNk~Le0000H0000H2nGNE06T3*`jH_%e**~t z0tL_>zmxy~0aQsuK~y-)ozpu=Tu~6l@t>OY6|s zi5~n)N_vt4=|&$8u~#XnIt9{XRgVKIzF>woaM1YTC-claBf<-+FI z*vI!UBh}(O&e4tqY+x9x;a+1oi%T^Zp#E?yi{3aZFJf*#lRC+uEedb3jA{G`=ratZ zTor?H*>+=?1-0TM&ajhq=N7RZXQP~^@Ga(5Q4>YBR#F?@6bBvvAO}CsFHZ4n00000 LNkvXXu0mjfGfc7s delta 307 zcmV-30nGl?1LguDiBL{Q4GJ0x0000DNk~Le0000G0000G2nGNE03Y-JVUZy|e*zp8 z6&ZjO;`{&r0Omgb13(P*Li9eFd7K4N~zf5`6`gx}7|yGh~`W(w5XcueAzFY-nJduZY=3iXn0 zAm&*dhQCljBNh)ZLJjwLOGqbJj`#|_q-J0(68CY7%fNeqPvaHaI1YjNybe=1%Z_~$ zR~aVQ&QA}fi7u{#u!M7Lm9?iAvTCRw{rw;I3ArguBPXi@Bme*a2>?k&PDHLk FV1fo~eSZJ| diff --git a/view/theme/diabook/style.css b/view/theme/diabook/style.css index 768ce1370..bccfea149 100644 --- a/view/theme/diabook/style.css +++ b/view/theme/diabook/style.css @@ -101,13 +101,12 @@ .icon.pencil { background-image: url("../../../view/theme/diabook/icons/pencil.png");} .icon.recycle { background-image: url("../../../view/theme/diabook/icons/recycle.png");} .icon.remote-link { background-image: url("../../../view/theme/diabook/icons/remote.png");} -.icon.tagged { background-image: url("../../../view/theme/diabook/icons/tagged.png");} -.icon.unstarred { background-image: url("../../../view/theme/diabook/icons/star.png");} -.icon.star { background-image: url("../../../view/theme/diabook/icons/star.png");} +.icon.tagged { background-image: url("../../../view/theme/diabook/icons/tagged.png");} +.star-item.icon.unstarred { background-image: url("../../../view/theme/diabook/icons/unstarred.png");} +.star-item.icon.starred { background-image: url("../../../view/theme/diabook/icons/starred.png");} .icon.link { background-image: url("../../../view/theme/diabook/icons/link.png");} .icon.lock { background-image: url("../../../view/theme/diabook/icons/lock.png");} .icon.unlock { background-image: url("../../../view/theme/diabook/icons/unlock.png");} -.icon.isstar { background-image: url("../../../view/theme/diabook/icons/isstar.png");} .icon.language { background-image: url("../../../view/theme/diabook/icons/language.png");} @@ -1077,9 +1076,7 @@ section { top: -10px; width: 16px; } -.unstarred { - display: none; -} + .wall-item-container { display: table; width: 780px; diff --git a/view/theme/diabook/wall_item.tpl b/view/theme/diabook/wall_item.tpl index 0a02ba812..b1a014949 100644 --- a/view/theme/diabook/wall_item.tpl +++ b/view/theme/diabook/wall_item.tpl @@ -1,6 +1,5 @@ {{ if $item.indent }}{{ else }}
    - $item.star.starred {{ if $item.lock }}$item.lock{{ endif }}
    @@ -62,11 +61,9 @@ {{ if $item.star }} - - $item.star.do - - $item.star.undo - $item.star.tagger + + $item.star.do + {{ endif }} {{ if $item.plink }}$item.plink.title{{ endif }} diff --git a/view/theme/diabook/wallwall_item.tpl b/view/theme/diabook/wallwall_item.tpl index effb7273f..603a908c5 100644 --- a/view/theme/diabook/wallwall_item.tpl +++ b/view/theme/diabook/wallwall_item.tpl @@ -1,6 +1,5 @@ {{ if $item.indent }}{{ else }}
    - $item.star.starred {{ if $item.lock }}$item.lock{{ endif }}
    @@ -68,11 +67,9 @@ {{ if $item.star }} - - $item.star.do - - $item.star.undo - $item.star.tagger + + $item.star.do + {{ endif }} {{ if $item.plink }}$item.plink.title{{ endif }} From 722f631d153cda58ed68f772a39e823bec9b9676 Mon Sep 17 00:00:00 2001 From: tommy tomson Date: Fri, 9 Mar 2012 04:14:24 +0100 Subject: [PATCH 019/153] add info --- view/theme/diabook-blue/theme.php | 8 ++++++++ view/theme/diabook/theme.php | 6 ++++++ 2 files changed, 14 insertions(+) create mode 100755 view/theme/diabook-blue/theme.php create mode 100644 view/theme/diabook/theme.php diff --git a/view/theme/diabook-blue/theme.php b/view/theme/diabook-blue/theme.php new file mode 100755 index 000000000..4bfbaef7f --- /dev/null +++ b/view/theme/diabook-blue/theme.php @@ -0,0 +1,8 @@ + Date: Fri, 9 Mar 2012 04:38:20 +0100 Subject: [PATCH 020/153] removed info --- view/theme/diabook-blue/theme.php | 8 -------- view/theme/diabook/theme.php | 6 ------ 2 files changed, 14 deletions(-) delete mode 100755 view/theme/diabook-blue/theme.php delete mode 100644 view/theme/diabook/theme.php diff --git a/view/theme/diabook-blue/theme.php b/view/theme/diabook-blue/theme.php deleted file mode 100755 index 4bfbaef7f..000000000 --- a/view/theme/diabook-blue/theme.php +++ /dev/null @@ -1,8 +0,0 @@ - Date: Fri, 9 Mar 2012 00:00:56 -0500 Subject: [PATCH 021/153] i consider dispy pretty stable at this point, so i'm removing the experimental file Signed-off-by: Simon L'nu --- view/theme/dispy/experimental | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100755 view/theme/dispy/experimental diff --git a/view/theme/dispy/experimental b/view/theme/dispy/experimental deleted file mode 100755 index e69de29bb..000000000 From 2050f886cc020c50684df14830bc98e40200309c Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 8 Mar 2012 21:14:41 -0800 Subject: [PATCH 022/153] keep tony from talking to himself --- htconfig.php | 2 +- include/conversation.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/htconfig.php b/htconfig.php index 423d5d369..f52aed2b1 100755 --- a/htconfig.php +++ b/htconfig.php @@ -69,7 +69,7 @@ $a->config['system']['rino_encrypt'] = true; // allowed themes (change this from admin panel after installation) -$a->config['system']['allowed_themes'] = 'dispy,quattro,testbubble,vier,darkbubble,darkzero,duepuntozero,greenzero,purplezero,quattro-green,slackr,diabook'; +$a->config['system']['allowed_themes'] = 'dispy,quattro,testbubble,vier,darkbubble,darkzero,duepuntozero,greenzero,purplezero,quattro-green,slackr,diabook,diabook-blue'; // default system theme diff --git a/include/conversation.php b/include/conversation.php index b458923e5..f1134975a 100755 --- a/include/conversation.php +++ b/include/conversation.php @@ -502,7 +502,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { $template = $wallwall; $commentww = 'ww'; } - if((! $item['wall']) && (strlen($item['owner-link'])) && ($item['owner-link'] != $item['author-link'])) { + if((! $item['wall']) && (strlen($item['owner-link'])) && (! link_compare($item['owner-link'],$item['author-link']))) { // Could be anybody. From 81f5b0e2df3a8c9bda2101d5e5cc4d179da7141c Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 9 Mar 2012 00:26:54 -0500 Subject: [PATCH 023/153] [theme:dispy] optimised the pngs: bet. 0 and 30% savings in size. style label elemnts. Signed-off-by: Simon L'nu --- view/theme/dispy/icons.png | Bin 28752 -> 18998 bytes view/theme/dispy/next.png | Bin 891 -> 590 bytes view/theme/dispy/notifications.png | Bin 3115 -> 2494 bytes view/theme/dispy/premium.png | Bin 2317 -> 2304 bytes view/theme/dispy/prev.png | Bin 853 -> 593 bytes view/theme/dispy/style.css | 30 ++++++++++++++++++++++++----- view/theme/dispy/tag.png | Bin 632 -> 571 bytes 7 files changed, 25 insertions(+), 5 deletions(-) mode change 100755 => 100644 view/theme/dispy/next.png mode change 100755 => 100644 view/theme/dispy/premium.png mode change 100755 => 100644 view/theme/dispy/prev.png diff --git a/view/theme/dispy/icons.png b/view/theme/dispy/icons.png index a59a80358436e2c33cb50f5a7075876052f07bfc..2f0459bd38507cfb9d8f84247a45f88d00c9d79e 100644 GIT binary patch literal 18998 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 literal 28752 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

    >w&xWK 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 diff --git a/view/theme/dispy/next.png b/view/theme/dispy/next.png old mode 100755 new mode 100644 index 353e2e72a6513fac3f3775b347354a4fbbb7c622..5e0067c4b4abd31370a945244aee2c8aae6d85f6 GIT binary patch delta 519 zcmey(c8+C&q&PDJ1HU118Ih5Z!4bh>VL@SGKr%QqGB7kEC?q^2EFw5GJU9d> z5*{2D9vm7L0%U*?k&JpY)e%8Z{Sa|f@`LXUN1zwXN`m}?8JJjD+1NQaxwv^m%pG0a zJ^Z4xd;6BITD@lNy7e12ZrZ$M>$dGXcJA7}XYaoK2M!)OdgAh(&)?bI6YGH{-1KyD z4AD4Wdii<1P?Ldx+eMB=3F5muI+ECTSN?b3{H)l#?QdnC+T=(!#Z_~I?+DZ<$3HE; z)b&pG=e)(sfBt;@X+i5ellEyvGdBiEC@j(Ay{4hxBlu0{2IHZ1XAZF>o_3xgzKla! ztV{6Ft|Nzd5|2915uRgt=u%Q*=%P+6mdKI;Vst0O`Ei4FCWD delta 823 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 diff --git a/view/theme/dispy/prev.png b/view/theme/dispy/prev.png old mode 100755 new mode 100644 index 0ae6022af5701934cfa5e3e7391fcab8827398c0..10b10d74f2a82e76dcabd9ad8097481981471001 GIT binary patch literal 593 zcmeAS@N?(olHy`uVBq!ia0vp^;y|p(yEr+qAXP8FD1G)j8!4coT>(BJ zuK)l42QnQT9MaO#LPJA6Jw1JWePd%|fowlNzv$@bsHmuj2>*zPfZ(WLpkP>7P-tXe zSXgjKcnA=Mh6jg)1%-u&goOi1APNo*0||ldgml-hcmT*>^A+XwU&q7sn8d^QD)s3pE)CuwGEOQSE%RE9w2- zXaDQH-3!x&i#}H*7|p)B+bQGtIA=1nFPkpDWXZr6RVrDcFrfI56t4nzF;?G-~g@0f&nfxnA0E z@4$hBmwjdAU9{a_FBkw60-iW%v?9CXgM))@b;DV)9|?5l^V_-S^%^Mg$1^X%ln`hy zn)4&3L_XtdDL?l(jROqZb8>7k*aW)Xa! zLDJCxxSY#ps~Q|SLrVtzU`h!LuH*_EPxl)*E=6V2-+4&yO#g1t^alXTvhuK%I{@Yc z@M~V5Hf`sf9VTf8b$+?7sDD7As{uYCu0Yzx#>T^uq@=vOyt=x&wzig3^))p$_4V~LXU?2EckaA-^XAW= zzhudhrAwDCTefWZ^5rX5tXR2n<)K4|4j(>z^yty!$B&;pdGhq>(`V0~J$LTh`Sa&5 zUc7ke(xq$HuHCqCh`?8bDZJT`d#g}JhJyKl!W1U||;TLDF8C%}umIxV@%~N0Q$l1Gh zt#H<(chXEVc4dF%G`+XutB73IxhgLw<=ZP&1wBL7UTqObP7M{V=nS9M{jp%XoJqV@#9Z&)b=hXw0|PVj|9mrNm~()CJ-)qav~Ak~V16OH z!{M;?@~ND2hjV`NJn#0|;GCZ#Z}NArPN(BYe<@ANvh*+v@B5?C=nMeuc3YED;w50a z-FAW?FfGf{gCK}$(K-kMJZfJ88;yoTM5b-q`hLGhDwRSimAdQAW>W(IDJ6*L*T8zc z?no)`u=RQkRaH?e7NM%@lm9Vg<)c`u)f^%+yWOsSI2^EAt>F7Ugb-LRm$+OmkW$9R zf8z~fz-qM`gKajOnE8A@W4&I(^E?m{hzPcA3nFr#Qm#}g4iTBXUQa(BkJxUvF<2Cd zL;^t&fQT>{33IzawWmy7%J06c?ANrnh zl!Brt&@}A{rt3QL`8;m78#w2Jh@M~{e}OLNT!dkWOeO=vFzzNz(~!&MVz9|%@@c6h zqRDQz`yKLyW6WWUofeD5ZLwI~7-J{KnDbZdt5hmIwkvnJT( Date: Fri, 9 Mar 2012 00:31:17 -0800 Subject: [PATCH 024/153] bug in check for private email comment to public conversation prevents authenticated visitor from seeing comments that should be allowed --- include/conversation.php | 31 ++++++++----------------------- include/security.php | 1 + 2 files changed, 9 insertions(+), 23 deletions(-) diff --git a/include/conversation.php b/include/conversation.php index f1134975a..526c6ea00 100755 --- a/include/conversation.php +++ b/include/conversation.php @@ -179,9 +179,11 @@ function localize_item(&$item){ * that are based on unique features of the calling module. * */ - if(!function_exists('conversation')){ + +if(!function_exists('conversation')) { function conversation(&$a, $items, $mode, $update, $preview = false) { + require_once('bbcode.php'); $profile_owner = 0; @@ -418,26 +420,6 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { $toplevelprivate = (($toplevelpost && $item['private']) ? true : false); $item_writeable = (($item['writable'] || $item['self']) ? true : false); - // DISABLED - /* - if($blowhard == $item['cid'] && (! $item['self']) && ($mode != 'profile') && ($mode != 'notes')) { - $blowhard_count ++; - if($blowhard_count == 3) { - $o .= '

    ' . ''; - $blowhard_count = 0; - } - // END DISABLED - */ - $comments_seen = 0; $comments_collapsed = false; $comment_lastcollapsed = false; @@ -445,13 +427,16 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { $threadsid++; $threads[$threadsid]['id'] = $item['item_id']; + $threads[$threadsid]['private'] = $item['private']; $threads[$threadsid]['items'] = array(); } else { - // prevent private email from leaking into public conversation - if((! $toplevelpost) && (! $toplevelprivate) && ($item['private']) && ($profile_owner != local_user())) + + // prevent private email reply to public conversation from leaking. + if($item['private'] && ! $threads[$threadsid]['private']) continue; + $comments_seen ++; $comment_lastcollapsed = false; $comment_firstcollapsed = false; diff --git a/include/security.php b/include/security.php index f469dad66..8c536b656 100755 --- a/include/security.php +++ b/include/security.php @@ -283,6 +283,7 @@ function item_permissions_sql($owner_id,$remote_verified = false,$groups = null) ); } } + return $sql; } From 3878b58f0d19a60cb51b65e2c4b02ccb242ba73b Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 9 Mar 2012 00:47:10 -0800 Subject: [PATCH 025/153] bug #324 - tinymce used for mail even if editplain being used. --- mod/message.php | 6 ++++ view/msg-header.tpl | 79 ++++++++++++++++++--------------------------- 2 files changed, 37 insertions(+), 48 deletions(-) diff --git a/mod/message.php b/mod/message.php index 4b494e906..91db5baef 100755 --- a/mod/message.php +++ b/mod/message.php @@ -129,10 +129,16 @@ function message_content(&$a) { $o .= $header; + $plaintext = false; + if(intval(get_pconfig(local_user(),'system','plaintext'))) + $plaintext = true; + + $tpl = get_markup_template('msg-header.tpl'); $a->page['htmlhead'] .= replace_macros($tpl, array( '$baseurl' => $a->get_baseurl(), + '$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'), '$nickname' => $a->user['nickname'], '$linkurl' => t('Please enter a link URL:') )); diff --git a/view/msg-header.tpl b/view/msg-header.tpl index a74154c19..b5c78345a 100755 --- a/view/msg-header.tpl +++ b/view/msg-header.tpl @@ -2,55 +2,38 @@ From 42d622d6bfb5768205573cb6b149340d28f46886 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 9 Mar 2012 02:50:57 -0800 Subject: [PATCH 026/153] recover contacts total count which got lost --- mod/contacts.php | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/mod/contacts.php b/mod/contacts.php index c99ac1452..001bf12af 100755 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -447,9 +447,10 @@ function contacts_content(&$a) { $r = q("SELECT COUNT(*) AS `total` FROM `contact` WHERE `uid` = %d AND `pending` = 0 $sql_extra $sql_extra2 ", intval($_SESSION['uid'])); - if(count($r)) + if(count($r)) { $a->set_pager_total($r[0]['total']); - + $total = $r[0]['total']; + } @@ -518,7 +519,7 @@ function contacts_content(&$a) { $o .= replace_macros($tpl,array( '$header' => t('Contacts') . (($nets) ? ' - ' . network_to_name($nets) : ''), '$tabs' => $t, - '$total' => $r[0]['total'], + '$total' => $total, '$search' => $search_hdr, '$desc' => t('Search your contacts'), '$finding' => (strlen($search) ? t('Finding: ') . "'" . $search . "'" : ""), From f84c191f8df126b95d8a41f70e785a9592018390 Mon Sep 17 00:00:00 2001 From: Alexander Kampmann Date: Fri, 9 Mar 2012 12:16:58 +0100 Subject: [PATCH 027/153] added some tests --- build.xml | 28 ++++----- tests/xss_filter_test.php | 116 +++++++++++++++++++++++++++++--------- util/db_update.php | 2 +- 3 files changed, 102 insertions(+), 44 deletions(-) diff --git a/build.xml b/build.xml index 0f5745072..a61a5123d 100644 --- a/build.xml +++ b/build.xml @@ -1,16 +1,6 @@ - - - set_include_path( - get_include_path() . PATH_SEPARATOR - . 'include' . PATH_SEPARATOR - . 'library' . PATH_SEPARATOR - . 'library/phpsec' . PATH_SEPARATOR - . '.' ); - - @@ -32,16 +22,17 @@ - + + @@ -50,9 +41,9 @@ - + @@ -75,6 +66,9 @@ + + +
    diff --git a/tests/xss_filter_test.php b/tests/xss_filter_test.php index e480ef7ec..00e97cf98 100644 --- a/tests/xss_filter_test.php +++ b/tests/xss_filter_test.php @@ -1,16 +1,26 @@ '; @@ -53,12 +63,12 @@ class AntiXSSTest extends PHPUnit_Framework_TestCase { $autoname1=autoname(-23); $this->assertEquals(0, count($autoname1)); } - -// public function testAutonameMaxLength() { -// $autoname2=autoname(PHP_INT_MAX); -// $this->assertEquals(PHP_INT_MAX, count($autoname2)); -// } - + + // public function testAutonameMaxLength() { + // $autoname2=autoname(PHP_INT_MAX); + // $this->assertEquals(PHP_INT_MAX, count($autoname2)); + // } + public function testAutonameLength1() { $autoname3=autoname(1); $this->assertEquals(1, count($autoname3)); @@ -68,7 +78,7 @@ class AntiXSSTest extends PHPUnit_Framework_TestCase { *xmlify and unxmlify */ public function testXmlify() { - $text="I want to break\n this!11!"; + $text="I want to break\n this!11!"; $xml=xmlify($text); //test whether it actually may be part of a xml document $retext=unxmlify($text); @@ -85,7 +95,7 @@ class AntiXSSTest extends PHPUnit_Framework_TestCase { $this->assertEquals(12, hex2bin(bin2hex(12))); $this->assertEquals(PHP_INT_MAX, hex2bin(bin2hex(PHP_INT_MAX))); } - + /** * test expand_acl */ @@ -93,7 +103,7 @@ class AntiXSSTest extends PHPUnit_Framework_TestCase { $text="<1><2><3>"; $this->assertEquals(array(1, 2, 3), expand_acl($text)); } - + public function testExpandAclBigNumber() { $text="<1><279012><15>"; $this->assertEquals(array(1, 279012, 15), expand_acl($text)); @@ -133,19 +143,19 @@ class AntiXSSTest extends PHPUnit_Framework_TestCase { $text="Another> invalid> string>"; //should be invalid $this->assertEquals(array(), expand_acl($text)); } - + public function testExpandAclOpenOnly() { $text="assertEquals(array(), expand_acl($text)); } - + public function testExpandAclNoMatching1() { $text=" invalid "; //should be invalid $this->assertEquals(array(), expand_acl($text)); } - + public function testExpandAclNoMatching2() { - $text="<1>2><3>"; + $text="<1>2><3>"; $this->assertEquals(array(), expand_acl($text)); } @@ -166,7 +176,7 @@ class AntiXSSTest extends PHPUnit_Framework_TestCase { $this->assertTrue(attribute_contains($testAttr, "class3")); $this->assertFalse(attribute_contains($testAttr, "class2")); } - + public function testAttributeContainsEmpty() { $testAttr=""; $this->assertFalse(attribute_contains($testAttr, "class2")); @@ -176,17 +186,71 @@ class AntiXSSTest extends PHPUnit_Framework_TestCase { $testAttr="--... %\$ä() /(=?}"; $this->assertFalse(attribute_contains($testAttr, "class2")); } - + /** * test get_tags */ + public function testGetTagsShortPerson() { + $text="hi @Mike"; + + $tags=get_tags($text); + + $this->assertEquals("@Mike", $tags[0]); + } + + public function testGetTagsShortTag() { + $text="This is a #test_case"; + + $tags=get_tags($text); + + $this->assertEquals("#test_case", $tags[0]); + } + + public function testGetTagsShortTagAndPerson() { + $text="hi @Mike This is a #test_case"; + + $tags=get_tags($text); + + $this->assertEquals("@Mike", $tags[0]); + $this->assertEquals("#test_case", $tags[1]); + } + + public function testGetTagsShortTagAndPersonSpecialChars() { + $text="hi @Mike, This is a #test_case."; + + $tags=get_tags($text); + + $this->assertEquals("@Mike", $tags[0]); + $this->assertEquals("#test_case", $tags[1]); + } + + public function testGetTagsPersonOnly() { + $text="@Mike I saw the Theme Dev group was created."; + + $tags=get_tags($text); + + $this->assertEquals("@Mike", $tags[0]); + } + + public function testGetTags2Persons1TagSpecialChars() { + $text="hi @Mike, I'm just writing #test_cases, so" + ." so @somebody@friendica.com may change #things."; + + $tags=get_tags($text); + + $this->assertEquals("@Mike", $tags[0]); + $this->assertEquals("#test_cases", $tags[1]); + $this->assertEquals("@somebody@friendica.com", $tags[2]); + $this->assertEquals("#things", $tags[3]); + } + public function testGetTags() { $text="hi @Mike, I'm just writing #test_cases, " ." so @somebody@friendica.com may change #things. Of course I " ."look for a lot of #pitfalls, like #tags at the end of a sentence " ."@comment. I hope noone forgets about @fullstops.because that might" ." break #things. @Mike@campino@friendica.eu is also #nice, isn't it? " - ."Now, add a @first_last tag. "; + ."Now, add a @first_last tag. "; //check whether this are all variants (no, auto-stuff is missing). $tags=get_tags($text); @@ -210,8 +274,8 @@ class AntiXSSTest extends PHPUnit_Framework_TestCase { $tags=get_tags(""); $this->assertEquals(0, count($tags)); } -//function qp, quick and dirty?? -//get_mentions -//get_contact_block, bis Zeile 538 + //function qp, quick and dirty?? + //get_mentions + //get_contact_block, bis Zeile 538 } ?> diff --git a/util/db_update.php b/util/db_update.php index a6177324a..35620e80b 100755 --- a/util/db_update.php +++ b/util/db_update.php @@ -26,7 +26,7 @@ echo "New DB VERSION: " . DB_UPDATE_VERSION . "\n"; if($build != DB_UPDATE_VERSION) { echo "Updating database..."; - check_config(); + check_config($a); echo "Done\n"; } From 21589c5eced7869d7105fa439c433e6a12c89531 Mon Sep 17 00:00:00 2001 From: Alexander Kampmann Date: Fri, 9 Mar 2012 12:18:37 +0100 Subject: [PATCH 028/153] changed a test string --- tests/xss_filter_test.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/tests/xss_filter_test.php b/tests/xss_filter_test.php index 00e97cf98..35d3b1be9 100644 --- a/tests/xss_filter_test.php +++ b/tests/xss_filter_test.php @@ -225,11 +225,11 @@ class AntiXSSTest extends PHPUnit_Framework_TestCase { } public function testGetTagsPersonOnly() { - $text="@Mike I saw the Theme Dev group was created."; + $text="@Test I saw the Theme Dev group was created."; $tags=get_tags($text); - $this->assertEquals("@Mike", $tags[0]); + $this->assertEquals("@Test", $tags[0]); } public function testGetTags2Persons1TagSpecialChars() { From f8042d04451905486fb766c520736f4060ae9a12 Mon Sep 17 00:00:00 2001 From: Alexander Kampmann Date: Fri, 9 Mar 2012 12:57:11 +0100 Subject: [PATCH 029/153] splitted test cases. --- mod/item.php | 212 +++++++++++++++++++------------------- tests/get_tags_test.php | 147 ++++++++++++++++++++++++++ tests/xss_filter_test.php | 88 ---------------- 3 files changed, 255 insertions(+), 192 deletions(-) create mode 100644 tests/get_tags_test.php diff --git a/mod/item.php b/mod/item.php index 81d7c753b..a9edf0da6 100755 --- a/mod/item.php +++ b/mod/item.php @@ -425,110 +425,7 @@ function item_post(&$a) { if(count($tags)) { foreach($tags as $tag) { - - if(isset($profile)) - unset($profile); - if(strpos($tag,'#') === 0) { - if(strpos($tag,'[url=')) - continue; - $basetag = str_replace('_',' ',substr($tag,1)); - $body = str_replace($tag,'#[url=' . $a->get_baseurl() . '/search?search=' . rawurlencode($basetag) . ']' . $basetag . '[/url]',$body); - - $newtag = '#[url=' . $a->get_baseurl() . '/search?search=' . rawurlencode($basetag) . ']' . $basetag . '[/url]'; - if(! stristr($str_tags,$newtag)) { - if(strlen($str_tags)) - $str_tags .= ','; - $str_tags .= $newtag; - } - continue; - } - if(strpos($tag,'@') === 0) { - if(strpos($tag,'[url=')) - continue; - $stat = false; - $name = substr($tag,1); - if((strpos($name,'@')) || (strpos($name,'http://'))) { - $newname = $name; - $links = @lrdd($name); - if(count($links)) { - foreach($links as $link) { - if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page') - $profile = $link['@attributes']['href']; - if($link['@attributes']['rel'] === 'salmon') { - if(strlen($inform)) - $inform .= ','; - $inform .= 'url:' . str_replace(',','%2c',$link['@attributes']['href']); - } - } - } - } - else { - $newname = $name; - $alias = ''; - $tagcid = 0; - if(strrpos($newname,'+')) { - $tagcid = intval(substr($newname,strrpos($newname,'+') + 1)); - if(strpos($name,' ')) - $name = substr($name,0,strpos($name,' ')); - } - if($tagcid) { - $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", - intval($tagcid), - intval($profile_uid) - ); - } - elseif(strstr($name,'_') || strstr($name,' ')) { - $newname = str_replace('_',' ',$name); - $r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1", - dbesc($newname), - intval($profile_uid) - ); - } - else { - $r = q("SELECT * FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1", - dbesc($name), - dbesc($name), - intval($profile_uid) - ); - } - if(count($r)) { - $profile = $r[0]['url']; - if($r[0]['network'] === 'stat') { - $newname = $r[0]['nick']; - $stat = true; - if($r[0]['alias']) - $alias = $r[0]['alias']; - } - else - $newname = $r[0]['name']; - if(strlen($inform)) - $inform .= ','; - $inform .= 'cid:' . $r[0]['id']; - } - } - if($profile) { - $body = str_replace('@' . $name, '@' . '[url=' . $profile . ']' . $newname . '[/url]', $body); - $profile = str_replace(',','%2c',$profile); - $newtag = '@[url=' . $profile . ']' . $newname . '[/url]'; - if(! stristr($str_tags,$newtag)) { - if(strlen($str_tags)) - $str_tags .= ','; - $str_tags .= $newtag; - } - - // Status.Net seems to require the numeric ID URL in a mention if the person isn't - // subscribed to you. But the nickname URL is OK if they are. Grrr. We'll tag both. - - if(strlen($alias)) { - $newtag = '@[url=' . $alias . ']' . $newname . '[/url]'; - if(! stristr($str_tags,$newtag)) { - if(strlen($str_tags)) - $str_tags .= ','; - $str_tags .= $newtag; - } - } - } - } + handle_tag($body, $inform, $str_tags, $profile_uid, $tag); } } @@ -922,3 +819,110 @@ function item_content(&$a) { drop_item($a->argv[2]); } } + +function handle_body(&$body, &$inform, &$str_tags, $profile_uid, $tag) { + $profile=null; + if(isset($profile)) + unset($profile); + if(strpos($tag,'#') === 0) { + if(strpos($tag,'[url=')) + continue; + $basetag = str_replace('_',' ',substr($tag,1)); + $body = str_replace($tag,'#[url=' . $a->get_baseurl() . '/search?search=' . rawurlencode($basetag) . ']' . $basetag . '[/url]',$body); + + $newtag = '#[url=' . $a->get_baseurl() . '/search?search=' . rawurlencode($basetag) . ']' . $basetag . '[/url]'; + if(! stristr($str_tags,$newtag)) { + if(strlen($str_tags)) + $str_tags .= ','; + $str_tags .= $newtag; + } + continue; + } + if(strpos($tag,'@') === 0) { + if(strpos($tag,'[url=')) + continue; + $stat = false; + $name = substr($tag,1); + if((strpos($name,'@')) || (strpos($name,'http://'))) { + $newname = $name; + $links = @lrdd($name); + if(count($links)) { + foreach($links as $link) { + if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page') + $profile = $link['@attributes']['href']; + if($link['@attributes']['rel'] === 'salmon') { + if(strlen($inform)) + $inform .= ','; + $inform .= 'url:' . str_replace(',','%2c',$link['@attributes']['href']); + } + } + } + } + else { + $newname = $name; + $alias = ''; + $tagcid = 0; + if(strrpos($newname,'+')) { + $tagcid = intval(substr($newname,strrpos($newname,'+') + 1)); + if(strpos($name,' ')) + $name = substr($name,0,strpos($name,' ')); + } + if($tagcid) { + $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", + intval($tagcid), + intval($profile_uid) + ); + } + elseif(strstr($name,'_') || strstr($name,' ')) { + $newname = str_replace('_',' ',$name); + $r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1", + dbesc($newname), + intval($profile_uid) + ); + } + else { + $r = q("SELECT * FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1", + dbesc($name), + dbesc($name), + intval($profile_uid) + ); + } + if(count($r)) { + $profile = $r[0]['url']; + if($r[0]['network'] === 'stat') { + $newname = $r[0]['nick']; + $stat = true; + if($r[0]['alias']) + $alias = $r[0]['alias']; + } + else + $newname = $r[0]['name']; + if(strlen($inform)) + $inform .= ','; + $inform .= 'cid:' . $r[0]['id']; + } + } + if($profile) { + $body = str_replace('@' . $name, '@' . '[url=' . $profile . ']' . $newname . '[/url]', $body); + $profile = str_replace(',','%2c',$profile); + $newtag = '@[url=' . $profile . ']' . $newname . '[/url]'; + if(! stristr($str_tags,$newtag)) { + if(strlen($str_tags)) + $str_tags .= ','; + $str_tags .= $newtag; + } + + // Status.Net seems to require the numeric ID URL in a mention if the person isn't + // subscribed to you. But the nickname URL is OK if they are. Grrr. We'll tag both. + + if(strlen($alias)) { + $newtag = '@[url=' . $alias . ']' . $newname . '[/url]'; + if(! stristr($str_tags,$newtag)) { + if(strlen($str_tags)) + $str_tags .= ','; + $str_tags .= $newtag; + } + } + } + } +} diff --git a/tests/get_tags_test.php b/tests/get_tags_test.php new file mode 100644 index 000000000..a458f0fbc --- /dev/null +++ b/tests/get_tags_test.php @@ -0,0 +1,147 @@ +15, 'network'=>'stat', 'alias'=>'Mike', 'nick'=>'Mike', 'url'=>"http://justatest.de")); + +} +function dbesc($str) { + echo $str; +} + +class GetTagsTest extends PHPUnit_Framework_TestCase { + + public function setUp() { + set_include_path( + get_include_path() . PATH_SEPARATOR + . 'include' . PATH_SEPARATOR + . 'library' . PATH_SEPARATOR + . 'library/phpsec' . PATH_SEPARATOR + . '.' ); + } + + /** + * test with one Person tag + */ + public function testGetTagsShortPerson() { + $text="hi @Mike"; + + $tags=get_tags($text); + + $inform=''; + $str_tags=''; + handle_body($text, $inform, $str_tags, 11, $tags[0]); + + $this->assertEquals("@Mike", $tags[0]); + $this->assertEquals($text, "hi @[url=http://justatest.de]Mike[/url]"); + } + + /** + * Test with one hash tag. + */ + public function testGetTagsShortTag() { + $text="This is a #test_case"; + + $tags=get_tags($text); + + $this->assertEquals("#test_case", $tags[0]); + } + + /** + * test with a person and a hash tag + */ + public function testGetTagsShortTagAndPerson() { + $text="hi @Mike This is a #test_case"; + + $tags=get_tags($text); + + $inform=''; + $str_tags=''; + handle_body($text, $inform, $str_tags, 11, $tags[0]); + + $this->assertEquals("hi @[url=http://justatest.de]Mike[/url] This is a #test_case", $text); + $this->assertEquals("@Mike", $tags[0]); + $this->assertEquals("#test_case", $tags[1]); + } + + /** + * test with a person, a hash tag and some special chars. + */ + public function testGetTagsShortTagAndPersonSpecialChars() { + $text="hi @Mike, This is a #test_case."; + + $tags=get_tags($text); + + $this->assertEquals("@Mike", $tags[0]); + $this->assertEquals("#test_case", $tags[1]); + } + + /** + * Test with a person tag and text behind it. + */ + public function testGetTagsPersonOnly() { + $text="@Test I saw the Theme Dev group was created."; + + $tags=get_tags($text); + + $this->assertEquals("@Test", $tags[0]); + } + + /** + * test with two persons and one special tag. + */ + public function testGetTags2Persons1TagSpecialChars() { + $text="hi @Mike, I'm just writing #test_cases, so" + ." so @somebody@friendica.com may change #things."; + + $tags=get_tags($text); + + $this->assertEquals("@Mike", $tags[0]); + $this->assertEquals("#test_cases", $tags[1]); + $this->assertEquals("@somebody@friendica.com", $tags[2]); + $this->assertEquals("#things", $tags[3]); + } + + /** + * test with a long text. + */ + public function testGetTags() { + $text="hi @Mike, I'm just writing #test_cases, " + ." so @somebody@friendica.com may change #things. Of course I " + ."look for a lot of #pitfalls, like #tags at the end of a sentence " + ."@comment. I hope noone forgets about @fullstops.because that might" + ." break #things. @Mike@campino@friendica.eu is also #nice, isn't it? " + ."Now, add a @first_last tag. "; + //TODO check whether this are all variants (no, auto-stuff is missing). + + $tags=get_tags($text); + + $this->assertEquals("@Mike", $tags[0]); + $this->assertEquals("#test_cases", $tags[1]); + $this->assertEquals("@somebody@friendica.com", $tags[2]); + $this->assertEquals("#things", $tags[3]); + $this->assertEquals("#pitfalls", $tags[4]); + $this->assertEquals("#tags", $tags[5]); + $this->assertEquals("@comment", $tags[6]); + $this->assertEquals("@fullstops", $tags[7]); + $this->assertEquals("#things", $tags[8]); + $this->assertEquals("@Mike", $tags[9]); + $this->assertEquals("@campino@friendica.eu", $tags[10]); + $this->assertEquals("#nice", $tags[11]); + $this->assertEquals("@first_last", $tags[12]); + } + + /** + * test with an empty string + */ + public function testGetTagsEmpty() { + $tags=get_tags(""); + $this->assertEquals(0, count($tags)); + } +} \ No newline at end of file diff --git a/tests/xss_filter_test.php b/tests/xss_filter_test.php index 35d3b1be9..fe944c2a7 100644 --- a/tests/xss_filter_test.php +++ b/tests/xss_filter_test.php @@ -1,6 +1,5 @@ assertFalse(attribute_contains($testAttr, "class2")); } - /** - * test get_tags - */ - public function testGetTagsShortPerson() { - $text="hi @Mike"; - - $tags=get_tags($text); - - $this->assertEquals("@Mike", $tags[0]); - } - - public function testGetTagsShortTag() { - $text="This is a #test_case"; - - $tags=get_tags($text); - - $this->assertEquals("#test_case", $tags[0]); - } - - public function testGetTagsShortTagAndPerson() { - $text="hi @Mike This is a #test_case"; - - $tags=get_tags($text); - - $this->assertEquals("@Mike", $tags[0]); - $this->assertEquals("#test_case", $tags[1]); - } - - public function testGetTagsShortTagAndPersonSpecialChars() { - $text="hi @Mike, This is a #test_case."; - - $tags=get_tags($text); - - $this->assertEquals("@Mike", $tags[0]); - $this->assertEquals("#test_case", $tags[1]); - } - - public function testGetTagsPersonOnly() { - $text="@Test I saw the Theme Dev group was created."; - - $tags=get_tags($text); - - $this->assertEquals("@Test", $tags[0]); - } - - public function testGetTags2Persons1TagSpecialChars() { - $text="hi @Mike, I'm just writing #test_cases, so" - ." so @somebody@friendica.com may change #things."; - - $tags=get_tags($text); - - $this->assertEquals("@Mike", $tags[0]); - $this->assertEquals("#test_cases", $tags[1]); - $this->assertEquals("@somebody@friendica.com", $tags[2]); - $this->assertEquals("#things", $tags[3]); - } - - public function testGetTags() { - $text="hi @Mike, I'm just writing #test_cases, " - ." so @somebody@friendica.com may change #things. Of course I " - ."look for a lot of #pitfalls, like #tags at the end of a sentence " - ."@comment. I hope noone forgets about @fullstops.because that might" - ." break #things. @Mike@campino@friendica.eu is also #nice, isn't it? " - ."Now, add a @first_last tag. "; - //check whether this are all variants (no, auto-stuff is missing). - - $tags=get_tags($text); - - $this->assertEquals("@Mike", $tags[0]); - $this->assertEquals("#test_cases", $tags[1]); - $this->assertEquals("@somebody@friendica.com", $tags[2]); - $this->assertEquals("#things", $tags[3]); - $this->assertEquals("#pitfalls", $tags[4]); - $this->assertEquals("#tags", $tags[5]); - $this->assertEquals("@comment", $tags[6]); - $this->assertEquals("@fullstops", $tags[7]); - $this->assertEquals("#things", $tags[8]); - $this->assertEquals("@Mike", $tags[9]); - $this->assertEquals("@campino@friendica.eu", $tags[10]); - $this->assertEquals("#nice", $tags[11]); - $this->assertEquals("@first_last", $tags[12]); - } - - public function testGetTagsEmpty() { - $tags=get_tags(""); - $this->assertEquals(0, count($tags)); - } //function qp, quick and dirty?? //get_mentions //get_contact_block, bis Zeile 538 From 9f441731af6929272b27ad9097235aab82f25b29 Mon Sep 17 00:00:00 2001 From: tommy tomson Date: Fri, 9 Mar 2012 13:23:38 +0100 Subject: [PATCH 030/153] fixes in css --- view/theme/diabook-blue/comment_item.tpl | 35 ------------------------ view/theme/diabook-blue/nav.tpl | 4 +-- view/theme/diabook-blue/style.css | 16 +++++++---- view/theme/diabook/comment_item.tpl | 35 ------------------------ view/theme/diabook/nav.tpl | 4 +-- view/theme/diabook/style.css | 15 ++++++---- 6 files changed, 23 insertions(+), 86 deletions(-) delete mode 100644 view/theme/diabook-blue/comment_item.tpl delete mode 100644 view/theme/diabook/comment_item.tpl diff --git a/view/theme/diabook-blue/comment_item.tpl b/view/theme/diabook-blue/comment_item.tpl deleted file mode 100644 index 85176732b..000000000 --- a/view/theme/diabook-blue/comment_item.tpl +++ /dev/null @@ -1,35 +0,0 @@ -
    -
    - - - - - - - -
    - $mytitle -
    -
    - - - {{ if $qcomment }} -
      - {{ for $qcomment as $qc }} - - {{ endfor }} -
    - {{ endif }} - -
    - - -
    -
    - -
    diff --git a/view/theme/diabook-blue/nav.tpl b/view/theme/diabook-blue/nav.tpl index d0ff06673..289581c36 100644 --- a/view/theme/diabook-blue/nav.tpl +++ b/view/theme/diabook-blue/nav.tpl @@ -140,8 +140,8 @@
    -
    $langselector
    -
    +
    $langselector
    +
    diff --git a/view/theme/diabook-blue/style.css b/view/theme/diabook-blue/style.css index 5b7a3f3d6..7f5fe1fec 100644 --- a/view/theme/diabook-blue/style.css +++ b/view/theme/diabook-blue/style.css @@ -515,7 +515,7 @@ header { top: 0px; margin: 0px; padding: 0px; - width: 20%; + width: 22%; height: 32px; background: #1872a2; background-color: #1872a2; @@ -529,8 +529,9 @@ header #site-location { } header #banner { overflow: hidden; - text-align: center; - width: 100%; + text-align: banner; + width: 82%; + margin-left: 25%; } header #banner a, header #banner a:active, @@ -556,12 +557,12 @@ nav { width: 80%; height: 32px; position: fixed; - left: 20%; + left: 22%; top: 0px; padding: 0px; background: #1872a2; - color: #1872a2; - z-index: 100; + color: #ffffff; + z-index: 99; border-bottom: 1px; border-bottom-color: black; border-bottom-style: inset; @@ -1036,6 +1037,9 @@ section { width: 800px; padding: 0px 0px 0px 12px; } +#contact-edit-end { + margin-top: 140%; + } .pager { padding: 10px; text-align: center; diff --git a/view/theme/diabook/comment_item.tpl b/view/theme/diabook/comment_item.tpl deleted file mode 100644 index 85176732b..000000000 --- a/view/theme/diabook/comment_item.tpl +++ /dev/null @@ -1,35 +0,0 @@ -
    -
    - - - - - - - -
    - $mytitle -
    -
    - - - {{ if $qcomment }} -
      - {{ for $qcomment as $qc }} - - {{ endfor }} -
    - {{ endif }} - -
    - - -
    -
    - -
    diff --git a/view/theme/diabook/nav.tpl b/view/theme/diabook/nav.tpl index d0ff06673..289581c36 100644 --- a/view/theme/diabook/nav.tpl +++ b/view/theme/diabook/nav.tpl @@ -140,8 +140,8 @@
    -
    $langselector
    -
    +
    $langselector
    +
    diff --git a/view/theme/diabook/style.css b/view/theme/diabook/style.css index bccfea149..6e3909ab4 100644 --- a/view/theme/diabook/style.css +++ b/view/theme/diabook/style.css @@ -515,7 +515,7 @@ header { top: 0px; margin: 0px; padding: 0px; - width: 20%; + width: 22%; height: 32px; background: #000; z-index: 100; @@ -528,8 +528,9 @@ header #site-location { } header #banner { overflow: hidden; - text-align: center; - width: 100%; + text-align: left; + width: 82%%; + margin-left: 25%; } header #banner a, header #banner a:active, @@ -555,12 +556,12 @@ nav { width: 80%; height: 32px; position: fixed; - left: 20%; + left: 22%; top: 0px; padding: 0px; background: #000; color: #ffffff; - z-index: 100; + z-index: 99; -webkit-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7); -moz-box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7); box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.7); @@ -1035,12 +1036,14 @@ section { width: 800px; padding: 0px 0px 0px 12px; } +#contact-edit-end { + margin-top: 140%; + } .pager { padding: 10px; text-align: center; font-size: 1.0em; } - .tabs { background-position: 0 -20px; From 8fe4645a5d97a66b823744248698c624f7146d5b Mon Sep 17 00:00:00 2001 From: tommy tomson Date: Fri, 9 Mar 2012 18:15:27 +0100 Subject: [PATCH 031/153] add js to hide nav-menus, when clicked outside --- view/theme/diabook-blue/icons/starred.png | Bin 1617 -> 501 bytes view/theme/diabook-blue/theme.php | 66 ++++++++++++++++++++++ view/theme/diabook/icons/starred.png | Bin 1617 -> 501 bytes view/theme/diabook/nav.tpl | 2 + view/theme/diabook/theme.php | 66 ++++++++++++++++++++++ 5 files changed, 134 insertions(+) create mode 100755 view/theme/diabook-blue/theme.php create mode 100755 view/theme/diabook/theme.php diff --git a/view/theme/diabook-blue/icons/starred.png b/view/theme/diabook-blue/icons/starred.png index 72a49c157c8ccf21376e953984ffc30c6fe78b06..2b82dfca319a3a370d8c7e1242b792fbbf963c86 100755 GIT binary patch delta 430 zcmV;f0a560-7Gk*;$5r>!!W&i*IbxA})R5;6p(?4qz zVGsuJ-+PzbMLkIn)J}^P_7L&`#KOiVjR7kQMFg9GDEdLP(Mqtg6bnJHu+=6u3L-0R zqhO;mhjAzDcg$|kn|6%H z=70jQ+EnLM)QCv3sfq#d1P*=V{$~j9ZbxlUNi_17rOilQO$GBZr zCXjR1ODV~D@ALk~Y7lA)#Ztt!y5f}5zdPs<;7}xWdrv|;K2~wCtmzdT41&yV`UhOX z6?_Wc5bKe4Tx0C?Jslgn=#RTRd5V~?km60yOw z#j4O1i#9?@G<~Q|glKEWu9Y?zYnl`%LaHX?YkSDeczS1?KGX&3h8-=4J>nr&`~el} zf?ZcAm8yb}D%Mm8RH>*NRLsJUnU+8~t8>5eo$q}2TwTb0>VJlz$_UsDV(nB*qOrOr zcKt+#SDB!|gzH6Nv0h&SaKljXk9hI}2Ee_Uo$LP@6HOU;VC)9E&B)sX<1%E=d!dfO zybH`-io+OkyMerJtgbz9*b&Nq^LJx8*CDvipMa|BOx58_jzem<;2R0~`SUXz9}{z!VsTtDWU{fjwZ9 z{CIJBh&O`u+B*Zj@xey-tTW_%-IV1DFb&4-XzN^M#JSp8s0}&4yzic=0|hYt3gh}v zC$le5wWWc6=7fwY=SFzTKfO4_TcN5i4fHb~>7KI!ynhavZ(Uuf4*3scurln;W}0sK zEHDe%De6cxEqoLLhbkomRU`oq(fD|DsiWzRS#2JUs~71Z5jdQubhFT#N>r}v3%<8~ zDjc2rEwmjpYymnc?IV~0Dl zd=x$_1o&J+qKR-(1YAL+cQNWVUo#Jxi{_j;k1$V~r_2*(*_<=qG?zvUt74U{BEovZ znzs&FXRKm!6YHQ=w&tyaR^^!&@KSe8zo1O9WPfTSGpr+t*g)g6g+vh{A(oe8fQ4>& zMf>eeEDqcDaZwCICBP1ETDu~k7vlqR4@>IPmT2KTpilS{1 zu}~3hV=*mO(AXfqAnupvTb|SpSgbmQmGVlU1tDVrIebKQUlPc z>pDxNQvU}4Kr)%sP1D@NIdgH&T&8L6NhXu}-)aSb1^{b39#7CTO;gh}qg*aG3nBWd zQij2p0Kql?WqurhTi11ewOaK%j(?*AsIs2kp1$0-#lFeONw<_FRaJ$eD8l7-MO0PQ z0H9K-luM=3oKtbCl}ZJQqHwFtvVA_^Rq^QY!>zGcYyA4iFIw4Mn=YlbBp;BXPgxZ1u7Pb z#5rfVT)s3q@_g8eCob2TiGK*}x5F4L%Tk08BgJB&lMBJTUN49U`CJZCN~){#ypUD7 zeJVBO)Owbf&!_8=NK@W0R#RtJryRa}Cx7eq&3s2khcpa>B9W%Nt~dCW{{a9X8g14% z$H9efiwC;9xAK9({;9T&8_tG;!Fy}tEt@}m`fSdm)7;~!f9H?-Q*sO0h3XPOQ#foG zrg0@6k3|MA4o)Q6tp0d&>qFBFObeAyx5U=A&!lGqE|+F-;`g)j*}{_XcW&PqI(6pM z_^US)Z|1*#-n9H>XFtB*_H^_~=J1h2Z>{x-P)+{<%pw}k+Ei^w00000NkvXXu0mjf Dq@?=~ diff --git a/view/theme/diabook-blue/theme.php b/view/theme/diabook-blue/theme.php new file mode 100755 index 000000000..0a20c9fbc --- /dev/null +++ b/view/theme/diabook-blue/theme.php @@ -0,0 +1,66 @@ +theme_info = array( + 'extends' => 'diabook', +); + +$a->page['htmlhead'] .= <<< EOT + +EOT; diff --git a/view/theme/diabook/icons/starred.png b/view/theme/diabook/icons/starred.png index 72a49c157c8ccf21376e953984ffc30c6fe78b06..2b82dfca319a3a370d8c7e1242b792fbbf963c86 100755 GIT binary patch delta 430 zcmV;f0a560-7Gk*;$5r>!!W&i*IbxA})R5;6p(?4qz zVGsuJ-+PzbMLkIn)J}^P_7L&`#KOiVjR7kQMFg9GDEdLP(Mqtg6bnJHu+=6u3L-0R zqhO;mhjAzDcg$|kn|6%H z=70jQ+EnLM)QCv3sfq#d1P*=V{$~j9ZbxlUNi_17rOilQO$GBZr zCXjR1ODV~D@ALk~Y7lA)#Ztt!y5f}5zdPs<;7}xWdrv|;K2~wCtmzdT41&yV`UhOX z6?_Wc5bKe4Tx0C?Jslgn=#RTRd5V~?km60yOw z#j4O1i#9?@G<~Q|glKEWu9Y?zYnl`%LaHX?YkSDeczS1?KGX&3h8-=4J>nr&`~el} zf?ZcAm8yb}D%Mm8RH>*NRLsJUnU+8~t8>5eo$q}2TwTb0>VJlz$_UsDV(nB*qOrOr zcKt+#SDB!|gzH6Nv0h&SaKljXk9hI}2Ee_Uo$LP@6HOU;VC)9E&B)sX<1%E=d!dfO zybH`-io+OkyMerJtgbz9*b&Nq^LJx8*CDvipMa|BOx58_jzem<;2R0~`SUXz9}{z!VsTtDWU{fjwZ9 z{CIJBh&O`u+B*Zj@xey-tTW_%-IV1DFb&4-XzN^M#JSp8s0}&4yzic=0|hYt3gh}v zC$le5wWWc6=7fwY=SFzTKfO4_TcN5i4fHb~>7KI!ynhavZ(Uuf4*3scurln;W}0sK zEHDe%De6cxEqoLLhbkomRU`oq(fD|DsiWzRS#2JUs~71Z5jdQubhFT#N>r}v3%<8~ zDjc2rEwmjpYymnc?IV~0Dl zd=x$_1o&J+qKR-(1YAL+cQNWVUo#Jxi{_j;k1$V~r_2*(*_<=qG?zvUt74U{BEovZ znzs&FXRKm!6YHQ=w&tyaR^^!&@KSe8zo1O9WPfTSGpr+t*g)g6g+vh{A(oe8fQ4>& zMf>eeEDqcDaZwCICBP1ETDu~k7vlqR4@>IPmT2KTpilS{1 zu}~3hV=*mO(AXfqAnupvTb|SpSgbmQmGVlU1tDVrIebKQUlPc z>pDxNQvU}4Kr)%sP1D@NIdgH&T&8L6NhXu}-)aSb1^{b39#7CTO;gh}qg*aG3nBWd zQij2p0Kql?WqurhTi11ewOaK%j(?*AsIs2kp1$0-#lFeONw<_FRaJ$eD8l7-MO0PQ z0H9K-luM=3oKtbCl}ZJQqHwFtvVA_^Rq^QY!>zGcYyA4iFIw4Mn=YlbBp;BXPgxZ1u7Pb z#5rfVT)s3q@_g8eCob2TiGK*}x5F4L%Tk08BgJB&lMBJTUN49U`CJZCN~){#ypUD7 zeJVBO)Owbf&!_8=NK@W0R#RtJryRa}Cx7eq&3s2khcpa>B9W%Nt~dCW{{a9X8g14% z$H9efiwC;9xAK9({;9T&8_tG;!Fy}tEt@}m`fSdm)7;~!f9H?-Q*sO0h3XPOQ#foG zrg0@6k3|MA4o)Q6tp0d&>qFBFObeAyx5U=A&!lGqE|+F-;`g)j*}{_XcW&PqI(6pM z_^US)Z|1*#-n9H>XFtB*_H^_~=J1h2Z>{x-P)+{<%pw}k+Ei^w00000NkvXXu0mjf Dq@?=~ diff --git a/view/theme/diabook/nav.tpl b/view/theme/diabook/nav.tpl index 289581c36..5776b6cf7 100644 --- a/view/theme/diabook/nav.tpl +++ b/view/theme/diabook/nav.tpl @@ -26,6 +26,7 @@ + {{ endif }} {{ if $nav.messages }} @@ -145,6 +146,7 @@ + diff --git a/view/theme/diabook/theme.php b/view/theme/diabook/theme.php new file mode 100755 index 000000000..0a20c9fbc --- /dev/null +++ b/view/theme/diabook/theme.php @@ -0,0 +1,66 @@ +theme_info = array( + 'extends' => 'diabook', +); + +$a->page['htmlhead'] .= <<< EOT + +EOT; From 92a93642e16e58621f8445534ed2348a53891488 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 9 Mar 2012 14:43:48 -0800 Subject: [PATCH 032/153] revup --- boot.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boot.php b/boot.php index 76d2f9326..45f728999 100755 --- a/boot.php +++ b/boot.php @@ -9,7 +9,7 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '2.3.1275' ); +define ( 'FRIENDICA_VERSION', '2.3.1276' ); define ( 'DFRN_PROTOCOL_VERSION', '2.22' ); define ( 'DB_UPDATE_VERSION', 1131 ); From cb1ecf2c5ad649eb372db9eb3bd1da756f207fb6 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sat, 10 Mar 2012 00:15:27 +0100 Subject: [PATCH 033/153] diabook: Moving the location between the icons --- view/theme/diabook/style.css | 3 +++ view/theme/diabook/wall_item.tpl | 3 +-- view/theme/diabook/wallwall_item.tpl | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/view/theme/diabook/style.css b/view/theme/diabook/style.css index bccfea149..2d4670dca 100644 --- a/view/theme/diabook/style.css +++ b/view/theme/diabook/style.css @@ -1113,6 +1113,7 @@ section { } .wall-item-container .wall-item-location { padding-right: 40px; + display: table-cell; } .wall-item-container .wall-item-ago { word-wrap: break-word; @@ -1168,6 +1169,7 @@ section { .wall-item-container .wall-item-actions-social { float: left; margin-bottom: 1px; + display: table-cell; } .wall-item-container .wall-item-actions-social a { margin-right: 1em; @@ -1178,6 +1180,7 @@ section { .wall-item-container .wall-item-actions-tools { float: right; width: 80px; + display: table-cell; } .wall-item-container .wall-item-actions-tools a { float: right; diff --git a/view/theme/diabook/wall_item.tpl b/view/theme/diabook/wall_item.tpl index b1a014949..8c892fd2a 100644 --- a/view/theme/diabook/wall_item.tpl +++ b/view/theme/diabook/wall_item.tpl @@ -46,7 +46,6 @@
    -
    $item.location 
    @@ -82,7 +81,7 @@ {{ endif }}
    - +
    $item.location 
    diff --git a/view/theme/diabook/wallwall_item.tpl b/view/theme/diabook/wallwall_item.tpl index 603a908c5..3b103745b 100644 --- a/view/theme/diabook/wallwall_item.tpl +++ b/view/theme/diabook/wallwall_item.tpl @@ -52,7 +52,6 @@
    -
    $item.location 
    @@ -88,7 +87,8 @@ {{ endif }}
    - +
    $item.location 
    +
    @@ -100,4 +100,4 @@
    $item.comment -
    \ No newline at end of file +
    From 686fe47b8892d3c3cd82b77b77adf3c990a7c160 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 9 Mar 2012 19:02:29 -0500 Subject: [PATCH 034/153] Merge branch 'master', remote-tracking branch 'remotes/upstream/master' * remotes/upstream/master: add js to hide nav-menus, when clicked outside fixes in css recover contacts total count which got lost bug #324 - tinymce used for mail even if editplain being used. bug in check for private email comment to public conversation prevents authenticated visitor from seeing comments that should be allowed keep tony from talking to himself * master: From fd1f8fb4361b415defa8d6da2c93d2f19fb59ba1 Mon Sep 17 00:00:00 2001 From: Michael Johnston Date: Fri, 9 Mar 2012 21:29:39 -0500 Subject: [PATCH 035/153] allow user to set number of items to show on network page --- mod/network.php | 3 ++- mod/settings.php | 9 +++++++++ view/settings.tpl | 1 + 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/mod/network.php b/mod/network.php index 27c6e315b..b04a7b489 100755 --- a/mod/network.php +++ b/mod/network.php @@ -403,7 +403,8 @@ function network_content(&$a, $update = 0) { if(count($r)) { $a->set_pager_total($r[0]['total']); - $a->set_pager_itemspage(40); + $itemspage_network = get_pconfig(local_user(),'system','itemspage_network'); + $a->set_pager_itemspage(((intval($itemspage_network)) ? $itemspage_network : 40)); } $pager_sql = sprintf(" LIMIT %d, %d ",intval($a->pager['start']), intval($a->pager['itemspage'])); } diff --git a/mod/settings.php b/mod/settings.php index a9d00bc98..2ef582fdf 100755 --- a/mod/settings.php +++ b/mod/settings.php @@ -237,6 +237,10 @@ function settings_post(&$a) { if($browser_update < 10000) $browser_update = 40000; + $itemspage_network = ((x($_POST,'itemspage_network')) ? intval($_POST['itemspage_network']) : 40); + if($itemspage_network > 100) + $itemspage_network = 40; + $allow_location = (((x($_POST,'allow_location')) && (intval($_POST['allow_location']) == 1)) ? 1: 0); $publish = (((x($_POST,'profile_in_directory')) && (intval($_POST['profile_in_directory']) == 1)) ? 1: 0); @@ -331,6 +335,7 @@ function settings_post(&$a) { set_pconfig(local_user(),'system','suggestme', $suggestme); set_pconfig(local_user(),'system','update_interval', $browser_update); + set_pconfig(local_user(),'system','itemspage_network', $itemspage_network); $r = q("UPDATE `user` SET `username` = '%s', `email` = '%s', `openid` = '%s', `timezone` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s', `notify-flags` = %d, `page-flags` = %d, `default-location` = '%s', `allow_location` = %d, `theme` = '%s', `maxreq` = %d, `expire` = %d, `openidserver` = '%s', `blockwall` = %d, `hidewall` = %d, `blocktags` = %d WHERE `uid` = %d LIMIT 1", dbesc($username), @@ -648,6 +653,9 @@ function settings_content(&$a) { $browser_update = intval(get_pconfig(local_user(), 'system','update_interval')); $browser_update = (($browser_update == 0) ? 40 : $browser_update / 1000); // default if not set: 40 seconds + + $itemspage_network = intval(get_pconfig(local_user(), 'system','itemspage_network')); + $itemspage_network = (($itemspage_network > 0 && $itemspage_network < 101) ? $itemspage_network : 40); // default if not set: 40 items if(! strlen($a->user['timezone'])) $timezone = date_default_timezone_get(); @@ -814,6 +822,7 @@ function settings_content(&$a) { '$allowloc' => array('allow_location', t('Use Browser Location:'), ($a->user['allow_location'] == 1), ''), '$theme' => array('theme', t('Display Theme:'), $theme_selected, '', $themes), '$ajaxint' => array('browser_update', t("Update browser every xx seconds"), $browser_update, t('Minimum of 10 seconds, no maximum')), + '$itemspage_network' => array('itemspage_network', t("Number of items to display on the network page:"), $itemspage_network, t('Maximum of 100 items')), '$h_prv' => t('Security and Privacy Settings'), diff --git a/view/settings.tpl b/view/settings.tpl index b7f427b32..46c737b23 100755 --- a/view/settings.tpl +++ b/view/settings.tpl @@ -30,6 +30,7 @@ $nickname_block {{inc field_checkbox.tpl with $field=$allowloc }}{{endinc}} {{inc field_select.tpl with $field=$theme }}{{endinc}} {{inc field_input.tpl with $field=$ajaxint }}{{endinc}} +{{inc field_input.tpl with $field=$itemspage_network }}{{endinc}}
    From 0e3b9097f68e3bc6fcd3a9b18f0715951300bbd1 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 9 Mar 2012 19:50:31 -0800 Subject: [PATCH 036/153] spec directory --- spec/dfrn-snap2.jpg | Bin 0 -> 246724 bytes spec/dfrn2.odt | Bin 0 -> 209276 bytes spec/dfrn2.pdf | Bin 0 -> 304958 bytes zot.txt => spec/zot.txt | 0 4 files changed, 0 insertions(+), 0 deletions(-) create mode 100755 spec/dfrn-snap2.jpg create mode 100755 spec/dfrn2.odt create mode 100755 spec/dfrn2.pdf rename zot.txt => spec/zot.txt (100%) diff --git a/spec/dfrn-snap2.jpg b/spec/dfrn-snap2.jpg new file mode 100755 index 0000000000000000000000000000000000000000..ee00f5654ce9d183d0f0f60ee483c4c2a458d2bc GIT binary patch literal 246724 zcmeFZc~Dbn_bwXS0YxDqGYDx#W&sr@F|TbqoP6*T9K*QQ3+czaCZOBt#hkx*;S|SsbAIo<6`9xw#mzW*Iw&c z&wAE+v-Nt51KaOp?`RL(whac`2K|F=y@lC9zx|*6{I$sc*$U97x1Pe}c5nZA2WR`X z!>}LZwr!W&w$%?qK=--xf36Mtzkas;uzknQT~fRENbiN-z}OG_VcYiYKkV4PbLWm7 z(7RKh|A+06+j-#7@zcBH-9n@e$0?k+@muX~E!);UMfX?05!28sse7cAlvPyKv~_g# z^bO3AC(SJ^t?Yg}WAE^@qmzfHm$#3vpMTi-@Cy-p1F`ODXJ!3Owk^RInvgKhs`Ci|Zo`+w|94%*ibJ9cc}A@$e3w*8Oyq zt^=ptq(b8451+WPTfz3X+Sa~3TBh!RV(67u(n?3nxZ3=`w)S5;``_DG>i?^q{jZJv z-}{<@?c2T$dU)IAU}%`+o!;FX*#H0f=Qc3p!v!cHX%#0tE&0zD?BVnfQ*{g0=fb=g zWIBjY--1P$q#~5NeHy?pZl*{+d6?}_$|h0AySfiJ8+FQ_wGo!yJXg99=GB(PufpFZoyJd6Ni}l3A!Ak7+!gHxAGQj$FjHz z<#LB$0W1gVJekiAuoqW#%cq2K^R@4P9f=08%jWxs!ea%e5Z>KibbgpV%Y5{CHC!kQ ze;RTeynp^UJ{eysy}#6A;-S+eN=p@Gcf(Y9Ns0S=%GC>tQ_TS~nQX>tt75HfMakk= zUZYo4h>H`&&$im)v7^3g{rv8x=U3cZ=wVy144k;0xu{3(giF-PpblvZ=FBPtFKoeP zoFzrs!pmDQ?qlfwBeq~)yA3&oZ#E>-F-?R3z@eZ!Bu@Af@%Pyyd?~ico6#YXlEhG? z1~6CV_|s3x3cczeolV?F+OJ{C-Y+@_u7=+s;Kxvh?!S()GS6F0(6HnFr>gJn@D^+j zCgTuarg@Tihj1ABQ`sU{Fk5&|^aJRCV4s<`kr(-i^HKUj`=uJxO*T;pKx8-LM5pP^ z`5OgCUNH)1Ob2Fg=@P}rlV>-tKIWQq;1_s7)T~&X_REiaY({zmBS~ni#a6@nKWaoi zyf0(<%cqI{Q0;)X+f14?a&GW}P zI48(z*1yzwd(FEm0+Y;mR7+LuL7S5q>T;{~UkH1tnWcI>1KY-`D2s{uB{6Obwr@`8 zNE&lPUqXn?(ZJa)n4~-%0gPXIbUI`|k}S$EzLB8K93wc~!~4fPs!Q?cBdUNjo=HAd)~MS{qrRL7FXzp% z$S@m5%n{=-Mv>e8HD)w`iJKG&s8Si z4p)erF~s}ug32>dru^$q$(=r_q%cyJGI0->*hH`e%=6w3UhV3j+`%`ox?CUgE4c-9 zfXD9dN=Zw-zKZFeQ(P0llc>KJ@)Y{!^{?`s|!>lM`ai zh(~j$*(x^LSG6=?s@<;?PBwW~=`6lb@L?1+w%+RA5oK4jENAtoYL|`z@&58)r|zF0 zbY@OzNmQAFqAghcUE(`5c!|Why#*7SNTa!xTd*jTO()$|$SX1yBzwqPurYwX8+6-( z?Yt~5lITUx%$CQKcqW;PcM0lKz1AZ%FxMA!m=ChS!0?yetcm_*T+VSAz~)(%XLN_v zE#AYe*=T~}uE0}PP9+ZGgFPYIPr3FM+WE30MT`&U^ zPvdaxg0sO0DeRAR=}p-K;h+^p(F&jJ-haXO`Rje!7LznT+xmqZc4*Y|QeF3U?aUSm zrs6?$KEnzwIxU-Cb8+)|+exMgBSc&2nqL}EaQXzX) z@O450ndKirVkRHED(22@A8x>hd4O{Kg#m=ZMG0()+@9G_&(z%U5VUTL!S1zD`7}Lr zHU&3eRaVERy8@SLQ|RydQj)l&-5`8W(~6%jsgC>{7&+A`v(NMoa84o}4tTKr*I1)) zya|`Os>okB2aW(?XFxtjPqLk0umwxogxv6{|8&+W%A#$_-x<95^Yquf?~R=sCKBgX zdkzmdkHs2YXziL*?stFvDd{$w{o1q1we)CeX_OZ|0PZ+eVqhD8hu`S2kRPG)vSQeD z&#QjVxY{gA>Hvg+6f4DWO()-jQw%k)MeedwX`uPkyy1AX1@WwgmwTOiG#Po6z1?5B zF1N`}*|rC1g$%PyP7;}tR<*Zajz5VXk$`tlLN(ojZ3ZhYOiy9k%b${FoCRv*i6(E$ z1^M6thg?8v#})SO7ukW=pqNFsdSzxXOk{kC16aoB;CqA3Aumu{s6|la3rbs}f^9%k zPSe|%N)xq#khl;fYD08#xR@b4>c3qgtqsITl&x&CGg2Atdc)_a6|QOB=1v=wJSO)svW(rnAGqO22k9e1i+AiOG*Kh`&${!^9i zzMlfMbzjs~JNf=@gm)jXrRY0(DQi3HYCFgW?D1;h7wF0a7g}|PTX`u2v_&kY5D!U) zYGlRDTd+v<8-&0g+?Yp$`kkw}4S4oEY2^c8$J@yHI=7E-49X8UKYR>^Z_-cCAgb_d zo`i9iPx%Obm|{4)$c}qXwcHttWf(@wR z+Z+aPGBb-wy@x?4o$q)Gn#_xL4F{(Fxp3ym6hT91fRE|73h$ufLasN=VHz;ksizf1 zCzJEjCpwx90%m8PKeHl4Nd0o`c7~xcMmdw3m8a)XqUCn7PS?w@3EB1Po5ucHta45t z2N=0dxS&&}R8&$Dx-?Cb_ME66cPm6q&YijX_0+~c1E@4~1Qyg^7{KHZ&BcWhWx`JY zmQCMIum#D@B21_Fj#<{q`s>vM`ffkM-Yr=AGJxeFSi;Ie)j1h+)+`F>5mX!3n&$-c z$Fq|fz;cJrU!S~3QZbF)+aTaO1iJCHJiw^fT7n5UAI4oPnCEpP+L(oe({~A$W8H`N zAqmul7QxHR!E#mPQp9AX+e^Y!N|SO zmL8W(S=|w+Xpe;X%nU7LtyN21Q5wx7!|_&Fv^Q1%Wk!I5(B8{iHu&{d?BCEcz3)R; z?|u*pf}Pgj?Rol}0Ks)|p6}duk|evn1|S&5 zvyhi`vwOSnIKjIE#B$blb+Wc#Z@%y_Z1~={ojEq@_>;49{hFGuY>Y*w;M_bmC%Jud zu$hiQ77iKda$O6l(MjdUXO}86$n_wyi^)?OFECNONh=ReXbLeLmN7RNueQ2%Z~n^J zUW;h?IEZo{}K&d*|sn5^KCOyT&l8{Xb?sNdsH3-3jW>mdFt`7m`qE>T4ji9P{fvuV##l zgI2ANT!1V;;quE8O`R6C32oQzV=aySR`^??$JURFWgkE?PAAZEZ z?hw9NdGc&C7pDR`b4!%cks1i>6z)DIeI46ma~LutQI23b*{kC_hlkH2^1H18<+Gq$ zitsc61L$TDRO2|o>!1;~?-8Y6T_m!>zW~7+AJZa}k6+}CmKHMH6rz4h*E?f`IsRLd}#{?mmtCNpT$+7;PHC|U;Y;C=2tjuNpsgr z(JB7SsN-Y6A^ReofyuTqW;8GIV&k1!ClXe5Pe0+KirxicBZ-KquP!FOlL?aEd5N?< zkh~x$m?VX-?E>QmdeLC%oh2KUvGv3;RFDvjw|!%R!qgTj?0jhk&t)F8Q78Pw7g;H1 zsNiq*`(S0dW#-jmZJvIMb50^j(tX+NPZQ}@zi~eatsW)iYmu!l+X4_5SQYe{FMJ2nFh8+@msC%XVSB0q(0*<*a}G0A}zN;eq6i0iN)sg z?Ums-N2qpt?G^M56pqmPkc#?e9-j)BTsLJucc)%EIcMsVQd-!Le*L9yj=@}&5^70? zv6><%8SgwPZcP|fA>hPSy}Jp){NPG%VFm(lSvHZ0l4ygaz$jbObowIUR79iXss9u$ zs&*#2Vsb*wrGs*RX&Uf#z$t#Dk}ekoIe*3d4F~%&z4Dl^6$qL`sozChZDWED9d~5% zO;}7&o616DNimq3!^Pg7tNqv zy~X;UeHMrKXp;%udcT;uKDV7XI7Q`{uzQqw<^805(l(T`@LaS%Jwrrf?h}~L z$?trJry5w!JX9ayc8+{x@^!hCDQ1h)3_V*E5XpkOR%{^MEJ^0IK(N%TB-y7%S&z{7hw3FZ1Ync_C=su48acb8Uw%c%6cIF9M^@ZCu zUb~%@D?&m%27hmhzUHMDdOW^K4XO8$!8N#?nDVYBLs>pIH_t?G_%)CAyo#de!WfA41&eD%yC#VUQmkKawMlHTKY~}SPUwrbg8;FY#o}ClLfY(y^vh!z{xEJ@q6auB~>f|@WuFUa^>H|8X zT$4d`j>KqueYox(V}N=SS-5wxS15KMMPLNpzQ()mNa52{ z%h}j%-58<0nCdYG||$lL2w=KmYV-L zw)1G0K_L57cMz6;boQ{tN2DG;q#`WpgXiVfdEtQ_rTbo#w+&$AT*;HsAHe%wC>F)? z7ru$IgGre|$1a5k9}Nr~GZ(*aelOD2ZP500#p^&Djgd#!qi?+qUq4neI%98~z*qQk z_F=-Z;j5DPg9<&A)`S%5H2LooxG>=!d>!w-pi>w_K!OZ@+YkbA9^5PR`vhT^)ck0+ z=0VVsOIL&Mz~2;@ivMk6@$7EQF~UC34~T!-RVYX*=sgb3x>&nocFaKe_l@~gtE+XS zdoosgGG&As#J9mxVur}P5kJl?|Fs)i3!1ogjA@|US_nUh%L#E|agEUerI`l+Lr@KD z7i58xJQFEA^XwR|UF_foO!vFU_sz6a%80w=1H_Ln8T|;sN+|l95gPE=f(dQbe%OL7 zw=+4_lVE2KN-m4zzy2_AT)(zt;nu#v4E1BI@qTWc*Re5L8r_e(?9~?<=c(mw_@=8p zrK!n2YP?Cs(>-T(xOJkH?***)^z1p)m3Wx4vJjy-;_9B`rPchHJE9q`H+S37O@#?c?3vVnmW-zpTzLprvC0%^q+E3wAj3NgB?8amWXe z7WiBKq{`$y@ywMT&gT`jS%0YhFFvRT%R3EzyV7|y?r~XA$rza>{txfVQL`q;8MAxW z{l^F;f20I`f2)71U1#DWB+_=ZY+#%t{`drF;$a3bxwAUr0?~0HR^$(KK6QcjE!cx` zoKtqTW0%&0{F6W`RDOOuKY_en?G2a4o1UIV#mqlh*3h|je*A(@YuCh8Q5?i7P@p_F z;Jxu%cJOZS75~z-ueh{uwK(EF!3>zbNf{gGl=f1Ss7qa?q8f9E;-;FIH7D7nvc9-a zLh$_JRsZFd{IIwb-f$CIHZa8tCtGLF@IUdN$mgChJm5>!!61v_ou~xE$tsGw%`hC2 zZ?EMo@(c|Un%w(Bm&U8Ow(WHa54%4yTLr$+UlO@{#vNIIBDH_b*FN$`wdK^cnjiy( zr7IJ3jCw|slPT5Tw7iMLHkXWHzm{O$LZnD$R3wkyf>F2*f5XNWX62!qE|rW*4o$Tj zMXthmR5lilUYU*;`hT)H1>WGg=!~;!j6g()nbKxqwwWPL22bvnoXC*8h|=~Ip?Qei zpR8Wc735|?;;7Gq$!>JweIIcJiPJ!C8(KZXM>~UOI8U$&k(wu<{>(?PockmN7YrWf zJvkM|emSfb{Q7;MNCkYt_v=>Yy+66feZw8_>GvgQ@R|&5M@|;CIULbH0r2}mwT;!I zLi9%EvM*IK3_L0M`4J|w1pKw|M<6fCaFXpTmF>lK8M{{&|MWsTu-@vyo-RPhKKPSz zq5N=xPK{Et>gl{be_HcTfc^hd^9}XuAma}HH!9KpJU>1ldShFA{jVG(jYj3DZ-NjG=esm*+S6ecjho7=U$g{_o4TT zj^D-a?YGeem>In&;taEGt?}Zo5&O3PLiczK-|-X=Mn)UeabSlXK6D0XZ(D%ofK2I58P6I)sw)nJ%~3j&~-+&Q_>)|0iywu=ZA6P{7AN zby4PQWD?au5_@KC05c;$k4cm45~0Y0SEB8nN>rv$E;t%C5M&Mrx{w29ZTCNI%91Ig zrg+lN6YcqSzK_cGMkc0M{#3rVeBPvR3$~whK}H@!78Ego@2g zo?CG&rvcc9^3Q0BD~vmT~++omuxNY!U)Pg z1h0x{sB^TIT7kHEQRLi&-##Bs&6ZkqY>*7i9s$qQr~rvuuzuz)Lip6-iAxDhLD9o! z`QnZA#6p?qt0(2Ki^M~KZZ07#wkcrATc0v;{c1&i2bqJ`KyzpngM}PYCbWzqfa{;` z)k1Wh{7tAqhyc+2Lc|Z`{di|A!#RVmoc`6Z`#8UMoV8(N#@`c@2uS5Li~M+qjC(Uz zJ5X5Kr!5%YNa%AxnSG15>_)*Hy3^CE1<#;**K^ellxcGm)qZPQ4U7)?*oNwG>vtEF zgdZfz3|`rM504th=)Q>1RklsI*jiq8IN=k^WV`c;reM>OKT56dlaHrcdVZjKH>lNz zm|tf;Bz?a|I(eYrI+(hm*dQbFLa`^_wgC`yj9I{gi-35R4$~uUk49d_df8qa_(5OEc&@!R>-b z@m+!saFbm@zq!(_VKlipgU_@B=F%aRufmX?H?uj)_m6ph!8$*_U(m!|OMT!g5u+j^ zfe{&Ewq%s4X;wI+)pvsMFX$u4LOA|Hkkf+eD~2IdGZLi1n+^EVi$Trndsp}NqhZ8j zgm9pKYKB;+_@emwP63m;RJNH<`Tax`%gnE)m9R6t&#g?S!|mo~yVgydoNKdH$u<6? zqdFn>Y3Cb-U}@S=h~ZT2PJ@zr(-i+WPlIuq^$^GO=)=U?Tqo&_6CK+o^8Mqf9`bgT zGxm9PI?MK`V%K{4)M~5t`bq!95LFU~tZ4-n^Q8o_&g^#P70M7G_DqU2Ne$lC%a<($n0<5b?(IsCm4787@E3-?9|NPQ-R2=Q?9999 z*ao}!Yu4!7k|{Oj;F`Q-8qp^86q7+}rw(A=u=^yY;wt7vT<)yd1XQtO1XuaW*#r+B z_U0B$9vzCL!L%Qz|A;&fMPz0b25|P<_2N`Yi{glzk2ln z)|UY}JlZ`V-&h#*s@v@jd*?7h{w(TrgG0lo%^eRGH-e8$piXP2mo*7X5wiNBmmeJs zR@Y%o7udKJsFfU?^wTFr3rA}bh3mX z&nJk?JH&TG#if^+k#e>8qXa|;IA?VK8Zgl~i^k?)U%y-~qNY*#V}xU*Z3Da$hi$Ya z&$YbK(*LcEk32-CSzM80xCP2AB9rYyL7k;2`tkU;ZT8A!P^E)s=+lOtqgS5)#&)eT zxPH(}^%-Q~2mQh7S}%^vdp4^f!?TBh1e$kAwg2n;L#kO%U)4I5s(90^CR$ZcfyX@` zdj*<3n5229#e5zkFPi@|*VFWs%x#dRNs()yUT`h{%TPH+XhVE4yG>k%I?aLaU7S?_ zMmp#bEuug`v3gaKdv`QuX9vA;Y1WK?wJt0s9G-^?xn7G;b}l~k@kuTI(y-fP?DbV^ ziS#$2?t8rXyiYCz4my9O_3rWqb-wfyH6KnAWkj~*{`~~IiP!|}US=992FT=X^kdU} zhEH~0kFAd$y-#p_SqF@)WJ(VBjK$WKaSwK%3@kA?_n)ZwLs*$o-j6`ZvRCxA4)yIh z>|eeesdaBSS!H@qAA&SX5AczZVEgdJeSe=+_l z6k;9?G5$fYXWqq`3;!?1F9#XKMjJ#!jQpt!P zX7g+3mV7q+&v(vL2{zB4Z1(s*TbTjh{ufm*Wd23f?~?zb>g9~j=Bv=-*|}qS3w8lM zBgG=^C1B_vLVySDp#D=YKM&E49>Co|s}s>+(opazn?r5mhd?h5#4$xb@_pFMl^_px z#gQb*5xz}Z6P_9nwu^elUuN&mj;r+b!hjnVSebrbe-%7OkH=>;ge9SXw#785SJvK?--|*kf`jES!(X^dEfkps=y#{?-e_sgfb@Dzg$&yONYXywCvY(H*hnM-BOrJ<$P$=TR#5*^7iC1yK1lhJ(mZJ)n+ z|A^hW9=_L9UZM(>&m1h2!s9T&g@UQic;|qZ>p^PpgK%~K;Gn2~&w*xdV;+hNMRxZL z5}UdU(vGzsy6wVi(hs@k7@iQf&eunsz4zikDT;pZ(_pv071R6vm>b3a+`Vwi?t9J$ z7KH|Tck^4D{26NJXqmowyEI%6R88Q_Z*dyO^4^7GWr9_53@G}8?wjTR%!X+;&@4rt zt3(ICEbxW~>nud>fD4)3Lzxjsi8Isb!5Id<2ku`U_X<&aeJyS8gAQ zX3zN9HZkYfm%JnV%hmcLoW}Wkydd2X6^wEJ$6J9;K5mJYx= zY3^^J&+YrA*tHALn83~xAUcNk*60A6n>6H-)R&yOim8(fPGMEPj;M1>ne1G8K}Eel z(5YtBT=Rq3c4$@lM$m{>v0a3*jLk;XhIISJA^ znXI|JAiIB)nTiVHF?ZwZ`msQnWONhRTZ&G-ba)(Ml)J!Ky67_0evY)J?~dAh->)VO zRt$3nUfjM;`<)z8_Hih2iQfXNU$kcmc50vDhUX>faCdvKS!L4QRDX|VMO&wWkQ+@a zP1mhn)EJaZnyYq%V2wu}Oe{~*ZJQ17;mKdBX!pj;I|f3;#e~i2%|R(uyCr@P370{4 z92b-qv7MM{uf zDF+7h&CF%2liqxR^h!Cpj#z4*S-67CH^)vQ#fOEfYC#hxmC7s5C&9lCt@8P%PzPft zDFpY{d0v-&3MY}HXCwBIpw&%z5$rWN2=x}#Mnzf@a{$q|rUFt~6>|cItfR;vDKE+M z>Gr0*P`}_k&UvCecTH=ht2F&XRa?L_?j~7OKPT|qg0(>_q(XPR{4XdROq$xE-zcQ# zC(xWagdh~nn3J?^^c#o*vVgD0Zcmv)6|0(AlsKTM%D7JRqV}HW)3M8zPMDy#hx4jv zXP&)(@}8-W{H8Vf&v;yfNC7U$;?q|s!o#8f@Efq^40N>3BepqksIR`xsrg0E6lSzw zvLuJ`&Mcp~8SiAxPVR_%h*Bjz7!xH3x-c64_3GH!h#T4+l`kbI$rw>aTthg{kqH~{ zH_wIq2c1K-0Ww*mnFx3<;&tSP#DqUoNC;gM$Y}kHm5-4q1B17tA|hf*P0^bRIRv*m zkyhTfLrjCBQ~!)ncOHGM2VB5rvAJ<(C#p{Q&YSvwJE>NsK=E%t!!w`rO&e-Q>NQYv zJBQsE%KDz}Q67~#7J&($ILqw046BwHr+lg+ZY9trDCc(r?<*hD)fA3>D^qJ<_AH4S zte{&yKSr_CBz-^3{#LFfkNgGG;BhG^&9>JACWEK>dc;@15udvV(Z)A89bh+EUAGFQ ziHP#yZ38{TnKoGtIkkM2$PKq+m6CzIb7d=XE@L!nMmN(a_G^lh z_k?Qr7@Cn>#}(<&Wf5u9j9MpS=@SC_fzRMen*AiUlRbH@A#gsoZuMA;#XD3_r;+FE zsL_kVl{ISZ3K8B_?;WIxqpzJc)EEX|p4&W6H!uBY>|0Uwh!`kqOq?!D_d&S)!{%8= zu0+}r@JhhKgO_?`LB<_?xu>|f8!c4A7jkFmck$*Dd2}X8mEdf&Ch+V%W`!$EMC^GF z>hK1~jDiu0pz=VlSx4_Uy}8o4lldgqt^L8baX}UoBK1qbDi6mBSHwVZf3U#>%3Mf{ z!nXPh9GdSjVO^dHj#i>womoN1+6?oH*&Zi*cxC&CfDJ6)?IAGG6xG$oe^1UV3es3( zus}%uKb)aicIGtdOte|lWL4ck>%@gJRzBuZqt%sKw~yb>)4Xq1TfH0#S#X@l_w8&x zO15mW?0Z>_h&bp;J^B;Zwu(sI_ad=Qe~4U;asF z#%{qt?feffvKt*6Txg#*l+l1Y_Kjv#dyjpPyxWvn6z=Ocjb@W0W5^Vbv)8lE$H>@k zP7K7GECmtKgDMA4Vk_L)+{m$7IL)JK-jQbOWz(9S)<98pI?)}XKvA`Lc4R#2J)cX} zAHPzJn;l!EUh-|Ph(h+#>eqT}u{qEg5JUzlaUKI|O|JxTF&X6>$v*k(Yp+cOXU5x& zd@x{X3UJeH?2k&$DBGknIvLj=YtE$(s?%kn{fW0saAw~~+yH#ToLf(ZjHY1f#qhaD zlSfI>hM%Dm6i|N%H^|&2Q4^g4AwdVy&V)($c4aOA z`^KGjv3l==jhdDS`Ez3=qdX%`>_>N zxR!_jM>)C$A_OqZb^Wb{upLyUN=5{yw_q1nG2X3UF_6l3>zE{QRlxGt7AUKnShu?} zomBSchClVj2SBHRcI}#C_2k{NiZ+l*Gqk{QXwKM1{DcXlLy;9l`ugPF_b)fC!@=Cw z=!g|>9}DiJrMs{1IoiI%6!(H~+h)bIjJSg*>ilbP71yJkil`7aEBfDuWaW=ysfsYl z9*+c|_eETZhQ-9tU{#pjFHxVz)8d@WO2W!GLFn_fE7Wv~ce(b@H1dAYL2=0zEN1Q3 zTrNhIVB8K(yky$Q;)5YT)avLOJ#cbk`xy{5mh-Opm1V z8VSekiQ!GvMNenPAm`sRx^7O3lEH1lAW;%n2w3yx@mgFT7Bh?7_HJ(f0+_@@XOKG1 zh*lNI^6f^Z>|kB17sY%B$(~Za`RU2+kzG-352T!Lu4HU}=6vh49lUM=RXf})i5WEY zk6~U~6CEOPDzIYXCG__$-o|&PmKoGo`2{(K>EFi)&(fw!qeoTKX*UL)72OtGeV_3j zltzc}k;gB!FOOB#dAqy(Ca%rdoID%D`miSNpJ6Bye93~U_VxIy0Xq%X9$oAkZ{PpS z$Hgct*}Bu$b6T2;i(5aW>xa=`+oH|?nd+E<92$NIw4Q2*ipP(O&faKRIa%C zB~)A3TmIo?;C9W`PtB8d#iMSYtY)spFi^ ze$3kf31Ua#4`AWX9e^-uGlK?fNcP<1AhLRY?0K2s>^a_TcpqOrl>CCmow#QFb@?9S zaA#8?NvKAgnmr<}>2?+xiB1=?$?`V)VtThhj?5m>WzQZLwGOrpx0Ib7Y{Oq()lQo$E}J>}LWl zCX(_*#CNU*c4Jwt^-IG?E1TRI`#hJdke0KiGTuGODj!T%bBB&m1LTA64h`H7t9H=$ ziM4-G6O~_Qh1BDI-ZW*0(!wscCU?aCz6GT7lJ^G;SNrfe{lIA@dc?$lN^l)Q{lz~+wDv5jm^vb#r z9cfOMB1NiJp>uYa$32Tf zuBT6m)~;irK0I4a1RaH{CllY#fwmAFnlU$nCP?4C>O3GiTDvkELOw-scK4V)| za@=jflUv5ocaQ&=a4+Q8SA7dNigcVvfNsUEo;F#XGgn^7K+nc@bgoA5moUEuTksM6h1)Jd%A4FmNuBfgAqIvrmiSg%sq=x;Fn;PL5qK1dv4^*8l^%(AL%C1{K z`@`@9eY=f>2QO)(P9^UH+443{`p*^W?=GkXzes!SL-y{=#`U?96iaovozI=mGhgR`%@fK#Mm6fLsBYoE}IG1W8XkbA=4~h zH)w*W1wBej(uFygbHj45MK_2G*U6v9yqSO6tH#&1dZ45&nnaFx2uQ&S7hk0d*~F^XA2eIEKjD7)UcU}FRnuB?;zhMwR~sB6vaG|9n9Gzmv~K}u4* z&EvS*;W|>^Nizfjto?f3dRdHM>GC29QArThoyN>hL`kxHL-)0W9##kY;kFKx5@i~TwAKnF$`phrg zPZ*J*6ObVaWiyg$Ud)#mqZ#9dHphJc5z>*r7tMczTxgX~Ryj>ic`0}482QnQw#889 z3&%g2F7}&a`tcqH(&eolb}vo$xi@)xR94n(!QNh@PU-WQZzQc4^@D?oDGin`VYPV! zALRyuLN6|-Tu0;&Shl}w3XOi@bHy8cj($@t=mypXNGgP1K+GLbibKxoJ+esL{s644 z1EmDRK`|`S{xzaTR2ww+&evqzCHO%R6G(7TGs&t4zVy{bPfMh_fD-@e>Qct!0A0Wi zT1pCrL=ON1FUaKu7%GOEU6T-(<&^u7 z=v(fg%Nx+IdjbcCPd zL9vtaF{X^7?|*rI`Dv&jr!+#>j~nB4=i}l?zvu&>yt0!&KiGRfOzTAiL5Gt6EChst z$NUL|eD4v^)K<)(|1zF{%`)VX_TU>g25k0BBH^Hp5`|Z7wdUOeB<8o&H7w5_;v4^Z zac$kFZS3f}{%WGSA@cz9mn~Q!`T%1z$ES^81*UM;q(%4#pic-C%=A>|C7ir3-eg{y za3}^(u#Dqb=SN8PG|};MY~_lE;)sYlV8=W+DNlmv%=%jC8SqN5*g|hX+mXJ4prP?Z=y`!Ddk9Oq4qbb$MpjR0#C0(wa?Fmcax71!nwulwF1ts!@T<;eIKk`|Psr<0_G%huo1>RFhF`4*CIh z5Ss(#$E#h_eay59ZSv~12Ey)Fl0$xAnBYA>Je{6#6djQ^UI&;V;D`U>wYccqI?5mZ zLG8hZT&_zF;QtJp?Q)8|LoFjKkwVagq=S+}U;s~Q0Gm$Q-tCW4Z3It1kv6MI7L)-O zDmICg9P3XEm%XgZ1h-ctPO(33RSKR~aIaG>T~Zj!FM@ZB-iwy&Va>d&OcXM94WBS{t3JErP7N-QI{K7Lo4)B)>kL;^rRqOk z5Yq}gC$*h-(FW6imrlMDi!W)v4xi{Mp*e??E_8V>#lj`uUAZ1hF@$bM6Q zfEvOd2?zO8b>eCcHjilTV(wZvD5$^)dL}dK?!8{p!engUSSMPOKYE%54&u8}2COQY zduo0p%e4FOc&shu=Qm$B=ZDu`K8$+ONm*@vQcpZg{9SV=-(KRaz}06d_cSj1w)z&=KTt#2dCZG(2>8?kPm6*7AFI z;J6_hq>dD>Z6k{Q6sFM@v;(R_Og|IIuBtT zyI&pNr6k1t_sI{|g?JdNUcVj`Fa_IXbx|jqGseT`*Y}gn6dS8XgvtLYe z0#B#+^Ohqf3`0z#uLV5U%3=@c@ZOQ7#Wk`m2BlV|ml=kSc+2*Q;XCaW2)}##9Sxdy zZ}Xg0KGtUy#RD`|MBB$AtF<`8#h4t4sU zM+4@5qk=c&*!F6r#v1=P-&wNfix7h^7nB2QtJryZ8nbO7ANraG^gvf; z0m_8-UNT9R6{%mN;>AY&!c>xxJGc(bSM|^U@I$rIg1;GXC zRjIpB8DjBBb+>uBd!Pn-7erT0nUPHRQm21r9#Ktn4D1UtS&3^R_6dU3`5UWiHksTJ zbwT39TD$NQ>Qwz}5dvEFw8*eVCf?pE`RyW6`%!n-gui;_?L_ZMld`eT)9Xx$O5r?4 zd_*Yt6H+vlC3~QWz_CB;zI&B!-#L!SZgQ{QbN;njLaUCH z*qz1ypmILpUG#+D)wB5FYoT>{)lp6*OOySB4SwE8 zL(dvDkLKvdC%xQko2ro>Calr&iV}b5gh~p;Bge%ZB2#|D#^Bt6b~JRd9Gdh$W3pm? zO(+#Lx0`4zneNpcU++P4ZR&V3)}CFAa$Zv38mNO~Wh0$c5}GX*t>SutF!0Z@KR3Vl zKLU$W%#y=fD%YS%Iwo{%MsJ#hkO6Uh!3zB9?p`SX@hg&)iIyQCnk93ZDwFM)ZIPV< zrDX5?q;2Jr-480Lg$(r0sH?|(@fM=6iC*o+iu0NwPsWj|??$k9ng5%P86SZ-dv-MI z$HfSgI_q|Z`Vx2+bs71YFfKfq(>FHwl9I&^|2Gc|2LoBn`-U~_)GI=OiMFH93k(=X z*~&Ro^8=BV zqz;-wpMs|Si1JZW{?8^DF4%q>bT398KO1ZJ(@V32j1=R|&kHU>9|2UK6+sp0PBhfx z`V%mbJb@74y@TjDVvxM)xUu>k>NlE*eJin-`MqZ2IlS?J&qnKSfjdykYepxjru^Uci68_)>3 zXMM*c(#YA9`G_eV<<6Sm8M*uz)3R$7=c*5mQ3bK8g9!i4Qk0HQ`KU4L728g|^1}aM z?@xo8%G#)5*uEW52BR{MX!s71jq{B*>gRxgR+bn`esjC@dhPI@G!Ojv3LA7c=i9Bcw2s0 zQi!yi6`uxglGC4J1IV)`l-5?1Y(`B9FrxwY$`!aO_Ugt^kIrsBDiy@!g!ln-cis0* z7pN-JkYyj5ba(xwxl^3eSSLncd8SdI@>h&VB(WIF`Z^6)1zk1Mt7&lU*deCe3tDU3 ziXmvh9_l0P=vK#R3h)p3k!K}^<}7(Ei4Nb63l!w_&u*j9nj{sdOQ>vSLm4%cNgarU zPtW*cqtWlyB#ti6hPhqCbI(S8d5(Ag_f2Tz7$*Dh@om2A2KUd}{!(?`2&ZE39{;LZ zqahfi2INyNsX63kP?LMca*LZN#H@mXkJ$6hhFj6C=S|6?)tYDegPpNGLDwE+t4rsq z^x}P%cd9DNy|VYHaGJIyeF~t8w&CB6gqFja`5|`^>U^pve`uK=D*8FRT%QkHp;NL5 zTvU%Xa`@GV%P{V0Ie?URE@J5?iHvx{R0FwDK)St#+KMgick(-zKH`@0)@<6}`s%7s z4SKp!@OCbXugE4P$1I?N6heebP5ike(KYeO2-P!?Wj*VBn5srs#u9<=q8;K#;%b?m zfB6wh^d66OI?B$AqCkXmUAYMq{I~xJi`FiYdCIcsVOXuRU5}o))i4>+p4cI(!6JCb zZQmA8*9{%<;2d`_Q?XWRT+F4qIyQk$$6+CI@Yv;qtqx|TVZ0HCuEYKLAL z9(G<%>3OF>sTd|!962@N-9O>#W2ZjRdAuHbWANQyU#)KB1jiRnSV+f2M$#ctYh({g zS#0_q7tSsDAtw@ciuLQTrZ#*~g>4Ne5$qYF$M3uR-VYn4NJo2%6^GccROH^7%S{Vt zXJX|H_WLHD`I~ah_n+5|+$Kcc=aOS2HuJQ9MPC1o$C??~=P7+|47d7Q4CiC1;ycqM7!2RT zfC;X*fbg;nvXl-Hr8@}UH&G8u?k&+I<*46D5a^WJ(`^X)onb2q0+uihN)to_zzfu@ zC7r#{REP)_ikj4sgY>B4O9E6VS zjlncHgRn(x$2Ve4A!7MFI+YSSdysFJx>n|LMuaark!tCPK;`hBtVJE~JKI|tW?^Pig+mY=^iy>2Ht9zCnuQbCFnr5+(E)N>~l_cZH07*(6X(pF08I7UQ%5vlNOVp zt;_t29;sWx-9L7~%JL=hs3f0u1(jx{ONtceqF`8Ff4Le|1&9u)8|yEU+CB-rGm*;J z*PJy|=KMcc)sy@p@tzSnVF!D-)zEszd8E(EJGEN_n?2EYB+RY5&BXXnOz7Is)Bm1B zOMKI$zIk>FDG6izjNR$$42m{XSMTt-;>gc5^yZ z_f03blDpl4o|MlY;)~9f=DSh9R6+d`epla)qOp{+L zSxv>X))Cr@v6U{8cJrxqaPWvj+dD*_m5{}WaOsYUS||n^FcKpa%+DIWLwHA-*N-tQ zi^~Srf0wBLZ(CR!^2ocSj1(C~m#NVzx8mw2yRwd-qZE$)Njas?Oty*%&ifdab3B2_YA0`wK}tp zj&$&joa zWpc{z{Djh-O@ zTDmw?Fu{Z8;E#)c9glq~)xzp=25v_nCwNp~=SsA6<^zM@@ka~Ac9UlFhwNKJ=f1F* zaG^a2fD#A{IWB#xF#J1~_K)_#RMK`aOpw6o&f&uE+#oay>m@WcEvpz1P?93_+7{$o zh)#;PLV}8yAD2i!iGND0471wyfFnT<{54ij?(S?JEuS^{i+^m<=gMqhpqsh22KL!R z)SZkPj=ue)O8tJV@!XDR$3$oQldp$0NfNqAEi-%9h95wE6(IbzzpAlT@|9nGYiYHr}MlRVCtgg#p@fr3FiiK&95Q zr*KAf&_kHY3}z-2aKtU5#0c?8ovN#U_|4dG)y)2WVxm>-(R}YZ?d1O=*pF@Wp_H1K zQFN2#H@{US_jtdaAI)v3ZhZRmVnuq@<&blCviAl(DSvOfJ4>K^T**B>$8P+If|GN$ z%A*?2;YpC)boP3|6^lK`d^igpe=~X!E#okSV6{GzV9ouxcAq+FjYR|YAXv1Plmb^! zH##MCKwC=6QvapI_22eD0zzWQ)#Y%a)$!=UsE4G;T!c0 zh!t-v4xD|*{7U!QZ685hnAN3OG|fC*3^)5@NM;`OuLSVlX`%l;L6QP2@Z~Lr-QxS+ z8VjGhT)yW&Z=5x*6Q<)RUIkZ5^mFUo%j+tOE-VaQC!Z?a$80VgG+(%wORrfwqK5M~ zNN+gdaIDS<=WLLz`&udgiJW3)-$etj+*m_zhG#9>Q_nc~n~3{;)1)<*oU=|~x_b#o zFW`5WkmPZvIp`njwj7z0bRhRH2+P$<*jICct3dLP30+hVB$1WsaI{|P+ESSX-LLcM zSZn02(4vj9_NlpHT4O_Gi(kVW1~^Pbqn+klmK>Jc*Wr>4%$=%Om$Up69|Dd^>hPLS zkwXi=ub}Vm;&KuIYyMxwyVtw5p*y_38%0f_ItJs2NcO7oQhfD2EeqF0uiJ9%Q>gz^ zP&nJ^-{ZWi%H6Om%wue;b6LE(;Rs0DGuKkKbXIPD&|g{(Qy}(wmMR6O($7`e>{=Wq zZ?{u^aPiyaJ`P_oTj!Y1IU&ujX5L1I_`31wW!KmvdtxeGVEG?gzFpu}H^yjWbD zoSw5qe2i~IW{P7${oAE_VOEuIM>H!lJtNvywl&S79>Lnt--&TdUvy;{U{k#_IYTQC z3(Os|RSNecTY2|gyj0(Un;gZ@8 zm+g!ta8^?Qu-m3(!3`*lp96@2YPaURbT6a_ zh(Q=@S}F%kQN`*4R3@lrhN4>FFEBY8TIB)H`0y91OpD4tL(Ab~b+{}vGhylV3Huf9 z7u3I!rVgxo<~6MoNkX;KEl)Pe6AJWlP75vMN)pFMtM zNvy~0NW&H%rVrwtxC#ZOU8NOnWjkcEqL6-7<}m)NX6+J`5DW zW!+-!z$;4Mb{~R*`3)|2iX&5zN+1_RZ|tK$m2O%`OEVH%^Ncikc4EbFE-QI`VOeY! zMQG^Z>b{HUbk(hRd|vZy*dkK_Is2MCLJI~S@v{((Pvmt5sPPYc>N813$<0B>3EZ-9 z;mnx$WTGJag=K)Qj#1}ux4vTo0eI2M|YsfY9NI@Q(r04(j$}MEthVK&WbJgovgOL(Q{Z-ztzrmE^QZ~_ee0s zhtOlP+*o&9vQX7Sad zYs0ahQYpS2_m{>f8HK?Jk55+|=E{G$*&S-t6hDYv{3o*5p86UNasm;A@GkFuogL$d zpMv>uFQh+wS}XS|q|AW5kZFx{w0JcWCr1(6j!>N|YxR=N?*R-T07&47~J?7C4mI!CG--!UzFk7%!e=Xn1FJic4$^1rpI^0rnBF^&+qc{^2^Y50W zfB$Y#W`2-Emch+L2ZDD626n3M@XEzdcSax|i>|*IaAoOLZAB3~w7=CMuXa1<@;}aq z3e2%LQAg@E@~5gyLpCT9X*oZLR9AGWWOOY9}u(_Clo^ zcaiW<9%0H|`o>Nw3v4s>o58K=ZWxiu7JT1y@Go#xnS`lS=>%b8h_$QMjw7?|m&j-F z8i=Bkpy{VUQbo8tqz<`rEE%jM{H_t?(NI!Te=;XW9vj5{nu$~ZySb%M1=Gx09^mVF zj>fLoc|wY8xdcDz?j`gbsd_=keB^~bZ)sK99=fJCFqDK>lRWI+iVKyHa1jJ*C|({~ z;+JqOduXa*c$JQkH+_@l~i@*mr#%rKJ>Vx{f*SBezno9+?l$eGaR)>R*e zlkVKz+{6TEH{FbD=(v+pN9xGyYb()r@6a9)SLY4OHLp~ zuwe?@Yh-sy5ZwM^h^eC98pwt3oVS2ghUskbvwo`qI-j5UN4s=AX}%-k4QWVUliG+3 zmI5};7An$9#zj)0&0NddQo|pa90?)}Hi%ws4mt87|ML=eXdS)-{u4Mrb#VtcPM2Pv ze==$uL)|k^+k-IVz14IZd9~j{#rt5pr|{GNfXFa)7ZC0*f+1|+{6{FQztCFbkmb-4 z>6L9Ud93sFj*++e39@-9m?W~7ho@ygp-!2>=PEPq#0(YACm*89>)ZdTxM1&Y%3`>YP1ti7F>f ze>PW#FhmyLC6YOPif@t$&IgGhdmvMs(14$0wy#vOfr3%4E}@8Bz?;v7-$v>NROf81 zYuktuTYulwN7xzrQnz^|vK~Z#5ZGsMs$8|$=VNVros_~3Hy`|?e}4i0^}A#9?t84j_B#|W)oP@zes5q~L(pj*Z;( z0qgdaGeDn0geHm{LrJZJl>!F-1AZ^yc2t63=TgKsB0D^B<6m~`H?p~4Zn{Sf3(*X*O<*5d-~k)Wy`~l z`wMa%zFc)4pLKTn{P)bH>uKdL)fK0e&i(ZNeg5ZrAj2sVtALR7C=uZLJqVCr(BDDm zSxp8G1$}_69)grfM4agKLiYjC9vRJBF=UgM*Q>;q0wTjGgkvtf$8(XNzoDb|9<*>I z^>_agBe2ckmRR#Dd{2g7$gL~fAOh{D2h?TRk977)vc7K$THPrQkQA-uY!U}RGlF7f zVz?0h4sh=J1{^{FyMxf=fAxjF2>iG@9px$l)ZKNzp&eKZ+b*folgjj82sqFvvh7Ob z_{HWfYJQ18mE&hObnbB@Awxa!?q)jv=aDPxSuzYHIBD+W&d1N*dpzCuBMZ#7UWCMI z(A~hUcgZ_tZgArjH{7rGrt8Dv9RbIc3sO<#LO9=fh-odnF1b%*SH-ulnAcyH8beN^ zU+_JcHr3^Junmkomk#H6PZSAb1Ry$BOc1y*x)FjHeXdb}k?DZf#)$zsZEAygGln1= zb`Fd#kRMlxKg^d_Z0q6;Mj!$D@=aerrXYYRJ9jWA!wwyw7U#l^VII#y#U)t>hTk z5%qfED!7vZTCa<&*aM2>V$x~yD=pzeX>j>Y6fZ|U9JLD%XJWI*OmHV+d4z4D%&MVO zv3>;A_oeo17P6~)@^lTlldug#2ZlQCFow=(p+4}=|1xGOg2@`NCorw_gdTVnGLM9QwF z!dvW8544x`$p}+NT6{bGEHkMM$xRS$AwGh3`?DG5KMMh{;(;$VXTUT29Y0-;04bS@ zI6LSxe_EV+Tn@`w#;#soBeR&I$oulEGJfn%X=oj}FICwOr-}E*@ z#9S8HAF?%Q3%6CH)l%pOOZ9AzynV!RBYc>_%S{n_yzxh&IH{ZwFdoW7MQnJA3cM+? zx|!e3k)e|^t(@9ZV_2!hn3dfE3|prJOg)nBfs!a;vlgBFHu6JgW8hb)jKkXA$64Jv zzj14#g|%~`D6U;q)w3_Mcy)x8$i!yusSbo^=)#AN2^{&W@qZ z?dyj(Rk2p`L>REWz5qdFmUTHh#BPoxNKci4x~*evd&UIuli(94XZb7e)6;q}DpRb2 z(6#p=T#2U3ld;G{Ov53_Ze9B#Q{8>Vs65Qw zV(<>v$^ckw>`=b*Sdl~dWzJi@B1d)SJoo%d-DzMQWDt6Mq-OXxw07@hg6N=h2)`A= z@Jx1Kr+IP9GyEapb3qP6dtYBXuxZhsM>3na+bTG#NweBe0xCru&9OFwYlrLXhN1;Y zeMLD_~^JMH5?TGrAfRx~^^N)=2bdYt8NVn?Y`j>4mNs@5}i{ z0t_#NmPG)a03ifOm(~Yk4mtBb7Ohl>ya+vU;CMsjkXpn@wP!@v_W&8yU*z@U;e3}~ z!p_BO*o?mMe?TC;3_TInE8X$l$ZS<{sl&W$to%tFIgHsZEa-2hB>IbPgyWA$T2WV5 z(+EwlWhyv!K*{mW@8X*fOLR!A2f1={GEps`#7bXZc+Fbz8;BfQ8jF7qo79WihF1eE zMdjPa@g_@YQ99KKKX~?<UZWIm%I|;nFjV@>s2D{FkGEAm_;K>efq7o^!6+|6 zQok4drFWMs!l<|NbQ;~2F%s1~_Tq1~(rMLO^f{y9iu;_#wWar&Po5R3%DH`7uHous zWQGSG-owFF!iiM@yDJT1!vp~d^q40;#qKW38dHDsv1eVz^wcjN726`SWoga5Y(r17 zL=I9MnB4+ZaTGRlVRRD>$dPMutJC{JF*R8n$#&U2FE!>9)68D(&)q*71KR`PznpvD znjurDALRJfN;o(3DEqfPDz=*k#4yoCJRszX-MWjkt#}RTD66@MVUk&_J&p0H^JBt>Xj zvbAYxS9JxdNjN`LRe5YJx#x0CWl?2JzNF-20OunbQB+jLPZC~ z-V##x7W}JX_se{&o`!>EteU#rq2nCLqZ&Dby>q(xCK zGg)bflM>p;0H?>Hrrq~;HSS-qlhn5#dUgTAC~;1?GA=0yY+dY*S7|7PR>>|YICS&| z*Nc=HPdAReF;?*n@9{4FSVEEAopH|RWzf_1ZTTZr#B`3mhP{>sPq9HCGn3J| zlCQ$k2C;f>$1^@=c27V#q6^ZO7#aM}q3|8u#?nzjGr4yt9shINaHJVLg|u60AvOc~ zg$h?kFx^i_%na-I^>phBEQ+`%9H!Bub)VNHx(O#NF1Knf`DHj-6k`u$;Xd(lRyI># zvRP9}1GHw7e%9nOv9^FDOajv}5?JcuC@3#}Rsnj#C-l9p|9~aZY0WaJ-S8zlM*(X^ zhMQoxJp{6U!W&lyfD{dMFJIB`(n-uVR0uU4 z)#{xtzA1{pW(cWJyT}G|?*Xw>cD=N;StS5|R!H2!3~& zZ{VWc?pu^(Ugor-Q-4-)a1NdGm>nVSX(?|UncPr2oTZ`6E_})o`d)ffR^!$ijMuk4 zT3!&G!A5M^w-WUF^Lw9H5Ya2QbCDgqUC&^o`lHDryr0#g3S#Su!TACQ;7${aNJ35E z_VI<7jB>;GxCnt^Pr1@q=Mnxx1%ENhlCipLf%&;L@a9AD31UFjnmsO*ViUo6x*n5g zzP>lUdN+|z6;dQcQY+Ant=D71v|*d{8-<+Xw@zeVG0RCNs3CR4r$$$C%0XOflFTgB zJ528l_+{+#XPi+8ciM1B&L4Y6jbz_0(5@OxGh&8aa||P;v*3ha!W2&kuz%7mu^#8g ztT_(+F47$9$6<;0OxQtb9MU$NO;ZsgU@LG<_QRP81G9VD#yU^4!>3riNDD_JSYP~_ zg+@qL3}#oTit5C@a4)Z2;qmyA$5U${)PcN4)!=noc_G65J&Dnjf zul=rVe7?ZHZ;*d&ZB)=oi(19+7oT_{m?8GolHk~1hPc&FIQ}jJ8Yc7vmePEo)Orl3 zS;?9XwW4N#$rlGUu-T&Cj)3~apz1LE&n+WW!*!9XMs*EWxzC=aSbmEZUX?sDDG{FG zhYaK}Kk+7(9VVD5l=?|1k7u$xBd`q;?Z;@c(&A}JxE&$vp;VG$?1=dwB~B3=*V{4E zC2gD|q(#)u$6HyIXriH7>5k4qS}SU0pD32lb2f61f;%0xOB@;{f=gdAnRTYVuSKTP zH}P#C`l6_BR`Y4((a$HWxt|6?#Ze72MY*%quTip4{OP9DQ@YQ@n6CG0tGfVVsiy5T zQ@A+2Qf&K-_kGiU<~ORyWhZFNmK7JNtlrjw^>$MDA=Se-g(I(3%OcE72cF}O4*XJ^ zoa`CyMnCPI)HkP$RWT^=bpY+F5dHX@g$oxyE!TR{FY5pP<+a{}UZ42f$_J8gx#gPS zUbljab&q>4sg`UsVD9rCBTlQGY7NVM*>t|wxA<;iy+-U~JIfy4Jm+HV2sx8}uIHkp zRqq6P!@wNMC>7 zv`xAd_Z#F5=#7db8F7GPk_M(NsaHeM+}~$)M!WY-Lf&2@xKM${pt+!(@o{|ZV$j4@ zLh{xHvXz2bOmRa_1LM z+Y5?PV&KXPH#Uj}T-0nH_mHs}4lQHL6}0pTVSHy>y3jEEuiQoJgy)a<#NNC3to(3O zyOZRZ=+yU3?@fM~vxz*=HX+$*E{N+RP22UNp2#daf*DdL1-iGo4~}&v{3!;L3fYN( z@iR6eZzB%P8VKxeA8O!?cE$-dd$o+#A$G9K;Ae+pjqEUj--?lK8!?A%>GtJ%)s3=sz?A3BR?k{0b{d%g8T;HJ313Y*0`JFNF<0_8Z@7|zI1AAEl7Z} zg?4k^+Hgj@)r$?SGr9;2{N_%6^0MXAR>Ahd+211ne8F!^cyNI~l>+-uP2iFH3&HoT z^7`0~U-~cY#>O7f-IJ}S=+JG@;$@KkQA4Tb`mkqB8zu0GY1P8HmtV9TdOD8bBdMcg z$8A;UNi8N4;IT|XL3l*u z_f7A3cEV39a^E-oMq>|2;W?m`v36|Y53Hha0`N{&5<#K+aG1_ENkz-^$W%14ma*z#oOci} zH5QXxJo}uDQo6jyPKg4>^8|myLPaltzY3crQuBN8r zdVxkh&+=4?p`ur*zfX_VyNWygPVc0q8}-%WEjRoY-qY*~+>qeFi&qrd7j(+}<)dJ8;nslJJh@Nv7qilxBu*C1<4-CAGV*o3K zc{SFXQ`E;&#@RwSwb)Z4-w}jcxhiDM8Tu)VplY&=J3;t!QH9yxh}cz(B<%~Oh0?NO zyOb8S!im^B&PTFOmpZtY8C-Kb)Zc!5qA)~uSGtFZ{&=BdscpXJjD7I&;yZaSE*2bE z*NV;CC^s1TO-e<-mALsP7d@kjwj9VBkpfGv3;*I=SCAh>6y)`~&UcW~rRw6NNxzOF zLfEkFtQl+q&m=vz{^EdCaa9Y7d(qaBT%Je4$@4!Jf)2X`u66iQhJEW>)4|sEvVG5d z&xXxdX5*qkIlDgq`0#Iw_i;#yVY9mYp={urjN;O?!n$QgT4tS8L5}GObCUg6uOtJZV|ik2a-BNs(<_P>uLzH>QA)IW2Twq2Cm4ay@UN21pQ}9PY+`R~Z?<-M zE|h$*WwcWNl>I#Kn0gjX*p{oFb8S_oD>8|k2ElamlOL>kc1CM*K*SF`on>ONq)>MP?Y%N zkyC9;y{f~0Q=cb{5hhgeMZWl%?TC?i?MqpI8nX?>_sW@+{lv{l>fSahj>|a-jqz&1 znnT+Wr7Gbhm{bo9HSv5U6*zq|c8HTw{F{zK$NS%<@7}FP9O<;F^<7fM>+nxYE2|gq zrsHNtHtr)40AYu{m1aqg{XH3*PT>sREOE=$X){rJ>U=X!bNp4~Q(RH<)Aa6rNcy#_ zmM0k3)-`-hG_N&S#YVsK#VI3JWt^of<}i6~^lj6kDdSYPaUp!MAX?UZk$b!m!g{`X z(t32cUrrf)nC^i^MChMuSQsnLxK=h}mH!D5-yd~ z2a{Y2S$tOv9IJ}{!Qya7Bss_f3ncl@%_b`-kiaryxpAZ6B`~6UU=!F*v>p$r{<8TA+>I*svPR|N2@XlwCKAQymPEJo+lro!r!ixS&z{>&6EV5`sXMj!GF6* z<8T1I+{p7mSs;gTOD#%?eP5hyh^&suB>IVrr^|c>tHJ4$xG3}`30g)Z{lN&HY(gp&4 zl=SXZLo(p$DHCrY_lx&Kulbh!@k4Z&Qo#8IrU@f*2R4L91b+O4}DR-J!ER-bKW+%;P*9^%_;vJdYu;C>3QX~ zb^phyOB#ikdmq)ak&m7ndu9CS@NnfxPliXOE!jVQv~kps8}68!qLF;X=_b?d?@A)s zV2u1)S>G|Y^nkHXzgt1Q+A}i}xUv5ogyE0|P>|859Pw8E5Fn zPH;A*$hO+%w7^`;_`o=)Lp{8Y2i?5nd;VaQg0m54{@S>1HnK~8!?${m`jw?os)ORk zst4@aixo-9!7Gc$-O0|6f^9vcl)h+vF{n?fl6|FY5Ogr;Se!-j6~tbHd*qbZ+?c92 zT~txDF!}qYhZuec82LB=%5EE4m;djz^sSgKmGu)Hf~dVHwRI8^|BGNCtuurl$$kN? zP;j~eSPzIl=HxI|cZ;n@4@DXy%(*~J#-X6w{Jh_w+dSCjrJ}-jzD~TH%@C@u8~$!s z`s%A!xm-f6OUpOASyi&Zr* z-^{mU4q1JK&c@~tu`bFf^?&f@Kkee~Gg{F~BaaP-* z;2*Iy!%nd{xFss|(o|5nMrqU}I!DzJj=oD7Pe!|w3vGV#*7_JwQlN3Y($TcX>+f1O z#oAMkmRz$Od~j#yC7l0quf!JSfUDmn$y$#j!nKeF{$BhoQA|(z}(xga=|0^5E1g)Ta47!R0^9)9i)Mh{U>Q0DRx!PQ=cC9C07V z?~o2-6bP3OwrY}yRw4a<;YQZZ!{(7ICh73zkQH_QKKrqjmDsEMM~uZrwYX@=lmE#{ zka?YcbwV*`$4t0OV1#+W+YRRQqQ#!`;_+b4SDn8n5%eQ(p?w+u)Y0@A?|bH+F27D` zF5L+`)W^N{RQ?8B?*7FmJ_a6#eM)WR%wGxeFJBCCs6THUe2d|pNeMdqh0+;y-(G|~ z@1+qiUKQ{0EPS}Ar8c>)5i0gr(HnAyrRHDu2J@%Pi>q91BYs;W5Os{f{(hVPe`NgjYzrb`S0je8-I=gZ@m2$AYE{;iPqgqcWw^`-kQ=n&Vp zwi1x02Bc0)Y?S0439R;wyO(2^$NrHy<9b?Y)BnpqKXGR*CFMvMK>j^^cOEOVbFZXX z5F)&h!##wNK>)#EhfF#!*g!TssQJ$YsXBCvHi`CX58_aF5hCZ~{j;)h?v+asRX5?G z?{}8mJT$TA24Rm>3$o;a@|2EP7s{$6^qvOG3V6p5E_~5|m5eZ@_7UMK)~4UeXqDJ$ z|A-Ja@6Ei_UJcH?`HifPr0KORN0-rM@oI}t0CUDpX<^#c75Ft;bX4m0x+@&?A|E<& zrawmOh`E6$&anm zm6mRKRc=PkB~@;26sLas-iTKgc~`y#xk}Orm;C)WPqBt(;j+Meh3Q{eM#N=ZePQ>-m_?egE+AUBQ1%qU6gf;pLeuS&(gcj_3 z>MRA41B40|oeX2Oo@l>|pyp_-_C}bnZ`AUB%zsltF}qdfXAPbU+DbSC$aeoYtEVxs zgz@!jJV`jyPOK0p%|=c(nBR<9%YJ|2Vfw6Rt#h3~vDVG=Q+j_8NPy0-8PdFeq0m34 z-?{SY^}e7cXyB(z#&N5srF(qPBV}7C_Ybhobqf;5)Fdg%2K3@zx6) zA?cmhkQ!q9@k?#(Eu&y?pji2-0IZB{m4fp2EjzpSgDYVh!c?FK>k46!yTZ|>OliAr z1wR|u^S6ls!_bbQW?U0TG=e~1ogQ97q&h99zK*~-0zEUKTN8F!JlbfY%k-#A_rBz# z;c`8I8qMRk8Uxy)cntRK~7x9xM`=#yAIZ&e5Csy?@7l)N0~$v734 z6_)p~K!5OIew9=y3J>K#pVtq@93l7BhK0s$Sf6&tytrVN8xs}%=3oo>ZT;|Qqvw&9 zVyTXCH4J96198>}?GtA9*x_oyu~U{S1_`WAQddgK&VaS9o5J4OO@l8&BB<3u?2VZ!~o5J~VXjZdwU`6R*OKVYEr47;C7+62bQ+@sc%X&X z>)jqzxy5Ro|7h_^|G32v?~@Re6Ytyp4P1 zFuy0ZUd73F%v>RaVd+(_F8Fz@)7q%5LJ3`+lW?Hw`RR?HPCLs^$}1iA*yB*HXV7l| zxCccm!10jN+2_i(S+L+cJ>0`kW-ty&G`)dgulLM5yGQk02uvAKkv`9)WY#{a3H*Z4 zd{|Oune>)Ntjg*2to0x7zt}j|IEg-HXQv75*FKREE(M)l2A*Oc{19A*xB{e*Rv$i5 zjCqNK_3?L$Z~mVX?l|NmlNlmd3s3@YF-8J1XgwjC$I#LS5Mrx3}@I zOw4w?7LEY<^1%HdsESR(c^Ci*lyD%;)NlZ=)Y&<@HgC>S2p`Y&4Z8tnq7MkcFzGz| zEt%uY@*GO&Mnl>4CjkrX<3)`pqu`I;yIRF8a-9DC!9KBn>6T-^G*qewE+HF1H)fE1kBXl1| zUEB|yZWms77wd0{9_|K=y*E*SkQBKOBlnT}-dcTD~PI^Y=@!{}X zw+ulJ;3LhfUKkT~l21%QnnE^GMI#WCs@S<1h>V4(Y3V`!s?eK}lcF(-|AlXv3VdTu z;WnM!Qu_EWjzi0d4%{y%M}-oS&+xjO+Xdv%Y2{M4yCK_+eLScL4-Wi>DPy!Eh3>&{ zHhAT^7})58KrERpI;1EnIJm{kyJZ>&tW_RQ7|A-w;pvATe3y(~=hz;NuQ^9eXN+f= zjqdZ_9q=%{44r*i$@SN*|35zPGN~@)E70T)E#DIvT}EyN!LA%Z$eAX7QBRpWR}WlW z&dH~v-J0TG`4O~RW*qa@?B_qqZSBaNf`$x=c}hJeXO}%2rM$rZV1q!X!PcA%TsRma z1W(4nc}{*l0-20K8krvY5W8*K5xU7qj6PRn*DCNRx;Gymx2$)kTMHM<*Gs}3U?=Y5 zw)cjY>GgE0zr*QQeF($+M;vHTi7eyH7>t~0Dwg_Tm@0!zzp02iZUV(<#puFKrfoWN z`zuD5r4at3ws6`8)E3kTKWYnh-lKnugUbH)#p@ZpHgu=I>vw?d`4(pHP6r(Z(Vz;QEq0}z79Be@jLqnk>b<|(nt<5^)pAgo z;v=C!vF1%su237}H?oQ_bpiW`tvE4Bs1L1*P(2OOp>8FhHWRLbN>MnB7y##2*YkdZ zoGP(Mb)2>WnVv8ch*V$D7)ZuAjw{^dBP6;~#rD9R@_6)J5T8=>dW991U8{(cgNGt^ z{!CP?$*c0-?UfZeWJzqH1aw*5Z@(+N856bpMPMWL3Swk1%A;}ey!J8IY}FmkagW+KC73a|vbo)rQQ!ze+?P1;cxXN@}eLum-$ZF82Cte@~>IA0LNOrSrL zs5pK8L#AVOUv=nLjXM~NCm|fnP6E4N_86bAoFmc)P$-E{WMleGG6~IfEVXqf8Q!)e zkw4JGn{PbhH#2mQP*E**OoxC*{Lt#zL4oilu_y4b8kWPK#3`RY#0OCmZ}`}b zm}`5ulnaOd7~q&{s4d1ECM=aFZXc~mC1*0+7$cS0eHZ87C!5-lf=UmsO_Q&fJ9u7X zFS!-i*%_6)I4GBCj7qB1KIZxye^2P3Ive<;dQlAWNPp3`bjymb|48c#A|$iG;dYsp z)j=ItP2ULlf7pAksHWO>``d;T5u`T-mEL)D6j`yTAmJ;rwcCzO$~)?Ke_&ff%jnXk{XV_{)cyBfeS z-AVy!HF?B<%3e&TKNqywmEf5Ww8nfT`_s(vA*;hTA1=;fO)sSy0i&jwrd-+D=E*;5 z|88w3dT=eojz39lUZoX(gcD70oeG-dAU`C!YrjSU^$~s4u}$1c9~zYehS>?aeu1ph7RbfUF+ z=DHLyh1a3x*tG#T?Hmk(^sx^~3I?Cs`8CdHubA{b%?t52am9Jz% zyh`K6O~*XmCkv{M1+Ia~D5JATe2ltDJ%{M! z(-IdLEL?6JLbY5ik0FG71~tX(hlh~v0}3m5OiB_+z_*9*I~2Y)sF9tdr3v_D*YnE& zeOC`N?EZq%ic3>i_7vF#gNk<+5QhXJl_?Y1QdtXN1KyJKUCTdzO?305rRRHadsTRh8y^H0eCrg(7@2%bX3R zt&g_T^;+gmw*GU;G^51)PmlZ2zdi0~fq#44EOR8L@ZWI+a2%LjUmdIQZA_HoS+ZHL zTJtp zeI|~{QP*+RZni-(dso0Q%Qt=k$6+@xxii~9962h9@tr}^i|Gp00y_@*D)8+&1*tUo z3f0K9cLQ6;N2W7fG(B;rG|GUyJ7tskd4T{g7Ses_X`hA+3Wwq(8hu_s(7O@sN{P&U z+F~fc*d1C9jTlS?wj(!Q>#VGhmnu=AD(U?B9}mfvz;o1rPs7zH?-A=Y0+*Ev`N&MI z1pR#+>51${G+p9CZ}Q%d)=HnYkSVz(_JoQ z;XOuBR7=mqFDG46?tgiLvj`U|&|I_B{b_? z*vpV9LzF|WxB$4Tw7FF1rLdYIqe@%Pxw5yW zaHxI75 zm*O{3SY~Ej$deq|gy4jVps?0if2qB?eb*WHGl!FV0QyFREKMoW=7j|jJArfLWU!OhMV~e|-V-ew-KvoXms^kx(y1XX zKbnyVHkO&ZTQHYyH+yV44c-F*?X>t9pq(a1{kNT#T=HKwt*YMfp7d2IPndinhH*%x zL@I$T9iw0feMs|gSvZ-GHfEiP6F+&a(&Ed}(^lrZAq9-g6->1Vh_-)Lajb4P)MxA& zl#ySNBdIEO+|3T=V^&!ts-YNJyfq9&mF#RBZ(C$YT2x&6xG?(c_@`y0i*uB>b(LW? zU?%v_21pOEm%fSlS5^ZHCwWq*3IStW98g|v@@Il+P_nf}V1@+GfwsrQOo9al+`nRj zrYhCrueKC&^%ZiGg&Ug*oY`2uP?#j#udbLd^s3hPcFwFFge~+`oOx9aCNS$xyoEzW zcA(<-YLEQ|7GdrwmIUWqOvUeUjY%`&0G64D7=N;Z?gL^?=MJn#@3#{o>+QceLW@HW zZ`P-b&laV|>^&pGq zSQeLPJTHq+w#vu#Ambu&7W4@xYL)&=W^vnCFAIR~sb=4`I?55<@8a{T$1Y6DnCENN zsBpFW-i}e0k!`1P!=E^k6YzLMyHv4
    -
    $item.location 
    +
    @@ -82,7 +82,7 @@ {{ endif }}
    - +
    $item.location 
    diff --git a/view/theme/diabook-blue/wallwall_item.tpl b/view/theme/diabook-blue/wallwall_item.tpl index 603a908c5..e02e5a8be 100644 --- a/view/theme/diabook-blue/wallwall_item.tpl +++ b/view/theme/diabook-blue/wallwall_item.tpl @@ -52,7 +52,7 @@
    -
    $item.location 
    +
    @@ -88,7 +88,7 @@ {{ endif }}
    - +
    $item.location 
    diff --git a/view/theme/diabook/icons/notifications.png b/view/theme/diabook/icons/notifications.png index 5bdc34f7648dde8433ab9c76c621915da1efb7b6..2709977406afc940f8e7a3376db1c6828aa2b151 100755 GIT binary patch delta 665 zcmV;K0%ra81iBL{Q4GJ0x0000DNk~Le0000M0000M2nGNE0K~LxJCPwie*+2t zHZ4u|AwU2C0!m3lK~y-)wbW0j&UqBa@z?#M6y@Hcd+)-NP_memvZKL<2_;!xn#kEr z7PFWvEfqyJ(^h;c;!wbNzaH)I&M-?fHGb=bZQN z^PKbj9lnzdbRIHu2&>VKhzDN-f62_%7{Y^yXv1K`zY>>lDKkgE0y^5sE5>KVrS=q# z;w*l{2Yl=(=m8umVZ%6qUvLJ$Mnt=#xK+>@9LHN6!S2jl)C0N*yDR2x<;)bL)hxwf zv@snK&#@OL>%3Q4M$2~+dn;$U7>Aps_#Yoj#Zycb{1DD#DK;1MAH2fPe>jIfDsBvy zF&GhRI*M1}5$<9ge#CWLt(Tv{@3l@x#C-X#V{7HyEyk*5DF*7A&6m1S+=__D*nn+S zyB4-*=Em~fs@SEK+wN4MdEMsg_k9Jd$jl{pSU03&Z9FXBirT;LVl05)U|D7^$7B49 zpRhh6Uexnkt)11Z_1KBqe|S>4%ZjxC{tIidAtLTq6UK2UGe_#|9o|L6{mdMxhE3o~ zMBJ;Atu599cnTxfU;7KV)>VSRuF`#|m zLzy`d5py_(gAs8jGxuS#7&F~NXa}y~CiXaBNhVNzdAxliO6RE_p8-Zzvw`70{hK z+~?RGujYLb+-?1WTMcllpM=3a!NcDm=KI(uq@dF1M8N9200000NkvXXu0mjfAj&_K delta 710 zcmV;%0y+K41@;9YiBL{Q4GJ0x0000DNk~Le0000K0000K2nGNE0F8+q4Ur)}e*zp1 z7#StW&>#Q+0(MD6K~y-)mDDk4o@EdR@Zb9;4r;JTNlA+2qlQ8$4h6wYNOY>=P^6Pk zlok#gM5vUu;8;k73W|ergViNnBrdH*u#g5fDd^y$HPDncI2a_D3{Ahr<-YPYCRiUh z-g}M;zPWPPw;+|na^Pn^EiqX zyn{RVHX=5*NPGgX;aPl!-S`^Qm~3$ZUCc(rpE!aGbw099+eRvO0Y?fme_I?Un#}wi z5AZtvz{MgxjxRBUmx}BM{EfHq1-_}gFCNqy^ z=33dY9bTP>*tQ3*pVP$DjHYS&s~GRAaJ+Z8xw&aO?BMO|XCKk9bzdX{ef~~)ZeKrZ s@G&0cP9I_CzmnU>93ULr!QXcM1M4~U6?a^Jvj6}907*qoM6N<$f+Y1%i~s-t diff --git a/view/theme/diabook/style.css b/view/theme/diabook/style.css index 6e3909ab4..ad7119c2a 100644 --- a/view/theme/diabook/style.css +++ b/view/theme/diabook/style.css @@ -1036,13 +1036,23 @@ section { width: 800px; padding: 0px 0px 0px 12px; } +#id_username { + width: 173px; + } +#id_password { + width: 173px; + } +#id_openid_url { + width: 173px; + } #contact-edit-end { - margin-top: 140%; + } .pager { padding: 10px; text-align: center; font-size: 1.0em; + margin-top: 140%; } .tabs { @@ -1116,6 +1126,7 @@ section { } .wall-item-container .wall-item-location { padding-right: 40px; + display: table-cell; } .wall-item-container .wall-item-ago { word-wrap: break-word; @@ -1171,6 +1182,7 @@ section { .wall-item-container .wall-item-actions-social { float: left; margin-bottom: 1px; + display: table-cell; } .wall-item-container .wall-item-actions-social a { margin-right: 1em; @@ -1181,6 +1193,7 @@ section { .wall-item-container .wall-item-actions-tools { float: right; width: 80px; + display: table-cell; } .wall-item-container .wall-item-actions-tools a { float: right; diff --git a/view/theme/diabook/theme.php b/view/theme/diabook/theme.php index 0a20c9fbc..5a1828ad7 100755 --- a/view/theme/diabook/theme.php +++ b/view/theme/diabook/theme.php @@ -13,6 +13,7 @@ $a->theme_info = array( $a->page['htmlhead'] .= <<< EOT + EOT; diff --git a/view/theme/diabook/wall_item.tpl b/view/theme/diabook/wall_item.tpl index b1a014949..ebe40fd4e 100644 --- a/view/theme/diabook/wall_item.tpl +++ b/view/theme/diabook/wall_item.tpl @@ -46,7 +46,7 @@
    -
    $item.location 
    +
    @@ -82,7 +82,7 @@ {{ endif }}
    - +
    $item.location 
    diff --git a/view/theme/diabook/wallwall_item.tpl b/view/theme/diabook/wallwall_item.tpl index 603a908c5..e02e5a8be 100644 --- a/view/theme/diabook/wallwall_item.tpl +++ b/view/theme/diabook/wallwall_item.tpl @@ -52,7 +52,7 @@
    -
    $item.location 
    +
    @@ -88,7 +88,7 @@ {{ endif }}
    - +
    $item.location 
    From 74b3e9f273b019729d213f3ccaeba1bb11d61d24 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sat, 10 Mar 2012 15:50:35 +0100 Subject: [PATCH 041/153] Enabled Caching for items. Changed color of tags in diabook. --- include/text.php | 17 ++++++++++++++++- view/theme/diabook/style.css | 4 ++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/include/text.php b/include/text.php index 5ad0154d7..38736d836 100644 --- a/include/text.php +++ b/include/text.php @@ -874,6 +874,14 @@ function link_compare($a,$b) { if(! function_exists('prepare_body')) { function prepare_body($item,$attach = false) { + $cache = get_config('system','itemcache'); + + if (($cache != '')) { + $cachefile = $cache."/".$item["guid"]."-".strtotime($item["edited"])."-".$attach; + if (file_exists($cachefile)) + return(file_get_contents($cachefile)); + } + call_hooks('prepare_body_init', $item); $s = prepare_text($item['body']); @@ -882,8 +890,11 @@ function prepare_body($item,$attach = false) { call_hooks('prepare_body', $prep_arr); $s = $prep_arr['html']; - if(! $attach) + if(! $attach) { + if ($cache != '') + file_put_contents($cachefile, $s); return $s; + } $arr = explode(',',$item['attach']); if(count($arr)) { @@ -917,6 +928,10 @@ function prepare_body($item,$attach = false) { $prep_arr = array('item' => $item, 'html' => $s); call_hooks('prepare_body_final', $prep_arr); + + if ($cache != '') + file_put_contents($cachefile, $prep_arr['html']); + return $prep_arr['html']; }} diff --git a/view/theme/diabook/style.css b/view/theme/diabook/style.css index 2d4670dca..0504ce96a 100644 --- a/view/theme/diabook/style.css +++ b/view/theme/diabook/style.css @@ -1277,14 +1277,14 @@ section { } .tag { /*background: url("../../../images/tag_b.png") repeat-x center left;*/ - color: #3465A4; + color: #999; padding-left: 3px; font-size: 12px; } .tag a { padding-right: 5px; /*background: url("../../../images/tag.png") no-repeat center right;*/ - color: #3465A4; + color: #999; } .wwto { position: absolute !important; From 670b571c8ac0532cc80fff6351f91b1b0fa58e0c Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sat, 10 Mar 2012 18:19:00 +0100 Subject: [PATCH 042/153] Caching improved. --- include/text.php | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/include/text.php b/include/text.php index 38736d836..5bf815105 100644 --- a/include/text.php +++ b/include/text.php @@ -874,25 +874,27 @@ function link_compare($a,$b) { if(! function_exists('prepare_body')) { function prepare_body($item,$attach = false) { + call_hooks('prepare_body_init', $item); + $cache = get_config('system','itemcache'); if (($cache != '')) { - $cachefile = $cache."/".$item["guid"]."-".strtotime($item["edited"])."-".$attach; + $cachefile = $cache."/".$item["guid"]."-".strtotime($item["edited"])."-".$attach."-".hash("crc32", $item['body']); + if (file_exists($cachefile)) - return(file_get_contents($cachefile)); - } - - call_hooks('prepare_body_init', $item); - - $s = prepare_text($item['body']); + $s = file_get_contents($cachefile); + else { + $s = prepare_text($item['body']); + file_put_contents($cachefile, $s); + } + } else + $s = prepare_text($item['body']); $prep_arr = array('item' => $item, 'html' => $s); call_hooks('prepare_body', $prep_arr); $s = $prep_arr['html']; if(! $attach) { - if ($cache != '') - file_put_contents($cachefile, $s); return $s; } @@ -925,13 +927,9 @@ function prepare_body($item,$attach = false) { $s .= '
    '; } - $prep_arr = array('item' => $item, 'html' => $s); call_hooks('prepare_body_final', $prep_arr); - if ($cache != '') - file_put_contents($cachefile, $prep_arr['html']); - return $prep_arr['html']; }} From 20d1a16dbb8a406bdeef62e8ee6973082e8d026a Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 10 Mar 2012 14:44:43 -0800 Subject: [PATCH 043/153] revup --- boot.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boot.php b/boot.php index 45f728999..1414adb06 100755 --- a/boot.php +++ b/boot.php @@ -9,7 +9,7 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '2.3.1276' ); +define ( 'FRIENDICA_VERSION', '2.3.1277' ); define ( 'DFRN_PROTOCOL_VERSION', '2.22' ); define ( 'DB_UPDATE_VERSION', 1131 ); From 1bddd4866151f53f4469dee636a3742fe8381306 Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 10 Mar 2012 15:50:51 -0800 Subject: [PATCH 044/153] bug #327 - composed private message is lost if no recip specified. --- mod/message.php | 20 +++++++++++++++----- view/prv_message.tpl | 2 +- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/mod/message.php b/mod/message.php index 91db5baef..dcaaf6975 100755 --- a/mod/message.php +++ b/mod/message.php @@ -10,17 +10,19 @@ function message_post(&$a) { return; } - $replyto = ((x($_POST,'replyto')) ? notags(trim($_POST['replyto'])) : ''); - $subject = ((x($_POST,'subject')) ? notags(trim($_POST['subject'])) : ''); - $body = ((x($_POST,'body')) ? escape_tags(trim($_POST['body'])) : ''); - $recipient = ((x($_POST,'messageto')) ? intval($_POST['messageto']) : 0 ); + $replyto = ((x($_REQUEST,'replyto')) ? notags(trim($_REQUEST['replyto'])) : ''); + $subject = ((x($_REQUEST,'subject')) ? notags(trim($_REQUEST['subject'])) : ''); + $body = ((x($_REQUEST,'body')) ? escape_tags(trim($_REQUEST['body'])) : ''); + $recipient = ((x($_REQUEST,'messageto')) ? intval($_REQUEST['messageto']) : 0 ); $ret = send_message($recipient, $body, $subject, $replyto); + $norecip = false; switch($ret){ case -1: notice( t('No recipient selected.') . EOL ); + $norecip = true; break; case -2: notice( t('Unable to locate contact information.') . EOL ); @@ -35,6 +37,13 @@ function message_post(&$a) { info( t('Message sent.') . EOL ); } + // fake it to go back to the input form if no recipient listed + + if($norecip) { + $a->argc = 2; + $a->argv[1] = 'new'; + } + } function message_content(&$a) { @@ -151,7 +160,8 @@ function message_content(&$a) { '$header' => t('Send Private Message'), '$to' => t('To:'), '$subject' => t('Subject:'), - '$subjtxt' => '', + '$subjtxt' => ((x($_REQUEST,'subject')) ? strip_tags($_REQUEST['subject']) : ''), + '$text' => ((x($_REQUEST,'body')) ? escape_tags(htmlspecialchars($_REQUEST['body'])) : ''), '$readonly' => '', '$yourmessage' => t('Your message:'), '$select' => $select, diff --git a/view/prv_message.tpl b/view/prv_message.tpl index 25bf93b99..4b904cbcd 100755 --- a/view/prv_message.tpl +++ b/view/prv_message.tpl @@ -13,7 +13,7 @@ $select
    $yourmessage
    - +
    From d9c5d9d2ebf1d0830020e4dc5971cf5bd2227ed5 Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 10 Mar 2012 15:53:36 -0800 Subject: [PATCH 045/153] default the text template var on conversations --- mod/message.php | 1 + 1 file changed, 1 insertion(+) diff --git a/mod/message.php b/mod/message.php index dcaaf6975..57d45ee3c 100755 --- a/mod/message.php +++ b/mod/message.php @@ -305,6 +305,7 @@ function message_content(&$a) { '$subjtxt' => template_escape($message['title']), '$readonly' => ' readonly="readonly" style="background: #BBBBBB;" ', '$yourmessage' => t('Your message:'), + '$text' => '', '$select' => $select, '$parent' => $parent, '$upload' => t('Upload photo'), From 5915325367013f96ffdabb7ef5ca56aa652ccd8d Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 10 Mar 2012 18:52:50 -0800 Subject: [PATCH 046/153] bug #328 --- include/bbcode.php | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/bbcode.php b/include/bbcode.php index cff26f5c8..d69cb263f 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -216,6 +216,9 @@ function bbcode($Text,$preserve_nl = false) { $Text = preg_replace("/\[img\](.*?)\[\/img\]/ism", '' . t('Image/photo') . '', $Text); + $Text = preg_replace("/\[video\](.*?\.(ogg|ogv|oga|ogm|webm|mp4))\[\/video\]/ism", '', $Text); + + $Text = preg_replace("/\[audio\](.*?\.(ogg|ogv|oga|ogm|webm|mp4|mp3))\[\/audio\]/ism", '', $Text); // Try to Oembed $Text = preg_replace_callback("/\[video\](.*?)\[\/video\]/ism", 'tryoembed', $Text); @@ -224,9 +227,6 @@ function bbcode($Text,$preserve_nl = false) { // html5 video and audio - $Text = preg_replace("/\[video\](.*?)\[\/video\]/ism", '', $Text); - - $Text = preg_replace("/\[audio\](.*?)\[\/audio\]/ism", '', $Text); $Text = preg_replace("/\[iframe\](.*?)\[\/iframe\]/ism", '', $Text); From f7ade749b827c22efe873b4f99941a1b7e5d0d62 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Sun, 11 Mar 2012 01:32:11 -0500 Subject: [PATCH 047/153] preliminary dispy-dark theme. WIP! did i say "WIP!"? yes, i did. WIP! Signed-off-by: Simon L'nu --- view/theme/dispy-dark/comment_item.tpl | 35 + view/theme/dispy-dark/connect.png | Bin 0 -> 443 bytes view/theme/dispy-dark/contact_template.tpl | 28 + view/theme/dispy-dark/conversation.tpl | 23 + view/theme/dispy-dark/experimental | 0 view/theme/dispy-dark/group_side.tpl | 30 + view/theme/dispy-dark/head.tpl | 99 + view/theme/dispy-dark/icons.png | Bin 0 -> 29039 bytes view/theme/dispy-dark/icons.svg | 2096 +++++++++++++ view/theme/dispy-dark/jot-header.tpl | 312 ++ view/theme/dispy-dark/jot.tpl | 72 + view/theme/dispy-dark/login-bg.gif | Bin 0 -> 237 bytes view/theme/dispy-dark/mail_head.tpl | 5 + view/theme/dispy-dark/menu-user-pin.jpg | Bin 0 -> 385 bytes view/theme/dispy-dark/nav.tpl | 123 + view/theme/dispy-dark/nets.tpl | 10 + view/theme/dispy-dark/next.png | Bin 0 -> 590 bytes view/theme/dispy-dark/notifications.png | Bin 0 -> 2494 bytes view/theme/dispy-dark/notifications.svg | 273 ++ view/theme/dispy-dark/photo-menu.jpg | Bin 0 -> 459 bytes view/theme/dispy-dark/photo_view.tpl | 40 + view/theme/dispy-dark/premium.png | Bin 0 -> 2304 bytes view/theme/dispy-dark/prev.png | Bin 0 -> 593 bytes view/theme/dispy-dark/profile_vcard.tpl | 66 + .../theme/dispy-dark/saved_searches_aside.tpl | 14 + view/theme/dispy-dark/search_item.tpl | 51 + view/theme/dispy-dark/star.png | Bin 0 -> 2129 bytes view/theme/dispy-dark/style.css | 2631 +++++++++++++++++ view/theme/dispy-dark/tag.png | Bin 0 -> 571 bytes view/theme/dispy-dark/theme.php | 74 + view/theme/dispy-dark/wall_item.tpl | 77 + view/theme/dispy-dark/wallwall_item.tpl | 81 + view/theme/dispy/style.css | 17 +- 33 files changed, 6144 insertions(+), 13 deletions(-) create mode 100644 view/theme/dispy-dark/comment_item.tpl create mode 100644 view/theme/dispy-dark/connect.png create mode 100644 view/theme/dispy-dark/contact_template.tpl create mode 100644 view/theme/dispy-dark/conversation.tpl create mode 100644 view/theme/dispy-dark/experimental create mode 100644 view/theme/dispy-dark/group_side.tpl create mode 100644 view/theme/dispy-dark/head.tpl create mode 100644 view/theme/dispy-dark/icons.png create mode 100644 view/theme/dispy-dark/icons.svg create mode 100644 view/theme/dispy-dark/jot-header.tpl create mode 100644 view/theme/dispy-dark/jot.tpl create mode 100644 view/theme/dispy-dark/login-bg.gif create mode 100644 view/theme/dispy-dark/mail_head.tpl create mode 100644 view/theme/dispy-dark/menu-user-pin.jpg create mode 100644 view/theme/dispy-dark/nav.tpl create mode 100644 view/theme/dispy-dark/nets.tpl create mode 100644 view/theme/dispy-dark/next.png create mode 100644 view/theme/dispy-dark/notifications.png create mode 100644 view/theme/dispy-dark/notifications.svg create mode 100644 view/theme/dispy-dark/photo-menu.jpg create mode 100644 view/theme/dispy-dark/photo_view.tpl create mode 100644 view/theme/dispy-dark/premium.png create mode 100644 view/theme/dispy-dark/prev.png create mode 100644 view/theme/dispy-dark/profile_vcard.tpl create mode 100644 view/theme/dispy-dark/saved_searches_aside.tpl create mode 100644 view/theme/dispy-dark/search_item.tpl create mode 100644 view/theme/dispy-dark/star.png create mode 100644 view/theme/dispy-dark/style.css create mode 100644 view/theme/dispy-dark/tag.png create mode 100644 view/theme/dispy-dark/theme.php create mode 100644 view/theme/dispy-dark/wall_item.tpl create mode 100644 view/theme/dispy-dark/wallwall_item.tpl diff --git a/view/theme/dispy-dark/comment_item.tpl b/view/theme/dispy-dark/comment_item.tpl new file mode 100644 index 000000000..85176732b --- /dev/null +++ b/view/theme/dispy-dark/comment_item.tpl @@ -0,0 +1,35 @@ +
    +
    + + + + + + + +
    + $mytitle +
    +
    + + + {{ if $qcomment }} +
      + {{ for $qcomment as $qc }} + + {{ endfor }} +
    + {{ endif }} + +
    + + +
    +
    + +
    diff --git a/view/theme/dispy-dark/connect.png b/view/theme/dispy-dark/connect.png new file mode 100644 index 0000000000000000000000000000000000000000..b76fc13dce9eee21d5a9449f80e21444c801cabe GIT binary patch literal 443 zcmV;s0Yv_ZP)!~>``3MAvsy{nQinWJDuHZx1&Pfqp!=gT=cM`lKyLI}%}9ZNh)BkQeJ zD-LE{Z8zYYZ2}8steO=om6>6HveX4oNah=j|4kQ32q`FWJ0A6G+T71AW8BLI{g#n%)co^zxF;6@}Xd-KJ@J z*f;V#UviF9U;=aoESTAybB*10yM6x+81~9Q^J{Dah|#Y}+9^vDFbnMc2B?x^%wK^~ l;NdT49F&>aKJXyv-~)f?rYbayUt9nH002ovPDHLkV1mQvvw#2q literal 0 HcmV?d00001 diff --git a/view/theme/dispy-dark/contact_template.tpl b/view/theme/dispy-dark/contact_template.tpl new file mode 100644 index 000000000..fbf354b47 --- /dev/null +++ b/view/theme/dispy-dark/contact_template.tpl @@ -0,0 +1,28 @@ + +
    +
    +
    + + $contact.name + + {{ if $contact.photo_menu }} + menu +
    +
      + $contact.photo_menu +
    +
    + {{ endif }} +
    + +
    +
    +
    $contact.name
    +
    + Profile URL
    +
    $contact.network
    + +
    +
    diff --git a/view/theme/dispy-dark/conversation.tpl b/view/theme/dispy-dark/conversation.tpl new file mode 100644 index 000000000..41b6aeadf --- /dev/null +++ b/view/theme/dispy-dark/conversation.tpl @@ -0,0 +1,23 @@ +{{ for $threads as $thread }} +
    + {{ for $thread.items as $item }} + {{if $item.comment_firstcollapsed}} +
    + $thread.num_comments $thread.hide_text +
    + {{endif}} + + {{ inc $item.template }}{{ endinc }} + + + {{ endfor }} +
    +{{ endfor }} + +{{ if $dropping }} + +{{ endif }} diff --git a/view/theme/dispy-dark/experimental b/view/theme/dispy-dark/experimental new file mode 100644 index 000000000..e69de29bb diff --git a/view/theme/dispy-dark/group_side.tpl b/view/theme/dispy-dark/group_side.tpl new file mode 100644 index 000000000..516d70d5b --- /dev/null +++ b/view/theme/dispy-dark/group_side.tpl @@ -0,0 +1,30 @@ +
    +

    $title

    + + + +
    + + diff --git a/view/theme/dispy-dark/head.tpl b/view/theme/dispy-dark/head.tpl new file mode 100644 index 000000000..793af6fd2 --- /dev/null +++ b/view/theme/dispy-dark/head.tpl @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/view/theme/dispy-dark/icons.png b/view/theme/dispy-dark/icons.png new file mode 100644 index 0000000000000000000000000000000000000000..f99ec29ee211b6ab448ed3502134dae0f109a623 GIT binary patch literal 29039 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 literal 0 HcmV?d00001 diff --git a/view/theme/dispy-dark/icons.svg b/view/theme/dispy-dark/icons.svg new file mode 100644 index 000000000..05a00d93c --- /dev/null +++ b/view/theme/dispy-dark/icons.svg @@ -0,0 +1,2096 @@ + + + + + + + + + + + + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Lorem Ip + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ? + ? + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ! + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/view/theme/dispy-dark/jot-header.tpl b/view/theme/dispy-dark/jot-header.tpl new file mode 100644 index 000000000..43dcdbb84 --- /dev/null +++ b/view/theme/dispy-dark/jot-header.tpl @@ -0,0 +1,312 @@ + + + + diff --git a/view/theme/dispy-dark/jot.tpl b/view/theme/dispy-dark/jot.tpl new file mode 100644 index 000000000..94c31da23 --- /dev/null +++ b/view/theme/dispy-dark/jot.tpl @@ -0,0 +1,72 @@ +
    +
    +
     
    + +
    + + + + + + + + + + + + + +
    + + +
    +
    + $acl +
    +
    $emailcc
    + +
    + $jotnets +
    +
    + +
    +{{ if $content }}{{ endif }} diff --git a/view/theme/dispy-dark/login-bg.gif b/view/theme/dispy-dark/login-bg.gif new file mode 100644 index 0000000000000000000000000000000000000000..cde836c893f64bcfec04b9c817e3371ff122fe19 GIT binary patch literal 237 zcmVb{bmUKcqz}))c5uC(7v?)v4a2P)ZNa- z@$&T2)z|&~{r~^}A^8LV00000EC2ui01yBW000GQ;3tk`X`bk)Wk@<6#nZYULKH{p zEx|?+kif!I0vIL|#ZMubBmjWH2OtmxIFVa~6JQ7!1CK!f5W#StOTv&C3=E8h2vI1s n+#cd5;2fT3B_0kF0v!+!GARoV78n&7dMN`JIW(4+BOw4gP{MS* literal 0 HcmV?d00001 diff --git a/view/theme/dispy-dark/mail_head.tpl b/view/theme/dispy-dark/mail_head.tpl new file mode 100644 index 000000000..d49d7c1af --- /dev/null +++ b/view/theme/dispy-dark/mail_head.tpl @@ -0,0 +1,5 @@ +

    $messages

    + +
    +$tab_content +
    diff --git a/view/theme/dispy-dark/menu-user-pin.jpg b/view/theme/dispy-dark/menu-user-pin.jpg new file mode 100644 index 0000000000000000000000000000000000000000..26449569f40425feda7ce4986e1935b4a67076d1 GIT binary patch literal 385 zcmex=LJ%Z3brsW+o;O z0s6Oj-S z5fuR$!pIEN!@|nR%E~Fi%grl7GWdUhL6C!igMo*cQHg;`kdaxC@&6G9F|hj?kO4D0 zP+UoX0ca!8(Qp|?CT11}RyIK)MRrHSz(k-LQIOYB024D%SX>Y&jv~PbwD12dkj+2_ zvmk>#!}N~gJ*B%@y6YT;gydRoMhD3xvih4@Kir$MLU@5~^Uuh%)Ox?j37$JRdX8kK Zcl($$OlaY6yuN=|Q1|jygZ=++0szW8M1TMQ literal 0 HcmV?d00001 diff --git a/view/theme/dispy-dark/nav.tpl b/view/theme/dispy-dark/nav.tpl new file mode 100644 index 000000000..4a030e7ae --- /dev/null +++ b/view/theme/dispy-dark/nav.tpl @@ -0,0 +1,123 @@ + + + + diff --git a/view/theme/dispy-dark/nets.tpl b/view/theme/dispy-dark/nets.tpl new file mode 100644 index 000000000..b0cb8890c --- /dev/null +++ b/view/theme/dispy-dark/nets.tpl @@ -0,0 +1,10 @@ +
    +

    $title

    +
    $desc
    + $all +
      + {{ for $nets as $net }} +
    • $net.name
    • + {{ endfor }} +
    +
    diff --git a/view/theme/dispy-dark/next.png b/view/theme/dispy-dark/next.png new file mode 100644 index 0000000000000000000000000000000000000000..5e0067c4b4abd31370a945244aee2c8aae6d85f6 GIT binary patch literal 590 zcmeAS@N?(olHy`uVBq!ia0vp^;y|p(yEr+qAXP8FD1G)j8!4cor2#%6 zuK)l4Z)j+6aBxUVOA8GR_4M>iNJs!Oe0_amV`G7g$jHdxh~TiWps+9?85|lJ7#a~2 z5*`v35gZyG90C*x4-N|t4h;(dGC+ttMnn))JH!xF@`LXUN1%hvN`m}?8JJjD+1NQa zxwv^m%pG0aJ^Z4xd;6BITD@lNy7e12ZrZ$M>$dGXcJA7}XYaoK2M!)OdgAh(&)?bI z6YGH{-1KyD4AD4Wdil9flYxNSMUF)Y;=4OKlGt}w{&(N}tk}HmZ)Kj^>_)X^q6o04=EWH^U4H^)gCQw ye;Zc2hc*3Sy~V|d3h~P?uk$}hzq@SdYvvuhe13;LEnW}wB!j1`pUXO@geCxYQ|Ye& literal 0 HcmV?d00001 diff --git a/view/theme/dispy-dark/notifications.png b/view/theme/dispy-dark/notifications.png new file mode 100644 index 0000000000000000000000000000000000000000..66c432eacc83d32ac6ab803a23a65674dbfa3173 GIT binary patch literal 2494 zcmV;v2|@OWP)*^{Zg8*gi z>^vnUB$1f_~rp)E8)Ps>XJ1hDP6Rk0|d5J-sIEZeoc?shnLTY0e+ zLJ>jw?D_r4%ReOlmxPzw?abZxj{gh!-7o(S-{<>0!NcR>>*4Ev?F9GaC-DCQQbVNYP+e%oP@S;bR392O8*37PQkD9wG?l&|1?ft|q1oE6 zDp@s8o1;$9$}8KnS=z<3`B`V)@LikPDJakA^lO>z=X_tDxOP+~DIb$bW@hcX>OgN( ztx$m=^`gM6FQ7U2(V5y*!nx)JW{`T*R2}eINjngrP{VtQ4J&5y110d($kht1T-}2L zN;&GcW(6d@|Aq{MUju?Pjsi+I{3B*#?XiQB4G2*KY8(ZWvc=Q4_P6z$mZ2jRAv}XL zkZh_Iil=*1>2H5IKdrPQ1Ht)cno+Skq|o}9LF%`HWYc}E zqGHv|Sii@deFi}!!qaMnh%SR)`;1i`505zyWYWknxun$!k)6a-U;CamY^A9#RE5xt z5O4;oHo}nhm*51dTk!Eq^QU8D3Ptmy2uv~p(@j8<7G8(w!@2#v`JNOV5Q`wkE zt9>M0sgFaLKC?KIDDM))ooEIud601O8b}bNlwuvcdgvman{X)%=oh98lB{ZlR;E@V zC?gyoS@d14tSVrt>t-3f7iSp#vM?icbAd#YZdyRfN?tscEzQD=)XfQ!4Je(9r7iS% zgrfm9J{g$1XP!Zz=0k6;CzDI{_I4D5s=VfZW1UgAniI%K(YpJO2n0R9J_2i zCc*qw#YHP{6iJE|W8QJEJ=FL+O!FZW_}sePSG!}x$SDwD2v=-6oLNeG9(g{*>q zL_P~&r);Lg11iV0&0QO~qW+UlaNc9873Oic(qTFnBqzn>H&J0b=1nYRZ(W7tcUmD$ zX$6IHF3Yh+#GSS%F3`(jHyJT7yHe#LCXndLk3UL5Rh(MP%cW}NniSUZ*6FWc0*OfS zu{Ufk^n|Fhi>PvEcMaW2deNH+s%FmiUoKHFfn*0&d>H&YHU#b;h=;-St?<>ZP!6cX zj%%Chg+Yu^)NBG%b)fyZszB%~@N*i-Cuw+CD_qXB$yB8whz>>~I@Hc%SFDgE7PV52 zL^?YWYWtf_R2j5$Epyf)Wlvgojh3bK*-Y!!$kai60I7K69As_D0eSQxsF79jfvS&f z*on>*#1^un&Mku7&AyD+*<5O`VQDBUP%>!{pRi4Ux-HrO#^(fZbHn#x__sUYKM2@p zb^=S5l7>2QDPhZGAOAJ zr=krusjOAp&T?-DBh1?0X~OvcQk`7^vS{6LGe1)t)VOPehrwJ1XVfPM$t{$>|E-|B}Y)qAXywKrMQh5 zB%8+4l^s83cB#rXK9H2{KMQ4VoQ1QmpXTXO>M{D-V}y;{vKDKHPdddJusUheOw?OJS=oatA0=O%Rp2*fP~{eeerxgU!hi7} zTgPW0Q+Q|V*2>f(zAojeu=Ksm2$a!J#FmwI)i0rjoGyT5%Tk?!U=EiOIRoM|;cA3w zA$%UT#x;=aph^sO_(wT>_+9Qm#Y0WZUj)NkeE3~cg@+L;r9Q@~Ly5GHkfG$vK&APM z0zXfu`vs4=`0%^j0fvW~x&9dvAAZ+l7)S^wU%$8wlX))nU$;yo%S4+3GXMYp07*qo IM6N<$f|!e*qyPW_ literal 0 HcmV?d00001 diff --git a/view/theme/dispy-dark/notifications.svg b/view/theme/dispy-dark/notifications.svg new file mode 100644 index 000000000..0ec2c0569 --- /dev/null +++ b/view/theme/dispy-dark/notifications.svg @@ -0,0 +1,273 @@ + + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/view/theme/dispy-dark/photo-menu.jpg b/view/theme/dispy-dark/photo-menu.jpg new file mode 100644 index 0000000000000000000000000000000000000000..fde5eb53524ddb12ec5642f33d0d34e14e256193 GIT binary patch literal 459 zcmex=&g!NbMF!_CFb&C4ewz{@Ad$IUGuCLky*A}T7%!!Ir&CL$pu zA}RthgpnDjhlQ1sm6cP3mz!6FWbpq0gCGZk0D}NCqY?v?AS1IN>UQrQGDKoE6M2QoDc3G+f#K-Lz&!r^Qc^B##H0%WszGMCU1W znAE#pe4KOt&Ml**OEy0VoUS}?d3@zno#;NjlP3257arA~E4nCar)(9G=iXTV|0V#| C@@!oI literal 0 HcmV?d00001 diff --git a/view/theme/dispy-dark/photo_view.tpl b/view/theme/dispy-dark/photo_view.tpl new file mode 100644 index 000000000..4582751c6 --- /dev/null +++ b/view/theme/dispy-dark/photo_view.tpl @@ -0,0 +1,40 @@ +
    +

    $album.1

    + + + +
    + {{ if $prevlink }}{{ endif }} + + {{ if $nextlink }}{{ endif }} +
    + +
    +
    $desc
    +{{ if $tags }} +
    $tags.0
    +
    $tags.1
    +{{ endif }} +{{ if $tags.2 }}{{ endif }} + +{{ if $edit }}$edit{{ endif }} + +{{ if $likebuttons }} +
    + $likebuttons + $like + $dislike +
    +{{ endif }} + +$comments + +$paginate + diff --git a/view/theme/dispy-dark/premium.png b/view/theme/dispy-dark/premium.png new file mode 100644 index 0000000000000000000000000000000000000000..d2855a4f5df42e22c7a39f2ffb1bde0468a82cf8 GIT binary patch literal 2304 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 + +
    $profile.name
    + + {{ if $pdesc }} +
    $profile.pdesc
    + {{ endif }} +
    + $profile.name +
    + + {{ if $location }} +
    + $location +
    + {{ if $profile.address }} +
    $profile.address
    {{ endif }} + $profile.zip + $profile.locality{{ if $profile.locality }}, {{ endif }} + $profile.region + $profile.postal-code + {{ if $profile.country-name }}$profile.country-name{{ endif }} +
    +
    + {{ endif }} + + {{ if $gender }} +
    + $gender + $profile.gender +
    + {{ endif }} + + {{ if $profile.pubkey }} + + {{ endif }} + + {{ if $marital }} +
    + + $marital + $profile.marital +
    + {{ endif }} + + {{ if $homepage }} +
    + $homepage + $profile.homepage +
    {{ endif }} + + {{ inc diaspora_vcard.tpl }}{{ endinc }} + + +
    + +$contact_block + + diff --git a/view/theme/dispy-dark/saved_searches_aside.tpl b/view/theme/dispy-dark/saved_searches_aside.tpl new file mode 100644 index 000000000..e2aae1e77 --- /dev/null +++ b/view/theme/dispy-dark/saved_searches_aside.tpl @@ -0,0 +1,14 @@ +
    + + $searchbox + +
      + {{ for $saved as $search }} +
    • + + $search.term +
    • + {{ endfor }} +
    +
    +
    diff --git a/view/theme/dispy-dark/search_item.tpl b/view/theme/dispy-dark/search_item.tpl new file mode 100644 index 000000000..54c3e389c --- /dev/null +++ b/view/theme/dispy-dark/search_item.tpl @@ -0,0 +1,51 @@ +
    +
    +
    +
    + + $item.name + menu +
    +
      + $item.item_photo_menu +
    +
    +
    +
    +
    {{ if $item.location }}$item.location {{ endif }}
    +
    +
    + {{ if $item.lock }}
    $item.lock
    + {{ else }}
    {{ endif }} +
    +
    +
    + {{ if $item.drop.dropping }}{{ endif }} +
    + {{ if $item.drop.dropping }}{{ endif }} +
    +
    +
    +
    $item.title
    +
    +
    $item.body
    +
    +
    + $item.name +
    $item.ago
    + +
    + +
    +
    +
    + +
    +
    + {{ if $item.conv }} + $item.conv.title + {{ endif }} +
    + diff --git a/view/theme/dispy-dark/star.png b/view/theme/dispy-dark/star.png new file mode 100644 index 0000000000000000000000000000000000000000..a327ba14e462a494523d9d5be1195989b08b36ad GIT binary patch literal 2129 zcmZ8h3pf+%8=p&!&6Eg9TEpnJ86(!LT*9)MTji2z7S4x@eU49cNQa*7D)vFxC)8h!x261T1zje1vR6om@o}h zTzF|>zLN?Ck3*;!`AQN z#MCp|d*RNzSM}8KJ_u&j4ca3)QpRxQQgAQ-f||yRKD0TRk%0|8wzB2Alzq>ZEt)Y0pLsFkGC9KoruRjq@DJ_l~-En(7Z#}&dtm3hhGG6OK zramT}^yrVanmF&3`#l=mWu7B7KC;F~P58$Q`OB6_5Ghedl-u(BVdv{AjgI)k+i;bI zUgGxm#@&SO>5#^jlzIDh-G%cg2fu=5BVvAv&8HXcV3U`-m@d+p-xIrOrrDwy7udi^qLdFc_k>Irqx`1t^kfQ)YLDh*44KGm(fEHnJ&I;006AH zED8XAzAgZu5JL0z;rI{rBgW+D3=}?#l~=LVLuQU zxxVa1!k|AOoCsT(578a!z+h3KXapKz2E&1%P$-ra5{mJ3bov=Cw`^hI91atMM8?F# zAYv>K3|1HtWn*K5G&4t(1dq_TrqG$x0}h=MNXr35je zIkqs^a-m=6XPAmpRDBkkX#BAi9(nme`S^jV&xn$4lF8#!(e$c7?C);lFhgZ%T2a-qrJ3$<1{rFLJ`MRRv9qqiWH41VD zBQ!m<+PmJ<%1~uA0pVgFqFt+A+b^{wI#C$^Ed`0YmehRB!*0dpIlQ}8JuV4mx&)R6 z`LB3Zj?+r?8!F?MJk<*x8VEJl?80l}J)D^%69&=+DRS6$veRrZQu~}ip4duf7Q!Qv zV3}V+OD5B@a%LA|5&5$5Xr04W%5}WaK$G-0?=QWyH{AI5KG)LuTR52NWtSASpCSOM+Xu;B`>#O_UlyZi`jIxnl%)@mt~Rtl~|HL4FpBfBkK* znI5VimD^F8t-GT;N3>Pol+!8`^#(l+J&IXWzR}5klIMG*Ea)RQ-#Uz>C2N!8Ri+43zD5Z;!92h*!7kK|i(J@cbOe>-y&K00YH_A~pXB z9|V(hc~@ZzwDAgPhtS!{$yz(WY?~7HteJAKAhGbRm z3Y+d6vtqm$5YNeEDWMjX%&djC4>FEBOJ6l1k3>f+jetYU@dE*{@!xg5*l`5n_{$q) z0cbVaH^8eWVY0EzbZ`FV=fDQj#Z$*6nGa_YR(%*gYq0C6B4fC@!>_7O5#daXa}CYC zg|>+3uXm_vUZPSvG<)cc+(be-;>JK*K_;BAi|cQ9I{ zQrzbVFWeUikro-5pGPn{0DV$TTX&uSpZT^pGS9Qia(vG`Ba9%y*KBq9MmmJny8wr` zM??o`0)c01-0Z9mZ&7<7a;C&V0XNT3SK~EP+d{YLc%(+CaBHb|^;|zDv9Q`*34Z<# zneT)zI<8EKs$cC)KZZ?Vy*UcxHl>`)*M2#xh?IpS*nmwt>are{#O#4xcJ0i!g%HI= z+f;3&5HA)%@}Va82nKMB@a z_1_OdwfoiIkZNaB;rZ&$4 + * + */ + +/* from html5boilerplate */ + +/* these are to tell browsers they should be displayed a certain way */ +article, aside, details, figcaption, figure, footer, +header, hgroup, nav, section { + display: block; +} +audio, canvas, video, time { + display: inline-block; + *display: inline; + *zoom: 1; +} +audio:not([controls]) { + display: none; +} +[hidden] { + display: none; +} + +/* + * Base + */ + +/* + * 1. Correct text resizing oddly in IE6/7 when body font-size is set using em units + * 2. Force vertical scrollbar in non-IE + * 3. Prevent iOS text size adjust on device orientation change, without disabling user zoom: h5bp.com/g + */ + +html { + font-size: 100%; + overflow-y: scroll; + -webkit-text-size-adjust: 100%; + -ms-text-size-adjust: 100%; +} +body { + margin: 0; + font-size: 16px; + line-height: 1.1em; +} +body, button, input, select, textarea { + font-family: sans-serif; + color: #eec; + /*background-color: #2e3436;*/ + background-color: #2e2f2e; +} +select { + border: 1px #555 dotted; + padding: 3px; + margin: 2px; +} +option { + padding: 3px; + vertical-align: middle; +} +/* remember to define focus styles! */ +:focus { + outline: 0; +} + +/* remember to highlight inserts somehow! */ +ins { + background-color: #2e302e; + color: #ff9; + text-decoration: none; +} +mark { + background-color: #2e302e; + color: #ff9; + font-style: italic; + font-weight: bold; +} +/* Redeclare monospace font family: h5bp.com/j */ +pre, code, kbd, samp, .wall-item-body code { + font-family: monospace, monospace; + _font-family: 'courier new', monospace; + font-size: 1em; } + +/* Improve readability of pre-formatted text in all browsers */ +pre, .wall-item-body code { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +q { + quotes: none; +} +q:before, q:after { + content: ""; + content: none; +} +small { + font-size: 85%; +} + +/* Position subscript and superscript content without affecting line-height: h5bp.com/k */ +sub, sup { + font-size: 75%; + line-height: 0; + position: relative; + vertical-align: baseline; +} +sup { + top: -0.5em; +} +sub { + bottom: -0.25em; +} +img { + border: 0 none; + /*vertical-align: middle;*/ +} +a { + color: #88a9d2; + text-decoration: none; + margin-bottom: 1px; + text-decoration: none; +} +/*a:hover { */ +/* text-decoration: none;*/ +/*}*/ +a:hover img { + text-decoration: none; +} +blockquote { + background: #444; + color: #eec; + text-indent: 5px; + padding: 5px; + border: 1px #aaa solid; + border-radius: 5px; +} +a:hover { + color: #729fcf; + padding-bottom: 0; + border-bottom: 1px dotted #729fcf; +} +.required { + display: inline; + color: #ff0; + font-size: 16px; + font-weight: bold; + margin: 3px; +} +.fakelink, .lockview { + color: #729fcf; + cursor: pointer; +} +.fakelink:hover { + color: #729fcf; +} +input[type=submit] { + font-weight: bold; + background-color: #eee; + color: #2e302e; + margin-top: 10px; + height: 22px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + border: 0; +} +.smalltext { + font-size: 0.7em; +} +#panel { + position: absolute; + font-size: 0.8em; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + border: 1px solid #fff; + background-color: #2e302e; + color: #eeeeec; + padding: 1em; +} +.pager { + margin-top: 60px; + display: block; + clear: both; + text-align: center; +} +.pager span { + padding: 4px; + margin: 4px; +} +.pager_current { + background-color: #729fcf; + color: #fff; +} + +/** + * global + */ +/* .tool .action */ +.action { + float: right; +} + +/** + * login + */ +#login-extra-links a { + margin-right: 20px; +} + +/********* +* nav +*********/ +nav { + height: 60px; + display: block; + background-color: #1d1f1d; + color: #eeeeec; + position: relative; + padding: 20px 20px 10px 95px; + margin-left: auto; + margin-right: auto; +} +nav a { + text-decoration: none; + color: #eeeeec; + border: 0px; +} +nav a:hover { + text-decoration: none; + color: #eeeeec; + border: 0px; +} +nav #banner { + display: block; + position: absolute; + left: 51px; + top: 25px; +} +nav #banner #logo-text a { + font-size: 40px; + font-weight: bold; + margin-left: 3px; +} +nav #user-menu { + display: block; + width: auto; + float: right; + margin: 3px 68px 0 0; + position: relative; + background-color: #555753; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + background: #555753 url("menu-user-pin.jpg") 98% center no-repeat; + clear: both; +} +nav #user-menu-label { + float: left; + font-size: 12px; + padding: 3px 20px 9px 5px; + height: 10px; +} +ul#user-menu-popup { + display: none; + position: absolute; + background-color: #555753; + width: 100%; + padding: 10px 0px; + margin: 0px; + top: 20px; + left: 0; + -webkit-border-radius: 0 0 5px 5px; + -moz-border-radius: 0 0 5px 5px; + border-radius: 0 0 5px 5px; + z-index: 10000; +} +ul#user-menu-popup li { + display: block; +} +ul#user-menu-popup li a { + display: block; + padding: 5px; +} +ul#user-menu-popup li a:hover { + color: #2e302e; + background-color: #eeeeec; +} +ul#user-menu-popup li a.nav-sep { + border-top: 1px solid #eeeeec; +} +#nav-buttons { + clear: both; + list-style: none; + padding: 0px; +} +#nav-buttons li { + padding: 0; +} +nav .nav-link { + float: right; + display: block; + width: 22px; + height: 22px; + overflow: hidden; + margin: 0px 5px 5px; + text-indent: 50px; + background: transparent url(icons.png) 0 0 no-repeat; +} +#nav-apps-link { + background-position: 0 -66px; +} +#nav-apps-link:hover { + background-position: -22px -66px; +} +#nav-community-link { + background-position: 0 -22px; +} +#nav-community-link:hover { + background-position: -22px -22px; +} +#nav-contacts-link { + background-position: 0 -22px; +} +#nav-contacts-link:hover { + background-position: -22px -22px; +} +#nav-directory-link { + background-position: -44px -154px; +} +#nav-directory-link:hover { + background-position: -66px -154px; +} +#nav-help-link { + background-position: 0 -110px; +} +#nav-help-link:hover { + background-position: -22px -110px; +} +#nav-home-link { + background-position: -44px -132px; +} +#nav-home-link:hover { + background-position: -66px -132px; +} +#nav-intro-link { + background-position: 0px -190px; +} +#nav-intro-link:hover { + background-position: -44px -190px; +} +#nav-login-link { + background-position: 0 -88px; +} +#nav-login-link:hover { + background-position: -22px -88px; +} +#nav-logout-link { + background-position: 0 -88px; +} +#nav-logout-link:hover { + background-position: -22px -88px; +} +#nav-messages-link { + background-position: -44px -88px; +} +#nav-messages-link:hover { + background-position: -66px -88px; +} +#nav-notify-link, #nav-notifications-linkmenu { + background-position: -44px -110px; +} +#nav-notify-link:hover { + background-position: -66px -110px; +} +#nav-network-link { + background-position: 0px -177px; +} +#nav-network-link:hover { + background-position: -22px -177px; +} +#nav-search-link { + background-position: 0 -44px; +} +#nav-search-link:hover { + background-position: -22px -44px; +} +#profile-link, +#profile-title, +#wall-image-upload, +#wall-file-upload, +#profile-attach-wrapper, +#profile-audio, +#profile-link, +#profile-location, +#profile-nolocation, +#profile-title, +#jot-title, +#profile-upload-wrapper, +#profile-video, +#profile-jot-submit, +#wall-image-upload-div, +#wall-file-upload-div, +.icon, .hover, .focus, .pointer { + cursor: pointer; +} +#notifications { + height: 20px; + width: 100%; + position: absolute; + top: -19px; + left: 0; +} +/* popup notifications */ +div.jGrowl div.notice { + background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center; + color: #ffffff; + padding-left: 58px; +} +div.jGrowl div.info { + background: #364e59 url("../../../images/icons/48/info.png") no-repeat 5px center; + color: #ffffff; + padding-left: 58px; +} +#nav-notifications-menu { + margin: 30px 0 0 -45px; + width: 300px; + max-height: 400px; + overflow: auto; + font-size: 9pt; +} +#nav-notifications-menu .contactname { + font-weight: bold; + font-size: 0.9em; +} +#nav-notifications-menu img { + float: left; + margin-right: 5px; +} +#nav-notifications-menu .notif-when { + font-size: 0.8em; + display: block; +} +#nav-notifications-menu li { + padding: 7px 0px 7px 10px; + word-wrap: normal; + border-bottom: 1px solid #000; +} +#nav-notifications-menu li:hover { + color: black; +} +#nav-notifications-menu a:hover { + color: black; + text-decoration: underline; +} +nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-linkmenu.selected .icon.s22.notify { + background-image: url("../../../images/icons/22/notify_on.png"); +} +.show { + display: block; +} +#nav-floater { + position: fixed; + top: 20px; + right: 1%; + padding: 5px; + background: #1d1f1d; + color: transparent; + border-radius: 5px; + z-index: 100; +} +.floaterflip { + display: block; + position: fixed; + z-index: 110; + top: 53px; + right: 19px; + width: 22px; + height: 22px; + overflow: hidden; + margin: 0px; + background: transparent url(icons.png) -190px -60px no-repeat; +} +.nav-ajax-update, .nav-ajax-left { + width: 30px; + height: 19px; + background: transparent url(notifications.svg) 0 0 no-repeat; + color: #222; + font-weight: bold; + font-size: 0.8em; + padding-top: 0.2em; + text-align: center; + float: left; + margin: 0 -1px 0 3px; + display: block; + visibility: hidden; +} +.nav-ajax-update.show, .nav-ajax-left.show { + visibility: visible; +} +#net-update { + background-position: 0px 0px; +} +#mail-update { + background-position: -30px 0; +} +#notify-update { + background-position: -60px 0px; +} +#home-update { + background-position: -90px 0px; +} +#intro-update { + background-position: -120px 0px; +} +#lang-select-icon { + cursor: pointer; + position: absolute; + left: 0; + top: 0; +} +#language-selector { + position: absolute; + top: 0; + left: 16px; +} +.menu-popup { + position: absolute; + display: none; + width: 11em; + background: #ffffff; + color: #2d2d2d; + margin: 0px; + padding: 0px; + list-style: none; + border: 3px solid #364e59; + z-index: 100000; + -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7); + -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7); + box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7); +} +.menu-popup a { + display: block; + color: #2d2d2d; + padding: 5px 10px; + text-decoration: none; +} +.menu-popup a:hover { + background-color: #bdcdd4; +} +.menu-popup .menu-sep { + border-top: 1px solid #9eabb0; +} +.menu-popup li { + float: none; + overflow: auto; + height: auto; + display: block; +} +.menu-popup li img { + float: left; + width: 16px; + height: 16px; + padding-right: 5px; +} +.menu-popup .empty { + padding: 5px; + text-align: center; + color: #9eabb0; +} +.notif-item { + font-size: small; +} +.notif-item a { + vertical-align: middle; +} +.notif-image { + width: 32px; + height: 32px; + padding: 7px 7px 0px 0px; +} +.notify-seen { + background: #ddd; +} + +/** sysmsg **/ +#sysmsg_info { + position:fixed; + bottom:0; + -moz-box-shadow:0 0 5px #888; + -webkit-box-shadow:0 0 5px #888; + box-shadow:0 0 5px #888; + padding: 10px; + background-color:#fcaf3e; + border:2px solid #f8911b; + border-bottom:0; + padding-bottom: 50px; + z-index: 1000; +} +#sysmsg { + position: fixed; + bottom: 0; + -moz-box-shadow: 0 0 5px #888; + -webkit-box-shadow: 0 0 5px #888; + box-shadow: 0 0 5px #888; + padding: 10px; + background-color: #fcaf3e; + border: 2px solid #f8911b; + border-bottom: 0; + padding-bottom: 50px; + z-index: 1000; +} +#sysmsg_info br, +#sysmsg br { + display: block; + margin: 2px 0px; + border-top: 1px solid #ccccce; +} + + +/** +* aside +**/ +aside { + position: absolute; + right: 15px; + width: 245px; + padding-top: 15px; + font-size: smaller; +} +.vcard .fn { + font-size: 1.7em; + font-weight: bold; + border-bottom: 1px solid #729fcf; + padding-bottom: 3px; +} +.vcard #profile-photo-wrapper { + margin: 20px; +} +/* http://css-tricks.com/snippets/css/css-box-shadow/ + * box-shadow: + * 1. The horizontal offset of the shadow, positive means + * the shadow will be on the right of the box, a negative + * offset will put the shadow on the left of the box. + * 2. The vertical offset of the shadow, a negative one + * means the box-shadow will be above the box, a + * positive one means the shadow will be below the box. + * 3. The blur radius (optional), if set to 0 the shadow + * will be sharp, the higher the number, the more blurred + * it will be. + * 4. The spread radius (optional), positive values increase + * the size of the shadow, negative values decrease the size. + * Default is 0 (the shadow is same size as blur). + * 5. Colo[u]r + */ +.vcard #profile-photo-wrapper img { + box-shadow: 3px 3px 10px 0 #000; +} +aside h4 { + font-size: 1.2em; +} +aside #viewcontacts { + text-align: right; +} +.aprofile dt { + box-shadow: 1px 1px 5px 0; + color: #666666; + margin: 15px 0 5px; + padding-left: 5px; +} +#profile-extra-links ul { + margin-left: 0px; + padding-left: 0px; + list-style: none; +} +#dfrn-request-link { + background:#3465A4 url(connect.png) no-repeat 95% center; + border-radius:5px 5px 5px 5px; + color:#fff; + display:block; + font-size:1.2em; + padding:.2em .5em; +} +#netsearch-box { + margin: 30px 0px; +} + + +/** +* contacts block +*/ +.contact-block-div { + width: 50px; + height: 50px; + float: left; +} +.contact-block-textdiv { + width: 150px; + height: 34px; + float: left; +} +#contact-block-end { + clear: both; +} + + +/** + * jot + **/ +#jot { + /*width: 785px;*/ + margin: 10px 0 20px 0px; + width: 100%; +} +#jot #jot-tools { + margin: 0px; + padding: 0px; + height: 35px; + overflow: none; + width: 100%; + /*background-color: #0e232e;*/ + /*border-bottom: 2px solid #9eabb0;*/ +} +#jot #jot-tools span { + float: left; + margin: 10px 20px 2px 0px; +} +#jot #jot-tools span a { + display: block; +} +#jot #jot-tools .perms { + float: right; + width: 40px; +} +#jot #jot-tools li.loading { + float: right; + background-color: #ffffff; + width: 20px; + vertical-align: center; + text-align: center; + border-top: 2px solid #9eabb0; + height: 38px; +} +#jot #jot-tools li.loading img { + margin-top: 10px; +} +#jot #jot-title { + border: 1px solid #ccc; + margin: 0 0 5px; + height: 20px; + width: 90%; + font-weight: bold; + border-radius: 5px; + vertical-align: middle; +} +#jot #character-counter { + width: 6%; + float: right; + text-align: right; + height: 15px; + line-height: 20px; + padding: 2px 20px 5px 0; +} +#profile-jot-text_tbl { + margin-bottom: 10px; +} +#profile-jot-text_ifr { + width:99.900002% !important; +} +#profile-attach-wrapper, +#profile-audio-wrapper, +#profile-link-wrapper, +#profile-location-wrapper, +#profile-nolocation-wrapper, +#profile-title-wrapper, +#profile-upload-wrapper, +#profile-video-wrapper { + float: left; + margin: 0 20px 0 0; +} +#profile-rotator-wrapper { + float: right; +} +#profile-jot-tools-end, +#profile-jot-banner-end { + clear: both; +} +#profile-jot-email-wrapper { + margin:10px 10% 0; + border:1px solid #555753; + border-bottom:0; +} +#profile-jot-email-label { + background-color:#555753; + color:#ccccce; + padding:5px; +} +#profile-jot-email { + width:90%; + margin:5px; +} +#profile-jot-networks { + margin: 0 10%; + border: 1px solid #555753; + border-top: 0; + border-bottom: 0; + padding: 5px; +} +#jot-preview-link { + margin: 0 0 0 10px; + border: 0; + text-decoration: none; + float: right; +} +.icon-text-preview { + margin: 0 0 -18px 0; + display: block; + width: 20px; + height: 20px; + background: url(icons.png) no-repeat -128px -40px; + border: 0; + text-decoration: none; + float: right; +} +#profile-jot-perms { + float: right; + background-color: #555753; + height: 22px; + width: 20px; + -webkit-border-radius: 5px 0px 0px 5px; + -moz-border-radius: 5px 0px 0px 5px; + border-radius: 5px 0px 0px 5px; + overflow: hidden; + border: 0px; + margin: 0 -4px 0 10px; +} +#profile-jot-plugin-wrapper { + width: 1px; + margin: 10px 0 0 0; + float: right; +} +#profile-jot-submit-wrapper { + float: right; + width: 100%; + list-style: none; + margin: 10px 0 0 0; + padding: 0; +} +#profile-jot-submit { + height: 22px; + background-color: #555753; + color: #eeeeec; + -webkit-border-radius: 0 5px 5px 0; + -moz-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; + border: 0; + margin: 0; + float: right; +} +#jot-perms-icons { + background-color: #555753; + height: 22px; + width: 20px; + -webkit-border-radius: 0 5px 5px 0; + -moz-border-radius: 0 5px 5px 0; + border-radius: 0 5px 5px 0; + overflow: hidden; + border: 0; + margin: 0 0 0 94.4%; +} +#profile-jot-acl-wrapper { + margin: 0 10px; + border: 1px solid #555753; + border-top: 0; + display: block !important; +} +#group_allow_wrapper, +#group_deny_wrapper, +#acl-permit-outer-wrapper { + width:47%; + float:left; +} +#contact_allow_wrapper, +#contact_deny_wrapper, +#acl-deny-outer-wrapper { + width:47%; + float:right; +} +#acl-permit-text { + background-color: #555753; + color: #ccccce; + padding: 5px; + float: left; +} +#jot-public { + background-color: #555753; + color: #ff0000; + padding: 5px; + float: left; +} +#acl-deny-text { + background-color: #555753; + color: #ccccce; + padding: 5px; + float: left; +} +#acl-permit-text-end, +#acl-deny-text-end { + clear: both; +} +#jot-title-desc { + color: #cccccc; +} +#profile-jot-desc { + color: #a00; +} +#jot-title-wrapper { + margin-bottom: 5px; +} +#jot-title-display { + font-weight: bold; +} +.jothidden { + display: none; +} +#jot-preview-content { + background-color: #ffffe0; + border: 1px #aaaa00 solid; + border-radius: 3px; + padding: 3px 3px 6px 10px; +} + + +/** + * section + */ +section { + margin: 20px 6% 0 4%; + font-size: 0.8em; + padding-right: 230px; + min-width: 475px; +} + +/** tabs **/ +.tabs { + list-style: none; + margin: 10px 0 10px; + padding: 0; + border-bottom: 1px solid #729fcf; + font-size: 14px; +} +.tabs li { + display: inline; +} +.tab { + padding: 0 5px; +} +.tab:hover { + background-color: #88a9d2; + color: #111; + border: 0px; +} +.tab:active { + background-color: #88a9d2; + color: #111; + border: 0px; +} +.tab.active { + background-color: #88a9d2; + color: #111; +} + +/** + * items + */ +.wall-item-outside-wrapper { + border: 1px solid #aaa; + border-radius: 5px; +} +.wall-item-outside-wrapper.comment { + margin-top: 5px; +} +.wall-item-outside-wrapper-end { + clear: both; +} +.wall-item-content-wrapper { + position: relative; + padding: 10px; + width: auto; +} +.wall-item-outside-wrapper .wall-item-comment-wrapper { + /*margin-left: 90px;*/ +} +.shiny { + background: #2e3436; +} +.wall-item-content { + overflow-x: auto; +} +/* removing it from here, vs. putting it in .wall-item-content + * might break things for people. we shall see ;) */ +[id^="tread-wrapper"], [class^="tread-wrapper"] { + margin: 15px 0 0 0; + padding: 0px; + /*overflow-x: auto;*/ +} +.wall-item-photo-menu { + display: none; +} +.wall-item-photo-menu-button { + display:none; + text-indent:-99999px; + background:#555753 url(menu-user-pin.jpg) no-repeat 75px center; + position:absolute; + overflow:hidden; + height:20px; + width:90px; + top:85px; + left:0; + -webkit-border-radius:0 0 5px 5px; + -moz-border-radius:0 0 5px 5px; + border-radius:0 0 5px 5px; +} +.wall-item-info { + float: left; + width: 110px; +} +.wall-item-photo-wrapper { + width: 80px; + height: 80px; + position: relative; + padding: 5px; + background-color: #555753; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; +} +[class^="wall-item-tools"] > *, [class^="wall-item-tools"] > * > * { + margin: 0 0 5px 0; +} +.wall-item-tools { + float: right; + filter: alpha(opacity=35); + opacity: 0.4; + -webkit-transition: all 1s ease-in-out; + -moz-transition: all 1s ease-in-out; + -o-transition: all 1s ease-in-out; + -ms-transition: all 1s ease-in-out; + transition: all 1s ease-in-out; +} +.wall-item-tools:hover { + filter: alpha(opacity=100); + opacity: 1; + -webkit-transition: all 1s ease-in-out; + -moz-transition: all 1s ease-in-out; + -o-transition: all 1s ease-in-out; + -ms-transition: all 1s ease-in-out; + transition: all 1s ease-in-out; +} +.wall-item-title { + font-size: 1.2em; + font-weight: bold; + margin-bottom: 1em; +} +.wall-item-body { + margin: 10px 10px 10px 0px; + text-align: left; +} +.wall-item-lock-wrapper { + float: right; +} +.wall-item-dislike, +.wall-item-like { + clear: left; + font-size: 0.8em; + color: #878883; + margin: 5px 0 5px 120px; +} +.wall-item-author, .wall-item-actions-author { + clear: left; + font-size: 0.8em; + color: #878883; + margin: 20px 0 0 110px; +} +.wall-item-ago { + display: inline; + padding-left: 10px; +} +.wall-item-wrapper-end { + clear:both; +} +.wall-item-location { + margin-top: 15px; + width: 100px; + overflow: hidden; + text-overflow: ellipsis; + -o-text-overflow: ellipsis; +} +.wall-item-location .icon { + float: left; +} +.wall-item-location > a { + margin-left: 25px; + font-size: 0.7em; + display: block; +} +.wall-item-location .smalltext { + margin-left: 25px; + font-size: 0.7em; + display: block; +} +.wall-item-location > br { + display: none; +} +.wallwall .wwto { + left: 5px; + margin: 0; + position: absolute; + top: 75px; + width: 30px; + z-index: 10001; + width: 30px; + height: 30px; +} +.wallwall .wwto img { + width: 30px !important; + height: 30px !important; +} +.wallwall .wall-item-photo-end { + clear: both; +} +.wall-item-arrowphoto-wrapper { + position: absolute; + left: 35px; + top: 80px; + z-index: 10002; +} +.wall-item-photo-menu { + min-width: 92px; + border: 2px solid #FFFFFF; + border-top: 0px; + background: #555753; + position: absolute; + left: -2px; top: 101px; + display: none; + z-index: 10003; + -webkit-border-radius: 0px 5px 5px 5px; + -moz-border-radius: 0px 5px 5px 5px; + border-radius: 0px 5px 5px 5px; +} +.wall-item-photo-menu ul { + margin:0px; + padding: 0px; + list-style: none; +} +.wall-item-photo-menu li a { + white-space: nowrap; + display: block; + padding: 5px 2px; + color: #eeeeec; +} +.wall-item-photo-menu li a:hover { + color: #555753; + background: #eeeeec; +} +#item-delete-selected { + overflow: auto; + width: 100%; +} + + +/** + * comment + */ +.ccollapse-wrapper { + font-size: 0.9em; + margin-left: 80px; +} + +.wall-item-outside-wrapper.comment { + margin-left: 80px; +} +.wall-item-outside-wrapper.comment .wall-item-photo { + width: 40px!important; + height: 40px!important; +} +.wall-item-outside-wrapper.comment .wall-item-photo-wrapper { + width: 40px; + height: 40px; +} +.wall-item-outside-wrapper.comment .wall-item-photo-menu-button { + width: 50px; + top: 45px; + background-position: 35px center; +} +.wall-item-outside-wrapper.comment .wall-item-info { + width: 60px; +} +.wall-item-outside-wrapper.comment .wall-item-body { + margin-left: 10px; +} +.wall-item-outside-wrapper.comment .wall-item-author { + margin-left: 50px; +} + +.wall-item-outside-wrapper.comment .wall-item-photo-menu { + min-width: 50px; + top: 60px; +} +.comment-wwedit-wrapper { + /*margin: 30px 0px 0px 80px;*/ +} +.comment-edit-wrapper { + border-top: 1px #aaa solid; +} +.comment-wwedit-wrapper img, +.comment-edit-wrapper img { + width: 20px; + height: 20px; +} +.comment-edit-photo-link, .comment-edit-photo { + float: left; + margin-left: 10px; +} +.my-comment-photo { + width: 40px; + height: 40px; + padding: 5px; +} +[class^="comment-edit-text"] { + margin: 5px 0 10px 20px; + width: 86.5%; +} +.comment-edit-text-empty { + height: 20px; + border: 2px #c8bebe solid; + border-radius: 5px; + color: #c8bebe; + -webkit-transition: all 0.5s ease-in-out; + -moz-transition: all 0.5s ease-in-out; + -o-transition: all 0.5s ease-in-out; + -ms-transition: all 0.5s ease-in-out; + transition: all 0.5s ease-in-out; +} +.comment-edit-text-empty:hover { + color: #999999; +} +.comment-edit-text-full { + height: 10em; + border-radius: 5px; + -webkit-transition: all 0.5s ease-in-out; + -moz-transition: all 0.5s ease-in-out; + -o-transition: all 0.5s ease-in-out; + -ms-transition: all 0.5s ease-in-out; + transition: all 0.5s ease-in-out; +} +.comment-edit-submit-wrapper { + width: 90%; + margin: 5px 5px 10px 50px; + text-align: right; +} +.comment-edit-submit { + height: 22px; + background-color: #555753; + color: #eeeeec; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + border: 0; +} + + +/** + * item text style + **/ +.wall-item-body code { + display: block; + padding: 0 0 10px 5px; + border-color: #ccc; + border-style: solid; + border-width: 1px 1px 1px 10px; + background: #eee; + width: 95%; +} + + +/** + * profile + **/ +div[id$="text"] { + font-weight: bold; + border-bottom: 1px solid #ccc; +} +div[id$="wrapper"] { + height: 100%; + margin-bottom: 1em; +} +div[id$="wrapper"] br { + clear: left; +} +#advanced-profile-with { + margin-left: 200px; +} + + +/** + * photos + **/ +.photos { + height: auto; + overflow: auto; +} +#photo-top-links { + margin-bottom: 30px; +} +.photo-album-image-wrapper, +.photo-top-image-wrapper { + float: left; + -moz-box-shadow: 0 0 5px #888; + -webkit-box-shadow: 0 0 5px #888; + box-shadow: 0 0 5px #888; + background-color: #eee; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + padding-bottom: 30px; + position: relative; + margin: 0 10px 10px 0; +} + +#photo-photo { + max-width: 100%; +} +#photo-photo img { + max-width: 100%; +} +.photo-top-image-wrapper a:hover, +#photo-photo a:hover, +.photo-album-image-wrapper a:hover { + border-bottom: 0; +} +.photo-top-photo,.photo-album-photo { + -webkit-border-radius:5px 5px 0 0; + -moz-border-radius:5px 5px 0 0; + border-radius:5px 5px 0 0; +} +.photo-top-album-name { + position: absolute; + bottom: 0; + padding: 0 5px; +} +.caption { + position: absolute; + bottom: 0; + margin: 0 5px; +} +#photo-photo { + position: relative; + float:left; +} +#photo-photo-end { + clear: both; +} +#photo-prev-link, +#photo-next-link { + position:absolute; + width:30%; + height:100%; + background-color:rgba(255,255,255,0.5); + opacity:0; + -webkit-transition:all .2s ease-in-out; + -moz-transition:all .2s ease-in-out; + -o-transition:all .2s ease-in-out; + -ms-transition:all .2s ease-in-out; + transition:all .2s ease-in-out; + background-position:center center; + background-repeat:no-repeat; +} +#photo-prev-link { + left:0; + top:0; + background-image:url(prev.png); +} +#photo-next-link { + right:0; + top:0; + background-image:url(next.png); +} + +#photo-prev-link a,#photo-next-link a { + display:block; + width:100%; + height:100%; + overflow:hidden; + text-indent:-900000px; +} +#photo-prev-link:hover, +#photo-next-link:hover { + opacity:1; + -webkit-transition:all .2s ease-in-out; + -moz-transition:all .2s ease-in-out; + -o-transition:all .2s ease-in-out; + -ms-transition:all .2s ease-in-out; + transition:all .2s ease-in-out; +} +#photo-next-link .icon, +#photo-prev-link .icon { + display: none; +} +#photos-upload-spacer, +#photos-upload-new-wrapper, +#photos-upload-exist-wrapper { + margin-bottom: 1em; +} +#photos-upload-existing-album-text, +#photos-upload-newalbum-div { + background-color:#555753; + color:#eeeeec; + padding:1px; +} +#photos-upload-album-select, +#photos-upload-newalbum { + width: 99%; +} +#photos-upload-perms-menu { + text-align: right; +} +#photo-edit-caption, #photo-edit-newtag, #photo-edit-albumname { + float: left; + margin-bottom: 25px; +} +#photo-edit-link-wrap { + margin-bottom: 15px; +} +#photo-edit-caption { + width: 100%; +} +#photo-edit-newtag { + width: 100%; +} +#photo-like-div { + margin-bottom: 25px; +} +#photo-edit-caption-end, #photo-edit-tags-end, #photo-edit-albumname-end { + clear: both; +} +#photo-edit-delete-button { + margin-left: 200px; +} +#photo-edit-end { + margin-bottom: 35px; +} +#photo-caption { + font-size: 110%; + font-weight: bold; + margin-top: 15px; + margin-bottom: 15px; +} + +/** + * message + */ +.prvmail-text { + width: 100%; +} +#prvmail-subject { + width: 100%; +} +#prvmail-submit-wrapper { + margin-top: 10px; +} +#prvmail-submit { + float:right; + margin-top: 0; +} +#prvmail-submit-wrapper > div { + margin-right:5px; + float:left; +} +.mail-list-outside-wrapper { + margin-top: 20px; +} +.mail-list-sender { + float: left; +} +.mail-list-detail { + margin-left: 90px; +} +.mail-list-sender-name { + display: inline; +} +.mail-list-date { + display: inline; + font-size: 0.8em; + padding-left: 10px; +} +.mail-list-subject { + font-size: 1.5em; +} +.mail-list-delete-wrapper { + float: right; +} +.mail-list-outside-wrapper-end { + clear: both; +} +.mail-conv-sender { + float: left; + margin: 0px 5px 5px 0px; +} +.mail-conv-sender-photo { + width: 32px; + height: 32px; +} +.mail-conv-sender-name { + float: left; +} +.mail-conv-date { + float: right; +} +.mail-conv-subject { + clear: right; + font-weight: bold; + font-size: 1.2em; +} +.mail-conv-body { + clear: both; +} +.mail-conv-delete-wrapper { + margin-top: 5px; +} + + +/** + * contacts + */ +.view-contact-wrapper, +.contact-entry-wrapper { + float: left; + margin-right: 5px; + margin-bottom: 40px; + width: 120px; + height: 120px; + padding: 3px; + position: relative; +} +.contact-direction-wrapper { + position: absolute; + top: 20px; +} +.contact-edit-links { + position: absolute; + top: 60px; +} +.contact-entry-photo-wrapper { + +} +.contact-entry-photo { + margin-left: 20px; +} +.contact-entry-name { + width: 120px; + font-weight: bold; + /*overflow: hidden;*/ +} +.contact-entry-photo { + position: relative; +} +.contact-entry-edit-links .icon { + border: 1px solid #babdb6; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; + background-color: #fff; +} +#contact-entry-url, [id^="contact-entry-url"] { + font-size: smaller; + /*overflow: scroll;*/ +} +#contact-entry-network, [id^="contact-entry-network"] { + font-size: smaller; + font-style: italic; +} +#contact-edit-banner-name { + font-size: 1.5em; +} +#contact-edit-photo-wrapper { + position: relative; + float: left; + padding: 20px; +} +#contact-edit-direction-icon { + position:absolute; + top:60px; + left:0; +} +#contact-edit-nav-wrapper { + margin-left: 0px; +} +#contact-edit-links { + margin-top: 23px; +} +#contact-edit-links ul { + list-style-type: none; +} +#contact-drop-links { + margin-left:5px; +} +#contact-edit-nav-wrapper .icon { + border: 1px solid #babdb6; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +#contact-edit-poll-wrapper { + margin-left: 0px; +} +#contact-edit-last-update-text { + margin-bottom: 15px; +} +#contact-edit-last-updated { + font-weight: bold; +} +#contact-edit-poll-text { + display: inline; +} +#contact-edit-info_tbl, #contact-edit-info_parent { + width: 100%; +} +.mceLayout { + width: 100%; +} +#contact-edit-end { + clear: both; + margin-bottom: 65px; +} + +.contact-photo-menu-button { + position: absolute; + background-image: url("photo-menu.jpg"); + background-position: top left; + background-repeat: no-repeat; + margin: 0px; padding: 0px; + width: 16px; + height: 16px; + top: 64px; left:0px; + overflow: hidden; + text-indent: 40px; + display: none; +} +.contact-photo-menu { + width: auto; + border: 2px solid #444444; + background: #FFFFFF; + position: absolute; + left: 0px; top: 90px; + display: none; + z-index: 10000; +} +.contact-photo-menu ul { + margin:0px; + padding: 0px; + list-style: none; +} +.contact-photo-menu li a { + display: block; + padding: 2px; +} +.contact-photo-menu li a:hover { + color: #fff; + background: #3465A4; + text-decoration: none; +} + + + +/** + * register, settings & profile forms + */ +#id_openid_url, +.openid { + background:url(login-bg.gif) no-repeat; + background-position:0 50%; + padding-left:18px; +} + +#settings-nickname-desc { + background-color: #eec; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + padding: 5px; + color: #111; +} +#settings-default-perms { + margin-bottom: 20px; +} +#register-form div, +#profile-edit-form div { + clear: both; +} + +#register-form label, +#profile-edit-form label { + width: 300px; + float: left; +} + +#register-form span, +#profile-edit-form span { + color:#555753; + display:block; + margin-bottom:20px; +} +.settings-submit-wrapper, +.profile-edit-submit-wrapper { + margin: 30px 0px; +} +.profile-edit-side-div { + margin: 5px 2px 0 0; +} +.profile-edit-side-link { + margin: 0 20px -18px 0; + float: right; +} +.profile-listing { + float: left; + margin: 20px 20px 0px 0px; +} +#profile-edit-links ul { + margin: 20px 0; + padding: 0; + list-style: none; +} +#register-sitename { + display: inline; + font-weight: bold; +} +#advanced-expire-popup { + background: #2e2f2e; + color: #eec; +} + +/** + * contacts selector + */ +.group-delete-wrapper { + margin: -31px 122px 0 0; + float: right; +} + +#group-edit-submit-wrapper { + margin: 0 0 10px 0; + display: inline; +} +#group-edit-desc { + margin: 10px 0px; +} +#group-members, +#prof-members { + height:200px; + overflow:auto; + border:1px solid #555753; + -webkit-border-radius:5px 5px 0 0; + -moz-border-radius:5px 5px 0 0; + border-radius:5px 5px 0 0; +} +#group-all-contacts, +#prof-all-contacts { + height:200px; + overflow:auto; + border:1px solid #555753; + -webkit-border-radius:0 0 5px 5px; + -moz-border-radius:0 0 5px 5px; + border-radius:0 0 5px 5px; +} +#group-members h3, +#group-all-contacts h3, +#prof-members h3, +#prof-all-contacts h3 { + color:#eeeeec; + background-color:#555753; + margin:0; + padding:5px; +} +#group-separator, +#prof-separator { + display: none; +} + +/** + * profile + */ +#cropimage-wrapper { + float:left; +} +#crop-image-form { + clear:both; +} + +/** + * events + **/ +.clear { clear: both; } +.eventcal { + float:left; + font-size:20px; +} +.vevent { + border:1px solid #ccc; +} +.vevent .event-description, .vevent .event-location { + margin-left: 10px; + margin-right: 10px; +} +.vevent .event-start { + margin-left: 10px; + margin-right: 10px; +} + +#new-event-link { + margin-bottom: 10px; +} +.edit-event-link, .plink-event-link { + float: left; + margin-top: 4px; + margin-right: 4px; + margin-bottom: 15px; +} +.event-description:before { + content: url('../../../images/calendar.png'); + margin-right: 15px; +} +.event-start, .event-end { + margin-left: 10px; + width: 330px; +} +.event-start .dtstart, .event-end .dtend { + float: right; +} +.event-list-date { + margin-bottom: 10px; +} +.prevcal, .nextcal { + float: left; + margin-left: 32px; + margin-right: 32px; + margin-top: 64px; +} +.event-calendar-end { + clear: both; +} +.calendar { + font-family: monospace; +} +.today { + font-weight: bold; + color: #FF0000; +} +#event-start-text, +#event-finish-text { + margin-top: 10px; + margin-bottom: 5px; +} +#event-nofinish-checkbox, +#event-nofinish-text, +#event-adjust-checkbox, +#event-adjust-text, +#event-share-checkbox { + float:left; +} +#event-datetime-break { + margin-bottom: 10px; +} +#event-nofinish-break, +#event-adjust-break, +#event-share-break { + clear: both; +} +#event-desc-text, +#event-location-text { + margin-top: 10px; + margin-bottom: 5px; +} +#event-submit { + margin-top: 10px; +} +.body-tag { + margin: 10px 0; + opacity: 0.5; + filter:alpha(opacity=50); +} +.body-tag:hover { + opacity: 1.0 !important; + filter:alpha(opacity=100) !important; +} +.item-select { + opacity: 0.1; + filter:alpha(opacity=10); + float: right; + margin-right: 10px; + +} +.item-select:hover, .checkeditem { + opacity: 1; + filter:alpha(opacity=100); +} +#item-delete-selected { + margin-top: 30px; +} +/* was tired of having no way of moving it around, so + * here's a little 'hook' to do so */ +.delete-checked { + position: absolute; + left: 35px; + margin-top: 20px; +} +#item-delete-selected-end { + clear: both; +} +#item-delete-selected-icon, #item-delete-selected-desc { + float: left; + margin-right: 5px; +} +#item-delete-selected-desc:hover { + text-decoration: underline; +} + + +/** + * directory + */ +.directory-item { + float: left; + margin: 50px 50px 0px 0px; +} + + +/** + * sidebar + */ +#group-sidebar { + margin-bottom: 10px; +} +.group-selected, .nets-selected { + padding: 3px; + border: 1px solid #f8f8f8; + background: #2e302e; + font-weight: bold; +} +.groupsideedit { + margin-right: 10px; +} +#sidebar-group-ul { + padding-left: 0; +} +#sidebar-group-list { + margin: 0 0 5px 0; +} +#sidebar-group-list ul { + list-style-type: none; + list-style-position: inside; +} +#sidebar-group-list li { + margin-top: 10px; +} +#sidebar-group-list .icon { + display: inline-block; + height: 12px; + width: 12px; +} +#sidebar-new-group { + margin: auto; + display: inline-block; + color: #efefef; + text-decoration: none; + text-align: center; +} +#peoplefind-sidebar form { + margin-bottom: 10px; +} +#sidebar-new-group:hover { + /*background: -webkit-gradient( linear, left top, left bottom, color-stop(0.05, #b20202), color-stop(1, #d60808) );*/ + /*background: -moz-linear-gradient( center top, #b20202 5%, #d60808 100% );*/ + /*background-color: #b20202;*/ +} + +#sidebar-new-group:active { + position: relative; + top: 1px; +} +#side-peoplefind-url { + background-color: #2e2f2e; + color: #eec; + border: 1px 999 solid; + margin-right: 3px; + width: 75%; +} +#side-peoplefind-url:hover, #side-peoplefind-url:focus { + background-color: #efefef; + color: #222; + border: 1px 333 solid; +} +.nets-ul { + list-style-type: none; + padding-left: 0px; +} +.nets-ul li { + margin: 10px 0 0; +} + +.nets-link { + margin-left: 0px; +} +.nets-all { + margin-left: 0px; +} +#netsearch-box { + margin-top: 20px; + width: 150px; +} +#netsearch-box #search-submit { + margin: 5px 0px 0px 0px; +} + +/** + * ADMIN + */ +#pending-update { + float:right; + color: #fff; + font-weight: bold; + background-color: #ff0000; + padding: 0 .3em; +} +.admin.linklist { + border: 0; padding: 0; +} +.admin.link { + list-style-position: inside; +} +#adminpage dl { + clear:left; + margin-bottom: 2px; + padding-bottom: 2px; + border-bottom: 1px solid #000; +} +#adminpage dt { + width: 200px; + float: left; + font-weight: bold; +} +#adminpage dd { + margin-left: 200px; +} +#adminpage h3 { + border-bottom:1px solid #ccc; +} + +#adminpage .submit { + clear:left; +} + +#adminpage #pluginslist { + margin: 0; + padding: 0; +} +#adminpage .plugin { + list-style: none; + display: block; + border: 1px solid #888; + padding: 1em; + margin-bottom: 5px; + clear: left; +} +#adminpage .toggleplugin { + float:left; + margin-right: 1em; +} + +#adminpage table { + width: 100%; + border-bottom: 1px solid #000; + margin: 5px 0; +} +#adminpage table th { + text-align: left; +} +#adminpage td .icon { + float: left; +} +#adminpage table#users img { + width: 16px; height: 16px; +} +#adminpage table tr:hover { + background-color:#bbc7d7; +} +#adminpage .selectall { + text-align: right; +} + +/** + * Form fields + */ +.field { + /*margin-bottom: 10px;*/ + /*padding-bottom: 10px;*/ + overflow: auto; + width: 100%; +} +.field label, label { + float: left; + width: 275px; + display: block; + font-size: 1.077em; + /*font-weight: bold;*/ + margin: 0 10px 0.5em 0; + border: 1px #2e2f2e solid; + padding: 5px; + background: #eec; + vertical-align: middle; + color: #111; +} +.field input, input[type="text"] { + width: 250px; + height: 25px; + border: 1px #999 solid; +} +.field textarea { + width: 80%; + height: 100px; +} +.field_help { + display: block; + margin-left: 297px; + color: #aaa; +} +.field .onoff { + float: left; + width: 80px; +} +.field .onoff a { + display: block; + border: 1px solid #666; + padding: 3px 6px 4px 10px; + height: 16px; + text-decoration: none; +} +.field .onoff .on { + background: url("../../../images/onoff.jpg") no-repeat 42px 1px #999; + color: #111; + text-align: left; +} +.field .onoff .off { + background: url("../../../images/onoff.jpg") no-repeat 2px 1px #ccc; + color: #333; + text-align: right; +} +.hidden { + display:none !important; +} +.field.radio .field_help { + margin-left: 297px; +} + + +/* + * UPDATE + */ +.popup { + width: 100%; + height: 100%; + top: 0px; + left: 0px; + position: absolute; + display: none; +} +.popup .background { + background-color: rgba(0,0,0,128); + opacity: 0.5; + width: 100%; + height: 100%; + position: absolute; + top:0px; + left:0px; +} +.popup .panel { + top: 25%; + left: 25%; + width: 50%; + height: 50%; + padding: 1em; + position: absolute; + border: 4px solid #000000; + background-color: #FFFFFF; +} +#panel { + z-index: 100; +} +.grey { + color: grey; +} +.orange { + color: orange; +} +.red { + color: red; +} +.popup .panel .panel_text { + display: block; + overflow: auto; + height: 80%; +} +.popup .panel .panel_in { + width: 100%; + height: 100%; + position: relative; +} +.popup .panel .panel_actions { + width: 100%; + bottom: 4px; + left: 0px; + position: absolute; +} +.panel_text .progress { + width: 50%; + overflow: hidden; + height: auto; + border: 1px solid #cccccc; + margin-bottom: 5px; +} +.panel_text .progress span { + float: right; + display: block; + width: 25%; + background-color: #eeeeee; + text-align: right; +} + +/** + * OAuth + */ +.oauthapp { + height: auto; + overflow: auto; + border-bottom: 2px solid #cccccc; + padding-bottom: 1em; + margin-bottom: 1em; +} +.oauthapp img { + float: left; + width: 48px; height: 48px; + margin: 10px; +} +.oauthapp img.noicon { + background-image: url("../../../images/icons/48/plugin.png"); + background-position: center center; + background-repeat: no-repeat; +} +.oauthapp a { + float: left; +} + + +/** + * ICONS + */ +.iconspacer { + display: block; + width: 16px; + height: 16px; +} +.icon { + display: block; + width: 20px; + height: 20px; + background: url(icons.png) no-repeat; + border: 0; + text-decoration: none; + border-radius: 5px; +} +.icon:hover { + border: 0; + text-decoration: none; +} +.icon.drop, +.icon.drophide, .icon.delete { + float: left; +} +.icon.s22.delete { + display: block; + background-position: -110px 0; +} +.icon.s22.text { + padding: 10px 0px 0px 25px; + width: 200px; +} +.icon.text { + text-indent: 0px; +} +.icon.s16 { + min-width: 16px; + height: 16px; +} +.s16 .add { + background: url("../../../images/icons/16/add.png") no-repeat; +} +.add { + margin: 0px 5px; +} +.article { + background-position: -50px 0; +} +.audio { + background-position: -70px 0; +} +.block { + background-position: -90px 0px; +} +.drop, .delete { + background-position: -110px 0; +} +.drophide { + background-position: -130px 0; +} +.edit { + background-position: -150px 0; +} +.camera { + background-position: -170px 0; +} +.dislike { + background-position: -190px 0; +} +.like { + background-position: -211px 0; +} +.link { + background-position: -230px 0; +} +.globe, .location { + background-position: -50px -20px; +} +.noglobe, .nolocation { + background-position: -70px -20px; +} +.no { + background-position: -90px -20px; +} +.pause { + background-position: -110px -20px; +} +.play { + background-position: -130px -20px; +} +.pencil { + background-position: -151px -18px; +} +.small-pencil { + background-position: -170px -20px; +} +.recycle { + background-position: -190px -20px; +} +.remote-link { + background-position: -210px -20px; +} +.share { + background-position: -230px -20px; +} +.tools { + background-position: -50px -40px; +} +.lock { + background-position: -70px -40px; +} +.unlock { + background-position: -90px -40px; +} +.video { + background-position: -110px -40px; +} +.attach { + background-position: -190px -40px; +} +.language { + background-position: -210px -40px; +} +.starred { + background-position: -130px -60px; +} +.unstarred { + background-position: -150px -60px; +} +.tagged { + background-position: -170px -60px; +} +.on { + background-position: -50px -60px; +} +.off { + background-position: -70px -60px; +} +.prev { + background-position: -90px -60px; +} +.next { + background-position: -110px -60px; +} +.icon.dim { + opacity: 0.3; + filter: alpha(opacity=30); +} +#pause { + position: fixed; + bottom: 5px; + right: 5px; +} +.border, .border:hover { + border: 1px solid #babdb6; + -webkit-border-radius: 3px; + -moz-border-radius: 3px; + border-radius: 3px; +} +.attachtype { + display: block; + width: 20px; + height: 23px; + background-image: url(../../../images/content-types.png); +} +.type-video { + background-position: 0px 0px; +} +.type-image { + background-position: -20px 0; +} +.type-audio { + background-position: -40px 0; +} +.type-text { + background-position: -60px 0px; +} +.type-unkn { + background-position: -80px 0; +} + + +/** + * footer + */ +.cc-license { + margin-top: 100px; + font-size: 0.7em; +} +footer { + display: block; + margin: 50px 20%; + clear: both; +} +#profile-jot-text { + height: 20px; + color: #666; + border: 1px solid #ccc; + border-radius: 5px; + width: 99.5%; +} + + +/** acl **/ +#photo-edit-perms-select, +#photos-upload-permissions-wrapper, +#profile-jot-acl-wrapper { + display: block !important; +} +#acl-wrapper { + width: 690px; + float: left; +} +#acl-search { + float: right; + background: #fff url("../../../images/search_18.png") no-repeat right center; + padding-right: 20px; +} +#acl-showall { + float:left; + display:block; + width:auto; + height:18px; + background-color:#CCC; + background-image:url("../../../images/show_all_off.png"); + background-position:7px 7px; + background-repeat:no-repeat; + padding:7px 10px 7px 30px; + -webkit-border-radius:5px; + -moz-border-radius:5px; + border-radius:5px; + color:#999; +} +#acl-showall.selected { + color:#000; + background-color:#F90; + background-image:url(../../../images/show_all_on.png); +} +#acl-list { + height:210px; + border:1px solid #ccc; + clear:both; + margin-top:30px; + overflow:auto; +} +#acl-list-content { +} +.acl-list-item { + display:block; + width:150px; + height:30px; + border:1px solid #ccc; + margin:5px; + float:left; +} +.acl-list-item img { + width:22px; + height:22px; + float:left; + margin:4px; +} +.acl-list-item p { + height: 12px; + font-size: 10px; + margin: 0; + padding: 2px 0 1px; +} +.acl-list-item a { + font-size:8px; + display:block; + width:40px; + height:10px; + float:left; + color:#999; + background-color:#CCC; + background-position:3px 3px; + background-repeat:no-repeat; + margin-right:5px; + -webkit-border-radius:2px; + -moz-border-radius:2px; + border-radius:2px; + padding-left:15px; +} +#acl-wrapper a:hover { + text-decoration:none; + color:#000; +} +.acl-button-show { + background-image:url('../../../images/show_off.png'); +} +.acl-button-hide { + background-image:url('../../../images/hide_off.png'); +} +.acl-button-show.selected { + color:#000; + background-color:#9ade00; + background-image:url(../../../images/show_on.png); +} +.acl-button-hide.selected { + color:#000; + background-color:#ff4141; + background-image:url(../../../images/hide_on.png); +} +.acl-list-item.groupshow { + border-color:#9ade00; +} +.acl-list-item.grouphide { + border-color:#ff4141; +} +/** /acl **/ + + +/* autocomplete popup */ +.acpopup { + max-height: 150px; + background-color: #555753; + color: #fff; + overflow: auto; + z-index: 100000; + border: 1px solid #cccccc; +} +.acpopupitem { + background-color: #555753; + padding: 4px; + clear: left; +} +.acpopupitem img { + float: left; + margin-right: 4px; +} +.acpopupitem.selected { + color: #2e302e; + background-color: #eeeeec; +} +.qcomment-wrapper { + padding: 0px; + margin: 2px; + list-style-type: none; +} +.qcomment, .qcomment:hover { + display: inline; + padding: 5px; + margin: 5px; +} +.qcomment { + opacity: 0.5; + filter:alpha(opacity=50); +} +.qcomment:hover { + opacity: 1.0; + filter:alpha(opacity=100); +} +#network-star-link { + margin-top: 10px; +} +.network-star { + float: left; + margin-right: 5px; +} +.network-star.icon.starred { + display: inline-block; +} + diff --git a/view/theme/dispy-dark/tag.png b/view/theme/dispy-dark/tag.png new file mode 100644 index 0000000000000000000000000000000000000000..9b5a7223eb3e5755bb6dd642cd8bd97db3c16acb GIT binary patch literal 571 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc3?z4jzqJQajKx9jP7LeL$-D$|I14-?iy0WW zg+Z8+Vb&Z8pdfpRr>`sf9VTf8b$+?7sDD7As{uYCu0Yzx#>T^uq@=vOyt=x&wzig3^))p$_4V~LXU?2EckaA-^XAW= zzhudhrAwDCTefWZ^5rX5tXR2n<)K4|4j(>z^yty!$B&;pdGhq>(`V0~J$LTh`Sa&5 zUc7ke(xq$HuHCqCh`?8bDZJT`d#g}JhJyKl!W1U||;TLDF8C%}umIxV@%~N0Q$l1Gh zt#H<(chXEVc4dF%G`+XutB73IxhgLw<=ZP&1wBL7UTqObP7M{V=nS9M{jp%theme_info = array(); + +$a->page['htmlhead'] .= <<< EOT + +EOT; diff --git a/view/theme/dispy-dark/wall_item.tpl b/view/theme/dispy-dark/wall_item.tpl new file mode 100644 index 000000000..b013cfeef --- /dev/null +++ b/view/theme/dispy-dark/wall_item.tpl @@ -0,0 +1,77 @@ +
    +
    +
    +
    + + $item.name + + menu +
    +
      + $item.item_photo_menu +
    +
    +
    +
    +
    {{ if $item.location }}$item.location {{ endif }}
    +
    +
    + {{ if $item.lock }}
    $item.lock
    + {{ else }}
    {{ endif }} +
    +
    + {{ if $item.star }} + + + {{ endif }} + {{ if $item.vote }} + + {{ endif }} + {{ if $item.plink }} + + {{ endif }} + {{ if $item.edpost }} + + {{ endif }} + +
    + {{ if $item.drop.dropping }}{{ endif }} +
    + {{ if $item.drop.dropping }}{{ endif }} +
    + +
    +
    +
    $item.title
    +
    +
    $item.body +
    + {{ for $item.tags as $tag }} + $tag + {{ endfor }} +
    +
    +
    +
    + $item.name +
    $item.ago
    + +
    +
    +
    + +
    $item.dislike
    +
    + $item.comment +
    +
    + +
    + diff --git a/view/theme/dispy-dark/wallwall_item.tpl b/view/theme/dispy-dark/wallwall_item.tpl new file mode 100644 index 000000000..86453fad2 --- /dev/null +++ b/view/theme/dispy-dark/wallwall_item.tpl @@ -0,0 +1,81 @@ +
    +
    +
    +
    + + $item.owner_name +
    +
    $item.wall
    +
    + + $item.name + menu +
    +
      + $item.item_photo_menu +
    +
    + +
    +
    +
    {{ if $item.location }}$item.location {{ endif }}
    +
    +
    + {{ if $item.lock }}
    $item.lock
    + {{ else }}
    {{ endif }} +
    +
    + {{ if $item.star }} + + + {{ endif }} + {{ if $item.vote }} + + {{ endif }} + {{ if $item.plink }} + + {{ endif }} + {{ if $item.edpost }} + + {{ endif }} + +
    + {{ if $item.drop.dropping }}{{ endif }} +
    + {{ if $item.drop.dropping }}{{ endif }} +
    + +
    +
    +
    $item.title
    +
    +
    $item.body +
    + {{ for $item.tags as $tag }} + $tag + {{ endfor }} +
    +
    +
    +
    + $item.name +
    $item.ago
    +
    +
    +
    + +
    $item.dislike
    +
    + $item.comment +
    +
    + +
    + diff --git a/view/theme/dispy/style.css b/view/theme/dispy/style.css index 0977d5fcb..1bee0396c 100644 --- a/view/theme/dispy/style.css +++ b/view/theme/dispy/style.css @@ -57,6 +57,7 @@ select { } option { padding: 3px; + vertical-align: middle; } /* remember to define focus styles! */ :focus { @@ -75,17 +76,6 @@ mark { font-style: italic; font-weight: bold; } -ins { - background: #ff9; - color: #000; - text-decoration: none; -} -mark { - background: #ff0; - color: #000; - font-style: italic; - font-weight: bold; -} /* Redeclare monospace font family: h5bp.com/j */ pre, code, kbd, samp, .wall-item-body code { font-family: monospace, monospace; @@ -1302,7 +1292,7 @@ section { **/ .wall-item-body code { display: block; - padding-left: 10px; + padding: 0 0 10px 5px; border-color: #ccc; border-style: solid; border-width: 1px 1px 1px 10px; @@ -1768,9 +1758,10 @@ div[id$="wrapper"] br { * contacts selector */ .group-delete-wrapper { - margin: -28px 150px 0 0; + margin: -31px 122px 0 0; float: right; } + #group-edit-submit-wrapper { margin: 0 0 10px 0; display: inline; From 57d83703766a0e2071ef4b4ecdb6032091bf23cb Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Sun, 11 Mar 2012 09:12:31 -0400 Subject: [PATCH 048/153] fix some stuff right away Signed-off-by: Simon L'nu --- view/theme/dispy-dark/style.css | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/view/theme/dispy-dark/style.css b/view/theme/dispy-dark/style.css index d5e6826a8..1e28a8740 100644 --- a/view/theme/dispy-dark/style.css +++ b/view/theme/dispy-dark/style.css @@ -928,11 +928,16 @@ aside #viewcontacts { display: none; } #jot-preview-content { - background-color: #ffffe0; - border: 1px #aaaa00 solid; + background-color: #3e3f3e; + color: #eec; + border: 1px #eec solid; border-radius: 3px; padding: 3px 3px 6px 10px; } +#jot-preview-content .wall-item-outside-wrapper { + border: 0; + border-radius: 0px; +} /** From eb3b211461906c405c7d016401cb3cd6d7d03b83 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 11 Mar 2012 14:22:19 +0100 Subject: [PATCH 049/153] New plugin that shows community pages in the sidebar --- addon/pages/README | 3 +++ addon/pages/pages.php | 39 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 42 insertions(+) create mode 100755 addon/pages/README create mode 100755 addon/pages/pages.php diff --git a/addon/pages/README b/addon/pages/README new file mode 100755 index 000000000..6ec314b70 --- /dev/null +++ b/addon/pages/README @@ -0,0 +1,3 @@ +Pages + +Shows lists of community pages diff --git a/addon/pages/pages.php b/addon/pages/pages.php new file mode 100755 index 000000000..13e6c4b59 --- /dev/null +++ b/addon/pages/pages.php @@ -0,0 +1,39 @@ + + * + */ + +function pages_install() { + register_hook('page_end', 'addon/pages/pages.php', 'pages_page_end'); +} + +function pages_uninstall() { + unregister_hook('page_end', 'addon/pages/pages.php', 'pages_page_end'); +} + +function pages_page_end($a,&$b) { + if (($a->module != "network") OR ($a->user['uid'] == 0)) + return; + + $pages = '

    '.t("Community").'

      '; + $contacts = q("SELECT `contact`.`id`, `contact`.`url`, `contact`.`Name` FROM `contact`, `user` + WHERE `network`= 'dfrn' AND `duplex` + AND `contact`.`nick`=`user`.`nickname` + AND `user`.`page-flags`= %d + AND `contact`.`uid` = %d", + intval(PAGE_COMMUNITY), + intval($a->user['uid'])); + foreach($contacts as $contact) { + $pages .= '
    • '.$contact["Name"]."
    • "; + } + $pages .= "
    "; + if (sizeof($contacts) > 0) + $a->page['aside'] = $pages.$a->page['aside']; + +} + +?> From 62fe48f064127e39e705a1970e5715b7a0631f9f Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Sun, 11 Mar 2012 10:14:31 -0400 Subject: [PATCH 050/153] fix more stuff Signed-off-by: Simon L'nu --- view/theme/dispy-dark/style.css | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/view/theme/dispy-dark/style.css b/view/theme/dispy-dark/style.css index 1e28a8740..5a07218bf 100644 --- a/view/theme/dispy-dark/style.css +++ b/view/theme/dispy-dark/style.css @@ -80,7 +80,7 @@ mark { /* Redeclare monospace font family: h5bp.com/j */ pre, code, kbd, samp, .wall-item-body code { font-family: monospace, monospace; - _font-family: 'courier new', monospace; + _font-family: monospace; font-size: 1em; } /* Improve readability of pre-formatted text in all browsers */ @@ -667,8 +667,10 @@ aside #viewcontacts { text-align: right; } .aprofile dt { - box-shadow: 1px 1px 5px 0; - color: #666666; + background: #eec; + color: #2e2f2e; + font-weight: bold; + box-shadow: 1px 1px 5px 0 #000; margin: 15px 0 5px; padding-left: 5px; } @@ -1289,6 +1291,7 @@ section { border-style: solid; border-width: 1px 1px 1px 10px; background: #eee; + color: #2e2f2e; width: 95%; } @@ -1658,8 +1661,9 @@ div[id$="wrapper"] br { } .contact-photo-menu { width: auto; - border: 2px solid #444444; - background: #FFFFFF; + border: 2px solid #444; + background: #2e2f2e; + color: #eec; position: absolute; left: 0px; top: 90px; display: none; From fa0cb8514da3935d7780a70a38cf33b3096a914c Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Sun, 11 Mar 2012 10:24:49 -0400 Subject: [PATCH 051/153] add some '@media handheld' types for dispys Signed-off-by: Simon L'nu --- view/theme/dispy-dark/style.css | 8 +++++++- view/theme/dispy/style.css | 7 +++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/view/theme/dispy-dark/style.css b/view/theme/dispy-dark/style.css index 5a07218bf..8e59b151d 100644 --- a/view/theme/dispy-dark/style.css +++ b/view/theme/dispy-dark/style.css @@ -42,7 +42,7 @@ html { } body { margin: 0; - font-size: 16px; + font-size: 12pt; line-height: 1.1em; } body, button, input, select, textarea { @@ -2638,3 +2638,9 @@ footer { display: inline-block; } + +@media handheld { + body { + font-size: 15pt; + } +} diff --git a/view/theme/dispy/style.css b/view/theme/dispy/style.css index 1bee0396c..8081bfc28 100644 --- a/view/theme/dispy/style.css +++ b/view/theme/dispy/style.css @@ -2643,3 +2643,10 @@ footer { display: inline-block; } + +@media handheld { + body { + font-size: 15pt; + } +} + From 467aa66d375eb2a6c626f4b3033dc3b552046a4a Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Sun, 11 Mar 2012 10:25:39 -0400 Subject: [PATCH 052/153] Merge branch 'master', remote-tracking branch 'remotes/upstream/master' * remotes/upstream/master: * master: From 258a8c0871083791eb5ec1d5f13b03e67248392d Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Sun, 11 Mar 2012 10:29:12 -0400 Subject: [PATCH 053/153] screwed up on the font-size for screen last push Signed-off-by: Simon L'nu --- view/theme/dispy-dark/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/view/theme/dispy-dark/style.css b/view/theme/dispy-dark/style.css index 8e59b151d..805749b1c 100644 --- a/view/theme/dispy-dark/style.css +++ b/view/theme/dispy-dark/style.css @@ -42,7 +42,7 @@ html { } body { margin: 0; - font-size: 12pt; + font-size: 16px; line-height: 1.1em; } body, button, input, select, textarea { From b879a1ddf1575a3bd355edcee634be4a8d179c25 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 11 Mar 2012 17:45:12 +0100 Subject: [PATCH 054/153] Pages: Show every community page - even from foreign servers (with caching) --- addon/pages/pages.php | 70 +++++++++++++++++++++++++++++------- view/theme/diabook/style.css | 3 ++ 2 files changed, 61 insertions(+), 12 deletions(-) diff --git a/addon/pages/pages.php b/addon/pages/pages.php index 13e6c4b59..6b242be31 100755 --- a/addon/pages/pages.php +++ b/addon/pages/pages.php @@ -15,25 +15,71 @@ function pages_uninstall() { unregister_hook('page_end', 'addon/pages/pages.php', 'pages_page_end'); } +function pages_iscommunity($url, &$pagelist) { + // check every week for the status - should be enough + if ($pagelist[$url]["checked"]') != 0); + + $pagelist[$url] = array("community" => $iscommunity, "checked" => time()); + } else // Fetch from cache + $iscommunity = $pagelist[$url]["community"]; + return($iscommunity); +} + +function pages_getpages($uid) { + + // Fetch cached pagelist from configuration + $pagelist = get_pconfig($uid,'pages','pagelist'); + + if (sizeof($pagelist) == 0) + $pagelist = array(); + + $contacts = q("SELECT `id`, `url`, `Name` FROM `contact` + WHERE `network`= 'dfrn' AND `uid` = %d", + intval($uid)); + + $pages = array(); + + // Look if the profile is a community page + foreach($contacts as $contact) { + if (pages_iscommunity($contact["url"], $pagelist)) + $pages[] = array("url"=>$contact["url"], "Name"=>$contact["Name"]); + } + + // Write back cached pagelist + set_pconfig($uid,'pages','pagelist', $pagelist); + return($pages); +} + function pages_page_end($a,&$b) { + // Only move on if if it's the "network" module and there is a logged on user if (($a->module != "network") OR ($a->user['uid'] == 0)) return; - $pages = '

    '.t("Community").'

      '; - $contacts = q("SELECT `contact`.`id`, `contact`.`url`, `contact`.`Name` FROM `contact`, `user` - WHERE `network`= 'dfrn' AND `duplex` - AND `contact`.`nick`=`user`.`nickname` - AND `user`.`page-flags`= %d - AND `contact`.`uid` = %d", - intval(PAGE_COMMUNITY), - intval($a->user['uid'])); + $pages = '
      +
      +

      '.t("Community").'

      +
    "; if (sizeof($contacts) > 0) $a->page['aside'] = $pages.$a->page['aside']; - } - ?> diff --git a/view/theme/diabook/style.css b/view/theme/diabook/style.css index 0504ce96a..ce3307645 100644 --- a/view/theme/diabook/style.css +++ b/view/theme/diabook/style.css @@ -484,6 +484,9 @@ code { #sidebar-group-list .tool:hover { background: #EEE; } +#sidebar-pages-list .tool:hover { + background: #EEE; +} .tool .label { float: left; } From 9f76d96d46356b18325ca49c383f94a1958fefd3 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 11 Mar 2012 19:11:25 +0100 Subject: [PATCH 055/153] Cache: item cache now has an autodelete of old files. The pages plugin now sets a link via redirection. So posting works. --- addon/pages/pages.php | 5 +++-- include/poller.php | 13 +++++++++++++ include/text.php | 2 +- 3 files changed, 17 insertions(+), 3 deletions(-) diff --git a/addon/pages/pages.php b/addon/pages/pages.php index 6b242be31..9e90cc24d 100755 --- a/addon/pages/pages.php +++ b/addon/pages/pages.php @@ -55,7 +55,7 @@ function pages_getpages($uid) { // Look if the profile is a community page foreach($contacts as $contact) { if (pages_iscommunity($contact["url"], $pagelist)) - $pages[] = array("url"=>$contact["url"], "Name"=>$contact["Name"]); + $pages[] = array("url"=>$contact["url"], "Name"=>$contact["Name"], "id"=>$contact["id"]); } // Write back cached pagelist @@ -76,7 +76,8 @@ function pages_page_end($a,&$b) { $contacts = pages_getpages($a->user['uid']); foreach($contacts as $contact) { - $pages .= '
  • '.$contact["Name"]."
  • "; + $pages .= '
  • '. + $contact["Name"]."
  • "; } $pages .= ""; if (sizeof($contacts) > 0) diff --git a/include/poller.php b/include/poller.php index f165ad590..65fafda4c 100755 --- a/include/poller.php +++ b/include/poller.php @@ -69,6 +69,19 @@ function poller_run($argv, $argc){ // clear old cache Cache::clear(); + // clear item cache files if they are older than one day + $cache = get_config('system','itemcache'); + if (($cache != '') and is_dir($cache)) { + if ($dh = opendir($cache)) { + while (($file = readdir($dh)) !== false) { + $fullpath = $cache."/".$file; + if ((filetype($fullpath) == "file") and filectime($fullpath) < (time() - 1800)) + unlink($fullpath); + } + closedir($dh); + } + } + $manual_id = 0; $generation = 0; $hub_update = false; diff --git a/include/text.php b/include/text.php index 5bf815105..08c5a5424 100644 --- a/include/text.php +++ b/include/text.php @@ -879,7 +879,7 @@ function prepare_body($item,$attach = false) { $cache = get_config('system','itemcache'); if (($cache != '')) { - $cachefile = $cache."/".$item["guid"]."-".strtotime($item["edited"])."-".$attach."-".hash("crc32", $item['body']); + $cachefile = $cache."/".$item["guid"]."-".strtotime($item["edited"])."-".hash("crc32", $item['body']); if (file_exists($cachefile)) $s = file_get_contents($cachefile); From 739309abd0cb103fe5a4d5081a7252b5698ab787 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 11 Mar 2012 19:41:29 +0100 Subject: [PATCH 056/153] Corrected some git problems --- addon/pages/README | 3 -- addon/pages/pages.php | 86 ------------------------------------------- 2 files changed, 89 deletions(-) delete mode 100755 addon/pages/README delete mode 100755 addon/pages/pages.php diff --git a/addon/pages/README b/addon/pages/README deleted file mode 100755 index 6ec314b70..000000000 --- a/addon/pages/README +++ /dev/null @@ -1,3 +0,0 @@ -Pages - -Shows lists of community pages diff --git a/addon/pages/pages.php b/addon/pages/pages.php deleted file mode 100755 index 9e90cc24d..000000000 --- a/addon/pages/pages.php +++ /dev/null @@ -1,86 +0,0 @@ - - * - */ - -function pages_install() { - register_hook('page_end', 'addon/pages/pages.php', 'pages_page_end'); -} - -function pages_uninstall() { - unregister_hook('page_end', 'addon/pages/pages.php', 'pages_page_end'); -} - -function pages_iscommunity($url, &$pagelist) { - // check every week for the status - should be enough - if ($pagelist[$url]["checked"]') != 0); - - $pagelist[$url] = array("community" => $iscommunity, "checked" => time()); - } else // Fetch from cache - $iscommunity = $pagelist[$url]["community"]; - return($iscommunity); -} - -function pages_getpages($uid) { - - // Fetch cached pagelist from configuration - $pagelist = get_pconfig($uid,'pages','pagelist'); - - if (sizeof($pagelist) == 0) - $pagelist = array(); - - $contacts = q("SELECT `id`, `url`, `Name` FROM `contact` - WHERE `network`= 'dfrn' AND `uid` = %d", - intval($uid)); - - $pages = array(); - - // Look if the profile is a community page - foreach($contacts as $contact) { - if (pages_iscommunity($contact["url"], $pagelist)) - $pages[] = array("url"=>$contact["url"], "Name"=>$contact["Name"], "id"=>$contact["id"]); - } - - // Write back cached pagelist - set_pconfig($uid,'pages','pagelist', $pagelist); - return($pages); -} - -function pages_page_end($a,&$b) { - // Only move on if if it's the "network" module and there is a logged on user - if (($a->module != "network") OR ($a->user['uid'] == 0)) - return; - - $pages = '
    -
    -

    '.t("Community").'

    -
    "; - if (sizeof($contacts) > 0) - $a->page['aside'] = $pages.$a->page['aside']; -} -?> From 9ca5de8c281fa0a7b2323f33765bca25b64bc29d Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 11 Mar 2012 19:45:28 +0100 Subject: [PATCH 057/153] Item cache now is one day. --- include/poller.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/poller.php b/include/poller.php index 65fafda4c..3bc98e36f 100755 --- a/include/poller.php +++ b/include/poller.php @@ -75,7 +75,7 @@ function poller_run($argv, $argc){ if ($dh = opendir($cache)) { while (($file = readdir($dh)) !== false) { $fullpath = $cache."/".$file; - if ((filetype($fullpath) == "file") and filectime($fullpath) < (time() - 1800)) + if ((filetype($fullpath) == "file") and filectime($fullpath) < (time() - 86400)) unlink($fullpath); } closedir($dh); From ebdf4842184cc8d0576abe99b29650c6b6512167 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 11 Mar 2012 19:50:51 +0100 Subject: [PATCH 058/153] Added config options for the item cache and the ostatus priority --- htconfig.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/htconfig.php b/htconfig.php index f52aed2b1..9d9c8a2c7 100755 --- a/htconfig.php +++ b/htconfig.php @@ -79,3 +79,9 @@ $a->config['system']['theme'] = 'duepuntozero'; // By default allow pseudonyms $a->config['system']['no_regfullname'] = true; + +// If set to true the priority settings of ostatus contacts are used +$a->config['system']['ostatus_use_priority'] = false; + +// If enabled all items are cached in the given directory +$a->config['system']['itemcache'] = ""; From 7235d5466a4f54cd80d1b661b142ec99230afbf2 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 11 Mar 2012 20:24:55 +0100 Subject: [PATCH 059/153] Removed changes --- view/theme/diabook/wall_item.tpl | 14 +++++--------- view/theme/diabook/wallwall_item.tpl | 16 ++++++---------- 2 files changed, 11 insertions(+), 19 deletions(-) diff --git a/view/theme/diabook/wall_item.tpl b/view/theme/diabook/wall_item.tpl index 6cbab0a71..321bbbe9e 100644 --- a/view/theme/diabook/wall_item.tpl +++ b/view/theme/diabook/wall_item.tpl @@ -13,7 +13,8 @@ $item.name - menu + menu @@ -21,7 +22,8 @@
    - $item.name + $item.name - {{ if $item.plink }}$item.ago{{ else }} $item.ago {{ endif }} {{ if $item.lock }} - $item.lock {{ endif }} @@ -46,10 +48,7 @@
    -<<<<<<< HEAD:view/theme/diabook/wall_item.tpl -======= ->>>>>>> upstream/master:view/theme/diabook/wall_item.tpl
    @@ -85,11 +84,7 @@ {{ endif }}
    -<<<<<<< HEAD:view/theme/diabook/wall_item.tpl -
    $item.location 
    -=======
    $item.location 
    ->>>>>>> upstream/master:view/theme/diabook/wall_item.tpl
    @@ -102,3 +97,4 @@
    $item.comment
    + diff --git a/view/theme/diabook/wallwall_item.tpl b/view/theme/diabook/wallwall_item.tpl index 4f0a2e25f..05ed4cc82 100644 --- a/view/theme/diabook/wallwall_item.tpl +++ b/view/theme/diabook/wallwall_item.tpl @@ -18,7 +18,8 @@ $item.name - menu + menu @@ -26,8 +27,10 @@
    - $item.name - $item.to $item.owner_name + $item.name + $item.to $item.owner_name $item.vwall -   {{ if $item.plink }}$item.ago{{ else }} $item.ago {{ endif }} {{ if $item.lock }} - $item.lock {{ endif }} @@ -52,10 +55,7 @@
    -<<<<<<< HEAD:view/theme/diabook/wallwall_item.tpl -======= ->>>>>>> upstream/master:view/theme/diabook/wallwall_item.tpl
    @@ -92,10 +92,6 @@ {{ endif }}
    $item.location 
    -<<<<<<< HEAD:view/theme/diabook/wallwall_item.tpl - -======= ->>>>>>> upstream/master:view/theme/diabook/wallwall_item.tpl
    From 6e5f8376090be020b81f8793a2bed65ba9a879a5 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Sun, 11 Mar 2012 17:05:08 -0400 Subject: [PATCH 060/153] Merge branch 'master', remote-tracking branch 'remotes/upstream/master' * remotes/upstream/master: * master: From 905ba5ba1d5d8e2d0caa5c0208357672ee527b7d Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 11 Mar 2012 22:39:40 +0100 Subject: [PATCH 061/153] Missing field in database.sql --- database.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/database.sql b/database.sql index 35c257f02..2add8bd85 100755 --- a/database.sql +++ b/database.sql @@ -636,6 +636,7 @@ CREATE TABLE IF NOT EXISTS `mailacct` ( `mailbox` CHAR( 255 ) NOT NULL, `user` CHAR( 255 ) NOT NULL , `pass` TEXT NOT NULL , +`reply_to` CHAR( 255 ) NOT NULL , `action` INT NOT NULL , `movetofolder` CHAR(255) NOT NULL , `pubmail` TINYINT(1) NOT NULL DEFAULT '0', From 2ed6b3531eb1a9b778dfd87614fd824480a135e2 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Sun, 11 Mar 2012 23:29:59 +0100 Subject: [PATCH 062/153] Removing test exports --- include/delivery.php | 4 ++-- include/notifier.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/include/delivery.php b/include/delivery.php index c1ff07bd5..41869988d 100755 --- a/include/delivery.php +++ b/include/delivery.php @@ -435,8 +435,8 @@ function delivery_run($argv, $argc){ $headers .= 'Reply-to: ' . $reply_to . "\n"; // for testing purposes: Collect exported mails - $file = tempnam("/tmp/friendica/", "mail-out-"); - file_put_contents($file, json_encode($it)); + // $file = tempnam("/tmp/friendica/", "mail-out-"); + // file_put_contents($file, json_encode($it)); $headers .= 'Message-Id: <' . iri2msgid($it['uri']). '>' . "\n"; diff --git a/include/notifier.php b/include/notifier.php index 5b23406fc..c0a98c8eb 100755 --- a/include/notifier.php +++ b/include/notifier.php @@ -648,8 +648,8 @@ function notifier_run($argv, $argc){ $headers .= 'Reply-to: ' . $reply_to . "\n"; // for testing purposes: Collect exported mails - $file = tempnam("/tmp/friendica/", "mail-out2-"); - file_put_contents($file, json_encode($it)); + //$file = tempnam("/tmp/friendica/", "mail-out2-"); + //file_put_contents($file, json_encode($it)); $headers .= 'Message-Id: <' . iri2msgid($it['uri']) . '>' . "\n"; From d9bee73edfc4c73a25d3b674f6d5caf09f1a8e66 Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 11 Mar 2012 15:50:23 -0700 Subject: [PATCH 063/153] community meta tag renamed from "ika" --- boot.php | 2 +- mod/hcard.php | 2 +- mod/profile.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/boot.php b/boot.php index 1414adb06..b30f02c9f 100755 --- a/boot.php +++ b/boot.php @@ -9,7 +9,7 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '2.3.1277' ); +define ( 'FRIENDICA_VERSION', '2.3.1278' ); define ( 'DFRN_PROTOCOL_VERSION', '2.22' ); define ( 'DB_UPDATE_VERSION', 1131 ); diff --git a/mod/hcard.php b/mod/hcard.php index 19e649dcb..6d2d9e2eb 100755 --- a/mod/hcard.php +++ b/mod/hcard.php @@ -21,7 +21,7 @@ function hcard_init(&$a) { profile_load($a,$which,$profile); if((x($a->profile,'page-flags')) && ($a->profile['page-flags'] == PAGE_COMMUNITY)) { - $a->page['htmlhead'] .= ''; + $a->page['htmlhead'] .= ''; } if(x($a->profile,'openidserver')) $a->page['htmlhead'] .= '' . "\r\n"; diff --git a/mod/profile.php b/mod/profile.php index 1a701f407..428679ffc 100755 --- a/mod/profile.php +++ b/mod/profile.php @@ -27,7 +27,7 @@ function profile_init(&$a) { profile_load($a,$which,$profile); if((x($a->profile,'page-flags')) && ($a->profile['page-flags'] == PAGE_COMMUNITY)) { - $a->page['htmlhead'] .= ''; + $a->page['htmlhead'] .= ''; } if(x($a->profile,'openidserver')) $a->page['htmlhead'] .= '' . "\r\n"; From 6e7a190e9197bcf4d00accc5d85ccca4a080bec8 Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Mon, 12 Mar 2012 00:22:12 +0100 Subject: [PATCH 064/153] Mail: Subject are now with working "Re:" --- include/delivery.php | 28 +++++++--------------------- include/notifier.php | 31 ++++++++----------------------- 2 files changed, 15 insertions(+), 44 deletions(-) diff --git a/include/delivery.php b/include/delivery.php index 41869988d..44a482ca2 100755 --- a/include/delivery.php +++ b/include/delivery.php @@ -446,30 +446,16 @@ function delivery_run($argv, $argc){ if($it['uri'] !== $it['parent-uri']) { $headers .= 'References: <' . iri2msgid($it['parent-uri']) . '>' . "\n"; - if(! strlen($it['title'])) { + if(!strlen($it['title'])) { $r = q("SELECT `title` FROM `item` WHERE `parent-uri` = '%s' LIMIT 1", - dbesc($it['parent-uri']) - ); - if(count($r)) { - $subtitle = $r[0]['title']; - if($subtitle) { - if(strncasecmp($subtitle,'RE:',3)) - $subject = $subtitle; - else - $subject = 'Re: ' . $subtitle; - } - } + dbesc($it['parent-uri'])); + + if(count($r) AND ($r[0]['title'] != '')) + $subject = $r[0]['title']; } + if(strncasecmp($subject,'RE:',3)) + $subject = 'Re: '.$subject; } - /*$headers .= 'MIME-Version: 1.0' . "\n"; - //$headers .= 'Content-Type: text/html; charset=UTF-8' . "\n"; - $headers .= 'Content-Type: text/plain; charset=UTF-8' . "\n"; - $headers .= 'Content-Transfer-Encoding: 8bit' . "\n\n"; - $html = prepare_body($it); - //$message = '' . $html . ''; - $message = html2plain($html); - logger('notifier: email delivery to ' . $addr); - mail($addr, $subject, $message, $headers);*/ email_send($addr, $subject, $headers, $it); } break; diff --git a/include/notifier.php b/include/notifier.php index c0a98c8eb..07edc7046 100755 --- a/include/notifier.php +++ b/include/notifier.php @@ -655,31 +655,16 @@ function notifier_run($argv, $argc){ if($it['uri'] !== $it['parent-uri']) { $headers .= 'References: <' . iri2msgid($it['parent-uri']) . '>' . "\n"; - if(! strlen($it['title'])) { + if(!strlen($it['title'])) { $r = q("SELECT `title` FROM `item` WHERE `parent-uri` = '%s' LIMIT 1", - dbesc($it['parent-uri']) - ); - if(count($r)) { - $subtitle = $r[0]['title']; - if($subtitle) { - if(strncasecmp($subtitle,'RE:',3)) - $subject = $subtitle; - else - $subject = 'Re: ' . $subtitle; - } - } - } - } + dbesc($it['parent-uri'])); - /*$headers .= 'MIME-Version: 1.0' . "\n"; - //$headers .= 'Content-Type: text/html; charset=UTF-8' . "\n"; - $headers .= 'Content-Type: text/plain; charset=UTF-8' . "\n"; - $headers .= 'Content-Transfer-Encoding: 8bit' . "\n\n"; - $html = prepare_body($it); - //$message = '' . $html . ''; - $message = html2plain($html); - logger('notifier: email delivery to ' . $addr); - mail($addr, $subject, $message, $headers);*/ + if(count($r) AND ($r[0]['title'] != '')) + $subject = $r[0]['title']; + } + if(strncasecmp($subject,'RE:',3)) + $subject = 'Re: '.$subject; + } email_send($addr, $subject, $headers, $it); } break; From e9b82bb5ee53040d6c1fe75949ec7785159be93d Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Sun, 11 Mar 2012 20:36:16 -0400 Subject: [PATCH 065/153] fix dispys' css and layout Signed-off-by: Simon L'nu --- view/theme/dispy-dark/icons.png | Bin 29039 -> 19513 bytes view/theme/dispy-dark/nav.tpl | 6 +- view/theme/dispy-dark/style.css | 85 +++++++++------- view/theme/dispy-dark/theme.php | 3 + view/theme/dispy/nav.tpl | 6 +- view/theme/dispy/style.css | 174 ++++++++++++++++---------------- view/theme/dispy/theme.php | 3 + 7 files changed, 147 insertions(+), 130 deletions(-) diff --git a/view/theme/dispy-dark/icons.png b/view/theme/dispy-dark/icons.png index f99ec29ee211b6ab448ed3502134dae0f109a623..eb84b8d8e7ad56e28ae5360cb13d4e98e352dbcc 100644 GIT binary patch literal 19513 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 IN5iiC4{1nb9RL6T literal 29039 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 diff --git a/view/theme/dispy-dark/nav.tpl b/view/theme/dispy-dark/nav.tpl index 4a030e7ae..f6e399ef5 100644 --- a/view/theme/dispy-dark/nav.tpl +++ b/view/theme/dispy-dark/nav.tpl @@ -1,5 +1,4 @@
    - +
    +$langselector +
    + diff --git a/view/theme/dispy-dark/style.css b/view/theme/dispy-dark/style.css index 805749b1c..7d7ff7f18 100644 --- a/view/theme/dispy-dark/style.css +++ b/view/theme/dispy-dark/style.css @@ -122,7 +122,6 @@ a { color: #88a9d2; text-decoration: none; margin-bottom: 1px; - text-decoration: none; } /*a:hover { */ /* text-decoration: none;*/ @@ -140,7 +139,6 @@ blockquote { } a:hover { color: #729fcf; - padding-bottom: 0; border-bottom: 1px dotted #729fcf; } .required { @@ -483,12 +481,12 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-link height: 22px; overflow: hidden; margin: 0px; - background: transparent url(icons.png) -190px -60px no-repeat; + background: transparent url(icons.png) -190px -60px no-repeat; } .nav-ajax-update, .nav-ajax-left { width: 30px; height: 19px; - background: transparent url(notifications.svg) 0 0 no-repeat; + background: transparent url(notifications.png) 0 0 no-repeat; color: #222; font-weight: bold; font-size: 0.8em; @@ -519,14 +517,14 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-link } #lang-select-icon { cursor: pointer; - position: absolute; - left: 0; - top: 0; + position: fixed; + left: 28px; + bottom: 6px; } #language-selector { - position: absolute; - top: 0; - left: 16px; + position: fixed; + bottom: 2px; + left: 52px; } .menu-popup { position: absolute; @@ -946,7 +944,7 @@ aside #viewcontacts { * section */ section { - margin: 20px 6% 0 4%; + margin: 20px 8% 0 4%; font-size: 0.8em; padding-right: 230px; min-width: 475px; @@ -955,30 +953,31 @@ section { /** tabs **/ .tabs { list-style: none; - margin: 10px 0 10px; + margin: 10px 0; padding: 0; - border-bottom: 1px solid #729fcf; - font-size: 14px; } .tabs li { display: inline; } .tab { - padding: 0 5px; + border: 1px solid #729fcf; + padding: 4px; } .tab:hover { - background-color: #88a9d2; - color: #111; - border: 0px; + background: #88a9d2; + color: #2e2f2e; } .tab:active { - background-color: #88a9d2; - color: #111; - border: 0px; + background: #88a9d2; + color: #2e2f2e; } .tab.active { - background-color: #88a9d2; - color: #111; + background: #88a9d2; + color: #2e2f2e; +} +.tab a { + border: 0; + text-decoration: none; } /** @@ -1005,6 +1004,9 @@ section { .shiny { background: #2e3436; } +.heart { + color: red; +} .wall-item-content { overflow-x: auto; } @@ -1548,8 +1550,7 @@ div[id$="wrapper"] br { .view-contact-wrapper, .contact-entry-wrapper { float: left; - margin-right: 5px; - margin-bottom: 40px; + margin: 0 5px 40px 0; width: 120px; height: 120px; padding: 3px; @@ -1712,17 +1713,20 @@ div[id$="wrapper"] br { clear: both; } -#register-form label, -#profile-edit-form label { - width: 300px; - float: left; -} +/*#register-form label, */ +/*#profile-edit-form label {*/ +/* width: 300px; */ +/* float: left; */ +/*} */ -#register-form span, -#profile-edit-form span { - color:#555753; - display:block; - margin-bottom:20px; +/*#register-form span, */ +/*#profile-edit-form span {*/ +/* color: #555753; */ +/* display: block; */ +/* margin-bottom: 20px; */ +/*} */ +#profile-edit-marital-label span { + margin: -4px; } .settings-submit-wrapper, .profile-edit-submit-wrapper { @@ -1944,7 +1948,12 @@ div[id$="wrapper"] br { */ .directory-item { float: left; - margin: 50px 50px 0px 0px; + /*margin: 50px 50px 0px 0px;*/ + margin: 0 5px 4px 0; + padding: 3px; + width: 180px; + height: 250px; + position: relative; } @@ -1956,8 +1965,8 @@ div[id$="wrapper"] br { } .group-selected, .nets-selected { padding: 3px; - border: 1px solid #f8f8f8; - background: #2e302e; + color: #2e2f2e; + background: #88a9d2; font-weight: bold; } .groupsideedit { diff --git a/view/theme/dispy-dark/theme.php b/view/theme/dispy-dark/theme.php index c72884f1a..a7aec1c1a 100644 --- a/view/theme/dispy-dark/theme.php +++ b/view/theme/dispy-dark/theme.php @@ -72,3 +72,6 @@ $(document).ready(function() { }); EOT; + +$a->page['footer'] .= << -$langselector @@ -112,11 +111,14 @@ works --> {{ endif }} - +
    +$langselector +
    + diff --git a/view/theme/dispy/style.css b/view/theme/dispy/style.css index 8081bfc28..24fa39f77 100644 --- a/view/theme/dispy/style.css +++ b/view/theme/dispy/style.css @@ -79,7 +79,7 @@ mark { /* Redeclare monospace font family: h5bp.com/j */ pre, code, kbd, samp, .wall-item-body code { font-family: monospace, monospace; - _font-family: 'courier new', monospace; + _font-family: monospace; font-size: 1em; } /* Improve readability of pre-formatted text in all browsers */ @@ -127,6 +127,7 @@ a:hover img { } blockquote { background: #eee; + color: #111; text-indent: 5px; padding: 5px; border: 1px #aaa solid; @@ -134,7 +135,6 @@ blockquote { } a:hover { color: #729fcf; - padding-bottom: 0; border-bottom: 1px dotted #729fcf; } .required { @@ -462,6 +462,7 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-link right: 1%; padding: 5px; background: #2e3436; + color: transparent; border-radius: 5px; z-index: 100; } @@ -511,14 +512,14 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-link } #lang-select-icon { cursor: pointer; - position: absolute; - left: 0; - top: 0; + position: fixed; + left: 28px; + bottom: 6px; } #language-selector { - position: absolute; - top: 0; - left: 16px; + position: fixed; + bottom: 2px; + left: 52px; } .menu-popup { position: absolute; @@ -633,8 +634,24 @@ aside { .vcard #profile-photo-wrapper { margin: 20px; } +/* http://css-tricks.com/snippets/css/css-box-shadow/ + * box-shadow: + * 1. The horizontal offset of the shadow, positive means + * the shadow will be on the right of the box, a negative + * offset will put the shadow on the left of the box. + * 2. The vertical offset of the shadow, a negative one + * means the box-shadow will be above the box, a + * positive one means the shadow will be below the box. + * 3. The blur radius (optional), if set to 0 the shadow + * will be sharp, the higher the number, the more blurred + * it will be. + * 4. The spread radius (optional), positive values increase + * the size of the shadow, negative values decrease the size. + * Default is 0 (the shadow is same size as blur). + * 5. Colo[u]r + */ .vcard #profile-photo-wrapper img { - box-shadow: 3px 3px 10px 0; + box-shadow: 3px 3px 10px 0 #000; } aside h4 { font-size: 1.2em; @@ -643,8 +660,10 @@ aside #viewcontacts { text-align: right; } .aprofile dt { - box-shadow: 1px 1px 5px 0; color: #666666; + background: transparent; + font-weight: bold; + box-shadow: 1px 1px 5px 0 #000; margin: 15px 0 5px; padding-left: 5px; } @@ -707,51 +726,11 @@ aside #viewcontacts { } #jot #jot-tools span a { display: block; - /*color: #cccccc; */ - /*width: 100%; */ - /*height: 40px; */ - /*text-align: center;*/ - /*line-height: 40px; */ - /*overflow: hidden;*/ } -/*#jot #jot-tools li:hover {*/ - /*background-color: #364e59;*/ -/*}*/ #jot #jot-tools .perms { float: right; width: 40px; } -/*#jot #jot-tools .perms a.unlock {*/ -/* width: 30px; */ -/* border-left: 10px solid #cccccc;*/ -/* background-color: #cccccc; */ -/*}*/ -/*#jot #jot-tools .perms a.lock {*/ -/* width: 30px; */ -/* border-left: 10px solid #666666;*/ -/* background-color: #666666; */ -/*}*/ -/*#jot #jot-tools li.submit { */ -/* float: right; */ -/* background-color: #cccccc; */ -/* border-bottom: 2px solid #cccccc; */ -/* border-right: 1px solid #666666; */ -/* border-left: 1px solid #666666; */ -/*} */ -/*#jot #jot-tools li.submit input { */ -/* border: 0px; */ -/* margin: 0px; */ -/* padding: 0px; */ -/* background-color: #cccccc; */ -/* color: #666666; */ -/* width: 80px; */ -/* height: 40px; */ -/* line-height: 40px; */ -/*} */ -/*#jot #jot-tools li.submit input:hover {*/ -/* background-color: #bdcdd4; */ -/* color: #666666; */ -/*} */ #jot #jot-tools li.loading { float: right; background-color: #ffffff; @@ -945,17 +924,22 @@ aside #viewcontacts { } #jot-preview-content { background-color: #ffffe0; - border: 1px #aaaa00 solid; + color: #111; + border: 1px #aa0 solid; border-radius: 3px; padding: 3px 3px 6px 10px; } +#jot-preview-content .wall-item-outside-wrapper { + border: 0; + border-radius: 0px; +} /** * section */ section { - margin: 20px 6% 0 4%; + margin: 20px 8% 0 4%; font-size: 0.8em; padding-right: 230px; min-width: 475px; @@ -964,28 +948,32 @@ section { /** tabs **/ .tabs { list-style: none; - margin: 10px 0 10px; + margin: 10px 0; padding: 0; - border-bottom: 1px solid #729fcf; - font-size: 14px; } .tabs li { display: inline; } .tab { - padding: 0 5px; + border: 1px solid #729fcf; + padding: 4px; } .tab:hover { - background-color: #729fcf; + background: #729fcf; color: #eeeeec; - border: 0px; } .tab:active { - background-color: #729fcf; + background: #729fcf; color: #eeeeec; - border: 0px; } - +.tab.active { + background: #729fcf; + color: #eeeeec; +} +.tab a { + border: 0; + text-decoration: none; +} /** * items @@ -1011,6 +999,9 @@ section { .shiny { background: #efefdf; } +.heart { + color: red; +} .wall-item-content { overflow-x: auto; } @@ -1297,6 +1288,7 @@ section { border-style: solid; border-width: 1px 1px 1px 10px; background: #eee; + color: #444; width: 95%; } @@ -1553,8 +1545,7 @@ div[id$="wrapper"] br { .view-contact-wrapper, .contact-entry-wrapper { float: left; - margin-right: 5px; - margin-bottom: 40px; + margin: 0 5px 40px 0; width: 120px; height: 120px; padding: 3px; @@ -1666,8 +1657,9 @@ div[id$="wrapper"] br { } .contact-photo-menu { width: auto; - border: 2px solid #444444; - background: #FFFFFF; + border: 2px solid #444; + background: #eee; + color: #111; position: absolute; left: 0px; top: 90px; display: none; @@ -1706,6 +1698,7 @@ div[id$="wrapper"] br { -moz-border-radius: 5px; border-radius: 5px; padding: 5px; + color: #111; } #settings-default-perms { margin-bottom: 20px; @@ -1715,17 +1708,20 @@ div[id$="wrapper"] br { clear: both; } -#register-form label, -#profile-edit-form label { - width: 300px; - float: left; -} +/*#register-form label, */ +/*#profile-edit-form label {*/ +/* width: 300px; */ +/* float: left; */ +/*} */ -#register-form span, -#profile-edit-form span { - color:#555753; - display:block; - margin-bottom:20px; +/*#register-form span, */ +/*#profile-edit-form span {*/ +/* color: #555753; */ +/* display: block; */ +/* margin-bottom: 20px; */ +/*} */ +#profile-edit-marital-label span { + margin: -4px; } .settings-submit-wrapper, .profile-edit-submit-wrapper { @@ -1742,17 +1738,19 @@ div[id$="wrapper"] br { float: left; margin: 20px 20px 0px 0px; } - #profile-edit-links ul { margin: 20px 0; padding: 0; list-style: none; } - #register-sitename { display: inline; font-weight: bold; } +#advanced-expire-popup { +/* background: #2e2f2e; + color: #eec;*/ +} /** * contacts selector @@ -1945,7 +1943,12 @@ div[id$="wrapper"] br { */ .directory-item { float: left; - margin: 50px 50px 0px 0px; + /*margin: 50px 50px 0px 0px;*/ + margin: 0 5px 4px 0; + padding: 3px; + width: 180px; + height: 250px; + position: relative; } @@ -1957,6 +1960,7 @@ div[id$="wrapper"] br { } .group-selected, .nets-selected { padding: 3px; + color: #111; border: 1px solid #CCCCCC; background: #F8F8F8; font-weight: bold; @@ -2132,6 +2136,7 @@ div[id$="wrapper"] br { padding: 5px; background: #eee; vertical-align: middle; + color: #111; } .field input, input[type="text"] { width: 250px; @@ -2172,7 +2177,7 @@ div[id$="wrapper"] br { display:none !important; } .field.radio .field_help { - margin-left: 0; + margin-left: 297px; } @@ -2182,8 +2187,8 @@ div[id$="wrapper"] br { .popup { width: 100%; height: 100%; - top:0px; - left:0px; + top: 0px; + left: 0px; position: absolute; display: none; } @@ -2298,12 +2303,6 @@ div[id$="wrapper"] br { .icon.drophide, .icon.delete { float: left; } -/*.icon.s22 { - display: block; - background: url(icons.png) no-repeat; - width: 22px; - height: 22px; -}*/ .icon.s22.delete { display: block; background-position: -110px 0; @@ -2649,4 +2648,3 @@ footer { font-size: 15pt; } } - diff --git a/view/theme/dispy/theme.php b/view/theme/dispy/theme.php index c72884f1a..a7aec1c1a 100644 --- a/view/theme/dispy/theme.php +++ b/view/theme/dispy/theme.php @@ -72,3 +72,6 @@ $(document).ready(function() { }); EOT; + +$a->page['footer'] .= << Date: Sun, 11 Mar 2012 21:33:06 -0400 Subject: [PATCH 066/153] Merge branch 'master', remote-tracking branch 'remotes/upstream/master' * remotes/upstream/master: * master: From 9f52e3df8d4d92b66a190194ac96b6bd31386263 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Sun, 11 Mar 2012 21:34:51 -0400 Subject: [PATCH 067/153] fix dispy-dark photo album stuff Signed-off-by: Simon L'nu --- view/theme/dispy-dark/style.css | 35 +++++++++++++++++---------------- 1 file changed, 18 insertions(+), 17 deletions(-) diff --git a/view/theme/dispy-dark/style.css b/view/theme/dispy-dark/style.css index 7d7ff7f18..7a57628b9 100644 --- a/view/theme/dispy-dark/style.css +++ b/view/theme/dispy-dark/style.css @@ -537,9 +537,9 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-link list-style: none; border: 3px solid #364e59; z-index: 100000; - -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7); - -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7); - box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7); + -webkit-box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.7); + -moz-box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.7); + box-shadow: 3px 3px 10px 0 rgba(0, 0, 0, 0.7); } .menu-popup a { display: block; @@ -587,24 +587,24 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-link /** sysmsg **/ #sysmsg_info { - position:fixed; - bottom:0; - -moz-box-shadow:0 0 5px #888; - -webkit-box-shadow:0 0 5px #888; - box-shadow:0 0 5px #888; + position: fixed; + bottom: 0; + -moz-box-shadow: 3px 3px 3px 10px 0 #000; + -webkit-box-shadow: 3px 3px 10px 0 #000; + box-shadow: 3px 3px 10px 0 #000; padding: 10px; - background-color:#fcaf3e; + background-color: #fcaf3e; border:2px solid #f8911b; - border-bottom:0; + border-bottom: 0; padding-bottom: 50px; z-index: 1000; } #sysmsg { position: fixed; bottom: 0; - -moz-box-shadow: 0 0 5px #888; - -webkit-box-shadow: 0 0 5px #888; - box-shadow: 0 0 5px #888; + -moz-box-shadow: 3px 3px 10px 0 #000; + -webkit-box-shadow: 3px 3px 10px 0 #000; + box-shadow: 3px 3px 10px 0 #000; padding: 10px; background-color: #fcaf3e; border: 2px solid #f8911b; @@ -1330,10 +1330,11 @@ div[id$="wrapper"] br { .photo-album-image-wrapper, .photo-top-image-wrapper { float: left; - -moz-box-shadow: 0 0 5px #888; - -webkit-box-shadow: 0 0 5px #888; - box-shadow: 0 0 5px #888; - background-color: #eee; + -moz-box-shadow: 3px 3px 10px 0 #000; + -webkit-box-shadow: 3px 3px 10px 0 #000; + box-shadow: 3px 3px 10px 0 #000; + background-color: #222; + color: #2e2f2e; -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; From 93058af4fcfa0c1dbe8398271c60513dea16338c Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 11 Mar 2012 20:19:56 -0700 Subject: [PATCH 068/153] backend for "save to file" feature --- include/text.php | 19 +++++++++++++++++++ mod/network.php | 21 ++++++++++++++------- 2 files changed, 33 insertions(+), 7 deletions(-) diff --git a/include/text.php b/include/text.php index 5ad0154d7..08b2b8487 100644 --- a/include/text.php +++ b/include/text.php @@ -1235,4 +1235,23 @@ function item_post_type($item) { return t('post'); } +// post categories and "save to file" use the same item.file table for storage. +// We will differentiate the different uses by wrapping categories in angle brackets +// and save to file categories in square brackets. +// To do this we need to escape these characters if they appear in our tag. +function file_tag_encode($s) { + return str_replace(array('<','>','[',']'),array('%3c','%3e','%5b','%5d'),$s); +} + +function file_tag_decode($s) { + return str_replace(array('%3c','%3e','%5b','%5d'),array('<','>','[',']'),$s); +} + +function file_tag_file_query($table,$s,$type = 'file') { + if($type == 'file') + $str = preg_quote( '[' . file_tag_encode($s) . ']' ); + else + $str = preg_quote( '<' . file_tag_encode($s) . '>' ); + return " AND " . (($table) ? dbesc($table) . '.' : '') . "file regexp '" . dbesc($str) . "' "; +} \ No newline at end of file diff --git a/mod/network.php b/mod/network.php index b04a7b489..861b5ab73 100755 --- a/mod/network.php +++ b/mod/network.php @@ -52,13 +52,15 @@ function network_init(&$a) { function saved_searches($search) { $srchurl = '/network?f=' - . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : '') - . ((x($_GET,'star')) ? '&star=' . $_GET['star'] : '') + . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : '') + . ((x($_GET,'star')) ? '&star=' . $_GET['star'] : '') . ((x($_GET,'bmark')) ? '&bmark=' . $_GET['bmark'] : '') - . ((x($_GET,'conv')) ? '&conv=' . $_GET['conv'] : '') - . ((x($_GET,'nets')) ? '&nets=' . $_GET['nets'] : '') - . ((x($_GET,'cmin')) ? '&cmin=' . $_GET['cmin'] : '') - . ((x($_GET,'cmax')) ? '&cmax=' . $_GET['cmax'] : ''); + . ((x($_GET,'conv')) ? '&conv=' . $_GET['conv'] : '') + . ((x($_GET,'nets')) ? '&nets=' . $_GET['nets'] : '') + . ((x($_GET,'cmin')) ? '&cmin=' . $_GET['cmin'] : '') + . ((x($_GET,'cmax')) ? '&cmax=' . $_GET['cmax'] : '') + . ((x($_GET,'file')) ? '&file=' . $_GET['file'] : ''); + ; $o = ''; @@ -226,6 +228,7 @@ function network_content(&$a, $update = 0) { $nets = ((x($_GET,'nets')) ? $_GET['nets'] : ''); $cmin = ((x($_GET,'cmin')) ? intval($_GET['cmin']) : 0); $cmax = ((x($_GET,'cmax')) ? intval($_GET['cmax']) : 99); + $file = ((x($_GET,'file')) ? $_GET['file'] : ''); if(($a->argc > 2) && $a->argv[2] === 'new') $nouveau = true; @@ -239,7 +242,7 @@ function network_content(&$a, $update = 0) { } } - if(x($_GET,'search')) + if(x($_GET,'search') || x($_GET,'file')) $nouveau = true; if($cid) $def_acl = array('allow_cid' => '<' . intval($cid) . '>'); @@ -358,6 +361,7 @@ function network_content(&$a, $update = 0) { . ((x($_GET,'nets')) ? '&nets=' . $_GET['nets'] : '') . ((x($_GET,'cmin')) ? '&cmin=' . $_GET['cmin'] : '') . ((x($_GET,'cmax')) ? '&cmax=' . $_GET['cmax'] : '') + . ((x($_GET,'file')) ? '&file=' . $_GET['file'] : '') . "'; var profile_page = " . $a->pager['page'] . "; \r\n"; } @@ -371,6 +375,9 @@ function network_content(&$a, $update = 0) { dbesc('\\]' . preg_quote($search) . '\\[') ); } + if(strlen($file)) { + $sql_extra .= file_tag_file_query('item',$file); + } if($conv) { $myurl = $a->get_baseurl() . '/profile/'. $a->user['nickname']; From 3bc990f7186af620e7e85bbf5c70bf5795c04a6d Mon Sep 17 00:00:00 2001 From: friendica Date: Sun, 11 Mar 2012 21:32:11 -0700 Subject: [PATCH 069/153] more save to file backend --- include/text.php | 56 +++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/include/text.php b/include/text.php index 08b2b8487..011006b76 100644 --- a/include/text.php +++ b/include/text.php @@ -1254,4 +1254,58 @@ function file_tag_file_query($table,$s,$type = 'file') { else $str = preg_quote( '<' . file_tag_encode($s) . '>' ); return " AND " . (($table) ? dbesc($table) . '.' : '') . "file regexp '" . dbesc($str) . "' "; -} \ No newline at end of file +} + +function file_tag_save_file($uid,$item,$file) { + $result = false; + if(! intval($uid)) + return false; + $r = q("select file from item where id = %d and uid = %d limit 1", + intval($item), + intval($uid) + ); + if(count($r)) { + if(! stristr($r[0]['file'],'[' . file_tag_encode($file) . ']')) + q("update item set file = '%s' where id = %d and uid = %d limit 1", + dbesc($r[0]['file'] . '[' . $file_tag_encode($file) . ']'), + intval($item), + intval($uid) + ); + $saved = get_pconfig($uid,'system','filetags'); + if((! strlen($saved)) || (! stristr($saved,'[' . file_tag_encode($file) . ']'))) + set_pconfig($uid,'system','filetags',$saved . '[' . file_tag_encode($file) . ']'); + } + return true; +} + +function file_tag_unsave_file($uid,$item,$file) { + $result = false; + if(! intval($uid)) + return false; + + $pattern = '[' . file_tag_encode($file) . ']' ; + + $r = q("select file from item where id = %d and uid = %d limit 1", + intval($item), + intval($uid) + ); + if(! count($r)) + return false; + + q("update item set file = '%s' where id = %d and uid = %d limit 1", + dbesc(str_replace($pattern,'',$r[0]['file'])), + intval($item), + intval($uid) + ); + + $r = q("select file from item where uid = %d " . file_tag_file_query('item',$file), + intval($uid) + ); + + if(! count($r)) { + $saved = get_pconfig($uid,'system','filetags'); + set_pconfig($uid,'system','filetags',str_replace($pattern,'',$saved)); + } + return true; +} + From bce3bfff38ad6f540dca39f6ed5b1d8cae19edb1 Mon Sep 17 00:00:00 2001 From: Alexander Kampmann Date: Mon, 12 Mar 2012 13:59:00 +0100 Subject: [PATCH 070/153] get tags test improved --- mod/item.php | 79 ++++++++++++++++++++++++++++------------- tests/get_tags_test.php | 40 +++++++++++++++++++-- 2 files changed, 92 insertions(+), 27 deletions(-) diff --git a/mod/item.php b/mod/item.php index a9edf0da6..0ff7f6a7c 100755 --- a/mod/item.php +++ b/mod/item.php @@ -820,33 +820,54 @@ function item_content(&$a) { } } +/** + * This function removes the tag $tag from the text $body and replaces it with + * the appropiate link. + * + * @param unknown_type $body the text to replace the tag in + * @param unknown_type $inform a comma-seperated string containing everybody to inform + * @param unknown_type $str_tags string to add the tag to + * @param unknown_type $profile_uid + * @param unknown_type $tag the tag to replace + */ function handle_body(&$body, &$inform, &$str_tags, $profile_uid, $tag) { - $profile=null; - if(isset($profile)) - unset($profile); + //is it a hash tag? if(strpos($tag,'#') === 0) { - if(strpos($tag,'[url=')) - continue; + //if the tag is replaced... + if(strpos($tag,'[url=')) + //...do nothing + continue; + //base tag has the tags name only $basetag = str_replace('_',' ',substr($tag,1)); - $body = str_replace($tag,'#[url=' . $a->get_baseurl() . '/search?search=' . rawurlencode($basetag) . ']' . $basetag . '[/url]',$body); - - $newtag = '#[url=' . $a->get_baseurl() . '/search?search=' . rawurlencode($basetag) . ']' . $basetag . '[/url]'; + //create text for link + $newtag = '#[url=' . $a->get_baseurl() . '/search?search=' . rawurlencode($basetag) . ']' . $basetag . '[/url]'; + //replace tag by the link + $body = str_replace($tag, $newtag, $body); + + //is the link already in str_tags? if(! stristr($str_tags,$newtag)) { + //append or set str_tags if(strlen($str_tags)) $str_tags .= ','; $str_tags .= $newtag; } continue; - } + } + //is it a person tag? if(strpos($tag,'@') === 0) { + //is it already replaced? if(strpos($tag,'[url=')) continue; $stat = false; - $name = substr($tag,1); + //get the person's name + $name = substr($tag,1); + //is it a link or a full dfrn address? if((strpos($name,'@')) || (strpos($name,'http://'))) { $newname = $name; + //get the profile links $links = @lrdd($name); if(count($links)) { + //for all links, collect how is to inform and how's profile is to link foreach($links as $link) { if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page') $profile = $link['@attributes']['href']; @@ -857,38 +878,44 @@ function handle_body(&$body, &$inform, &$str_tags, $profile_uid, $tag) { } } } - } - else { + } else { //if it is a name rather than an address $newname = $name; $alias = ''; - $tagcid = 0; + $tagcid = 0; + //is it some generated name? if(strrpos($newname,'+')) { + //get the id $tagcid = intval(substr($newname,strrpos($newname,'+') + 1)); + //remove the next word from tag's name if(strpos($name,' ')) $name = substr($name,0,strpos($name,' ')); - } - if($tagcid) { + } + if($tagcid) { //if there was an id + //select contact with that id from the logged in user's contact list $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($tagcid), intval($profile_uid) ); - } - elseif(strstr($name,'_') || strstr($name,' ')) { + } elseif(strstr($name,'_') || strstr($name,' ')) { //no id + //get the real name $newname = str_replace('_',' ',$name); + //select someone from this user's contacts by name $r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1", dbesc($newname), intval($profile_uid) ); - } - else { + } else { + //select someone by attag or nick and the name passed in $r = q("SELECT * FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1", dbesc($name), dbesc($name), intval($profile_uid) ); - } + } + //$r is set, if someone could be selected if(count($r)) { - $profile = $r[0]['url']; + $profile = $r[0]['url']; + //set newname to nick, find alias if($r[0]['network'] === 'stat') { $newname = $r[0]['nick']; $stat = true; @@ -897,15 +924,19 @@ function handle_body(&$body, &$inform, &$str_tags, $profile_uid, $tag) { } else $newname = $r[0]['name']; + //add person's id to $inform if(strlen($inform)) $inform .= ','; $inform .= 'cid:' . $r[0]['id']; } - } - if($profile) { - $body = str_replace('@' . $name, '@' . '[url=' . $profile . ']' . $newname . '[/url]', $body); + } + //if there is an url for this persons profile + if(isset($profile)) { + //create profile link $profile = str_replace(',','%2c',$profile); $newtag = '@[url=' . $profile . ']' . $newname . '[/url]'; + $body = str_replace('@' . $name, $newtag, $body); + //append tag to str_tags if(! stristr($str_tags,$newtag)) { if(strlen($str_tags)) $str_tags .= ','; diff --git a/tests/get_tags_test.php b/tests/get_tags_test.php index a458f0fbc..ee2daced1 100644 --- a/tests/get_tags_test.php +++ b/tests/get_tags_test.php @@ -8,11 +8,45 @@ require_once 'include/text.php'; require_once 'mod/item.php'; function q($sql) { - return array(array('id'=>15, 'network'=>'stat', 'alias'=>'Mike', 'nick'=>'Mike', 'url'=>"http://justatest.de")); + + $result=array(array('id'=>15, + 'attag'=>'', 'network'=>'dfrn', + 'name'=>'Mike Lastname', 'alias'=>'Mike', + 'nick'=>'Mike', 'url'=>"http://justatest.de")); + + $args=func_get_args(); + $str=""; + foreach($args as $arg) { + $str.=", ".$arg; + } + + //last parameter is always (in this test) uid, so, it should be 11 + if($args[count($args)-1]!=11) { + throw new Exception("q from get_tags_test was used and uid was not 11. "); + } + + if(2==count($args)) { + //first call in handle_body, id only + if($result[0]['id']===$args[1]) { + return $result; + } + throw new Exception($str); + //second call in handle_body, name + if($result[0]['name']===$args[1]) { + return $result; + } + } + throw new Exception($str); + //third call in handle_body, nick or attag + if($result[0]['nick']===$args[2] || $result[0]['attag']===$args[1]) { + return $result; + } +// throw new Exception("Nothing fitted: ".$args[1].", ".$args[2]); } + function dbesc($str) { - echo $str; + return $str; } class GetTagsTest extends PHPUnit_Framework_TestCase { @@ -39,7 +73,7 @@ class GetTagsTest extends PHPUnit_Framework_TestCase { handle_body($text, $inform, $str_tags, 11, $tags[0]); $this->assertEquals("@Mike", $tags[0]); - $this->assertEquals($text, "hi @[url=http://justatest.de]Mike[/url]"); + $this->assertEquals("hi @[url=http://justatest.de]Mike Lastname[/url]", $text); } /** From 943617574699efe41ef1bfb2527cada847497495 Mon Sep 17 00:00:00 2001 From: tommy tomson Date: Mon, 12 Mar 2012 21:09:16 +0100 Subject: [PATCH 071/153] add lightbox, fixex in css --- view/theme/diabook-blue/experimental | 0 view/theme/diabook-blue/icons/isstar.png | Bin 1277 -> 0 bytes view/theme/diabook-blue/icons/next.png | Bin 0 -> 300 bytes .../diabook-blue/icons/notifications.png | Bin 727 -> 795 bytes view/theme/diabook-blue/icons/prev.png | Bin 0 -> 336 bytes view/theme/diabook-blue/icons/unglobe.png | Bin 798 -> 0 bytes .../lightbox/css/jquery.lightbox-0.5.css | 101 ++++ .../lightbox/images/lightbox-blank.gif | Bin 0 -> 43 bytes .../lightbox/images/lightbox-btn-close.gif | Bin 0 -> 700 bytes .../lightbox/images/lightbox-btn-next.gif | Bin 0 -> 812 bytes .../lightbox/images/lightbox-btn-prev.gif | Bin 0 -> 832 bytes .../lightbox/images/lightbox-ico-loading.gif | Bin 0 -> 3990 bytes view/theme/diabook-blue/lightbox/index.htm | 78 +++ view/theme/diabook-blue/lightbox/js/jquery.js | 32 ++ .../lightbox/js/jquery.lightbox-0.5.js | 472 ++++++++++++++++++ .../lightbox/js/jquery.lightbox-0.5.min.js | 42 ++ .../lightbox/js/jquery.lightbox-0.5.pack.js | 14 + .../diabook-blue/lightbox/photos/image1.jpg | Bin 0 -> 19983 bytes .../diabook-blue/lightbox/photos/image2.jpg | Bin 0 -> 45539 bytes .../diabook-blue/lightbox/photos/image3.jpg | Bin 0 -> 39361 bytes .../diabook-blue/lightbox/photos/image4.jpg | Bin 0 -> 18746 bytes .../diabook-blue/lightbox/photos/image5.jpg | Bin 0 -> 30903 bytes .../lightbox/photos/thumb_image1.jpg | Bin 0 -> 2092 bytes .../lightbox/photos/thumb_image2.jpg | Bin 0 -> 2541 bytes .../lightbox/photos/thumb_image3.jpg | Bin 0 -> 2237 bytes .../lightbox/photos/thumb_image4.jpg | Bin 0 -> 1993 bytes .../lightbox/photos/thumb_image5.jpg | Bin 0 -> 2045 bytes view/theme/diabook-blue/photo_view.tpl | 27 + view/theme/diabook-blue/style.css | 62 ++- view/theme/diabook-blue/theme.php | 24 +- view/theme/diabook/experimental | 0 view/theme/diabook/icons/isstar.png | Bin 1277 -> 0 bytes view/theme/diabook/icons/next.png | Bin 0 -> 300 bytes view/theme/diabook/icons/prev.png | Bin 0 -> 336 bytes view/theme/diabook/icons/unglobe.png | Bin 798 -> 0 bytes .../lightbox/css/jquery.lightbox-0.5.css | 101 ++++ .../lightbox/images/lightbox-blank.gif | Bin 0 -> 43 bytes .../lightbox/images/lightbox-btn-close.gif | Bin 0 -> 700 bytes .../lightbox/images/lightbox-btn-next.gif | Bin 0 -> 812 bytes .../lightbox/images/lightbox-btn-prev.gif | Bin 0 -> 832 bytes .../lightbox/images/lightbox-ico-loading.gif | Bin 0 -> 3990 bytes view/theme/diabook/lightbox/index.htm | 78 +++ view/theme/diabook/lightbox/js/jquery.js | 32 ++ .../lightbox/js/jquery.lightbox-0.5.js | 472 ++++++++++++++++++ .../lightbox/js/jquery.lightbox-0.5.min.js | 42 ++ .../lightbox/js/jquery.lightbox-0.5.pack.js | 14 + view/theme/diabook/lightbox/photos/image1.jpg | Bin 0 -> 19983 bytes view/theme/diabook/lightbox/photos/image2.jpg | Bin 0 -> 45539 bytes view/theme/diabook/lightbox/photos/image3.jpg | Bin 0 -> 39361 bytes view/theme/diabook/lightbox/photos/image4.jpg | Bin 0 -> 18746 bytes view/theme/diabook/lightbox/photos/image5.jpg | Bin 0 -> 30903 bytes .../diabook/lightbox/photos/thumb_image1.jpg | Bin 0 -> 2092 bytes .../diabook/lightbox/photos/thumb_image2.jpg | Bin 0 -> 2541 bytes .../diabook/lightbox/photos/thumb_image3.jpg | Bin 0 -> 2237 bytes .../diabook/lightbox/photos/thumb_image4.jpg | Bin 0 -> 1993 bytes .../diabook/lightbox/photos/thumb_image5.jpg | Bin 0 -> 2045 bytes view/theme/diabook/photo_view.tpl | 27 + view/theme/diabook/style.css | 71 ++- view/theme/diabook/theme.php | 23 +- 59 files changed, 1667 insertions(+), 45 deletions(-) delete mode 100755 view/theme/diabook-blue/experimental delete mode 100644 view/theme/diabook-blue/icons/isstar.png create mode 100755 view/theme/diabook-blue/icons/next.png create mode 100755 view/theme/diabook-blue/icons/prev.png delete mode 100755 view/theme/diabook-blue/icons/unglobe.png create mode 100644 view/theme/diabook-blue/lightbox/css/jquery.lightbox-0.5.css create mode 100644 view/theme/diabook-blue/lightbox/images/lightbox-blank.gif create mode 100644 view/theme/diabook-blue/lightbox/images/lightbox-btn-close.gif create mode 100644 view/theme/diabook-blue/lightbox/images/lightbox-btn-next.gif create mode 100644 view/theme/diabook-blue/lightbox/images/lightbox-btn-prev.gif create mode 100644 view/theme/diabook-blue/lightbox/images/lightbox-ico-loading.gif create mode 100644 view/theme/diabook-blue/lightbox/index.htm create mode 100644 view/theme/diabook-blue/lightbox/js/jquery.js create mode 100644 view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.js create mode 100644 view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.min.js create mode 100644 view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.pack.js create mode 100644 view/theme/diabook-blue/lightbox/photos/image1.jpg create mode 100644 view/theme/diabook-blue/lightbox/photos/image2.jpg create mode 100644 view/theme/diabook-blue/lightbox/photos/image3.jpg create mode 100644 view/theme/diabook-blue/lightbox/photos/image4.jpg create mode 100644 view/theme/diabook-blue/lightbox/photos/image5.jpg create mode 100644 view/theme/diabook-blue/lightbox/photos/thumb_image1.jpg create mode 100644 view/theme/diabook-blue/lightbox/photos/thumb_image2.jpg create mode 100644 view/theme/diabook-blue/lightbox/photos/thumb_image3.jpg create mode 100644 view/theme/diabook-blue/lightbox/photos/thumb_image4.jpg create mode 100644 view/theme/diabook-blue/lightbox/photos/thumb_image5.jpg create mode 100755 view/theme/diabook-blue/photo_view.tpl delete mode 100755 view/theme/diabook/experimental delete mode 100644 view/theme/diabook/icons/isstar.png create mode 100755 view/theme/diabook/icons/next.png create mode 100755 view/theme/diabook/icons/prev.png delete mode 100755 view/theme/diabook/icons/unglobe.png create mode 100644 view/theme/diabook/lightbox/css/jquery.lightbox-0.5.css create mode 100644 view/theme/diabook/lightbox/images/lightbox-blank.gif create mode 100644 view/theme/diabook/lightbox/images/lightbox-btn-close.gif create mode 100644 view/theme/diabook/lightbox/images/lightbox-btn-next.gif create mode 100644 view/theme/diabook/lightbox/images/lightbox-btn-prev.gif create mode 100644 view/theme/diabook/lightbox/images/lightbox-ico-loading.gif create mode 100644 view/theme/diabook/lightbox/index.htm create mode 100644 view/theme/diabook/lightbox/js/jquery.js create mode 100644 view/theme/diabook/lightbox/js/jquery.lightbox-0.5.js create mode 100644 view/theme/diabook/lightbox/js/jquery.lightbox-0.5.min.js create mode 100644 view/theme/diabook/lightbox/js/jquery.lightbox-0.5.pack.js create mode 100644 view/theme/diabook/lightbox/photos/image1.jpg create mode 100644 view/theme/diabook/lightbox/photos/image2.jpg create mode 100644 view/theme/diabook/lightbox/photos/image3.jpg create mode 100644 view/theme/diabook/lightbox/photos/image4.jpg create mode 100644 view/theme/diabook/lightbox/photos/image5.jpg create mode 100644 view/theme/diabook/lightbox/photos/thumb_image1.jpg create mode 100644 view/theme/diabook/lightbox/photos/thumb_image2.jpg create mode 100644 view/theme/diabook/lightbox/photos/thumb_image3.jpg create mode 100644 view/theme/diabook/lightbox/photos/thumb_image4.jpg create mode 100644 view/theme/diabook/lightbox/photos/thumb_image5.jpg create mode 100755 view/theme/diabook/photo_view.tpl diff --git a/view/theme/diabook-blue/experimental b/view/theme/diabook-blue/experimental deleted file mode 100755 index e69de29bb..000000000 diff --git a/view/theme/diabook-blue/icons/isstar.png b/view/theme/diabook-blue/icons/isstar.png deleted file mode 100644 index c955b25b5b0310e509ae7f9a5afd3aa605f7094f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1277 zcmVcM)7k|;=waJ-D3lg=gQ%$Yg+vc4Y97}JA}lJvo1Em;5m zf9v}%3%CZ1?4P-^eqhe>Yw@{i)c02&On!SVPX2gfw0>yrlIt4$!k%(r{M&h_HS&X8 z^OPI^e(5(?>uavYC>QW0zh_O4+_;ckgg<-Tz4e1LR$do^{?E%fFSJ`saRr(FNhIfB zI+oFf(eu}ZpcwISzp}U+t_j5FfaENY4#KM}SwC`M#+okT_?RlpbsIT4@$`K9jH8i(SF zOL1C46+$)5aHcxw&fomZPzC@T+1q)GR|r0|QE|D+wRsF8(2GPH5%eHI%o0KZXdusT z5jZDiO(GkHvN0)bQfUmA#By<5cg^_cEY?;Jz>J`cE0{NcrCM)mLTM}z00;qs%K#97 z2RSEXDMSbWU_;R6#asr11W;T+TEDAt_Tp{=!03U_?fJ5M)>siDWPH)&2$O?MPBZ~w ze834}OOcR@NC?D`5>YXs3~Fg+a}Xb$tGcHx0Bm|7e<(7h*XDUE3@550z&RjuK$fAU zK!9AUH7EdXVolt!wKWIv@xXvK&wFCXU5bX|J4$v|m)V}Ln9auXMFfNiArpzVKzJdL z0kXcB#+1oKCWJ;I*AUg9(x#dN$+q(s+?Kf;28D^F{)3<1EAhrT_U-)i(knJ-C%hsQ zlto)4oDVocK_q5PDr<3jLIb1)gAe+;?#k_gxelv%-gfC&IwXcdy} zP&z2U2N1)h?#C+*+GNB4&M3A5d&_WDabKv=+93cl8CleG`0oXa^S8?Lg zuE-X9S3?G12spJ`!w~R00Dl@_ET9aqA;17I1({#@cR`BOjuk7jRV;jP+SU)97nTn_pYQd@M_1} z(=`AX{(AJSr1srAxf`B*#Ou6+7&;7wy`Z(XPpN=@TM6EDsI5!M$z6TP`J*ou9_l+V z*=E|h+DV|ceq`^vYi;?qt+|C87t${Y#+0TcaE*bT@yUH-+3+u4HR_}9cRkuahRdM+ z;o80vpJazCgTHPvVfR`k@fY~N@i+N3`y`qr1DyZ>03~!qSaf7zbY(hYa%Ew3WdJfT zF)%GKGA%JMR539+H8MIhG%YYTIxsLlXF%Bi001R)MObuXVRU6WZEs|0W_bWIFfchS nFflDKHdHY=IxsOhFfc7JHaajcyd|2t00000NkvXXu0mjf_UJUE diff --git a/view/theme/diabook-blue/icons/next.png b/view/theme/diabook-blue/icons/next.png new file mode 100755 index 0000000000000000000000000000000000000000..7b5e25b905f7f32d8ddad32ffdc68595282332f3 GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VV{wqX6T`Z5GB1G~wj^(N7l!{J zxM1({$v_d#0*}aI1_o|n5N2eUHAey{$X?><>&kwInMX)pEY`$xA5dtGr;B5V#p$D0 z47nQ}CD=d2=cE|z(QH23VxTeqr29uko>LjyC3H1XO|>Vlv190F-248)yHoq~cI>LN zy>9#c!%U-PHc5zW3O>A*+v9|z>#25e~Z<=f?KE^>B*)`}8=F0&119Q!4X zE$Ei{A`+b0R>@c8rZ2Kqe1Un1)5R#pD);|?6Hdxc`f|!sUN!T!O75E_@%ldtJnZ%@ oV$b=RUGMs}b*mdKI;Vst0AdDj5C8xG literal 0 HcmV?d00001 diff --git a/view/theme/diabook-blue/icons/notifications.png b/view/theme/diabook-blue/icons/notifications.png index c23673dbd09fe07a2a17a34bb70d472043922501..33ae95c6a0c78c4e71a5b6da79c48040c1aae1cc 100755 GIT binary patch delta 746 zcmVZR$mjf3V6_?MH#dwyC@M)a+@P#60H9RE_nMCuipVK@jOGkxo{Obh3LlFZQNpPg`ADctCdh`uoaM6~#zr2-|oT zZy;N{`{TD+nW|^7i0e3l6}*Q#__}TC_92NSUc=M)7#&=~EcWL(jxNr(e@%TChjAwM z$95>&Sj5iYaA3{{$MLL8)$eii*YO9=1?e$-hGD!EWZz>A@8VN@8F^3PE95!$g}h%e zjTv0SH^}f2J_-A}_JRZR)yA)o3&#;d0y5zeQ;(T*;%Wqj3k} z0u~;Unuqn*R^(iW|0BV1E-O>@IDUwtztcALe3`0*zuKl=5C4|{e?HeXbrUswGW@sj zId0>{JWZe2z)3uYQ)Q~g+oo>Xrd|({@qrVLL)+BrK{k$4fjya~Piz#cOACsT&N5cx z34XV|w$kluD@HocvCdbUi}X4u*P%OBdsP@am3-1q-;<+~sp cdXxj)2MhZ7$iM)eMgRZ+07*qoM6N<$f+vb;p8x;= delta 677 zcmV;W0$Tl>2G<24iBL{Q4GJ0x0000DNk~Le0000M0000M2nGNE0K~LxJCPwje+mFJ zGV;hyHvj+vS4l)cR5;7E)WK_2M-<2LPhN7NRnbJABo{GgydY9R5V{l8uC#O^#jR9y z`a?>E^u0<&nU%;J|R_&N;vD zJ#)^v!)F>}{Y6zblE&C2EV4x8807tav zun+g~zN(ul_SXZBS9Me2eQ5UKTwgO5PP?#(dpLo&IE$CKS#l~v&ai$&dGyIG1@EY?0KaI=Se}sbpeSmj3 zgWwsNAU&E- z%K`1;LTJwi%S7vF_i+(lU}@-2n{K6H8c$lbrKrjEV61tujIFbOvZ|Zqm?uZkwj&lz zzSfv&MLe^X!?1Q@#A|mZF7kE3!(&wNYzsU)il8$hc;bHq^LfU9xd+>H+r|Yn00000 LNkvXXu0mjf8k0i6 diff --git a/view/theme/diabook-blue/icons/prev.png b/view/theme/diabook-blue/icons/prev.png new file mode 100755 index 0000000000000000000000000000000000000000..55c1464ba016c02da4c7ccb23d33203e25ab0eb1 GIT binary patch literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VV{wqX6T`Z5GB1G~wj^(N7l!{J zxM1({$v_d#0*}aI1_o|n5N2eUHAey{$X?><>&kwInMX*^WTL;NG*IY*r;B5V#p%6Q z4ZWKjB^Vy4=VoY!aNLp=ky84we#>|DBRl_J3|rB>!?N?5$de0?uFTKK652ma*zOV2 z`^&FeA6r<+-J4$hzVD00QRZn9i=Q@F92RiRx}K8M!Sy$Yp%|n zVSmx{=(@V8I}h7kSl#5SbVE9C^%TqQg!MZ-kIt&-OyG`Lp7cE8Z)0ijMz(8$Iep*k z9M0Mw3G_Z!q!D>b%{w`LXH}$J`=`%eWgLHp{{F!IU841?=b07iX*&;^D6rl;T>fG2 b?GMa0R`K7$PWHC|{l?(w>gTe~DWM4fA?$?c literal 0 HcmV?d00001 diff --git a/view/theme/diabook-blue/icons/unglobe.png b/view/theme/diabook-blue/icons/unglobe.png deleted file mode 100755 index aa9b0e189550523c072082fa246c4102d38bd98a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 798 zcmV+(1L6FMP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyY# z47;WzRu=p4XhiIoI$%WX#Esa4y;p+aKJ38t zxaUd$?#E5&;?{^*Gc~}7ScluNy1crsFrFI2d$G0kJcGNZ33xxYw4OJYO-v1NFE*6> zMXbW^h?x1`0V84?c9v%81HvX87kb;Vrz1uc}s!w%{?N z3piRl^ipfy&Dd2+@}KApsb2@XS`9N_Ebs(g&&*3@+$?@7?sT~LY6o}X!y=RA0b9+o zP*V6VUdhal+JiFlGTw=ZGnm6;rEv}x{~Q}|4<0NjJcZ{n^Y>x7&&+S|Ohn8T&EADu zmilE4tKnw+gX5X`>?p7S;OFr)zQFdSPITQR>UT|f|8{1+G3gnyX__DFx_+~iqt`Ue c&+YI30?z)n(Xe**=l}o!07*qoM6N<$g3PFO6#xJL diff --git a/view/theme/diabook-blue/lightbox/css/jquery.lightbox-0.5.css b/view/theme/diabook-blue/lightbox/css/jquery.lightbox-0.5.css new file mode 100644 index 000000000..c7c3d1cb1 --- /dev/null +++ b/view/theme/diabook-blue/lightbox/css/jquery.lightbox-0.5.css @@ -0,0 +1,101 @@ +/** + * jQuery lightBox plugin + * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) + * and adapted to me for use like a plugin from jQuery. + * @name jquery-lightbox-0.5.css + * @author Leandro Vieira Pinho - http://leandrovieira.com + * @version 0.5 + * @date April 11, 2008 + * @category jQuery plugin + * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) + * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US + * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin + */ +#jquery-overlay { + position: absolute; + top: 0; + left: 0; + z-index: 90; + width: 100%; + height: 500px; +} +#jquery-lightbox { + position: absolute; + top: 0; + left: 0; + width: 100%; + z-index: 100; + text-align: center; + line-height: 0; +} +#jquery-lightbox a img { border: none; } +#lightbox-container-image-box { + position: relative; + background-color: #fff; + width: 250px; + height: 250px; + margin: 0 auto; +} +#lightbox-container-image { padding: 10px; } +#lightbox-loading { + position: absolute; + top: 40%; + left: 0%; + height: 25%; + width: 100%; + text-align: center; + line-height: 0; +} +#lightbox-nav { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 10; +} +#lightbox-container-image-box > #lightbox-nav { left: 0; } +#lightbox-nav a { outline: none;} +#lightbox-nav-btnPrev, #lightbox-nav-btnNext { + width: 49%; + height: 100%; + zoom: 1; + display: block; +} +#lightbox-nav-btnPrev { + left: 0; + float: left; +} +#lightbox-nav-btnNext { + right: 0; + float: right; +} +#lightbox-container-image-data-box { + font: 10px Verdana, Helvetica, sans-serif; + background-color: #fff; + margin: 0 auto; + line-height: 1.4em; + overflow: auto; + width: 100%; + padding: 0 10px 0; +} +#lightbox-container-image-data { + padding: 0 10px; + color: #666; +} +#lightbox-container-image-data #lightbox-image-details { + width: 70%; + float: left; + text-align: left; +} +#lightbox-image-details-caption { font-weight: bold; } +#lightbox-image-details-currentNumber { + display: block; + clear: left; + padding-bottom: 1.0em; +} +#lightbox-secNav-btnClose { + width: 66px; + float: right; + padding-bottom: 0.7em; +} \ No newline at end of file diff --git a/view/theme/diabook-blue/lightbox/images/lightbox-blank.gif b/view/theme/diabook-blue/lightbox/images/lightbox-blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf GIT binary patch literal 43 scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx literal 0 HcmV?d00001 diff --git a/view/theme/diabook-blue/lightbox/images/lightbox-btn-close.gif b/view/theme/diabook-blue/lightbox/images/lightbox-btn-close.gif new file mode 100644 index 0000000000000000000000000000000000000000..33bcf517a35b72135b6a5b97bac72425762b8343 GIT binary patch literal 700 zcmZ?wbhEHbbYc)=xXQrr|NsBLfB*ja_3OuvA78(I{qW(#>({SezI^%Y*|R54p4`8G z|IVE|w{G3Ke*OB@t5+{wx^(*V=@TbT?Ay0*`}XZywrtt7Y18`k>sPE;v3T*~dGqGY zo;`cov}qG3PVDdR@9F7jZ*OmEYHDa`sI9FnD=RB5E-oxA%*)Hm%*;$rPftlnNlHqJ zkB^Uyjg5+m3Jnbn4h{|o2=Mds^Y-@k^z?Ldb7LR`6o0ZXurvH;&;cm~`H6w;ze7WT zhmKVLi6uoRbFAiHSg}QNM$~#2#^;SaIV^5XhYKa-WLTaw7EPSeoxUZ&W*tAf%&o4( zmMs}FnZ=U&t@`p#;`)5z0}*FgxG7?Q+eP>#}Q0kG{s^ou20;n;V<17z*6xlW|Jw?=bOR#PEpA zg=KOFx5Rw`%jtY|_3ZS` zqUjnN13nacHVT_2ml!nlJA2OW%MmP8S=ga0=sH=)An?>j$~+u1KUln%@oJ3-U|ygRY{{;{vyg#@ zVe7)XGmJPB4>%ce-gMSF@xfy;(;UM9kqL%E%RL+UjM8k(gB06(gljgeIR7Z|k07_Y Yz?%8?E)08>7@u6ee}4b|UkVJ?0I^^iLI3~& literal 0 HcmV?d00001 diff --git a/view/theme/diabook-blue/lightbox/images/lightbox-btn-next.gif b/view/theme/diabook-blue/lightbox/images/lightbox-btn-next.gif new file mode 100644 index 0000000000000000000000000000000000000000..a0d4fcf84a784f2cf44c33084145dde5df294ccf GIT binary patch literal 812 zcmZ?wbhEHbv}aIYc*el+|NsBLfB*je{rl(7pWnZK|N8ao=g*%%e*F0U{rk6X-@bnR z`sK@)&!0bk_Uze{Cr=(ddi3DIgM0Vx-MMq;#*G`-u3fuy>C%M@7tWnKck0xs6DLj_ zJ9g~Qp+g4_9N4pG&#qm&wr$(CWy_Y$n>TOVxN-gZ^=sFzUA=ns%9SgZFJHcN>C(lE z7tftLclPYrGiT16IB{Zse}8XpZ+CZhdwY9pYio0Jb7Ny;LqkJdU0qdGRYgTbSy@?0 zNl8ILL0(>7PEJl%R#rwvMp{~0N=iynQc^-fLR?&2OiWBvR8&MnL|9l@NJvOfP*6ZX zfS;eAudlDSx3{OKr@OnmtE;QCvop}+41)kD{$ycfX9#A{0l5VfCk*WW8-jxwT3XxM zJ370%dpeqXCrq3)dCJsj(`U?_HG9t7dGi-6T(o$}(q+q6EMSyU6K`dbQDR_IP*vNm z&M%^|u7yignomt{TLh9X-vlT%qa~3Xe4)wGVP;i|rWZ3pVTZ!3`iIq!%NnqiVmI=~4yG?*UBuy@#qi_9lOv%EOFWqjwm)IFQ?j)3`1T=zfmcO{foI3W6sLtd zS4F+)nC;}rU*j;#AyW5g3x|3eXP|{qRNj;|3pfM literal 0 HcmV?d00001 diff --git a/view/theme/diabook-blue/lightbox/images/lightbox-btn-prev.gif b/view/theme/diabook-blue/lightbox/images/lightbox-btn-prev.gif new file mode 100644 index 0000000000000000000000000000000000000000..040ee5992f7fdb9b51907cb4ba1c5570b1b5482a GIT binary patch literal 832 zcmZ?wbhEHbv}aIYc*el+|NsBLfB*je{rl(7pFe*5`1bAFmoHyFefsp_!-se8-o1MD z>gCIq&!0bk`t<4J$B!RAe0cx<{kwPX-oAbN)~#DNZrr$b?b?+qS1w$*aPHi>GiT16 zK7IP+$&<&AA3u8Z=;6bM4<0Ta{2P*ix)3mxNzb8`Sa(^n>T09oLRGG&6qJ`%9JS+CQRt>@9*vHZEbCBZf^0EX>c(&&|!v&d$!v%uG#9O-@cuN=iydNQjGz zi;0Peii(PehzJV{3keAc4h{|s4D|Q+_x1Jl_V)Jl^mKQ3cXD!aaBu(y1q0oI;!hSv zc7{j>9gxkSIALJ_-@wq++|t_C-qG3B78%*yKVf2j-=wM2rq7r;YxbPE^X4yDxM=Z` zrOTGDSUHZ{$*`cIU*V9G=mkL*$3~&B9F~NQE=O7f+$T8{d|+|! z5LB^I==tcv%)lM$(xcU&+%-wnv&x6z08`gQRsV((28G1VNlI>g4%W9mc+UCN{rKLQV#k0fcFk=e`pVK=5riUkZTAtTQ6isw#WRUmZ3z(a9R-j$e ze3FRFDrSywC%q{a3<^!By0Zf_LL_n(8yB!Rulm4I*~32ZbaR4DVcG)ssl5F2B6c2< z?&fr4Oo*`z)H=|_wuV)6!iF%%R#s*epBZ+t2Ny7lSgg8L*Lk3Uk?9ck4?hLV?=DPC dE8_S6+w=SThsUSq`|tm!>h(?3l#7MI8UW1vMEU># literal 0 HcmV?d00001 diff --git a/view/theme/diabook-blue/lightbox/images/lightbox-ico-loading.gif b/view/theme/diabook-blue/lightbox/images/lightbox-ico-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..4f1429c06cb2ffd2910b038d06b01a4b3ee00a21 GIT binary patch literal 3990 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 + + + + jQuery lightBox plugin + + + + + + + + + + + + + + + + +

    Example

    +

    Click in the image and see the jQuery lightBox plugin in action.

    + + + + \ No newline at end of file diff --git a/view/theme/diabook-blue/lightbox/js/jquery.js b/view/theme/diabook-blue/lightbox/js/jquery.js new file mode 100644 index 000000000..3747929d8 --- /dev/null +++ b/view/theme/diabook-blue/lightbox/js/jquery.js @@ -0,0 +1,32 @@ +/* + * jQuery 1.2.3 - New Wave Javascript + * + * Copyright (c) 2008 John Resig (jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * $Date: 2008-02-06 00:21:25 -0500 (Wed, 06 Feb 2008) $ + * $Rev: 4663 $ + */ +(function(){if(window.jQuery)var _jQuery=window.jQuery;var jQuery=window.jQuery=function(selector,context){return new jQuery.prototype.init(selector,context);};if(window.$)var _$=window.$;window.$=jQuery;var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;var isSimple=/^.[^:#\[\.]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}else if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem)if(elem.id!=match[3])return jQuery().find(selector);else{this[0]=elem;this.length=1;return this;}else +selector=[];}}else +return new jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return new jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(selector.constructor==Array&&selector||(selector.jquery||selector.length&&selector!=window&&!selector.nodeType&&selector[0]!=undefined&&selector[0].nodeType)&&jQuery.makeArray(selector)||[selector]);},jquery:"1.2.3",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;this.each(function(i){if(this==elem)ret=i;});return ret;},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value==undefined)return this.length&&jQuery[type||"attr"](this[0],name)||undefined;else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else +return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else +selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return!selector?this:this.pushStack(jQuery.merge(this.get(),selector.constructor==String?jQuery(selector).get():selector.length!=undefined&&(!selector.nodeName||jQuery.nodeName(selector,"form"))?selector:[selector]));},is:function(selector){return selector?jQuery.multiFilter(selector,this).length>0:false;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=value.constructor==Array?value:[value];jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else +this.value=value;});},html:function(value){return value==undefined?(this.length?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value==null){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data==undefined&&this.length)data=jQuery.data(this[0],key);return data==null&&parts[1]?this.data(parts[0]):data;}else +return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script")){scripts=scripts.add(elem);}else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.prototype.init.prototype=jQuery.prototype;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else +jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==1){target=this;i=0;}for(;i-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else +jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret;function color(elem){if(!jQuery.browser.safari)return false;var ret=document.defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(elem.style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=elem.style.outline;elem.style.outline="0 solid black";elem.style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&elem.style&&elem.style[name])ret=elem.style[name];else if(document.defaultView&&document.defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var getComputedStyle=document.defaultView.getComputedStyle(elem,null);if(getComputedStyle&&!color(elem))ret=getComputedStyle.getPropertyValue(name);else{var swap=[],stack=[];for(var a=elem;a&&color(a);a=a.parentNode)stack.unshift(a);for(var i=0;i]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("",""]||!tags.indexOf("",""]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
    "]||!tags.indexOf("",""]||(!tags.indexOf("",""]||!tags.indexOf("",""]||jQuery.browser.msie&&[1,"div
    ","
    "]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf(""&&tags.indexOf("=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else +ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var fix=jQuery.isXMLDoc(elem)?{}:jQuery.props;if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(fix[name]){if(value!=undefined)elem[fix[name]]=value;return elem[fix[name]];}else if(jQuery.browser.msie&&name=="style")return jQuery.attr(elem.style,"cssText",value);else if(value==undefined&&jQuery.browser.msie&&jQuery.nodeName(elem,"form")&&(name=="action"||name=="method"))return elem.getAttributeNode(name).nodeValue;else if(elem.tagName){if(value!=undefined){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem.setAttribute(name,""+value);}if(jQuery.browser.msie&&/href|src/.test(name)&&!jQuery.isXMLDoc(elem))return elem.getAttribute(name,2);return elem.getAttribute(name);}else{if(name=="opacity"&&jQuery.browser.msie){if(value!=undefined){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseFloat(value).toString()=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100).toString():"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(value!=undefined)elem[name]=value;return elem[name];}},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(typeof array!="array")for(var i=0,length=array.length;i*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return im[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false;var re=quickChild;var m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[];var cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&(!elem||n!=elem))r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval!=undefined)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=function(){return fn.apply(this,arguments);};handler.data=data;handler.guid=fn.guid;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){var val;if(typeof jQuery=="undefined"||jQuery.event.triggered)return val;val=jQuery.event.handle.apply(arguments.callee.elem,arguments);return val;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else +for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data||[]);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event)data.unshift(this.fix({type:type,target:elem}));data[0].type=type;if(exclusive)data[0].exclusive=true;if(jQuery.isFunction(jQuery.data(elem,"handle")))val=jQuery.data(elem,"handle").apply(elem,data);if(!fn&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val;event=jQuery.event.fix(event||window.event||{});var parts=event.type.split(".");event.type=parts[0];var handlers=jQuery.data(this,"events")&&jQuery.data(this,"events")[event.type],args=Array.prototype.slice.call(arguments,1);args.unshift(event);for(var j in handlers){var handler=handlers[j];args[0].handler=handler;args[0].data=handler.data;if(!parts[1]&&!event.exclusive||handler.type==parts[1]){var ret=handler.apply(this,args);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}if(jQuery.browser.msie)event.target=event.preventDefault=event.stopPropagation=event.handler=event.data=null;return val;},fix:function(event){var originalEvent=event;event=jQuery.extend({},originalEvent);event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=originalEvent.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){return this.each(function(){jQuery.event.add(this,type,function(event){jQuery(this).unbind(event);return(fn||data).apply(this,arguments);},fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){if(this[0])return jQuery.event.trigger(type,data,this[0],false,fn);return undefined;},toggle:function(){var args=arguments;return this.click(function(event){this.lastToggle=0==this.lastToggle?1:0;event.preventDefault();return args[this.lastToggle].apply(this,arguments)||false;});},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else +jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.apply(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("
    ").append(res.responseText.replace(//g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=(new Date).getTime();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){var jsonp,jsre=/=\?(&|$)/g,status,data;s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(s.type.toLowerCase()=="get"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&s.type.toLowerCase()=="get"){var ts=(new Date()).getTime();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&s.type.toLowerCase()=="get"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");if((!s.url.indexOf("http")||!s.url.indexOf("//"))&&s.dataType=="script"&&s.type.toLowerCase()=="get"){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xml=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();xml.open(s.type,s.url,s.async,s.username,s.password);try{if(s.data)xml.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xml.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xml.setRequestHeader("X-Requested-With","XMLHttpRequest");xml.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend)s.beforeSend(xml);if(s.global)jQuery.event.trigger("ajaxSend",[xml,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xml&&(xml.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xml)&&"error"||s.ifModified&&jQuery.httpNotModified(xml,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xml,s.dataType);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xml.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else +jQuery.handleError(s,xml,status);complete();if(s.async)xml=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xml){xml.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xml.send(s.data);}catch(e){jQuery.handleError(s,xml,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xml,s]);}function complete(){if(s.complete)s.complete(xml,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xml,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xml;},handleError:function(s,xml,status,e){if(s.error)s.error(xml,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xml,s,e]);},active:0,httpSuccess:function(r){try{return!r.status&&location.protocol=="file:"||(r.status>=200&&r.status<300)||r.status==304||r.status==1223||jQuery.browser.safari&&r.status==undefined;}catch(e){}return false;},httpNotModified:function(xml,url){try{var xmlRes=xml.getResponseHeader("Last-Modified");return xml.status==304||xmlRes==jQuery.lastModified[url]||jQuery.browser.safari&&xml.status==undefined;}catch(e){}return false;},httpData:function(r,type){var ct=r.getResponseHeader("content-type");var xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0;var data=xml?r.responseXML:r.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else +for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else +s.push(encodeURIComponent(j)+"="+encodeURIComponent(a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle(fn,fn2):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall);var hidden=jQuery(this).is(":hidden"),self=this;for(var p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return jQuery.isFunction(opt.complete)&&opt.complete.apply(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else +e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.apply(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(!elem)return undefined;type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",array?jQuery.makeArray(array):[]);return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].apply(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:{slow:600,fast:200}[opt.duration])||400;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.apply(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.apply(this.elem,[this.now,this]);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=(new Date()).getTime();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;ithis.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done&&jQuery.isFunction(this.options.complete))this.options.complete.apply(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.fx.step={scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}};jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),fixed=jQuery.css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&jQuery.css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(jQuery.css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&jQuery.css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||jQuery.css(offsetChild,"position")=="absolute"))||(mozilla&&jQuery.css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l)||0;top+=parseInt(t)||0;}return results;};})(); \ No newline at end of file diff --git a/view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.js b/view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.js new file mode 100644 index 000000000..eef6425e0 --- /dev/null +++ b/view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.js @@ -0,0 +1,472 @@ +/** + * jQuery lightBox plugin + * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) + * and adapted to me for use like a plugin from jQuery. + * @name jquery-lightbox-0.5.js + * @author Leandro Vieira Pinho - http://leandrovieira.com + * @version 0.5 + * @date April 11, 2008 + * @category jQuery plugin + * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) + * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US + * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin + */ + +// Offering a Custom Alias suport - More info: http://docs.jquery.com/Plugins/Authoring#Custom_Alias +(function($) { + /** + * $ is an alias to jQuery object + * + */ + $.fn.lightBox = function(settings) { + // Settings to configure the jQuery lightBox plugin how you like + settings = jQuery.extend({ + // Configuration related to overlay + overlayBgColor: '#000', // (string) Background color to overlay; inform a hexadecimal value like: #RRGGBB. Where RR, GG, and BB are the hexadecimal values for the red, green, and blue values of the color. + overlayOpacity: 0.8, // (integer) Opacity value to overlay; inform: 0.X. Where X are number from 0 to 9 + // Configuration related to navigation + fixedNavigation: false, // (boolean) Boolean that informs if the navigation (next and prev button) will be fixed or not in the interface. + // Configuration related to images + imageLoading: 'images/lightbox-ico-loading.gif', // (string) Path and the name of the loading icon + imageBtnPrev: 'images/lightbox-btn-prev.gif', // (string) Path and the name of the prev button image + imageBtnNext: 'images/lightbox-btn-next.gif', // (string) Path and the name of the next button image + imageBtnClose: 'images/lightbox-btn-close.gif', // (string) Path and the name of the close btn + imageBlank: 'images/lightbox-blank.gif', // (string) Path and the name of a blank image (one pixel) + // Configuration related to container image box + containerBorderSize: 10, // (integer) If you adjust the padding in the CSS for the container, #lightbox-container-image-box, you will need to update this value + containerResizeSpeed: 400, // (integer) Specify the resize duration of container image. These number are miliseconds. 400 is default. + // Configuration related to texts in caption. For example: Image 2 of 8. You can alter either "Image" and "of" texts. + txtImage: 'Image', // (string) Specify text "Image" + txtOf: 'of', // (string) Specify text "of" + // Configuration related to keyboard navigation + keyToClose: 'c', // (string) (c = close) Letter to close the jQuery lightBox interface. Beyond this letter, the letter X and the SCAPE key is used to. + keyToPrev: 'p', // (string) (p = previous) Letter to show the previous image + keyToNext: 'n', // (string) (n = next) Letter to show the next image. + // Don´t alter these variables in any way + imageArray: [], + activeImage: 0 + },settings); + // Caching the jQuery object with all elements matched + var jQueryMatchedObj = this; // This, in this context, refer to jQuery object + /** + * Initializing the plugin calling the start function + * + * @return boolean false + */ + function _initialize() { + _start(this,jQueryMatchedObj); // This, in this context, refer to object (link) which the user have clicked + return false; // Avoid the browser following the link + } + /** + * Start the jQuery lightBox plugin + * + * @param object objClicked The object (link) whick the user have clicked + * @param object jQueryMatchedObj The jQuery object with all elements matched + */ + function _start(objClicked,jQueryMatchedObj) { + // Hime some elements to avoid conflict with overlay in IE. These elements appear above the overlay. + $('embed, object, select').css({ 'visibility' : 'hidden' }); + // Call the function to create the markup structure; style some elements; assign events in some elements. + _set_interface(); + // Unset total images in imageArray + settings.imageArray.length = 0; + // Unset image active information + settings.activeImage = 0; + // We have an image set? Or just an image? Let´s see it. + if ( jQueryMatchedObj.length == 1 ) { + settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title'))); + } else { + // Add an Array (as many as we have), with href and title atributes, inside the Array that storage the images references + for ( var i = 0; i < jQueryMatchedObj.length; i++ ) { + settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title'))); + } + } + while ( settings.imageArray[settings.activeImage][0] != objClicked.getAttribute('href') ) { + settings.activeImage++; + } + // Call the function that prepares image exibition + _set_image_to_view(); + } + /** + * Create the jQuery lightBox plugin interface + * + * The HTML markup will be like that: +
    +
    + + +
    + * + */ + function _set_interface() { + // Apply the HTML markup into body tag + $('body').append('
    '); + // Get page sizes + var arrPageSizes = ___getPageSize(); + // Style overlay and show it + $('#jquery-overlay').css({ + backgroundColor: settings.overlayBgColor, + opacity: settings.overlayOpacity, + width: arrPageSizes[0], + height: arrPageSizes[1] + }).fadeIn(); + // Get page scroll + var arrPageScroll = ___getPageScroll(); + // Calculate top and left offset for the jquery-lightbox div object and show it + $('#jquery-lightbox').css({ + top: arrPageScroll[1] + (arrPageSizes[3] / 10), + left: arrPageScroll[0] + }).show(); + // Assigning click events in elements to close overlay + $('#jquery-overlay,#jquery-lightbox').click(function() { + _finish(); + }); + // Assign the _finish function to lightbox-loading-link and lightbox-secNav-btnClose objects + $('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function() { + _finish(); + return false; + }); + // If window was resized, calculate the new overlay dimensions + $(window).resize(function() { + // Get page sizes + var arrPageSizes = ___getPageSize(); + // Style overlay and show it + $('#jquery-overlay').css({ + width: arrPageSizes[0], + height: arrPageSizes[1] + }); + // Get page scroll + var arrPageScroll = ___getPageScroll(); + // Calculate top and left offset for the jquery-lightbox div object and show it + $('#jquery-lightbox').css({ + top: arrPageScroll[1] + (arrPageSizes[3] / 10), + left: arrPageScroll[0] + }); + }); + } + /** + * Prepares image exibition; doing a image´s preloader to calculate it´s size + * + */ + function _set_image_to_view() { // show the loading + // Show the loading + $('#lightbox-loading').show(); + if ( settings.fixedNavigation ) { + $('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); + } else { + // Hide some elements + $('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); + } + // Image preload process + var objImagePreloader = new Image(); + objImagePreloader.onload = function() { + $('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]); + // Perfomance an effect in the image container resizing it + _resize_container_image_box(objImagePreloader.width,objImagePreloader.height); + // clear onLoad, IE behaves irratically with animated gifs otherwise + objImagePreloader.onload=function(){}; + }; + objImagePreloader.src = settings.imageArray[settings.activeImage][0]; + }; + /** + * Perfomance an effect in the image container resizing it + * + * @param integer intImageWidth The image´s width that will be showed + * @param integer intImageHeight The image´s height that will be showed + */ + function _resize_container_image_box(intImageWidth,intImageHeight) { + // Get current width and height + var intCurrentWidth = $('#lightbox-container-image-box').width(); + var intCurrentHeight = $('#lightbox-container-image-box').height(); + // Get the width and height of the selected image plus the padding + var intWidth = (intImageWidth + (settings.containerBorderSize * 2)); // Plus the image´s width and the left and right padding value + var intHeight = (intImageHeight + (settings.containerBorderSize * 2)); // Plus the image´s height and the left and right padding value + // Diferences + var intDiffW = intCurrentWidth - intWidth; + var intDiffH = intCurrentHeight - intHeight; + // Perfomance the effect + $('#lightbox-container-image-box').animate({ width: intWidth, height: intHeight },settings.containerResizeSpeed,function() { _show_image(); }); + if ( ( intDiffW == 0 ) && ( intDiffH == 0 ) ) { + if ( $.browser.msie ) { + ___pause(250); + } else { + ___pause(100); + } + } + $('#lightbox-container-image-data-box').css({ width: intImageWidth }); + $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ height: intImageHeight + (settings.containerBorderSize * 2) }); + }; + /** + * Show the prepared image + * + */ + function _show_image() { + $('#lightbox-loading').hide(); + $('#lightbox-image').fadeIn(function() { + _show_image_data(); + _set_navigation(); + }); + _preload_neighbor_images(); + }; + /** + * Show the image information + * + */ + function _show_image_data() { + $('#lightbox-container-image-data-box').slideDown('fast'); + $('#lightbox-image-details-caption').hide(); + if ( settings.imageArray[settings.activeImage][1] ) { + $('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show(); + } + // If we have a image set, display 'Image X of X' + if ( settings.imageArray.length > 1 ) { + $('#lightbox-image-details-currentNumber').html(settings.txtImage + ' ' + ( settings.activeImage + 1 ) + ' ' + settings.txtOf + ' ' + settings.imageArray.length).show(); + } + } + /** + * Display the button navigations + * + */ + function _set_navigation() { + $('#lightbox-nav').show(); + + // Instead to define this configuration in CSS file, we define here. And it´s need to IE. Just. + $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); + + // Show the prev button, if not the first image in set + if ( settings.activeImage != 0 ) { + if ( settings.fixedNavigation ) { + $('#lightbox-nav-btnPrev').css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' }) + .unbind() + .bind('click',function() { + settings.activeImage = settings.activeImage - 1; + _set_image_to_view(); + return false; + }); + } else { + // Show the images button for Next buttons + $('#lightbox-nav-btnPrev').unbind().hover(function() { + $(this).css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' }); + },function() { + $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); + }).show().bind('click',function() { + settings.activeImage = settings.activeImage - 1; + _set_image_to_view(); + return false; + }); + } + } + + // Show the next button, if not the last image in set + if ( settings.activeImage != ( settings.imageArray.length -1 ) ) { + if ( settings.fixedNavigation ) { + $('#lightbox-nav-btnNext').css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' }) + .unbind() + .bind('click',function() { + settings.activeImage = settings.activeImage + 1; + _set_image_to_view(); + return false; + }); + } else { + // Show the images button for Next buttons + $('#lightbox-nav-btnNext').unbind().hover(function() { + $(this).css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' }); + },function() { + $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); + }).show().bind('click',function() { + settings.activeImage = settings.activeImage + 1; + _set_image_to_view(); + return false; + }); + } + } + // Enable keyboard navigation + _enable_keyboard_navigation(); + } + /** + * Enable a support to keyboard navigation + * + */ + function _enable_keyboard_navigation() { + $(document).keydown(function(objEvent) { + _keyboard_action(objEvent); + }); + } + /** + * Disable the support to keyboard navigation + * + */ + function _disable_keyboard_navigation() { + $(document).unbind(); + } + /** + * Perform the keyboard actions + * + */ + function _keyboard_action(objEvent) { + // To ie + if ( objEvent == null ) { + keycode = event.keyCode; + escapeKey = 27; + // To Mozilla + } else { + keycode = objEvent.keyCode; + escapeKey = objEvent.DOM_VK_ESCAPE; + } + // Get the key in lower case form + key = String.fromCharCode(keycode).toLowerCase(); + // Verify the keys to close the ligthBox + if ( ( key == settings.keyToClose ) || ( key == 'x' ) || ( keycode == escapeKey ) ) { + _finish(); + } + // Verify the key to show the previous image + if ( ( key == settings.keyToPrev ) || ( keycode == 37 ) ) { + // If we´re not showing the first image, call the previous + if ( settings.activeImage != 0 ) { + settings.activeImage = settings.activeImage - 1; + _set_image_to_view(); + _disable_keyboard_navigation(); + } + } + // Verify the key to show the next image + if ( ( key == settings.keyToNext ) || ( keycode == 39 ) ) { + // If we´re not showing the last image, call the next + if ( settings.activeImage != ( settings.imageArray.length - 1 ) ) { + settings.activeImage = settings.activeImage + 1; + _set_image_to_view(); + _disable_keyboard_navigation(); + } + } + } + /** + * Preload prev and next images being showed + * + */ + function _preload_neighbor_images() { + if ( (settings.imageArray.length -1) > settings.activeImage ) { + objNext = new Image(); + objNext.src = settings.imageArray[settings.activeImage + 1][0]; + } + if ( settings.activeImage > 0 ) { + objPrev = new Image(); + objPrev.src = settings.imageArray[settings.activeImage -1][0]; + } + } + /** + * Remove jQuery lightBox plugin HTML markup + * + */ + function _finish() { + $('#jquery-lightbox').remove(); + $('#jquery-overlay').fadeOut(function() { $('#jquery-overlay').remove(); }); + // Show some elements to avoid conflict with overlay in IE. These elements appear above the overlay. + $('embed, object, select').css({ 'visibility' : 'visible' }); + } + /** + / THIRD FUNCTION + * getPageSize() by quirksmode.com + * + * @return Array Return an array with page width, height and window width, height + */ + function ___getPageSize() { + var xScroll, yScroll; + if (window.innerHeight && window.scrollMaxY) { + xScroll = window.innerWidth + window.scrollMaxX; + yScroll = window.innerHeight + window.scrollMaxY; + } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac + xScroll = document.body.scrollWidth; + yScroll = document.body.scrollHeight; + } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari + xScroll = document.body.offsetWidth; + yScroll = document.body.offsetHeight; + } + var windowWidth, windowHeight; + if (self.innerHeight) { // all except Explorer + if(document.documentElement.clientWidth){ + windowWidth = document.documentElement.clientWidth; + } else { + windowWidth = self.innerWidth; + } + windowHeight = self.innerHeight; + } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode + windowWidth = document.documentElement.clientWidth; + windowHeight = document.documentElement.clientHeight; + } else if (document.body) { // other Explorers + windowWidth = document.body.clientWidth; + windowHeight = document.body.clientHeight; + } + // for small pages with total height less then height of the viewport + if(yScroll < windowHeight){ + pageHeight = windowHeight; + } else { + pageHeight = yScroll; + } + // for small pages with total width less then width of the viewport + if(xScroll < windowWidth){ + pageWidth = xScroll; + } else { + pageWidth = windowWidth; + } + arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight); + return arrayPageSize; + }; + /** + / THIRD FUNCTION + * getPageScroll() by quirksmode.com + * + * @return Array Return an array with x,y page scroll values. + */ + function ___getPageScroll() { + var xScroll, yScroll; + if (self.pageYOffset) { + yScroll = self.pageYOffset; + xScroll = self.pageXOffset; + } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict + yScroll = document.documentElement.scrollTop; + xScroll = document.documentElement.scrollLeft; + } else if (document.body) {// all other Explorers + yScroll = document.body.scrollTop; + xScroll = document.body.scrollLeft; + } + arrayPageScroll = new Array(xScroll,yScroll); + return arrayPageScroll; + }; + /** + * Stop the code execution from a escified time in milisecond + * + */ + function ___pause(ms) { + var date = new Date(); + curDate = null; + do { var curDate = new Date(); } + while ( curDate - date < ms); + }; + // Return the jQuery object for chaining. The unbind method is used to avoid click conflict when the plugin is called more than once + return this.unbind('click').click(_initialize); + }; +})(jQuery); // Call and execute the function immediately passing the jQuery object \ No newline at end of file diff --git a/view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.min.js b/view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.min.js new file mode 100644 index 000000000..5f13b0bf6 --- /dev/null +++ b/view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.min.js @@ -0,0 +1,42 @@ +/** + * jQuery lightBox plugin + * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) + * and adapted to me for use like a plugin from jQuery. + * @name jquery-lightbox-0.5.js + * @author Leandro Vieira Pinho - http://leandrovieira.com + * @version 0.5 + * @date April 11, 2008 + * @category jQuery plugin + * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) + * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US + * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin + */ +(function($){$.fn.lightBox=function(settings){settings=jQuery.extend({overlayBgColor:'#000',overlayOpacity:0.8,fixedNavigation:false,imageLoading:'images/lightbox-ico-loading.gif',imageBtnPrev:'images/lightbox-btn-prev.gif',imageBtnNext:'images/lightbox-btn-next.gif',imageBtnClose:'images/lightbox-btn-close.gif',imageBlank:'images/lightbox-blank.gif',containerBorderSize:10,containerResizeSpeed:400,txtImage:'Image',txtOf:'of',keyToClose:'c',keyToPrev:'p',keyToNext:'n',imageArray:[],activeImage:0},settings);var jQueryMatchedObj=this;function _initialize(){_start(this,jQueryMatchedObj);return false;} +function _start(objClicked,jQueryMatchedObj){$('embed, object, select').css({'visibility':'hidden'});_set_interface();settings.imageArray.length=0;settings.activeImage=0;if(jQueryMatchedObj.length==1){settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));}else{for(var i=0;i
    ');var arrPageSizes=___getPageSize();$('#jquery-overlay').css({backgroundColor:settings.overlayBgColor,opacity:settings.overlayOpacity,width:arrPageSizes[0],height:arrPageSizes[1]}).fadeIn();var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]}).show();$('#jquery-overlay,#jquery-lightbox').click(function(){_finish();});$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function(){_finish();return false;});$(window).resize(function(){var arrPageSizes=___getPageSize();$('#jquery-overlay').css({width:arrPageSizes[0],height:arrPageSizes[1]});var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]});});} +function _set_image_to_view(){$('#lightbox-loading').show();if(settings.fixedNavigation){$('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();}else{$('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();} +var objImagePreloader=new Image();objImagePreloader.onload=function(){$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);objImagePreloader.onload=function(){};};objImagePreloader.src=settings.imageArray[settings.activeImage][0];};function _resize_container_image_box(intImageWidth,intImageHeight){var intCurrentWidth=$('#lightbox-container-image-box').width();var intCurrentHeight=$('#lightbox-container-image-box').height();var intWidth=(intImageWidth+(settings.containerBorderSize*2));var intHeight=(intImageHeight+(settings.containerBorderSize*2));var intDiffW=intCurrentWidth-intWidth;var intDiffH=intCurrentHeight-intHeight;$('#lightbox-container-image-box').animate({width:intWidth,height:intHeight},settings.containerResizeSpeed,function(){_show_image();});if((intDiffW==0)&&(intDiffH==0)){if($.browser.msie){___pause(250);}else{___pause(100);}} +$('#lightbox-container-image-data-box').css({width:intImageWidth});$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({height:intImageHeight+(settings.containerBorderSize*2)});};function _show_image(){$('#lightbox-loading').hide();$('#lightbox-image').fadeIn(function(){_show_image_data();_set_navigation();});_preload_neighbor_images();};function _show_image_data(){$('#lightbox-container-image-data-box').slideDown('fast');$('#lightbox-image-details-caption').hide();if(settings.imageArray[settings.activeImage][1]){$('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show();} +if(settings.imageArray.length>1){$('#lightbox-image-details-currentNumber').html(settings.txtImage+' '+(settings.activeImage+1)+' '+settings.txtOf+' '+settings.imageArray.length).show();}} +function _set_navigation(){$('#lightbox-nav').show();$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({'background':'transparent url('+settings.imageBlank+') no-repeat'});if(settings.activeImage!=0){if(settings.fixedNavigation){$('#lightbox-nav-btnPrev').css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnPrev').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}} +if(settings.activeImage!=(settings.imageArray.length-1)){if(settings.fixedNavigation){$('#lightbox-nav-btnNext').css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnNext').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}} +_enable_keyboard_navigation();} +function _enable_keyboard_navigation(){$(document).keydown(function(objEvent){_keyboard_action(objEvent);});} +function _disable_keyboard_navigation(){$(document).unbind();} +function _keyboard_action(objEvent){if(objEvent==null){keycode=event.keyCode;escapeKey=27;}else{keycode=objEvent.keyCode;escapeKey=objEvent.DOM_VK_ESCAPE;} +key=String.fromCharCode(keycode).toLowerCase();if((key==settings.keyToClose)||(key=='x')||(keycode==escapeKey)){_finish();} +if((key==settings.keyToPrev)||(keycode==37)){if(settings.activeImage!=0){settings.activeImage=settings.activeImage-1;_set_image_to_view();_disable_keyboard_navigation();}} +if((key==settings.keyToNext)||(keycode==39)){if(settings.activeImage!=(settings.imageArray.length-1)){settings.activeImage=settings.activeImage+1;_set_image_to_view();_disable_keyboard_navigation();}}} +function _preload_neighbor_images(){if((settings.imageArray.length-1)>settings.activeImage){objNext=new Image();objNext.src=settings.imageArray[settings.activeImage+1][0];} +if(settings.activeImage>0){objPrev=new Image();objPrev.src=settings.imageArray[settings.activeImage-1][0];}} +function _finish(){$('#jquery-lightbox').remove();$('#jquery-overlay').fadeOut(function(){$('#jquery-overlay').remove();});$('embed, object, select').css({'visibility':'visible'});} +function ___getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;} +var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;} +windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;} +if(yScroll35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6($){$.2N.3g=6(4){4=23.2H({2B:\'#34\',2g:0.8,1d:F,1M:\'18/5-33-Y.16\',1v:\'18/5-1u-2Q.16\',1E:\'18/5-1u-2L.16\',1W:\'18/5-1u-2I.16\',19:\'18/5-2F.16\',1f:10,2A:3d,2s:\'1j\',2o:\'32\',2j:\'c\',2f:\'p\',2d:\'n\',h:[],9:0},4);f I=N;6 20(){1X(N,I);u F}6 1X(1e,I){$(\'1U, 1S, 1R\').l({\'1Q\':\'2E\'});1O();4.h.B=0;4.9=0;7(I.B==1){4.h.1J(v 1m(1e.17(\'J\'),1e.17(\'2v\')))}j{36(f i=0;i<1w g="5-b"><1w W="\'+4.1M+\'"><1i g="5-b-A-1t"><1i g="5-b-A-1g"><1w W="\'+4.1W+\'">\');f z=1D();$(\'#q-13\').l({2K:4.2B,2J:4.2g,S:z[0],P:z[1]}).1V();f R=1p();$(\'#q-5\').l({1T:R[1]+(z[3]/10),1c:R[0]}).E();$(\'#q-13,#q-5\').C(6(){1a()});$(\'#5-Y-29,#5-1s-22\').C(6(){1a();u F});$(G).2G(6(){f z=1D();$(\'#q-13\').l({S:z[0],P:z[1]});f R=1p();$(\'#q-5\').l({1T:R[1]+(z[3]/10),1c:R[0]})})}6 D(){$(\'#5-Y\').E();7(4.1d){$(\'#5-b,#5-s-b-T-w,#5-b-A-1g\').1b()}j{$(\'#5-b,#5-k,#5-k-V,#5-k-X,#5-s-b-T-w,#5-b-A-1g\').1b()}f Q=v 1j();Q.1P=6(){$(\'#5-b\').2D(\'W\',4.h[4.9][0]);1N(Q.S,Q.P);Q.1P=6(){}};Q.W=4.h[4.9][0]};6 1N(1o,1r){f 1L=$(\'#5-s-b-w\').S();f 1K=$(\'#5-s-b-w\').P();f 1n=(1o+(4.1f*2));f 1y=(1r+(4.1f*2));f 1I=1L-1n;f 2z=1K-1y;$(\'#5-s-b-w\').3f({S:1n,P:1y},4.2A,6(){2y()});7((1I==0)&&(2z==0)){7($.3e.3c){1H(3b)}j{1H(3a)}}$(\'#5-s-b-T-w\').l({S:1o});$(\'#5-k-V,#5-k-X\').l({P:1r+(4.1f*2)})};6 2y(){$(\'#5-Y\').1b();$(\'#5-b\').1V(6(){2u();2t()});2r()};6 2u(){$(\'#5-s-b-T-w\').38(\'35\');$(\'#5-b-A-1t\').1b();7(4.h[4.9][1]){$(\'#5-b-A-1t\').2p(4.h[4.9][1]).E()}7(4.h.B>1){$(\'#5-b-A-1g\').2p(4.2s+\' \'+(4.9+1)+\' \'+4.2o+\' \'+4.h.B).E()}}6 2t(){$(\'#5-k\').E();$(\'#5-k-V,#5-k-X\').l({\'K\':\'1C M(\'+4.19+\') L-O\'});7(4.9!=0){7(4.1d){$(\'#5-k-V\').l({\'K\':\'M(\'+4.1v+\') 1c 15% L-O\'}).11().1k(\'C\',6(){4.9=4.9-1;D();u F})}j{$(\'#5-k-V\').11().2m(6(){$(N).l({\'K\':\'M(\'+4.1v+\') 1c 15% L-O\'})},6(){$(N).l({\'K\':\'1C M(\'+4.19+\') L-O\'})}).E().1k(\'C\',6(){4.9=4.9-1;D();u F})}}7(4.9!=(4.h.B-1)){7(4.1d){$(\'#5-k-X\').l({\'K\':\'M(\'+4.1E+\') 2l 15% L-O\'}).11().1k(\'C\',6(){4.9=4.9+1;D();u F})}j{$(\'#5-k-X\').11().2m(6(){$(N).l({\'K\':\'M(\'+4.1E+\') 2l 15% L-O\'})},6(){$(N).l({\'K\':\'1C M(\'+4.19+\') L-O\'})}).E().1k(\'C\',6(){4.9=4.9+1;D();u F})}}2k()}6 2k(){$(d).30(6(12){2i(12)})}6 1G(){$(d).11()}6 2i(12){7(12==2h){U=2Z.2e;1x=27}j{U=12.2e;1x=12.2Y}14=2X.2W(U).2U();7((14==4.2j)||(14==\'x\')||(U==1x)){1a()}7((14==4.2f)||(U==37)){7(4.9!=0){4.9=4.9-1;D();1G()}}7((14==4.2d)||(U==39)){7(4.9!=(4.h.B-1)){4.9=4.9+1;D();1G()}}}6 2r(){7((4.h.B-1)>4.9){2c=v 1j();2c.W=4.h[4.9+1][0]}7(4.9>0){2b=v 1j();2b.W=4.h[4.9-1][0]}}6 1a(){$(\'#q-5\').2a();$(\'#q-13\').2T(6(){$(\'#q-13\').2a()});$(\'1U, 1S, 1R\').l({\'1Q\':\'2S\'})}6 1D(){f o,r;7(G.1h&&G.28){o=G.26+G.2R;r=G.1h+G.28}j 7(d.m.25>d.m.24){o=d.m.2P;r=d.m.25}j{o=d.m.2O;r=d.m.24}f y,H;7(Z.1h){7(d.t.1l){y=d.t.1l}j{y=Z.26}H=Z.1h}j 7(d.t&&d.t.1A){y=d.t.1l;H=d.t.1A}j 7(d.m){y=d.m.1l;H=d.m.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

    5sLvM6_8R^C{>F-HBAhQ7LqiXBUBg%M6*pA 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 z zhqdVFv?g-jbS%}5L={GmWf=;Ptfm3z(6$JKLfHVT1T<0rP)P)trA<|rVwBShVjqTU z{K~m2(?jsgLGFo7mFXeqbu3eZ48H5Y7x=t3A{u7onm5`azIZmkfAYK8LORU8T*h3#@fC}c()s=;i* z@oY?EU~nH0>GoSRZ@+^1YmQ6!Qw_=;T{CQSY+(NYReH?7+JL6J;OR}*I2!>i`W+D> z2~5`!vTQ+YN$vz2jZ;@*n^NJ4y?~piCUdjHo)0i;shI|%OJpB~B19NsQy_TIGSI_H z0I19H4FuSXbhNSGgk<>cA1hX!CRpN>r2E^)4#eViwV*ym!E4wbfXcArk`x1^W!qg_$h#g7}npOFkQo6OfTn|$Y@(UyB* zyQ&tXmHY#e0~FPUH4vxKxza@Mz&xu?O%m1_>!|_h-6Bd~UBF68`|m_^D3c zlp7xK+*HtTR*hHr^kR+%loiVlYa>mzV?eDLEr>b~*BWHLVB#0LUMz;kIUdoK6>0!y@Hx z&yLNiCs9dN6s@sb=|RPclxRY}Jd$P`6!<$XAY+vi3WgZ*-2*RZb`&Jq9i<5qmqp}ZW3#tFp;jI$ zu=woasc>eR6q;)|~@gkYW#pco<*fYCzL zb}ga+vV=nsNn(M9q&ozMx(Y9Gr%durrB&ZyCOdcAkyDSrX@ZhkhM;i{z>HE@&oZhm zk$=UbcIup1w*h&ogY{~v0-7qypf^FwXL@*n+;H%fNgMTxmW4f&GbD>IC#x; zsYZj`ItWS%z)o$iL~&NhW?arKb=sX2Ey!+z5atbeOUZGsBI3uKHBTn}Evw*Z}YtxeZ6C7?X&3_eP{#Lt;(eS6{ z`a7z}q0PP=tdX-K<$I2Q#Ta#E6>|kk z_>C<14;pfVZC33jXyk_qo$@a%eb?|`!tbP;7=@K1l!6D=+A7s4EKY{w%ehhX_Qzvw zt+Mm?z^Oh@nKJDrB9~xZNh;A&W7vGoX|h&ShT?49r*+mT8qjGN2tyV_GNzrT>qHm~&mzuG zVvSrfwe5RYbqg+RYnC!R@N^Ud;=W#|MUH(WR#)w#P@OK4W(FLrs{<)SfN~cm=!NbV zlw1&v3zIWyU9iO6B82CZ4;*`8=+p$NEz8zBsvpaH!tFy?NCh+X305W)pRnxloHiUs4*{3}XaANt zG;;xa9oox{rp)nVwd7tIRKF+8qy#*X^5|Ekk0{eM?ou3~uAYjjIpT2zjv9CRrDTGX zTwjr`+CHHRTKL;20j5wM>vvvqcXj?=jI77;d^BH&MJ-HROFXn&L#Xbx=p`>wlP71+ xY+#p(5zAwE`-?93YM47I+4XM>Vo${InChk$k-U!gw^ir$c-B0$yn&Om|JgL$^F;sv literal 0 HcmV?d00001 diff --git a/view/theme/diabook-blue/lightbox/photos/image3.jpg b/view/theme/diabook-blue/lightbox/photos/image3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..eee77b3791241b17464e6a0030fd68bacc391ddc GIT binary patch literal 39361 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 Nq0LE<*;V5w|Jh{a$?gCE literal 0 HcmV?d00001 diff --git a/view/theme/diabook-blue/lightbox/photos/image4.jpg b/view/theme/diabook-blue/lightbox/photos/image4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9c67a20ee7fe7894ab2b887d4494cb5daff3f4b7 GIT binary patch literal 18746 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 literal 0 HcmV?d00001 diff --git a/view/theme/diabook-blue/lightbox/photos/image5.jpg b/view/theme/diabook-blue/lightbox/photos/image5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e60bf60b53882edd4b445f1cf3a5854341b6be6a GIT binary patch literal 30903 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 Jf6O3v;=irmy^jC@ literal 0 HcmV?d00001 diff --git a/view/theme/diabook-blue/lightbox/photos/thumb_image2.jpg b/view/theme/diabook-blue/lightbox/photos/thumb_image2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0b3cc0beabe449660efe2963ceff7c3a397cad55 GIT binary patch literal 2541 zcmZ9GcQo4z8^?bUTZ|+|t(Zm35~GTu_AaW_xP+_p(kLO?8&Or1UX+$<5#z?L=yk7g zQKQrhO6=I}wZ~O^=hgQ;r+>Vk=bz`C?{hxSmp)FP19&V=EldFr2n3j43_za*i~tBL zD=Ql-gpCaXg|I`Qyxb57H}54F3=V@`5`^fA%rhLNF%-@jg%69u&<(qb@pI01_U%8;8r3O9BQMAoXWuow)aAY zF^#Hb#>%b4viGe4ya59HyX|0OQ(lsTrSl%sPnnp8S@!D*$Y~^qdaJINVVe$U@~Ouo zS7{x_;%$P30l9%et>$Xhr1|_WMwGhN7o}V_2L2ZQi%;CP-{(Cd*IoP%DY@?Cp=Zk6 zrp7{~1EJJp7h33?CCn5r*2MQ-Q%IM=Gm#tgvSjEV>+y-IA>CH z6Ys`8QXCKkZcRUYWn^^?wenf)IG5V({Tcr$kAZo??tMRU*>E-%Np+RQRxWVJV0rT= z!jJ+UT-nQxA_+9w*MrS-+w;B`XFi0-yZ9Z!26)O=GCGj8V_4T>w;ugf|~PNtlTBxd?G_t zPjw^)$`u7%Tqy1*(4mOX1MaXzipLb*sA*`n1I4;LV`<{Zu>$KstP5%m^N!CYrnF%+ zk+`9tJHMCwZAAt@!#peLmnrq+>DXpEZQ-Yp7xu@!YPC1GrjkZIsHB@i41%If;nViM zchWR?(?Q1w}P!oW^!A)9NM+Q=s@o>i?8mGne5W?);j0k0pqw?Si?_* zbR|bmbFA!!&M{Ucxrtbic#oZcv75rR@?}~?#ccWOH(dS*%FqZM8t#-o(we;sWCiMJ zb||PbN0;1MiB{4nt=G1fq>ggsu2jw(ti~ONeX%<`G09tVgGmS4HErlCBq}^S(&OtrC^Z?01q9a|V|%_KI;}mxQV;(!KNa z@VRqDoO`D-hGXLGzzcPg@T6yzE6a17Ci`)*<5k9-E3^;B zN~_PyE&pDcb{?xHD~2w_;7&qHBjYHCd@zcXF4q4x$C zQv_bt+oUZY)1zpb|Cl-|9r@+({xOCmVTLLA3&Fkh;V8r`X=$TNeN~`tw^P()^rc^| z@2NqcSuNKzeCl7R;jp$72m5Z#qu(^thn>>MyuE@P z72QoOD|ofpSqL3SV0N8v;;qcXy3@)-X@P3xqfmh_Zoc9P9T2ltC@m0Xd}y$mVSP@L`$yspVw_Y&ai~t@%}^!TC=~?7 z<+R*T5;e+-{%~Gb_|3O~#bmvVpbC2z5@AYNsT#2c)V$pvDOi;HrV2TLw@6}pERVC$ zcR$>(O8cgzc>roTF)kFbUY2U+YNge7{F+@V7XRwluZpLXTBMkz{Dq~;bG?bIKfWq# zv9BW*=s4sY*L`!+WG~x@ssAjkBFLHV=N;!8xA%0D%aj$fNw}$*v8M6G{I9sp4Laa! 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 literal 0 HcmV?d00001 diff --git a/view/theme/diabook-blue/lightbox/photos/thumb_image4.jpg b/view/theme/diabook-blue/lightbox/photos/thumb_image4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..06ac43addbacaa4b60cb2b01b9ee923707ba2bda GIT binary patch literal 1993 zcmYk0dpy$%AIE>YX{!~xg=T6Sid?rGmvPEOW=3EILWHoiJrh z+9451o<&I_I=OU8D7UC^l2drr^E|KfJn!#6-`DH&`o6!P)&A9CK*QCU;S7L4Aiza6 z!0Hg-2q58bI0BADAdo2JS|kdqjzp?swa{n`8m*;`!KuJ#YvOeXI(SVo*}#BIHa9af zGpGE`4+&^J5~-n~p@~9iYGE)KEnU0{T|M0&=oyl?s303|-KM9fw{5Gjv7w={F@<9B zw?Vb6wg4#jk5Uj23IL-(5EN)t31|ZV;zyqGx_&YNz&4b z{`Uo6pIocvTsofhT-=wpNH7)C=35B@t9o6Mwwt`Ba@{=!Y}jerb-r0bFh{gKqy6hi zXN&cZFE6|j$sBfh_?@9&g+Jcjyvfbkqe0n)Icwbv#rEnOR}@DvvPZ9M@^1upqOzFg zQ6o=o9z$l>ba{Mdzi+obPOOYQe59AQhuC4W^iIa-rL_j^!d0AQg~q96)Zn?V>gn>Q z58pl6y-b?$t?u4&`ogcjY#ishk+!F7+|d%dXkXM@tZ8)r)w_jL9VHd*Z8V(`Bzq}2 z+;p+RSEDd-AGKstp7cI^qez-s=&p}A(sz#TR5=SK*hJ=vM-SM~L=1V!S>%HqwJiv zusSwtG)Ou;hw}&nDUtTF3*E~;!pn&z2lB41EWXM7WLxJ@U`NS5c=Y1#JZs5j+YGFG z7-fHg3DZ-?MX=OT);hFN#FHmFelGPV>d6P=f(p&=;KCAD#KBwiNun`FUZ3IO7_3Rq zo{mc?%&4DW58PGX8}1$6RZ2DJj;dNhdS!=J94@V!taUGu(U1vulk4YaI8ywuSJo2~ zY17EV@@~*u`OeBm#pivOAAGhvi?E<-^$PL9TglYesD%(?nwVxyKPbMq`8D(ueD zfo*#wu!J*zjVw1NJM=n=1)(vWteEv_(zL2HPkCjUD8lcqRzILaE;O^ViK82Y9kvGTn_3L(42Gp6y{ILo|=A;(6 zk8U7l6GSJb3vrgi&WHNWPVpu?65sOW5tbZW75%j?PLTUqdV)08oJ1(M!o;=Tdw$fi zrm>I=W(xOTDhSX%W$kFHm)YlYXc)YX`uxkRu9I6sYpcKL61N#kG^$mHXFi_xd3r7& zCjuf%^w-{16>l}Ym+zPI;9y)Y?R~mMs~N3MJAjo~>>&RTrHio@dR+;88rAFXZP zSUHIJ+5C}j86qH%)imPIz7ui9GubEA*>;&y{zlSYrrQHonjaF0nbF591`g{x3K3nH z)7P2!_;($_3r|BP!dWItqjS{gv=Ac=WJY~PB-U^^ ztoU=V+ID&>)26nUo`1rPre3>y306|ft;2dp0+#lJ5*NNP_g>C8hd3}Z5<0ZU-@I%{ zp6F|D5eyUNn6w>v#-Vhb2@mv)DsJdZ5{{!s+jAL}rr+S{W7BF;1A(%;N>Q@&QPc6j z^BptYFF~|_7S!wn)A4&MGspbA*;D0|mO`9e@%O3Cx6Df#8GJQUS3zud`2JtGz5AY# zJ)ppAKlnqOe=HZ%e|6Fcqs2zOc19lSPfokZp=l-5-Ai4<>r|fMb%lJ4kNk%` z%j9Q$_Rdc)zBin_MX%x-*2c$1gxk5f ze2K1;k2ibU%^@Tc-N8TLA3N$Hw%qEyz1U?Yd+5UX${4J^3_oie<3E}{-o~1*O-xko T^z++c7IQM6v(VNgSsnNnlG9@K literal 0 HcmV?d00001 diff --git a/view/theme/diabook-blue/lightbox/photos/thumb_image5.jpg b/view/theme/diabook-blue/lightbox/photos/thumb_image5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8ea97c630bb985722830ec570fbff632273a65a8 GIT binary patch literal 2045 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 S+L_I2E4$8i)g9Cmj{h4ZKZ&~l literal 0 HcmV?d00001 diff --git a/view/theme/diabook-blue/photo_view.tpl b/view/theme/diabook-blue/photo_view.tpl new file mode 100755 index 000000000..511fc73ac --- /dev/null +++ b/view/theme/diabook-blue/photo_view.tpl @@ -0,0 +1,27 @@ +

    +

    $album.1

    + + + +
    + {{ if $prevlink }}{{ endif }} + + {{ if $nextlink }}{{ endif }} +
    + +
    +
    $desc
    +{{ if $tags }} +
    $tags.0
    +
    $tags.1
    +{{ endif }} +{{ if $tags.2 }}{{ endif }} + +{{ if $edit }}$edit{{ endif }} \ No newline at end of file diff --git a/view/theme/diabook-blue/style.css b/view/theme/diabook-blue/style.css index 51b173f2a..81c056bf3 100644 --- a/view/theme/diabook-blue/style.css +++ b/view/theme/diabook-blue/style.css @@ -247,7 +247,7 @@ background-image: url("../../../images/icons/10/edit.png"); } .icon.s10.star { - background-image: url("../../../images/icons/10/star.png"); + background-image: url("../../../images/star_dummy.png"); } .icon.s10.menu { background-image: url("../../../images/icons/10/menu.png"); @@ -285,7 +285,7 @@ background-image: url("../../../images/icons/16/edit.png"); }*/ .icon.s16.star { - background-image: url("../../../images/icons/16/star.png"); + background-image: url("../../../images/star_dummy.png"); } .icon.s16.menu { background-image: url("../../../images/icons/16/menu.png"); @@ -323,7 +323,7 @@ background-image: url("../../../images/icons/22/edit.png"); } .icon.s22.star { - background-image: url("../../../images/icons/22/star.png"); + background-image: url("../../../images/star_dummy.png"); } .icon.s22.menu { background-image: url("../../../images/icons/22/menu.png"); @@ -361,7 +361,7 @@ background-image: url("../../../images/icons/48/edit.png"); } .icon.s48.star { - background-image: url("../../../images/icons/48/star.png"); + background-image: url("../../../images/star_dummy.png"); } .icon.s48.menu { background-image: url("../../../images/icons/48/menu.png"); @@ -438,7 +438,7 @@ a:hover { clear: both; } .fakelink { - color: #3465A4; + color: #1872A2; /* color: #3e3e8c; */ text-decoration: none; cursor: pointer; @@ -647,7 +647,7 @@ nav .nav-menu-icon { position: relative; height: 22px; padding: 5px; - margin: 0px 7px; + margin: 0px 5px; -moz-border-radius: 5px 5px 0 0; -webkit-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0; @@ -657,7 +657,7 @@ nav .nav-menu-icon:hover { position: relative; height: 22px; padding: 5px; - margin: 0px 7px; + margin: 0px 5px; -moz-border-radius: 5px 5px 0 0; -webkit-border-radius: 5px 5px 0 0; border-radius: 5px 5px 0 0; @@ -716,21 +716,17 @@ nav #nav-user-linkmenu nav #nav-user-linkmenu{ margin-right: 0px; } -nav #nav-home-link{ +nav #nav-home-link, #nav-directory-link, #nav-apps-link{ margin-left: 0px; + margin-right: 0px; font-weight: bold; + margin: 3px 5px; } nav #nav-directory-link{ - margin-left: 0px; - margin-right: 0px; - font-weight: bold; - margin: 3px 15px; + margin-right: 0px; } -nav #nav-apps-link{ - margin-left: 0px; - margin-right: 0px; - font-weight: bold; - margin: 3px 15px; +nav #nav-home-link{ + margin-left: 0px; } nav #nav-help-link .menu-popup, nav #nav-search-link .menu-popup, @@ -1048,6 +1044,12 @@ section { width: 800px; padding: 0px 0px 0px 12px; } +body .pageheader{ + text-align: center; + margin-top: 25px; + font-size: 0px; + } + #id_username { width: 173px; } @@ -1306,14 +1308,14 @@ section { } .tag { /*background: url("../../../images/tag_b.png") repeat-x center left;*/ - color: #3465A4; + color: #999; padding-left: 3px; font-size: 12px; } .tag a { padding-right: 5px; /*background: url("../../../images/tag.png") no-repeat center right;*/ - color: #3465A4; + color: #999; } .wwto { position: absolute !important; @@ -1988,10 +1990,24 @@ box-shadow: 1px 1px 5px 0; } #prvmail-submit { - float: left; + float: right; margin-top: 10px; - margin-right: 30px; } + +#prvmail-subject +{ +background: none repeat scroll 0 0 #FFFFFF; +border: 1px solid #CCCCCC; +border-radius: 5px 5px 5px 5px; +font-weight: bold; +height: 20px; +margin: 0 0 5px; +vertical-align: middle; +} +#prvmail-form{ + width: 597px; + } + #prvmail-upload-wrapper, #prvmail-link-wrapper, #prvmail-rotator-wrapper { @@ -2179,7 +2195,9 @@ a.mail-list-link { padding: 10px; float: left; } - +.lightbox{ + float: left; + } #photo-photo { float: left; } diff --git a/view/theme/diabook-blue/theme.php b/view/theme/diabook-blue/theme.php index 0a20c9fbc..1617dd7f0 100755 --- a/view/theme/diabook-blue/theme.php +++ b/view/theme/diabook-blue/theme.php @@ -12,7 +12,14 @@ $a->theme_info = array( ); $a->page['htmlhead'] .= <<< EOT + + + + + + + //appsmenu + $('html').click(function() { + $('#nav-apps-link').removeClass('selected'); + document.getElementById( "nav-apps-menu" ).style.display = "none"; + }); + + $('#nav-apps-link').click(function(event){ + event.stopPropagation(); + }); + + $(function() { + $('a.lightbox').lightBox(); // Select all links with lightbox class +}); + + + EOT; diff --git a/view/theme/diabook/experimental b/view/theme/diabook/experimental deleted file mode 100755 index e69de29bb..000000000 diff --git a/view/theme/diabook/icons/isstar.png b/view/theme/diabook/icons/isstar.png deleted file mode 100644 index c955b25b5b0310e509ae7f9a5afd3aa605f7094f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1277 zcmVcM)7k|;=waJ-D3lg=gQ%$Yg+vc4Y97}JA}lJvo1Em;5m zf9v}%3%CZ1?4P-^eqhe>Yw@{i)c02&On!SVPX2gfw0>yrlIt4$!k%(r{M&h_HS&X8 z^OPI^e(5(?>uavYC>QW0zh_O4+_;ckgg<-Tz4e1LR$do^{?E%fFSJ`saRr(FNhIfB zI+oFf(eu}ZpcwISzp}U+t_j5FfaENY4#KM}SwC`M#+okT_?RlpbsIT4@$`K9jH8i(SF zOL1C46+$)5aHcxw&fomZPzC@T+1q)GR|r0|QE|D+wRsF8(2GPH5%eHI%o0KZXdusT z5jZDiO(GkHvN0)bQfUmA#By<5cg^_cEY?;Jz>J`cE0{NcrCM)mLTM}z00;qs%K#97 z2RSEXDMSbWU_;R6#asr11W;T+TEDAt_Tp{=!03U_?fJ5M)>siDWPH)&2$O?MPBZ~w ze834}OOcR@NC?D`5>YXs3~Fg+a}Xb$tGcHx0Bm|7e<(7h*XDUE3@550z&RjuK$fAU zK!9AUH7EdXVolt!wKWIv@xXvK&wFCXU5bX|J4$v|m)V}Ln9auXMFfNiArpzVKzJdL z0kXcB#+1oKCWJ;I*AUg9(x#dN$+q(s+?Kf;28D^F{)3<1EAhrT_U-)i(knJ-C%hsQ zlto)4oDVocK_q5PDr<3jLIb1)gAe+;?#k_gxelv%-gfC&IwXcdy} zP&z2U2N1)h?#C+*+GNB4&M3A5d&_WDabKv=+93cl8CleG`0oXa^S8?Lg zuE-X9S3?G12spJ`!w~R00Dl@_ET9aqA;17I1({#@cR`BOjuk7jRV;jP+SU)97nTn_pYQd@M_1} z(=`AX{(AJSr1srAxf`B*#Ou6+7&;7wy`Z(XPpN=@TM6EDsI5!M$z6TP`J*ou9_l+V z*=E|h+DV|ceq`^vYi;?qt+|C87t${Y#+0TcaE*bT@yUH-+3+u4HR_}9cRkuahRdM+ z;o80vpJazCgTHPvVfR`k@fY~N@i+N3`y`qr1DyZ>03~!qSaf7zbY(hYa%Ew3WdJfT zF)%GKGA%JMR539+H8MIhG%YYTIxsLlXF%Bi001R)MObuXVRU6WZEs|0W_bWIFfchS nFflDKHdHY=IxsOhFfc7JHaajcyd|2t00000NkvXXu0mjf_UJUE diff --git a/view/theme/diabook/icons/next.png b/view/theme/diabook/icons/next.png new file mode 100755 index 0000000000000000000000000000000000000000..7b5e25b905f7f32d8ddad32ffdc68595282332f3 GIT binary patch literal 300 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VV{wqX6T`Z5GB1G~wj^(N7l!{J zxM1({$v_d#0*}aI1_o|n5N2eUHAey{$X?><>&kwInMX)pEY`$xA5dtGr;B5V#p$D0 z47nQ}CD=d2=cE|z(QH23VxTeqr29uko>LjyC3H1XO|>Vlv190F-248)yHoq~cI>LN zy>9#c!%U-PHc5zW3O>A*+v9|z>#25e~Z<=f?KE^>B*)`}8=F0&119Q!4X zE$Ei{A`+b0R>@c8rZ2Kqe1Un1)5R#pD);|?6Hdxc`f|!sUN!T!O75E_@%ldtJnZ%@ oV$b=RUGMs}b*mdKI;Vst0AdDj5C8xG literal 0 HcmV?d00001 diff --git a/view/theme/diabook/icons/prev.png b/view/theme/diabook/icons/prev.png new file mode 100755 index 0000000000000000000000000000000000000000..55c1464ba016c02da4c7ccb23d33203e25ab0eb1 GIT binary patch literal 336 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc1|)ksWqE-VV{wqX6T`Z5GB1G~wj^(N7l!{J zxM1({$v_d#0*}aI1_o|n5N2eUHAey{$X?><>&kwInMX*^WTL;NG*IY*r;B5V#p%6Q z4ZWKjB^Vy4=VoY!aNLp=ky84we#>|DBRl_J3|rB>!?N?5$de0?uFTKK652ma*zOV2 z`^&FeA6r<+-J4$hzVD00QRZn9i=Q@F92RiRx}K8M!Sy$Yp%|n zVSmx{=(@V8I}h7kSl#5SbVE9C^%TqQg!MZ-kIt&-OyG`Lp7cE8Z)0ijMz(8$Iep*k z9M0Mw3G_Z!q!D>b%{w`LXH}$J`=`%eWgLHp{{F!IU841?=b07iX*&;^D6rl;T>fG2 b?GMa0R`K7$PWHC|{l?(w>gTe~DWM4fA?$?c literal 0 HcmV?d00001 diff --git a/view/theme/diabook/icons/unglobe.png b/view/theme/diabook/icons/unglobe.png deleted file mode 100755 index aa9b0e189550523c072082fa246c4102d38bd98a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 798 zcmV+(1L6FMP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyY# z47;WzRu=p4XhiIoI$%WX#Esa4y;p+aKJ38t zxaUd$?#E5&;?{^*Gc~}7ScluNy1crsFrFI2d$G0kJcGNZ33xxYw4OJYO-v1NFE*6> zMXbW^h?x1`0V84?c9v%81HvX87kb;Vrz1uc}s!w%{?N z3piRl^ipfy&Dd2+@}KApsb2@XS`9N_Ebs(g&&*3@+$?@7?sT~LY6o}X!y=RA0b9+o zP*V6VUdhal+JiFlGTw=ZGnm6;rEv}x{~Q}|4<0NjJcZ{n^Y>x7&&+S|Ohn8T&EADu zmilE4tKnw+gX5X`>?p7S;OFr)zQFdSPITQR>UT|f|8{1+G3gnyX__DFx_+~iqt`Ue c&+YI30?z)n(Xe**=l}o!07*qoM6N<$g3PFO6#xJL diff --git a/view/theme/diabook/lightbox/css/jquery.lightbox-0.5.css b/view/theme/diabook/lightbox/css/jquery.lightbox-0.5.css new file mode 100644 index 000000000..c7c3d1cb1 --- /dev/null +++ b/view/theme/diabook/lightbox/css/jquery.lightbox-0.5.css @@ -0,0 +1,101 @@ +/** + * jQuery lightBox plugin + * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) + * and adapted to me for use like a plugin from jQuery. + * @name jquery-lightbox-0.5.css + * @author Leandro Vieira Pinho - http://leandrovieira.com + * @version 0.5 + * @date April 11, 2008 + * @category jQuery plugin + * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) + * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US + * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin + */ +#jquery-overlay { + position: absolute; + top: 0; + left: 0; + z-index: 90; + width: 100%; + height: 500px; +} +#jquery-lightbox { + position: absolute; + top: 0; + left: 0; + width: 100%; + z-index: 100; + text-align: center; + line-height: 0; +} +#jquery-lightbox a img { border: none; } +#lightbox-container-image-box { + position: relative; + background-color: #fff; + width: 250px; + height: 250px; + margin: 0 auto; +} +#lightbox-container-image { padding: 10px; } +#lightbox-loading { + position: absolute; + top: 40%; + left: 0%; + height: 25%; + width: 100%; + text-align: center; + line-height: 0; +} +#lightbox-nav { + position: absolute; + top: 0; + left: 0; + height: 100%; + width: 100%; + z-index: 10; +} +#lightbox-container-image-box > #lightbox-nav { left: 0; } +#lightbox-nav a { outline: none;} +#lightbox-nav-btnPrev, #lightbox-nav-btnNext { + width: 49%; + height: 100%; + zoom: 1; + display: block; +} +#lightbox-nav-btnPrev { + left: 0; + float: left; +} +#lightbox-nav-btnNext { + right: 0; + float: right; +} +#lightbox-container-image-data-box { + font: 10px Verdana, Helvetica, sans-serif; + background-color: #fff; + margin: 0 auto; + line-height: 1.4em; + overflow: auto; + width: 100%; + padding: 0 10px 0; +} +#lightbox-container-image-data { + padding: 0 10px; + color: #666; +} +#lightbox-container-image-data #lightbox-image-details { + width: 70%; + float: left; + text-align: left; +} +#lightbox-image-details-caption { font-weight: bold; } +#lightbox-image-details-currentNumber { + display: block; + clear: left; + padding-bottom: 1.0em; +} +#lightbox-secNav-btnClose { + width: 66px; + float: right; + padding-bottom: 0.7em; +} \ No newline at end of file diff --git a/view/theme/diabook/lightbox/images/lightbox-blank.gif b/view/theme/diabook/lightbox/images/lightbox-blank.gif new file mode 100644 index 0000000000000000000000000000000000000000..1d11fa9ada9e93505b3d736acb204083f45d5fbf GIT binary patch literal 43 scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx literal 0 HcmV?d00001 diff --git a/view/theme/diabook/lightbox/images/lightbox-btn-close.gif b/view/theme/diabook/lightbox/images/lightbox-btn-close.gif new file mode 100644 index 0000000000000000000000000000000000000000..33bcf517a35b72135b6a5b97bac72425762b8343 GIT binary patch literal 700 zcmZ?wbhEHbbYc)=xXQrr|NsBLfB*ja_3OuvA78(I{qW(#>({SezI^%Y*|R54p4`8G z|IVE|w{G3Ke*OB@t5+{wx^(*V=@TbT?Ay0*`}XZywrtt7Y18`k>sPE;v3T*~dGqGY zo;`cov}qG3PVDdR@9F7jZ*OmEYHDa`sI9FnD=RB5E-oxA%*)Hm%*;$rPftlnNlHqJ zkB^Uyjg5+m3Jnbn4h{|o2=Mds^Y-@k^z?Ldb7LR`6o0ZXurvH;&;cm~`H6w;ze7WT zhmKVLi6uoRbFAiHSg}QNM$~#2#^;SaIV^5XhYKa-WLTaw7EPSeoxUZ&W*tAf%&o4( zmMs}FnZ=U&t@`p#;`)5z0}*FgxG7?Q+eP>#}Q0kG{s^ou20;n;V<17z*6xlW|Jw?=bOR#PEpA zg=KOFx5Rw`%jtY|_3ZS` zqUjnN13nacHVT_2ml!nlJA2OW%MmP8S=ga0=sH=)An?>j$~+u1KUln%@oJ3-U|ygRY{{;{vyg#@ zVe7)XGmJPB4>%ce-gMSF@xfy;(;UM9kqL%E%RL+UjM8k(gB06(gljgeIR7Z|k07_Y Yz?%8?E)08>7@u6ee}4b|UkVJ?0I^^iLI3~& literal 0 HcmV?d00001 diff --git a/view/theme/diabook/lightbox/images/lightbox-btn-next.gif b/view/theme/diabook/lightbox/images/lightbox-btn-next.gif new file mode 100644 index 0000000000000000000000000000000000000000..a0d4fcf84a784f2cf44c33084145dde5df294ccf GIT binary patch literal 812 zcmZ?wbhEHbv}aIYc*el+|NsBLfB*je{rl(7pWnZK|N8ao=g*%%e*F0U{rk6X-@bnR z`sK@)&!0bk_Uze{Cr=(ddi3DIgM0Vx-MMq;#*G`-u3fuy>C%M@7tWnKck0xs6DLj_ zJ9g~Qp+g4_9N4pG&#qm&wr$(CWy_Y$n>TOVxN-gZ^=sFzUA=ns%9SgZFJHcN>C(lE z7tftLclPYrGiT16IB{Zse}8XpZ+CZhdwY9pYio0Jb7Ny;LqkJdU0qdGRYgTbSy@?0 zNl8ILL0(>7PEJl%R#rwvMp{~0N=iynQc^-fLR?&2OiWBvR8&MnL|9l@NJvOfP*6ZX zfS;eAudlDSx3{OKr@OnmtE;QCvop}+41)kD{$ycfX9#A{0l5VfCk*WW8-jxwT3XxM zJ370%dpeqXCrq3)dCJsj(`U?_HG9t7dGi-6T(o$}(q+q6EMSyU6K`dbQDR_IP*vNm z&M%^|u7yignomt{TLh9X-vlT%qa~3Xe4)wGVP;i|rWZ3pVTZ!3`iIq!%NnqiVmI=~4yG?*UBuy@#qi_9lOv%EOFWqjwm)IFQ?j)3`1T=zfmcO{foI3W6sLtd zS4F+)nC;}rU*j;#AyW5g3x|3eXP|{qRNj;|3pfM literal 0 HcmV?d00001 diff --git a/view/theme/diabook/lightbox/images/lightbox-btn-prev.gif b/view/theme/diabook/lightbox/images/lightbox-btn-prev.gif new file mode 100644 index 0000000000000000000000000000000000000000..040ee5992f7fdb9b51907cb4ba1c5570b1b5482a GIT binary patch literal 832 zcmZ?wbhEHbv}aIYc*el+|NsBLfB*je{rl(7pFe*5`1bAFmoHyFefsp_!-se8-o1MD z>gCIq&!0bk`t<4J$B!RAe0cx<{kwPX-oAbN)~#DNZrr$b?b?+qS1w$*aPHi>GiT16 zK7IP+$&<&AA3u8Z=;6bM4<0Ta{2P*ix)3mxNzb8`Sa(^n>T09oLRGG&6qJ`%9JS+CQRt>@9*vHZEbCBZf^0EX>c(&&|!v&d$!v%uG#9O-@cuN=iydNQjGz zi;0Peii(PehzJV{3keAc4h{|s4D|Q+_x1Jl_V)Jl^mKQ3cXD!aaBu(y1q0oI;!hSv zc7{j>9gxkSIALJ_-@wq++|t_C-qG3B78%*yKVf2j-=wM2rq7r;YxbPE^X4yDxM=Z` zrOTGDSUHZ{$*`cIU*V9G=mkL*$3~&B9F~NQE=O7f+$T8{d|+|! z5LB^I==tcv%)lM$(xcU&+%-wnv&x6z08`gQRsV((28G1VNlI>g4%W9mc+UCN{rKLQV#k0fcFk=e`pVK=5riUkZTAtTQ6isw#WRUmZ3z(a9R-j$e ze3FRFDrSywC%q{a3<^!By0Zf_LL_n(8yB!Rulm4I*~32ZbaR4DVcG)ssl5F2B6c2< z?&fr4Oo*`z)H=|_wuV)6!iF%%R#s*epBZ+t2Ny7lSgg8L*Lk3Uk?9ck4?hLV?=DPC dE8_S6+w=SThsUSq`|tm!>h(?3l#7MI8UW1vMEU># literal 0 HcmV?d00001 diff --git a/view/theme/diabook/lightbox/images/lightbox-ico-loading.gif b/view/theme/diabook/lightbox/images/lightbox-ico-loading.gif new file mode 100644 index 0000000000000000000000000000000000000000..4f1429c06cb2ffd2910b038d06b01a4b3ee00a21 GIT binary patch literal 3990 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 + + + + jQuery lightBox plugin + + + + + + + + + + + + + + + + +

    Example

    +

    Click in the image and see the jQuery lightBox plugin in action.

    + + + + \ No newline at end of file diff --git a/view/theme/diabook/lightbox/js/jquery.js b/view/theme/diabook/lightbox/js/jquery.js new file mode 100644 index 000000000..3747929d8 --- /dev/null +++ b/view/theme/diabook/lightbox/js/jquery.js @@ -0,0 +1,32 @@ +/* + * jQuery 1.2.3 - New Wave Javascript + * + * Copyright (c) 2008 John Resig (jquery.com) + * Dual licensed under the MIT (MIT-LICENSE.txt) + * and GPL (GPL-LICENSE.txt) licenses. + * + * $Date: 2008-02-06 00:21:25 -0500 (Wed, 06 Feb 2008) $ + * $Rev: 4663 $ + */ +(function(){if(window.jQuery)var _jQuery=window.jQuery;var jQuery=window.jQuery=function(selector,context){return new jQuery.prototype.init(selector,context);};if(window.$)var _$=window.$;window.$=jQuery;var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;var isSimple=/^.[^:#\[\.]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}else if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem)if(elem.id!=match[3])return jQuery().find(selector);else{this[0]=elem;this.length=1;return this;}else +selector=[];}}else +return new jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return new jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(selector.constructor==Array&&selector||(selector.jquery||selector.length&&selector!=window&&!selector.nodeType&&selector[0]!=undefined&&selector[0].nodeType)&&jQuery.makeArray(selector)||[selector]);},jquery:"1.2.3",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;this.each(function(i){if(this==elem)ret=i;});return ret;},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value==undefined)return this.length&&jQuery[type||"attr"](this[0],name)||undefined;else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else +return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else +selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return!selector?this:this.pushStack(jQuery.merge(this.get(),selector.constructor==String?jQuery(selector).get():selector.length!=undefined&&(!selector.nodeName||jQuery.nodeName(selector,"form"))?selector:[selector]));},is:function(selector){return selector?jQuery.multiFilter(selector,this).length>0:false;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=value.constructor==Array?value:[value];jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else +this.value=value;});},html:function(value){return value==undefined?(this.length?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value==null){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data==undefined&&this.length)data=jQuery.data(this[0],key);return data==null&&parts[1]?this.data(parts[0]):data;}else +return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script")){scripts=scripts.add(elem);}else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.prototype.init.prototype=jQuery.prototype;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else +jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==1){target=this;i=0;}for(;i-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else +jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret;function color(elem){if(!jQuery.browser.safari)return false;var ret=document.defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(elem.style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=elem.style.outline;elem.style.outline="0 solid black";elem.style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&elem.style&&elem.style[name])ret=elem.style[name];else if(document.defaultView&&document.defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var getComputedStyle=document.defaultView.getComputedStyle(elem,null);if(getComputedStyle&&!color(elem))ret=getComputedStyle.getPropertyValue(name);else{var swap=[],stack=[];for(var a=elem;a&&color(a);a=a.parentNode)stack.unshift(a);for(var i=0;i]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("",""]||!tags.indexOf("",""]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
    "]||!tags.indexOf("",""]||(!tags.indexOf("",""]||!tags.indexOf("",""]||jQuery.browser.msie&&[1,"div
    ","
    "]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf(""&&tags.indexOf("=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else +ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var fix=jQuery.isXMLDoc(elem)?{}:jQuery.props;if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(fix[name]){if(value!=undefined)elem[fix[name]]=value;return elem[fix[name]];}else if(jQuery.browser.msie&&name=="style")return jQuery.attr(elem.style,"cssText",value);else if(value==undefined&&jQuery.browser.msie&&jQuery.nodeName(elem,"form")&&(name=="action"||name=="method"))return elem.getAttributeNode(name).nodeValue;else if(elem.tagName){if(value!=undefined){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem.setAttribute(name,""+value);}if(jQuery.browser.msie&&/href|src/.test(name)&&!jQuery.isXMLDoc(elem))return elem.getAttribute(name,2);return elem.getAttribute(name);}else{if(name=="opacity"&&jQuery.browser.msie){if(value!=undefined){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseFloat(value).toString()=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100).toString():"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(value!=undefined)elem[name]=value;return elem[name];}},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(typeof array!="array")for(var i=0,length=array.length;i*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return im[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false;var re=quickChild;var m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[];var cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&(!elem||n!=elem))r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval!=undefined)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=function(){return fn.apply(this,arguments);};handler.data=data;handler.guid=fn.guid;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){var val;if(typeof jQuery=="undefined"||jQuery.event.triggered)return val;val=jQuery.event.handle.apply(arguments.callee.elem,arguments);return val;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else +for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data||[]);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event)data.unshift(this.fix({type:type,target:elem}));data[0].type=type;if(exclusive)data[0].exclusive=true;if(jQuery.isFunction(jQuery.data(elem,"handle")))val=jQuery.data(elem,"handle").apply(elem,data);if(!fn&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val;event=jQuery.event.fix(event||window.event||{});var parts=event.type.split(".");event.type=parts[0];var handlers=jQuery.data(this,"events")&&jQuery.data(this,"events")[event.type],args=Array.prototype.slice.call(arguments,1);args.unshift(event);for(var j in handlers){var handler=handlers[j];args[0].handler=handler;args[0].data=handler.data;if(!parts[1]&&!event.exclusive||handler.type==parts[1]){var ret=handler.apply(this,args);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}if(jQuery.browser.msie)event.target=event.preventDefault=event.stopPropagation=event.handler=event.data=null;return val;},fix:function(event){var originalEvent=event;event=jQuery.extend({},originalEvent);event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=originalEvent.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){return this.each(function(){jQuery.event.add(this,type,function(event){jQuery(this).unbind(event);return(fn||data).apply(this,arguments);},fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){if(this[0])return jQuery.event.trigger(type,data,this[0],false,fn);return undefined;},toggle:function(){var args=arguments;return this.click(function(event){this.lastToggle=0==this.lastToggle?1:0;event.preventDefault();return args[this.lastToggle].apply(this,arguments)||false;});},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else +jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.apply(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("
    ").append(res.responseText.replace(//g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=(new Date).getTime();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){var jsonp,jsre=/=\?(&|$)/g,status,data;s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(s.type.toLowerCase()=="get"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&s.type.toLowerCase()=="get"){var ts=(new Date()).getTime();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&s.type.toLowerCase()=="get"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");if((!s.url.indexOf("http")||!s.url.indexOf("//"))&&s.dataType=="script"&&s.type.toLowerCase()=="get"){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xml=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();xml.open(s.type,s.url,s.async,s.username,s.password);try{if(s.data)xml.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xml.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xml.setRequestHeader("X-Requested-With","XMLHttpRequest");xml.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend)s.beforeSend(xml);if(s.global)jQuery.event.trigger("ajaxSend",[xml,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xml&&(xml.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xml)&&"error"||s.ifModified&&jQuery.httpNotModified(xml,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xml,s.dataType);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xml.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else +jQuery.handleError(s,xml,status);complete();if(s.async)xml=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xml){xml.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xml.send(s.data);}catch(e){jQuery.handleError(s,xml,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xml,s]);}function complete(){if(s.complete)s.complete(xml,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xml,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xml;},handleError:function(s,xml,status,e){if(s.error)s.error(xml,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xml,s,e]);},active:0,httpSuccess:function(r){try{return!r.status&&location.protocol=="file:"||(r.status>=200&&r.status<300)||r.status==304||r.status==1223||jQuery.browser.safari&&r.status==undefined;}catch(e){}return false;},httpNotModified:function(xml,url){try{var xmlRes=xml.getResponseHeader("Last-Modified");return xml.status==304||xmlRes==jQuery.lastModified[url]||jQuery.browser.safari&&xml.status==undefined;}catch(e){}return false;},httpData:function(r,type){var ct=r.getResponseHeader("content-type");var xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0;var data=xml?r.responseXML:r.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else +for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else +s.push(encodeURIComponent(j)+"="+encodeURIComponent(a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle(fn,fn2):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall);var hidden=jQuery(this).is(":hidden"),self=this;for(var p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return jQuery.isFunction(opt.complete)&&opt.complete.apply(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else +e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.apply(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(!elem)return undefined;type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",array?jQuery.makeArray(array):[]);return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].apply(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:{slow:600,fast:200}[opt.duration])||400;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.apply(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.apply(this.elem,[this.now,this]);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=(new Date()).getTime();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;ithis.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done&&jQuery.isFunction(this.options.complete))this.options.complete.apply(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.fx.step={scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}};jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),fixed=jQuery.css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&jQuery.css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(jQuery.css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&jQuery.css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||jQuery.css(offsetChild,"position")=="absolute"))||(mozilla&&jQuery.css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l)||0;top+=parseInt(t)||0;}return results;};})(); \ No newline at end of file diff --git a/view/theme/diabook/lightbox/js/jquery.lightbox-0.5.js b/view/theme/diabook/lightbox/js/jquery.lightbox-0.5.js new file mode 100644 index 000000000..eef6425e0 --- /dev/null +++ b/view/theme/diabook/lightbox/js/jquery.lightbox-0.5.js @@ -0,0 +1,472 @@ +/** + * jQuery lightBox plugin + * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) + * and adapted to me for use like a plugin from jQuery. + * @name jquery-lightbox-0.5.js + * @author Leandro Vieira Pinho - http://leandrovieira.com + * @version 0.5 + * @date April 11, 2008 + * @category jQuery plugin + * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) + * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US + * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin + */ + +// Offering a Custom Alias suport - More info: http://docs.jquery.com/Plugins/Authoring#Custom_Alias +(function($) { + /** + * $ is an alias to jQuery object + * + */ + $.fn.lightBox = function(settings) { + // Settings to configure the jQuery lightBox plugin how you like + settings = jQuery.extend({ + // Configuration related to overlay + overlayBgColor: '#000', // (string) Background color to overlay; inform a hexadecimal value like: #RRGGBB. Where RR, GG, and BB are the hexadecimal values for the red, green, and blue values of the color. + overlayOpacity: 0.8, // (integer) Opacity value to overlay; inform: 0.X. Where X are number from 0 to 9 + // Configuration related to navigation + fixedNavigation: false, // (boolean) Boolean that informs if the navigation (next and prev button) will be fixed or not in the interface. + // Configuration related to images + imageLoading: 'images/lightbox-ico-loading.gif', // (string) Path and the name of the loading icon + imageBtnPrev: 'images/lightbox-btn-prev.gif', // (string) Path and the name of the prev button image + imageBtnNext: 'images/lightbox-btn-next.gif', // (string) Path and the name of the next button image + imageBtnClose: 'images/lightbox-btn-close.gif', // (string) Path and the name of the close btn + imageBlank: 'images/lightbox-blank.gif', // (string) Path and the name of a blank image (one pixel) + // Configuration related to container image box + containerBorderSize: 10, // (integer) If you adjust the padding in the CSS for the container, #lightbox-container-image-box, you will need to update this value + containerResizeSpeed: 400, // (integer) Specify the resize duration of container image. These number are miliseconds. 400 is default. + // Configuration related to texts in caption. For example: Image 2 of 8. You can alter either "Image" and "of" texts. + txtImage: 'Image', // (string) Specify text "Image" + txtOf: 'of', // (string) Specify text "of" + // Configuration related to keyboard navigation + keyToClose: 'c', // (string) (c = close) Letter to close the jQuery lightBox interface. Beyond this letter, the letter X and the SCAPE key is used to. + keyToPrev: 'p', // (string) (p = previous) Letter to show the previous image + keyToNext: 'n', // (string) (n = next) Letter to show the next image. + // Don´t alter these variables in any way + imageArray: [], + activeImage: 0 + },settings); + // Caching the jQuery object with all elements matched + var jQueryMatchedObj = this; // This, in this context, refer to jQuery object + /** + * Initializing the plugin calling the start function + * + * @return boolean false + */ + function _initialize() { + _start(this,jQueryMatchedObj); // This, in this context, refer to object (link) which the user have clicked + return false; // Avoid the browser following the link + } + /** + * Start the jQuery lightBox plugin + * + * @param object objClicked The object (link) whick the user have clicked + * @param object jQueryMatchedObj The jQuery object with all elements matched + */ + function _start(objClicked,jQueryMatchedObj) { + // Hime some elements to avoid conflict with overlay in IE. These elements appear above the overlay. + $('embed, object, select').css({ 'visibility' : 'hidden' }); + // Call the function to create the markup structure; style some elements; assign events in some elements. + _set_interface(); + // Unset total images in imageArray + settings.imageArray.length = 0; + // Unset image active information + settings.activeImage = 0; + // We have an image set? Or just an image? Let´s see it. + if ( jQueryMatchedObj.length == 1 ) { + settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title'))); + } else { + // Add an Array (as many as we have), with href and title atributes, inside the Array that storage the images references + for ( var i = 0; i < jQueryMatchedObj.length; i++ ) { + settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title'))); + } + } + while ( settings.imageArray[settings.activeImage][0] != objClicked.getAttribute('href') ) { + settings.activeImage++; + } + // Call the function that prepares image exibition + _set_image_to_view(); + } + /** + * Create the jQuery lightBox plugin interface + * + * The HTML markup will be like that: +
    +
    + + +
    + * + */ + function _set_interface() { + // Apply the HTML markup into body tag + $('body').append('
    '); + // Get page sizes + var arrPageSizes = ___getPageSize(); + // Style overlay and show it + $('#jquery-overlay').css({ + backgroundColor: settings.overlayBgColor, + opacity: settings.overlayOpacity, + width: arrPageSizes[0], + height: arrPageSizes[1] + }).fadeIn(); + // Get page scroll + var arrPageScroll = ___getPageScroll(); + // Calculate top and left offset for the jquery-lightbox div object and show it + $('#jquery-lightbox').css({ + top: arrPageScroll[1] + (arrPageSizes[3] / 10), + left: arrPageScroll[0] + }).show(); + // Assigning click events in elements to close overlay + $('#jquery-overlay,#jquery-lightbox').click(function() { + _finish(); + }); + // Assign the _finish function to lightbox-loading-link and lightbox-secNav-btnClose objects + $('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function() { + _finish(); + return false; + }); + // If window was resized, calculate the new overlay dimensions + $(window).resize(function() { + // Get page sizes + var arrPageSizes = ___getPageSize(); + // Style overlay and show it + $('#jquery-overlay').css({ + width: arrPageSizes[0], + height: arrPageSizes[1] + }); + // Get page scroll + var arrPageScroll = ___getPageScroll(); + // Calculate top and left offset for the jquery-lightbox div object and show it + $('#jquery-lightbox').css({ + top: arrPageScroll[1] + (arrPageSizes[3] / 10), + left: arrPageScroll[0] + }); + }); + } + /** + * Prepares image exibition; doing a image´s preloader to calculate it´s size + * + */ + function _set_image_to_view() { // show the loading + // Show the loading + $('#lightbox-loading').show(); + if ( settings.fixedNavigation ) { + $('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); + } else { + // Hide some elements + $('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); + } + // Image preload process + var objImagePreloader = new Image(); + objImagePreloader.onload = function() { + $('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]); + // Perfomance an effect in the image container resizing it + _resize_container_image_box(objImagePreloader.width,objImagePreloader.height); + // clear onLoad, IE behaves irratically with animated gifs otherwise + objImagePreloader.onload=function(){}; + }; + objImagePreloader.src = settings.imageArray[settings.activeImage][0]; + }; + /** + * Perfomance an effect in the image container resizing it + * + * @param integer intImageWidth The image´s width that will be showed + * @param integer intImageHeight The image´s height that will be showed + */ + function _resize_container_image_box(intImageWidth,intImageHeight) { + // Get current width and height + var intCurrentWidth = $('#lightbox-container-image-box').width(); + var intCurrentHeight = $('#lightbox-container-image-box').height(); + // Get the width and height of the selected image plus the padding + var intWidth = (intImageWidth + (settings.containerBorderSize * 2)); // Plus the image´s width and the left and right padding value + var intHeight = (intImageHeight + (settings.containerBorderSize * 2)); // Plus the image´s height and the left and right padding value + // Diferences + var intDiffW = intCurrentWidth - intWidth; + var intDiffH = intCurrentHeight - intHeight; + // Perfomance the effect + $('#lightbox-container-image-box').animate({ width: intWidth, height: intHeight },settings.containerResizeSpeed,function() { _show_image(); }); + if ( ( intDiffW == 0 ) && ( intDiffH == 0 ) ) { + if ( $.browser.msie ) { + ___pause(250); + } else { + ___pause(100); + } + } + $('#lightbox-container-image-data-box').css({ width: intImageWidth }); + $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ height: intImageHeight + (settings.containerBorderSize * 2) }); + }; + /** + * Show the prepared image + * + */ + function _show_image() { + $('#lightbox-loading').hide(); + $('#lightbox-image').fadeIn(function() { + _show_image_data(); + _set_navigation(); + }); + _preload_neighbor_images(); + }; + /** + * Show the image information + * + */ + function _show_image_data() { + $('#lightbox-container-image-data-box').slideDown('fast'); + $('#lightbox-image-details-caption').hide(); + if ( settings.imageArray[settings.activeImage][1] ) { + $('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show(); + } + // If we have a image set, display 'Image X of X' + if ( settings.imageArray.length > 1 ) { + $('#lightbox-image-details-currentNumber').html(settings.txtImage + ' ' + ( settings.activeImage + 1 ) + ' ' + settings.txtOf + ' ' + settings.imageArray.length).show(); + } + } + /** + * Display the button navigations + * + */ + function _set_navigation() { + $('#lightbox-nav').show(); + + // Instead to define this configuration in CSS file, we define here. And it´s need to IE. Just. + $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); + + // Show the prev button, if not the first image in set + if ( settings.activeImage != 0 ) { + if ( settings.fixedNavigation ) { + $('#lightbox-nav-btnPrev').css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' }) + .unbind() + .bind('click',function() { + settings.activeImage = settings.activeImage - 1; + _set_image_to_view(); + return false; + }); + } else { + // Show the images button for Next buttons + $('#lightbox-nav-btnPrev').unbind().hover(function() { + $(this).css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' }); + },function() { + $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); + }).show().bind('click',function() { + settings.activeImage = settings.activeImage - 1; + _set_image_to_view(); + return false; + }); + } + } + + // Show the next button, if not the last image in set + if ( settings.activeImage != ( settings.imageArray.length -1 ) ) { + if ( settings.fixedNavigation ) { + $('#lightbox-nav-btnNext').css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' }) + .unbind() + .bind('click',function() { + settings.activeImage = settings.activeImage + 1; + _set_image_to_view(); + return false; + }); + } else { + // Show the images button for Next buttons + $('#lightbox-nav-btnNext').unbind().hover(function() { + $(this).css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' }); + },function() { + $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); + }).show().bind('click',function() { + settings.activeImage = settings.activeImage + 1; + _set_image_to_view(); + return false; + }); + } + } + // Enable keyboard navigation + _enable_keyboard_navigation(); + } + /** + * Enable a support to keyboard navigation + * + */ + function _enable_keyboard_navigation() { + $(document).keydown(function(objEvent) { + _keyboard_action(objEvent); + }); + } + /** + * Disable the support to keyboard navigation + * + */ + function _disable_keyboard_navigation() { + $(document).unbind(); + } + /** + * Perform the keyboard actions + * + */ + function _keyboard_action(objEvent) { + // To ie + if ( objEvent == null ) { + keycode = event.keyCode; + escapeKey = 27; + // To Mozilla + } else { + keycode = objEvent.keyCode; + escapeKey = objEvent.DOM_VK_ESCAPE; + } + // Get the key in lower case form + key = String.fromCharCode(keycode).toLowerCase(); + // Verify the keys to close the ligthBox + if ( ( key == settings.keyToClose ) || ( key == 'x' ) || ( keycode == escapeKey ) ) { + _finish(); + } + // Verify the key to show the previous image + if ( ( key == settings.keyToPrev ) || ( keycode == 37 ) ) { + // If we´re not showing the first image, call the previous + if ( settings.activeImage != 0 ) { + settings.activeImage = settings.activeImage - 1; + _set_image_to_view(); + _disable_keyboard_navigation(); + } + } + // Verify the key to show the next image + if ( ( key == settings.keyToNext ) || ( keycode == 39 ) ) { + // If we´re not showing the last image, call the next + if ( settings.activeImage != ( settings.imageArray.length - 1 ) ) { + settings.activeImage = settings.activeImage + 1; + _set_image_to_view(); + _disable_keyboard_navigation(); + } + } + } + /** + * Preload prev and next images being showed + * + */ + function _preload_neighbor_images() { + if ( (settings.imageArray.length -1) > settings.activeImage ) { + objNext = new Image(); + objNext.src = settings.imageArray[settings.activeImage + 1][0]; + } + if ( settings.activeImage > 0 ) { + objPrev = new Image(); + objPrev.src = settings.imageArray[settings.activeImage -1][0]; + } + } + /** + * Remove jQuery lightBox plugin HTML markup + * + */ + function _finish() { + $('#jquery-lightbox').remove(); + $('#jquery-overlay').fadeOut(function() { $('#jquery-overlay').remove(); }); + // Show some elements to avoid conflict with overlay in IE. These elements appear above the overlay. + $('embed, object, select').css({ 'visibility' : 'visible' }); + } + /** + / THIRD FUNCTION + * getPageSize() by quirksmode.com + * + * @return Array Return an array with page width, height and window width, height + */ + function ___getPageSize() { + var xScroll, yScroll; + if (window.innerHeight && window.scrollMaxY) { + xScroll = window.innerWidth + window.scrollMaxX; + yScroll = window.innerHeight + window.scrollMaxY; + } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac + xScroll = document.body.scrollWidth; + yScroll = document.body.scrollHeight; + } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari + xScroll = document.body.offsetWidth; + yScroll = document.body.offsetHeight; + } + var windowWidth, windowHeight; + if (self.innerHeight) { // all except Explorer + if(document.documentElement.clientWidth){ + windowWidth = document.documentElement.clientWidth; + } else { + windowWidth = self.innerWidth; + } + windowHeight = self.innerHeight; + } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode + windowWidth = document.documentElement.clientWidth; + windowHeight = document.documentElement.clientHeight; + } else if (document.body) { // other Explorers + windowWidth = document.body.clientWidth; + windowHeight = document.body.clientHeight; + } + // for small pages with total height less then height of the viewport + if(yScroll < windowHeight){ + pageHeight = windowHeight; + } else { + pageHeight = yScroll; + } + // for small pages with total width less then width of the viewport + if(xScroll < windowWidth){ + pageWidth = xScroll; + } else { + pageWidth = windowWidth; + } + arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight); + return arrayPageSize; + }; + /** + / THIRD FUNCTION + * getPageScroll() by quirksmode.com + * + * @return Array Return an array with x,y page scroll values. + */ + function ___getPageScroll() { + var xScroll, yScroll; + if (self.pageYOffset) { + yScroll = self.pageYOffset; + xScroll = self.pageXOffset; + } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict + yScroll = document.documentElement.scrollTop; + xScroll = document.documentElement.scrollLeft; + } else if (document.body) {// all other Explorers + yScroll = document.body.scrollTop; + xScroll = document.body.scrollLeft; + } + arrayPageScroll = new Array(xScroll,yScroll); + return arrayPageScroll; + }; + /** + * Stop the code execution from a escified time in milisecond + * + */ + function ___pause(ms) { + var date = new Date(); + curDate = null; + do { var curDate = new Date(); } + while ( curDate - date < ms); + }; + // Return the jQuery object for chaining. The unbind method is used to avoid click conflict when the plugin is called more than once + return this.unbind('click').click(_initialize); + }; +})(jQuery); // Call and execute the function immediately passing the jQuery object \ No newline at end of file diff --git a/view/theme/diabook/lightbox/js/jquery.lightbox-0.5.min.js b/view/theme/diabook/lightbox/js/jquery.lightbox-0.5.min.js new file mode 100644 index 000000000..5f13b0bf6 --- /dev/null +++ b/view/theme/diabook/lightbox/js/jquery.lightbox-0.5.min.js @@ -0,0 +1,42 @@ +/** + * jQuery lightBox plugin + * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) + * and adapted to me for use like a plugin from jQuery. + * @name jquery-lightbox-0.5.js + * @author Leandro Vieira Pinho - http://leandrovieira.com + * @version 0.5 + * @date April 11, 2008 + * @category jQuery plugin + * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) + * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US + * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin + */ +(function($){$.fn.lightBox=function(settings){settings=jQuery.extend({overlayBgColor:'#000',overlayOpacity:0.8,fixedNavigation:false,imageLoading:'images/lightbox-ico-loading.gif',imageBtnPrev:'images/lightbox-btn-prev.gif',imageBtnNext:'images/lightbox-btn-next.gif',imageBtnClose:'images/lightbox-btn-close.gif',imageBlank:'images/lightbox-blank.gif',containerBorderSize:10,containerResizeSpeed:400,txtImage:'Image',txtOf:'of',keyToClose:'c',keyToPrev:'p',keyToNext:'n',imageArray:[],activeImage:0},settings);var jQueryMatchedObj=this;function _initialize(){_start(this,jQueryMatchedObj);return false;} +function _start(objClicked,jQueryMatchedObj){$('embed, object, select').css({'visibility':'hidden'});_set_interface();settings.imageArray.length=0;settings.activeImage=0;if(jQueryMatchedObj.length==1){settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));}else{for(var i=0;i
    ');var arrPageSizes=___getPageSize();$('#jquery-overlay').css({backgroundColor:settings.overlayBgColor,opacity:settings.overlayOpacity,width:arrPageSizes[0],height:arrPageSizes[1]}).fadeIn();var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]}).show();$('#jquery-overlay,#jquery-lightbox').click(function(){_finish();});$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function(){_finish();return false;});$(window).resize(function(){var arrPageSizes=___getPageSize();$('#jquery-overlay').css({width:arrPageSizes[0],height:arrPageSizes[1]});var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]});});} +function _set_image_to_view(){$('#lightbox-loading').show();if(settings.fixedNavigation){$('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();}else{$('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();} +var objImagePreloader=new Image();objImagePreloader.onload=function(){$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);objImagePreloader.onload=function(){};};objImagePreloader.src=settings.imageArray[settings.activeImage][0];};function _resize_container_image_box(intImageWidth,intImageHeight){var intCurrentWidth=$('#lightbox-container-image-box').width();var intCurrentHeight=$('#lightbox-container-image-box').height();var intWidth=(intImageWidth+(settings.containerBorderSize*2));var intHeight=(intImageHeight+(settings.containerBorderSize*2));var intDiffW=intCurrentWidth-intWidth;var intDiffH=intCurrentHeight-intHeight;$('#lightbox-container-image-box').animate({width:intWidth,height:intHeight},settings.containerResizeSpeed,function(){_show_image();});if((intDiffW==0)&&(intDiffH==0)){if($.browser.msie){___pause(250);}else{___pause(100);}} +$('#lightbox-container-image-data-box').css({width:intImageWidth});$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({height:intImageHeight+(settings.containerBorderSize*2)});};function _show_image(){$('#lightbox-loading').hide();$('#lightbox-image').fadeIn(function(){_show_image_data();_set_navigation();});_preload_neighbor_images();};function _show_image_data(){$('#lightbox-container-image-data-box').slideDown('fast');$('#lightbox-image-details-caption').hide();if(settings.imageArray[settings.activeImage][1]){$('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show();} +if(settings.imageArray.length>1){$('#lightbox-image-details-currentNumber').html(settings.txtImage+' '+(settings.activeImage+1)+' '+settings.txtOf+' '+settings.imageArray.length).show();}} +function _set_navigation(){$('#lightbox-nav').show();$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({'background':'transparent url('+settings.imageBlank+') no-repeat'});if(settings.activeImage!=0){if(settings.fixedNavigation){$('#lightbox-nav-btnPrev').css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnPrev').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}} +if(settings.activeImage!=(settings.imageArray.length-1)){if(settings.fixedNavigation){$('#lightbox-nav-btnNext').css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnNext').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}} +_enable_keyboard_navigation();} +function _enable_keyboard_navigation(){$(document).keydown(function(objEvent){_keyboard_action(objEvent);});} +function _disable_keyboard_navigation(){$(document).unbind();} +function _keyboard_action(objEvent){if(objEvent==null){keycode=event.keyCode;escapeKey=27;}else{keycode=objEvent.keyCode;escapeKey=objEvent.DOM_VK_ESCAPE;} +key=String.fromCharCode(keycode).toLowerCase();if((key==settings.keyToClose)||(key=='x')||(keycode==escapeKey)){_finish();} +if((key==settings.keyToPrev)||(keycode==37)){if(settings.activeImage!=0){settings.activeImage=settings.activeImage-1;_set_image_to_view();_disable_keyboard_navigation();}} +if((key==settings.keyToNext)||(keycode==39)){if(settings.activeImage!=(settings.imageArray.length-1)){settings.activeImage=settings.activeImage+1;_set_image_to_view();_disable_keyboard_navigation();}}} +function _preload_neighbor_images(){if((settings.imageArray.length-1)>settings.activeImage){objNext=new Image();objNext.src=settings.imageArray[settings.activeImage+1][0];} +if(settings.activeImage>0){objPrev=new Image();objPrev.src=settings.imageArray[settings.activeImage-1][0];}} +function _finish(){$('#jquery-lightbox').remove();$('#jquery-overlay').fadeOut(function(){$('#jquery-overlay').remove();});$('embed, object, select').css({'visibility':'visible'});} +function ___getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;} +var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;} +windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;} +if(yScroll35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6($){$.2N.3g=6(4){4=23.2H({2B:\'#34\',2g:0.8,1d:F,1M:\'18/5-33-Y.16\',1v:\'18/5-1u-2Q.16\',1E:\'18/5-1u-2L.16\',1W:\'18/5-1u-2I.16\',19:\'18/5-2F.16\',1f:10,2A:3d,2s:\'1j\',2o:\'32\',2j:\'c\',2f:\'p\',2d:\'n\',h:[],9:0},4);f I=N;6 20(){1X(N,I);u F}6 1X(1e,I){$(\'1U, 1S, 1R\').l({\'1Q\':\'2E\'});1O();4.h.B=0;4.9=0;7(I.B==1){4.h.1J(v 1m(1e.17(\'J\'),1e.17(\'2v\')))}j{36(f i=0;i<1w g="5-b"><1w W="\'+4.1M+\'"><1i g="5-b-A-1t"><1i g="5-b-A-1g"><1w W="\'+4.1W+\'">\');f z=1D();$(\'#q-13\').l({2K:4.2B,2J:4.2g,S:z[0],P:z[1]}).1V();f R=1p();$(\'#q-5\').l({1T:R[1]+(z[3]/10),1c:R[0]}).E();$(\'#q-13,#q-5\').C(6(){1a()});$(\'#5-Y-29,#5-1s-22\').C(6(){1a();u F});$(G).2G(6(){f z=1D();$(\'#q-13\').l({S:z[0],P:z[1]});f R=1p();$(\'#q-5\').l({1T:R[1]+(z[3]/10),1c:R[0]})})}6 D(){$(\'#5-Y\').E();7(4.1d){$(\'#5-b,#5-s-b-T-w,#5-b-A-1g\').1b()}j{$(\'#5-b,#5-k,#5-k-V,#5-k-X,#5-s-b-T-w,#5-b-A-1g\').1b()}f Q=v 1j();Q.1P=6(){$(\'#5-b\').2D(\'W\',4.h[4.9][0]);1N(Q.S,Q.P);Q.1P=6(){}};Q.W=4.h[4.9][0]};6 1N(1o,1r){f 1L=$(\'#5-s-b-w\').S();f 1K=$(\'#5-s-b-w\').P();f 1n=(1o+(4.1f*2));f 1y=(1r+(4.1f*2));f 1I=1L-1n;f 2z=1K-1y;$(\'#5-s-b-w\').3f({S:1n,P:1y},4.2A,6(){2y()});7((1I==0)&&(2z==0)){7($.3e.3c){1H(3b)}j{1H(3a)}}$(\'#5-s-b-T-w\').l({S:1o});$(\'#5-k-V,#5-k-X\').l({P:1r+(4.1f*2)})};6 2y(){$(\'#5-Y\').1b();$(\'#5-b\').1V(6(){2u();2t()});2r()};6 2u(){$(\'#5-s-b-T-w\').38(\'35\');$(\'#5-b-A-1t\').1b();7(4.h[4.9][1]){$(\'#5-b-A-1t\').2p(4.h[4.9][1]).E()}7(4.h.B>1){$(\'#5-b-A-1g\').2p(4.2s+\' \'+(4.9+1)+\' \'+4.2o+\' \'+4.h.B).E()}}6 2t(){$(\'#5-k\').E();$(\'#5-k-V,#5-k-X\').l({\'K\':\'1C M(\'+4.19+\') L-O\'});7(4.9!=0){7(4.1d){$(\'#5-k-V\').l({\'K\':\'M(\'+4.1v+\') 1c 15% L-O\'}).11().1k(\'C\',6(){4.9=4.9-1;D();u F})}j{$(\'#5-k-V\').11().2m(6(){$(N).l({\'K\':\'M(\'+4.1v+\') 1c 15% L-O\'})},6(){$(N).l({\'K\':\'1C M(\'+4.19+\') L-O\'})}).E().1k(\'C\',6(){4.9=4.9-1;D();u F})}}7(4.9!=(4.h.B-1)){7(4.1d){$(\'#5-k-X\').l({\'K\':\'M(\'+4.1E+\') 2l 15% L-O\'}).11().1k(\'C\',6(){4.9=4.9+1;D();u F})}j{$(\'#5-k-X\').11().2m(6(){$(N).l({\'K\':\'M(\'+4.1E+\') 2l 15% L-O\'})},6(){$(N).l({\'K\':\'1C M(\'+4.19+\') L-O\'})}).E().1k(\'C\',6(){4.9=4.9+1;D();u F})}}2k()}6 2k(){$(d).30(6(12){2i(12)})}6 1G(){$(d).11()}6 2i(12){7(12==2h){U=2Z.2e;1x=27}j{U=12.2e;1x=12.2Y}14=2X.2W(U).2U();7((14==4.2j)||(14==\'x\')||(U==1x)){1a()}7((14==4.2f)||(U==37)){7(4.9!=0){4.9=4.9-1;D();1G()}}7((14==4.2d)||(U==39)){7(4.9!=(4.h.B-1)){4.9=4.9+1;D();1G()}}}6 2r(){7((4.h.B-1)>4.9){2c=v 1j();2c.W=4.h[4.9+1][0]}7(4.9>0){2b=v 1j();2b.W=4.h[4.9-1][0]}}6 1a(){$(\'#q-5\').2a();$(\'#q-13\').2T(6(){$(\'#q-13\').2a()});$(\'1U, 1S, 1R\').l({\'1Q\':\'2S\'})}6 1D(){f o,r;7(G.1h&&G.28){o=G.26+G.2R;r=G.1h+G.28}j 7(d.m.25>d.m.24){o=d.m.2P;r=d.m.25}j{o=d.m.2O;r=d.m.24}f y,H;7(Z.1h){7(d.t.1l){y=d.t.1l}j{y=Z.26}H=Z.1h}j 7(d.t&&d.t.1A){y=d.t.1l;H=d.t.1A}j 7(d.m){y=d.m.1l;H=d.m.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

    5sLvM6_8R^C{>F-HBAhQ7LqiXBUBg%M6*pA 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 z zhqdVFv?g-jbS%}5L={GmWf=;Ptfm3z(6$JKLfHVT1T<0rP)P)trA<|rVwBShVjqTU z{K~m2(?jsgLGFo7mFXeqbu3eZ48H5Y7x=t3A{u7onm5`azIZmkfAYK8LORU8T*h3#@fC}c()s=;i* z@oY?EU~nH0>GoSRZ@+^1YmQ6!Qw_=;T{CQSY+(NYReH?7+JL6J;OR}*I2!>i`W+D> z2~5`!vTQ+YN$vz2jZ;@*n^NJ4y?~piCUdjHo)0i;shI|%OJpB~B19NsQy_TIGSI_H z0I19H4FuSXbhNSGgk<>cA1hX!CRpN>r2E^)4#eViwV*ym!E4wbfXcArk`x1^W!qg_$h#g7}npOFkQo6OfTn|$Y@(UyB* zyQ&tXmHY#e0~FPUH4vxKxza@Mz&xu?O%m1_>!|_h-6Bd~UBF68`|m_^D3c zlp7xK+*HtTR*hHr^kR+%loiVlYa>mzV?eDLEr>b~*BWHLVB#0LUMz;kIUdoK6>0!y@Hx z&yLNiCs9dN6s@sb=|RPclxRY}Jd$P`6!<$XAY+vi3WgZ*-2*RZb`&Jq9i<5qmqp}ZW3#tFp;jI$ zu=woasc>eR6q;)|~@gkYW#pco<*fYCzL zb}ga+vV=nsNn(M9q&ozMx(Y9Gr%durrB&ZyCOdcAkyDSrX@ZhkhM;i{z>HE@&oZhm zk$=UbcIup1w*h&ogY{~v0-7qypf^FwXL@*n+;H%fNgMTxmW4f&GbD>IC#x; zsYZj`ItWS%z)o$iL~&NhW?arKb=sX2Ey!+z5atbeOUZGsBI3uKHBTn}Evw*Z}YtxeZ6C7?X&3_eP{#Lt;(eS6{ z`a7z}q0PP=tdX-K<$I2Q#Ta#E6>|kk z_>C<14;pfVZC33jXyk_qo$@a%eb?|`!tbP;7=@K1l!6D=+A7s4EKY{w%ehhX_Qzvw zt+Mm?z^Oh@nKJDrB9~xZNh;A&W7vGoX|h&ShT?49r*+mT8qjGN2tyV_GNzrT>qHm~&mzuG zVvSrfwe5RYbqg+RYnC!R@N^Ud;=W#|MUH(WR#)w#P@OK4W(FLrs{<)SfN~cm=!NbV zlw1&v3zIWyU9iO6B82CZ4;*`8=+p$NEz8zBsvpaH!tFy?NCh+X305W)pRnxloHiUs4*{3}XaANt zG;;xa9oox{rp)nVwd7tIRKF+8qy#*X^5|Ekk0{eM?ou3~uAYjjIpT2zjv9CRrDTGX zTwjr`+CHHRTKL;20j5wM>vvvqcXj?=jI77;d^BH&MJ-HROFXn&L#Xbx=p`>wlP71+ xY+#p(5zAwE`-?93YM47I+4XM>Vo${InChk$k-U!gw^ir$c-B0$yn&Om|JgL$^F;sv literal 0 HcmV?d00001 diff --git a/view/theme/diabook/lightbox/photos/image3.jpg b/view/theme/diabook/lightbox/photos/image3.jpg new file mode 100644 index 0000000000000000000000000000000000000000..eee77b3791241b17464e6a0030fd68bacc391ddc GIT binary patch literal 39361 zcmeFYWmFu^`tCgh_uv5r3GVLhF2SAPFu1!VxVu|$clW^HgA*J=(BQ#Ba9*ChpZ~M> zIqR(Ru6#J(Qd5gn(|y%l-M_w8Q&aN1^!yF*T24w<3IGKK1(1390G>D5h^$;)9r>7< z?Om9R%^Xb3nM@t*m_3ahnOT`wm;nO9o{q+*Hs-FRCgzqPdqJ`voxNnFATvQSElx!i zMMrUSE0B!0v$>kLlDet4jVZ4gnXnL&fG3})oui$(t1+pkovpnKpQj+%zk>6a)+ zOh)=IiK~qundo1wl4>iyBNcaWHYep^Vr4XCVdo&_;9_FqX5;1NVjxvBb|sZFwkKud zCS_w`dHKV}$IktdN&ik{LP#$q0cSG{K2-^+zuSEICP?=8&3SluFnO>uIXGJ~v-0xt zGPAHTv#~M0C>UM5>|KpL8SP!j{~hFi;z*dgm^ysc$Y}>}oFb7Y{~O7DiS!bvAZB&X>%s`(O3{E&AW8D>|5gEWG|t)j9asSpTm6 zU!uRO3o!o$;=jQBi~3*p^uHbd{{v=b`VTKhH)q>_Jr*-lW^-F}J9B$imlx-;GXF2k z%uM+#9GvZpU4=k)#+K&H){f?u0?hw8`hUH^e_!^CFJ64f{EspJ=i2{ymj6!*{{jF1 zB>caF{%Pd5;Qqn&2iI>A_$~1tcm2WjTLgYf{Ks8?aQzm6-xB|E*B@NJMc}u@f86y4 z*KZN{E%6_B{lWEH1b$2W$6bGL{T6}W68~}6A6&mh;J3to-1P_7ZxQ${@gH~n!S!1N zeoOqvU4L->7J=Uq|8dtJT)#!&x5R(k^#|8)5%?|fA9wx1^;-mfOZ>-Oe{lU4f!`AU zan~PQzeV7;#DCoN2iI>A_$~1tcm2WjTLgYf{Ks8?aQzm6-xB{{-G%g@tsds~FZ(+@ zUN&+(uL8sYC45RaUk zii(_^g_-$fgT+7TuOLvUC@8OAzsAGBzT5E2m>x7=+`va!%y`9^JAL17<|%E^ZH`(HnEt2olw`5T zjWc;eEkr7%=xlnw!bNqqD3{1_S@2Jhxr+nF<*a^u9O_n8MTu{IF;lYBbOJB*li^sX5o^O`DG=wRl?UjdWq0AP9=1 zW#0p5gWao3X{M=o@jJT5a**YPw3Z6MDYfZ*MEnffidW!DH1v)Ys*iFY*li7?3A-y1 z`_1HQ^99^&V&6qoB!*GgTy|}ytso;)&f81YZY^nIVdJR7j#nxzr*e@8U5pW(D3znM z&j47Bi$g)?#wSQx776cTw1K2Ji87V^9*OLgp z%Wy<)y6_#ZI+_uIOi5-ny2#1zB$kEDdyaq?1$?@+G|sE3M`672w*5C?Dani~#8ZX} zGbxvx49&h=E?Owv@jmrnkG_=lq?vu*0!wrjxxQk77!OGTWY-%5iUiCvrlxe!tzxy{ zfw@mG45wSJQ+engI-AJMGf3A^8={6F6_*n#N`>HWJRjFJrV@-`Z`7k5Xp}EQH575) z@io!;5^zsAz*|aAbz1m{Y;Y zO)7DydXU0{9@q+w^vmL$bctDW)7zgBk*#GEA=z5fNl*^+L7M~f6xQqW%qqBOs>CY& zhFy}H~58ADrLM&UeSgEdv&N`OBBzSeS~lCFnv!phIQjH zKFc9I785Y-luOZHRFphIAgPQEX z=6g!$i8B*smQvCH7TD-fME~{ybZY<_Z!aW%eVxV9aOMrvRbX*1yQ&9+)eIw-Ns2(e=ydQ5jeEu+k%$HW+#LsR*=Q0m3f^y9QQ! zi|~~ZvI}Y`#H269@Q>(?x8Nej>V+69fxr$K>K_tRRA(P?8((*e0Ps_F#2jWd#Pm!w zy*UNmW5!b9HdV6@8;>h$P?T!)@W|-CIvkHj1jHjkxgZT#fawdW!Y1&)_*>-kXP;jT zi|)Jd@h;=|3Dv2$^4raI`a_1NNC@+58ymx)0i^bM6Xtw~9Y~c2#159O8lS4}(zgT9 zZ@EZRHTe8U)e^Ox$B$lVS$ED9%2zd>9W^g@(aq4P> z0_&AoNgv;f+t-9)l++k8y5%f8IXmeqy4AYcFPf+RJWhoMhs6)%fYrb5pn9*cgY4>Ilait*Ng725YEu5H(7ZEE=OppWBwxWICxszvKk**Cnh zC-~(9fo=A+z?ck<{=BJ%!{NH|+KL!(TE!|*oa)F5&Rjnl7s(!QQd4F>Dc=v+$&^+6 zYG0uUn1czF`B!$d4Lt5bk7Co_`0#~npJ%;O%dxV@^}{HRdGejSio-bqBNJc(v}nFb=@}TpMu+ zzTz`r8q|rAtnwzK{m_R#JBPUMBlp->0~taFx1NZ+=uMR^?17cJCeUf~=1!Y|nxk6% zwA_9+gXpri_WDG8O>om8wim-m#N;&UY&+6i{%3`uQ)J-nbiK;v=LvE3sRXg2HXDMu zl8RDpvrP$1A1Bc})SfvIs7?{QkV-{7(jYN=YIHn1C&((k%k*1D505;im; z0%lh$)}~FwKJUl6)JhTrXWMRCCGSU8FP6H$=WP0=?1MrQH9!u$ZJjavILK35maM2k zwT^9|Hq6MWt+xZ(J1!MlU$2s2_lh08`LJCOT9~@^h?^HjK(W&8j{n(io4aMxJP+lL zKQiR&`cM>dY;F5r~B+Vs1j)3L3U{p5MZgq!lyFZsxi6UoneXQ;|4Ocd2;QZtRl;3-r*F|UP5u# zq+cTXuGl}~($tAl43JltlgrP^okV2V&vk_aD4MLBH>cFslA~RSwNImF()@z4{>L-_ zc8<&|QHJ=jhN7}tK^r|LmLZF8UxB^~zJ@L~ z!oy@`Pz`P;D@P}QCwk=$HOjYY*2!vQHVI;la;NL$K-Jsb_25z)&+W(I#F%eo(6l$0 zorFxQl@%va+mz|-4yhAKK`1J)Io_{u9>ZQ6Zdy8R`r2=lMarlm^X8~sCMpR-I7uS8F)X!dMJ$|Le?nrvx?r)I zcpI&iGdan=Q2bZs5pg9(9~>m|==(x) z=GM#j3>bR`6hrcM&Tmb7+lb7jdvdiT&P~vID#z~WfNGh%+g=NBy(|tpr>)yl(lpKI z3M==c4nbv9nxT&(m6Oka5&BpLPBfdCeE%x)(t@dt0^&!N?sE+Q>{-nfVGvg_tx z4ZJ)%SGvygPRkFx0+7tBR1I?>#iV5RO3;d4#T@b{NNVOHeIc;FGQD~EGsLcs6$j;^kCzEcearuqu$s*+T#!o%k3h&5*bbuv==2bgRS@M+hk-W6<#LM_q4 z;~~O;r_s~hWUhk_4)%cC{^jGxNJ&QH>k_#cZG1){cuOExeecr@;JA``)MR#d0ij5tP`!8lTcI zn+FyTS?(gWFO}BDTjB^pO22ii3DUBTyV|$1>^D9GE+iRTX3usRyD%N>L-=F&o&n-w zEbVdV-F@%ugD{F>6XD^Z{G&RP@X_jNHqx|iH4&{^u^DG#cQtmLqt^_<>@hQYJ?YJC zT;5>y170^yQQCD+@9i&Z5IJ9m`hu^G-XIsjHGD92v2oj{Rh?kE;glXClWM z0!M`#b4-qSKg==tL zFh%p6r!~4)mqh};V(eJeT_M|K=O&}HRR*~Xv3nPL$x2mX-P$|VIjGjRH@Vn0j`~Q2 z8MQZ2a8FVf1VRwPX@)BBgR|PTA20NgiSR(J}*egd$71v|rw`;#^T7#9f=Nn~+$; zJ3+eP_e!G*mTBvt8C$w`eA-)U5r$Cl8O7jqCyRYbpmn&qh~Z3i>I3iLATKpX^8j(w zbTZlBeT{$r-$+$6vrQ0f?h=d^Mi`J-{d}I7pO+E#gzMYo@5t}9GL$`&HME%%OQh{i zKisHel~C^pf7ElB&nE|3)e0H8$;g$-s^s3gHps?e~hfVwS^pkK>3!i`{9=LMOTD^>PQRLchRw42$HG zt9-Vm<59s@I@rdu$ah5_yZRxmEGuD_(JpN;Z_58#|2>KizK8ClMk=gn9(HJYTWiIz z*=WUw!BeNTYSyB$vM^e`?RX8+S52WPGe40PKqm$|af+&U9$_5Eg#rRWooBzo56%&? zj=4@0nORHbqwzwBnqf7vMbVWfnx6R zinO6lsY+=}g#t{ZS3HYnhhgVT)91EhH;s#qwqEs_bfLTrV{fEW^-g_odUJ=q&^nc} zbT=rV1c-}1ezEnUREg@*3@4?m74$}T<9@rN7MT{xrS)nu_2{&5d2NQW6WV0GUzZ|- z_Y2^=#TxB2>ci}7$bj9v{ys5tbkte#FO3~BmtGwu(`ChDSVnrK>glrc;ELC~EmjBK;%9&{&pE;h z!wGIkvzNtIZ;GrgIqwJ4jsgROJ*N(6m~7E{g9rQ*g_P;PevAB1h6@$pa36CHQS%i! z{8AzTHGNpEwA!Dt)rrD^CcIV7TkvG1tbCpF{h^2PJ?%At9T$D1dbROS`@-@`=0rm+ zsEwW|1-8ca6P5Z0K2e0kT+Q6O_il5sLI#gnxD`>aWA&%%ZR`!~czudT!Kp3r1mmrY zvq#Xtp+&>b@s*FSUBo_5D$X>#|NPe01)k@UD0R&`255+%etbQ|Q3)I8pGVe2>uab90a7W>&zGT5ZQlvH?t4=5pkMJq4A|Q6-9Y}V< z1*pAgiP}E|5ljf}q+OEdY@&gurfHM<0FD~!EMNF2BG^gv+DcYlo_k9=`N_RBjxrRB zWmwXAE~mF+ADn2WtKm~k`LPb|t-?x$Uurh5br>OoQmojpJzg=>1We!GBVm7yhXLy4 zbnRvo1HFvVEQ|_)o#dOI!EJWF8cq)Qdqk`CB#yO7_{lTfuRckR3c#IBex;C}zA_Z@ zTyroLQ=J^CrM260*vt)DBS$V!h8wajKYAi4+p~?GS?4^)?RoEbJ$nu`Tj(30K*KlB zDtVOKNE6h71=;*gQ}wp23bDY7P;xN`F*@G zim|bES-B=6?o8RNsMFkER=vDr{3xV^gPl6C8KUpZse|vJ2g-ZC{O**5_;U%RTclg)YuCmZ2z0K33-+-fQR zZi}q}3;AH%#~TyJU$5HAmVhozlyy^#+BFj{!H3~|EZ7?6V~NycAFy@46HqF6dJH&# zR_2|%ey6Cw4`!QEvMx@du%C~;GT?EP7l_F`^l$<$$?Gow3#5sVqGHRq$HRBB5k@Y$ z%dG?HtV<#l=D7I{+UWw8`52&|0fr;XxqI+>NA!hJOuSD9B=VlA)SIUmR;~{26SjVu z?HA_(!;LOR`1-$w3#BHG@wg09SWjJ5<=Ktqs|(yr8`v1yL)L4XQ}e>AH>65&+))$i zzfAMUxB0kBK=4n|sj7t|+7xV^Y_NP2I9nbyCLIgF9~z?uoav+=(sHL~sBc^&kdZ4Q;d};c z(qY=Hajt$Lwap#_#ZB17eYZbS@L~`QK4#t4M#l(iIr4QGdJH4lBESJilBc zFx7E|{x8=;4ecXeopw5>#J-=QpB%64^_$-ouR2R5qXQWPkNcZxC8pl5R=(P~^$ob- zs+2YTNqiJ00n!~Mo@vagB>959i#V*IMUl5n;abZFpF6q&3JYzY9(Q3~rG}Q$-ij?6 z@z}?Giu@^>^CRUpyKyYU=cBSD&#d)k{Lua-FGPb@!)2Z~e=T2fq|C#{AYd%HsDqvk z%&#{%rig2nN;j1Ubt|+q#j%~? zR^V1nh|NRw)4Yq-d(faK2_cK`k8`h6(#eY>;vCIKfu;3I+90QVqQSdgw8z67i4fUy z&0CVZidw>B;@HSu>~v}DK(&6+gemT8T#ZmXVOLK2E`|f$p+Qw3e}YLXB-DR6il`SO zY#f~-vHwUgD+iBRdsl2-lN#3TqA$@|s--!_JTG4RPQs{K(*`F%Pd-`V4)2g7$A@fQ;R<}%e;INbTT9&!j4M9U?W1mGw6XsYes=F5Q_6?etvEz@jRlTvu zIS&(f0Pp?v0*L_SMBZ3fYvK*r59U$BM}RVg-nM)!71^MJh{6vHwYBGPNqw%HGw}=? zfjFN;x&UjXAOm%yXTLfKVt^$OrV3k&Owc%$yff;&xP>xSZJF+NB3*X9x$c;Ct%F7t zf#SKvUyG!H&IIGV;%lh6iAObZjI6mCa?Oe@E+O#-1YdT78|dr-{nHNXTHtXv zy&XXw&cZxL0|GvlvYs{0M$)KvN65~ky%A((`v{p3uw*WTeV8WHpr`hsRn>=jczgHZ zW7iZYVOC-z6`fpV;q=3VL~QWTGoZ4d?KOcg<291oCvrOa{avl=63D$xt7{2 zI)<=aDf_;&UR>+VXZJD-i_XB+!?c?3aJQO^3fxkojk94`x=Y=o1YpJrICb|*4&E(G zkMyYU@_y%9wQY+Jr+M`%Ua{q{R8DBrir`k6b|YWfI4|5Y0BHbrMjJL_b}l_LnQt$&E$Qg=(mdm}Z1- zPORgbGOK@03O1Sc3=JInj2|u{WJ~VyF!5r?k#BA5;A?W^4-lHM-HGn_;_hGjALZyk z7L@VB1CDr(L`mtZ`=1#wy4HJA50SJANM`~hIS^oDRw~q_v=CPF(&~t28;yu@eZFUf z%FY)SR2j|eM#@=!aA9Z6S{VJIZZ(;R52Ubs&s>`?rLNW#b!mm|_Y4r_dLXYL7|Yj0`(blfcTRy~kh~e@ciPTg?~OCUt!3Y8x#N=CQK}(GK@d`gkE;?{~Hd`Q=!yq3QM_R)O=Z!$&OV zNassWyBT<$rXGB76k6v_Yt8T#Mgj4#q01p(c5vHFAdE%FxX!dl*K4$aZ;CTBJ--L< zrgB>t|3p@l=k%XC`AQI8S^jOncs_~i^vd%RcF);(J4KZ@rjOA59VVX54}Z0W-cNhJ zh=wcrrooq^{LYVykN!>4<=Wz$?6bIsSCM;YM0avcuPC(N`;!n7r z#1_90d3%c0is)tLi$1|4)3d>{1V5%8F z{8R47G3i%|6pT43G>^3`uj>6u6mBtPb4f<=f>i2IBE4+w)eUprb8SLxSTv#tA$RrY zH5Rre*WULH8(XGqhk^7DB;hS$Ry$_Z_Jx<;(AQdNL!J9H9Z_#e5`VHJ7?1rpZs_6_ zEvA#=5VFvYb(S)=yQdk`ru*!#JH`V3${MDkdOc*Se$h9t&IzCkW>3O9nNU3dP* zIbqk?1Nr32z|16N4DP+Lu>zZ^k?=IUIDaxI(BX&!(nmxDUvs za!0M~oE5AKYWi_;>-HbU{7|dZj8mFyV|ylC1QwEx5M={KDAiQXF(N{QQ5x!u&WbxNymj#^Le#NOTX{Uwc=Uy0}ZpuCbK0gCqrrKo<omxDqLPK(8B3c{Jt(}EG4sB#i?&HXCb*&M% zzDC&$oM2*VdT@_{8|TLinT(ZD(#*p1P`R<6E2(@RJSa}#ETM2cx2}1O}; z*4Ua&*Kb1ZpPGd1V^*5Tb%~0!3UumLb9|!zd{DOx6)NBS3{W-?^&IyjYacZVsSlJL zS7Ag@3oDdTi%&@@0=(5`$ShuEROIIPgszkkoQcZEm{YZQ6yaq_mWqlvDW3z3` zB3-w>_)9r0bN86N{K&e_S2iX2yMT`@NvQ@<=f)c?*MZQunt@dnLccz(&D8r)6`&5q z9a~;pn#irf_p3z<?cuFkD z#$X_PRkQQcedPn+Dg4`*Z=Nkgh_|#eE_MHivTWSP` z$P6}pw_|cE2W=GB9n&5^GhPe!d;|!#Y}y0;L{@f@Y<0m=qu)2KCH4rUBFYus^~z4y zcV3*6iEm%LglV1j8oL&s^+ne^Z^Jr}?L26LZuDkSPKfM@tVQoCiq*my)(OGkRJX4a zIuu(R(BvaWoJJjU2MYo*5G5Kf0kxse0H)DJV;44P#Q5bfk&f@oHnv)_K&Orc$Kw_V z4aY8BK}q%C8zO4(aOx@1*yhyG?uG=UsyKY|9C?cAL!Y^KH}t@-@Z(#eoKC{h-D%Z| zkG?x!)_+~>sqJV4MXGl3X81!41tP3t;k3Yg(Ys{?uQlkPV!q9Ls%fvZ98f2$&r5tw zk1b_}X)>^5Luz1If#`@(;D}On=8I4tv~0}3Ug;qm{@zD-d0S4gTOO28G+d@K8azq7 z{$;$VGNieQ2`yx6bK>9`U^BM6)uxs|r=HQ-6wkRx+{!#{(t}P+RVp&=e)o?5}Uf55^ z_3keiD2L5|dBd`(%Lu7JGr;ZWe+GoTKW0$#jKVCk1n}&WVZW9-}XzW(K`%=uxL$DsLp}keb0)d`$V*&GEXiGuLyovzF&{ua4T~7z1 zEMh|;aRzaAZBaVbUJ%IGa~J!^=H%9R&%2Y;4kp#?(U;c;#!NUwcTt!sqqC67u&G^t z^$1nNrqrs=K9xTAi%L-QgxxQhBx9TRF7={8G)|Y+?s9Y5v3alj@z`yc###;sXJYzI zH*V3Ic6B8AskUd6@_TY-*p6fwygRXKSsU8?Ns{ToZ*>@4wn$Imj+9NH-?QX=Yi_se z=n?7;;f8JcM20~3(cfaVBHm)-G~NEjhU5u{HPR_FG+@wShx-yXj+ta9Z>2=3rzH9n zT{#dqjB-L==_iPnkt;;DmCcEgI=;MptwuuXNqsw zuc{S{PVW9j6B!k|eQ)fzHxyp1ljo-Sn0fx4@qCB61ZtB_M@Wgbsd&;k7oupW>VpJY zXYTQb*p1_M-kbU%d#qeLa$=sC51WBjd$DS#Z9fAfE1Knj&I95N1AC9uhppy9FB1@( zsXjV+`D%68H7K4Fr4^J=?dMHj@p!P>_;HLp4V0Fd1q3v?AL>iWP2C=Y4J<8$r2PcD zlMcUj(Cwc^E|>J@W2~~nNprVoEDt{M>9U#VPsUn>TXj0;_Kq*Q>Ust4W)G6!o$Wzh`kaNWgmnt5 zJ!|7Ose9saKuciT!@6s{7t(+d<-;(76hRto;d4>S+Byx@e8n^uaZl~pfQ;(dlG#*s z4CnC-_(1C5+IRXICD4)Yf3xmgXxs4&KsBB(jgf%m6ulJt z0rt34mRudabf`+<)W+dqsFMe0v;+BY=5JHJ1zB-4yifK-7$ckKj`wHTD{@*kdWMY=a%MJBY9Ulrh4Y~_=~-_kYQM15Y3%DGB1<+Oy_bI3eeSMA~%OREv7?yDhHAID&7anB@h%j6HS;j!n9 zoL0-!wI?k9kG^0L1y zSKDd9cIV+1R(Rqzd3NM^)?v9U`QPa@3 zH!y5+a7!tqzJixcL%=@efyznz1E%q}?Dn|sQ_Pz)>Q+wD(<9p3Ryoa`HL-lM#O^Of8q_=GCKmvIRBF{d*r)gGz!5lhQ=y*x*Lb-wo-oSD{Ykj)r!*^av4~X2cQP z;k>hxelxg%%AS)Eo&4H#%uQ~O>$~3Dl;xk4cPZeURkm6;1@&GUogM4Ta_Hui&9DP9GPg|>1EY}4;0QvSyJ6kz)ys%&@-f|hSegxE>sqBq2HtJ{Q9e0AUFzD>PaxT zY;#x?J_$czyQUxyel5d{6&)#A==ahoR&o8D#720tociNUjX}-|hhny)KS9Tv4PFLA znmp!5?7|Z86*tahS~u44NghKy_Rj$8&D%E>cS>|1qPL9ofEw-agR--m3KOU*2b_+Y zY@S_KRs}AS&Gx+4<5FRbot2PS1wnYyJqe!Z%m*odV#BbG&7WfP!jbhIGAm!DL-&Cm zx=+5}EAlAmj>UShvN#pe9Cit5AOa1)q`)4j3%!mdKzrjSDln)VUyL>rwYqHfsKmu| zyPA;Z3!Zu>3&9})m;S;vE@*#mkgg~eu7x4z3aNg0>W;u-VYVk1M4F^EWV?%NeRQRf zMbAlEF_64x#LxJaW~{$uC`4AfIhkItQb&OdCkWbfKagr@lU%q%bk0+6pd>q*`?c4N zB?xQ%Nw3p~!Kz*rzIf$whKSXEZsva!DPkdD1 ztNrH9OV_3zC?x)F|8lNZ)ns9~9+~)k%r&;rZ9*8a+G5);eO`GwRW46P_pky)xsvcM zt6G#Rx%y|on?k>XJ+70Eua=Q%vAp4qS-{zN<#g@}A3|!a2{0A@NL!2aVW~TEv-HBY z206n#8nh9CZOsMl!M9>ZcT3Fg-dWE8jZ~duJJ;^dEnHbV#|7}BAHKEk-Hc0aP`Dr; ze`m@S@NIr%oF?cxT}npWZG)5jr!r3xW4BV8%0%ly`K`tJ*#N6VgCOk(H9vx)@>zvP0B><{o)B!4ag zPQ&fFuS6u840rry8f64$WPr1xgs%hXpKu$`pI+8alRN{Anun8)m|iCFw{tA#XVvGt zLM=!bV&;ntGZm5zG8dIlr%%6q+bj(IR6z~w4y6eE5pe#p*v7{3m$%&1en7$Z+c!U( zr<8IdrXyns*KM+x5V>8$M8ot@t03f!4F=j`hg*>I-O6iY&o}~%%|_1Z<&~tz@y%ux;WdA zfi6>fi1^|Ap?uo#6Dg85MOhifz!O%^k@*|@uN_FuDzez8wlx#vM3yRl+dZD~@7Ng&}^nSEpb6P3Ma zs0rHc3S!(#Z@(Lld*s`Olb*wb(w+;n@jdLWWlVAtgQn+oaTX;6;hOHMvlC|cW86d@yb<%`eXoHB3doMiKm#X+^n7{w>^UcKbBsRmS)p&N_!`Ufn~ zV>?r#zGwrsY(xS;2n5nI+wc9zy(`wPox2D z;&Q6Y?$GApU^b$|ieF~(4FX6`uxMZ9aGSP@$QizWp9JI)F1WnNYmssh`BFYDHEKl? zF1k#>G39bs{3(7K)F5SOTv86>_6n@t7v$YIo`49vkRFk;All|9aZumWBb40~#*b_iJ0Cb4i2y@ZIBr_n!e0{_<}3AuUXtQKONg{jnz>AHeNW_w*uI zk_vr(lM{!U{-+VbTi8V&5}PVN$ceb=$;mY|N>=4-^x2?Hq|E4}MtU!y>FDl7p{flNV1UL2)n-C} zzMC0OcY7i{C&8}&4!~BnZlqr|}Vnk&$ziDRrYwXO}}h8ce?dKfp$2 z#4iZqX=t=8w%vXkecV9lnWZLAjhUz=rEISHvKCIwB*UhNwN zhqEn>^gCj&9Wv%Iq&Z!*G;lImowge9^m|!;oLUm1W<_R9Pxm(PX_GMes&$%U9`%g2O6%h<8_SxST6-3 zF22oCv8_@%B<<6k`mLU;QzbDx8#CfQ(ji?Y?spgD!j~1}%)=d&V&8Of8O6T0?Z*Mr zfPFHA#nt&DsEdSl%LH(X0qdeUwLQ;(22_S_sSr{VZ(-M0W*O)XhWU(8*5oDCBs@CX z5OVJOYL?x`s?Nv@FOxf%M8Fr9j@$~`)xttgN1;J%>FTWnaRW(IsaQ-79{x3E_Dt*O zjMr+c2|e6Vt>y_FENhs$``I_yL(;F?ok-~(w3zEw`ntG-7E}={;Jjix4;)^)`ol59 z0hYxXzR*Em3@%%#)ZBOX1?L_xk9i+VLi127SR{pCb2z(k83r)11DiB7lU04?h1k?k zh384-@tGTt%D^x`zFGKDokJX0R4k2g<$)99bJrqrNtkJ<>Aj)mABOJiXIs*w>D>dc zp8=sRTQsHSw|&L&pH=zfL{ zS&0A4U-|m;(mGtyZI)v=lsX97PHNjE@K}I<>#h2XwC;~gVbt%3MBR&c!tiTc$MsPb z_Jy^j1(&A;*l^vOcQlj>!ikR>B1=N}sU@*|ky`NMl53EfjPusm-E|b+Pl@b`;=1F=844fd(xfqTmVcA zubi{4jY4*MkjR%K`xdz?bV}-B4k@8R2e%p)8~eOhXOct$#y{VM@%t9LJDutMD9qur zn&1Q)M_ZX05KKl@*t{lxB528(Srg($<{Rryns8dfx$&nU27K$e_V@~!y5+H%(Xid@ z=FpdjTALW@^j=mkIqc#Ool!MD%{K4qB(7}T9`&n~KgZ3HrkkEC8`+OCtDmb?Z`k=l z;5@&iX7UWcl4IDoB!4=}6DF2zKc%LbOk`0U3US6@oki_O6htdSFsE2Tv+rZXFETc5 zkU^GX;(BFTeTZ!}FusU(0Ik#QhJcW|I$B#`yeGf^fs_d9(Em*tPguy?-rSraYQGkJ zVLG}yaZ4T#{gl^N8HGt_U-w7`taitZ_+a zgda_2Ss6DzY|YloQX}>y$NN+UDzi{=OV#(j))fd{o1718xzq?g%0KdCr zFgY=eEq<(OJ=;9{`V2^Dc*}8`5L(p1V^Fx(=Zvd;cz-4OW%jEqMUl;JzG=hx$>Ka7 z{?C2(Qp@?$-U3ohS9|yVBN^=7=vY-w-ECQonJe8f9E*qvzG~KdgNcsmen$vZ8mGHrcbtuH+_xhiB-o!=RMaZBK$aYnTG!eq9mPI4rEctOA`HBT(?k%6})X z{u4)q>uhpQ&!}lQi-rp%U+Pnouw2ZSw5~X|x&#IOd6@9lj&UBwJ?o@RW^0}NY+ISZ zjW`aP{52O%-7!U>b_EA@swRq6)dD$qcoqq#5c&Z_TT8nbf}$z?q$Q z9dwLs7h5{K#3S8b)a2v;FZwc@|{RZ>Ew&CrAtHZojfzo#7tt;0Ws(H}6-Ey)lz zXL{^9Z!pJ{cmEJq@|$s_bmPwk?pb|DtBj*jBtgl>Eb*eTIYCu3$iz2jO!p62>12_7~)(A_L6h%C?q zGm0CvemP0Q<~ks|5^$S5|bB4&1;~eW#!I^%qjpxZkxo4}k@g>+5yms~6v;^M8IzN}T#r zL?pJ*HN3aNtnq^{rJ_%M4VM+Lr?M~zXm_IBc_?Sggs`+HG1Q)`&>R=HcS*vDz{w4`Yihs|ekBc}-Hw z+KorXPY{ZEocO`JT26^mJ=Q)IW&}Yk}}}(XRx>B z7gvSK&thyI1K}=;R%Df@p8DU_W056>;Rh7OBRSg0B0TrsRlmoQ)5KhM8oU<~G_*BR zGM)U~7dtT@^q(%Jx)q)oJw&W@((^dw%;TrsbI)lUvOvxrK`e2T^8o(+lctP+3>f^3 z1@7`b_botQ!SR|}H_HwwN+qY0R!SRpHQRoRTrM;Grq6mq8>qtS9vgzwKGw}E!*yx) zQ*o}%WVb*wm9^wy%obz>E7`Ks3Krn;rA6BfS0frMU2e;>9PW-}*Net9rW2M?n04x(=CJ&t ztyhZc@ff}hr{$BW?mH;U@Dcw!f+d=-aU)37;hFdA5Ig7CQAc0x4j zt3eu{1khCK)(GY56?p92)*<1!=*xf^+tFp71!EpLXQZCef*a9emI>3W!8|`cF&`Q^ zLj!xP__)08kHvEs@bs8mJYxLf{TBKBZyZA`<(|eUyrY7Zo}v z?Qq;E#{^tPi(2cmhl}{FsUd7po9Y*2nuN|ZOufpVC>N=p4DAdyK8fQ)mGN!_>P*!Q zj2KSDbSUKGmTnV}g049Ur;(sLp5aISfdktKX*Wpz4 zQGc5oUJtmjUT;1 zSw-L`igMYi++`xxZjG|+$KrMEdSm#948!obV~U!_sDRQLwTDycu;;>0`X+pH{I|oq zU#ahZbM7jtu<_e)u_6dPEb56xn$TIO}H{+dH$g)8pyP$7C zx5qCpK-f)PG*h}DZ4{csUC{ngj$AF9IO;H<$GP-V{{Wi9z(1AaU)^WN+_>LyPIn%Q zg$u*(F#=(_V*SxU4g@W)|3~2$r3SRD&(n=>ch}r>vKSO5DBUroqW#XPc9 zj*<*Dl&{d;c1|xI&1eT-m0yvpMK~?9^myo2oBe{~HbZTm67t!HH9U16DoqbUl?)7j z!wi}NST%1{vcWbmaI=eHnnvuodM;~j7jO%R;~1S_5!E~8jcgQW&6S!+6!kOHyEJ`z zEM?HyIqsFk@^0;PN3vHn%#HT?o2X7>K=WhLR))4?n}#esmX_UU_949S=WMrd*{(mb zja%%%lQV_Jj&Ee)JA4xtZB-Kkjhw+}0=qbQI`LSwwM}ry-A`4$q{pda#-OY&S~Z#q zheMUu)fn=28~jR4PMOrw>6}`{bzzxl=AI|;+?ZWac=CNN3qEc?w7l7FWPnHn5FVf4 zn!kc-mH0s~(xjs%R_K<7cF9tT3z1uh0aL(?Mm0cv1LMKdH#F$@(HOuav zc<7X+A2Z!TQx34X`z5WMTB)Fx3P@{TByMcSD`RQ9hh0@=$Em%+RLZTG=Ve;ZL z21eY?XEd(8vVS+(X~&JT_eEOyAOgX}UgUKbTK-)9DNl{U(N`ZY{-Rl-#A+gIc;xXS{5OOD0OqQ4#&63Xwd@>f zqG_RXo^D>Nhy1%utd_TwE{p7ta5u7W0`{wv!7AWDrVV=(%+GJs5NIX|0X9nL-X7Cu z1gzM0I0uNh%xyhRrq;P!Jls0&dN)8^ZE>>WuqWpny;OkAZ;ttrEgBiBDW&7nKZhr9 zl*;4iBQ(=ZF`9R0dEBR#S1(})Ikvylpd#l1p-w_>crvOlil~A6+U;F`8(v+mdTz+q z2_0u&FLm3=euj?OK-77bL0Q#DjcIi3vb>#vc;Jz*H+6e8s3qfEI9cu3ttATq!R*N4 zs?!{&qO5##4vCa+ovpTuE^Ioau@l;|MJ+L}j)x1Zf_hbc8`n+`dL z5h%05>cf-DXg+^i5g-x)#^?^W{{S4<@G)s9oa;8Jgfw@1bsx3XT-fd_7fp!=M?Vpl zX&SWN$5rLs%)d#h(iVn?5_hmCRK5Eoa_6|ZL~S)=wm?KO?bAzaJrv!9_i70N9Fq}G z1B+^ADR%zFoPUAN=ze`<5MwiEmgc2UUi`6j!C zyDm;{D~f5b{4TE)cx68&v~-6-?e3Q!7nMCM)p&Zl3>;e5mr;{$D@LK)f$X%;W*7nuwa% zgN2M^%Cp!3)Ka=2@XNL5ke=mK*{W7SD+dBr<#Tm6S1yXEzAUFrL0U|R2^d1TKn`g= z7LWqwt1yUG5KJA9vDaj*I8sGnow|?ciA*IxkP>6u#|Jdo!7DZ$jsfBUJZ73_b9B1k z=Hb_`M;pwI?QO%f-Eq?r3D{l)+Z`@aBg|_QzG7-T@EuA zBN&l{XSXn0TRE~}eA{t;E0`xKB zB=~^csouH;1bH5F>{7?rRL3x?3Yv1_(ARV=SC*_N6Ip{vMJSoBxLmp5G~Q)R1x_E9 zq0KG>K#XpuV!27_^2kgiwBMA4jk9Um-3~2ZMDLk*x2k?eD`pICl3~p74`gLN&1r#> zY7N>}Q)Vo6KM8Z2PRnd9f#M6(B0wYpKw85p-9?B~)we?wjd$Cx?3J5`J-tgAi;mV* z$K-oMzuN9${a2UEHIS)M!rADAmJS*Rk8Q%9iH!0ftb8r}CmXQ;0A)A7NlVIZ?UcZF zn?Bw3MF^8)ZiJ*2>O;2#hemI9^eap++$P=|> zT+@*0=XWk+lmXCO?6Lk_nHRC?=EX4FLDaO8#`5>&lKRG7?u;_CFBM9&j@S5xpuf=WIu!o*x-|5Kj`~I3-U8p9qDb-!f^y zus_M_pFVhh#8*EoWVErT)vFoohNGzur*soLgh3W}s8{#Vmx%E?TKqyMQMZy9TNH=$ zIBr&%>qS`-fG^u{rxH|k+%)~xuqxBTHC)^{ZGTggeygKLrFVkI<&bJOR1nbt2Mtv~ zg_Rm{$&~YKro%L`<>nqku})v05@3)Mibq87_L~ruo0<;e!&u~X5eRAzFwuFu{5~{B ztwRe9$B}Z_rHCx}t~EpjBu3XplVYoxByZwI^2ZLL64(-wwz_eaX^Wbw@?}6$v9D&E zD8w@$s;I+ic#)o4+=bJPPTdt3iJMa3*J!oev$(G&taY$VH&|tg#v}o7qHLAqaCo}g z5Cd_KgUlRsveRc+Rd|7{s4sES{HvRnJ6W4nHtQ30UKW|3531|<%AT8&)wd}NzsQv$ zmpqy*_qrBd{Ef`2-9W4flS8XY#^e+$@a`*rl{wkDdEjIcmRzoWUB-5Y1tmpW_;k(8 z;Iflv29lb#la`_tUKR#jTr8RP11aA`rdlJ@vlWbGf_nkoT+bR6q<$+S?JU<<hfJg*@^*;>M{{Ry3yjhPmI59izx9qrnP73-|B4{MdPd-LFcJ#lZbtRV+1tcoz~;msz+gUkxkL1Xb_&f;7~+UsQ> zW|)c7G{_<@jf3VJUnu@!oW_JKEz6-AwNIcNyw-QzA^;_8WI4wF0NGrjURZ-QX2o2f zE*^3s{KrG;ss)TdP&S$dd1a5!C%62qBB)i>7+W11;fTjG_x}LnKH+PRV{E)rfmGsS z{8nu5%oX8p+F18DTY}7heQ$7sE>cNy4LGFGvHn#y0OgN{>u%oarPvKHNCQ&TNl!45 zhQuk)9l-B!d|{Q4wm0w9d7Qj@rqB_ZQ<=K4%L7}d`J+OdHF~CGeU8awnymbzWeEk& zK`GWna7bF=kYmlph1X*0$5bp+c#fhDSB;haJ*&y5OXD+ak}14e9!uxM^lguqQsp`x zOq!fVTIbq50-UI|DtO-+8J9k3X-Adp%H^7)X9lWmG)`rgPXeoEneCsOHG$~5uVjnI z3E6=}=*EVoIr$0ISF#r%&8I~+1S_herKfYAMbSDc;VNe1&gn+WmzM1!P}fO8FsO%d z<_kP;jXk>Bd~XcIp!xO=>b(p(CR4Lw<22Z7U78cGMVB!S+Fl!=7}JyjBlZ=ntGt=0LR@!;0e416=F1 zqh{afTz9+CE!0wC7-132?1HJc$j9amY42sVnPWA+r~=Ln^5x5+Sl9y*NcZq!7cLov z`X0&S*nv$;TT16LcuPUBj#1<{>{Z+~*all>w#`4)Ermz7Lfwx=P$|msBuhvNlPeuNfzB>o--(&yL>AX zin;*8ZhIBy@^SXKx1H2)%nu=0n%ks`vKzO1CQRqBvqBVDK)fVKWxnZ<646H|MN>Nh zjJR7*(zTrA7x1>;#j5`RI1)TDoszt?+PGaTA@-09to*idqg@0|ZQEpBXwk``t0J~iO4@QzyElj*lVf!M04P#tiZ~KxCslJgHn8s-OhMqZl9!b& zvg+}w>_PUFxHqyg%xyT1i<*+dqGnv(N)1@RGiGlo^iO&un#W%5aVWW39lisG!1{Jg zd!EaqGtEy6Ko-v+-)y zcyvil1Q7t%?dj~F37kdBVmWm_W< z*SD%RWx{9~tnR_s+BQ&)#z{i;* ziP>{^^-DRTLJHGGHhE# zdNLZI88ajS+CN|~^ZYEG!D9g_65L%uzD1mSLu4GYoP!RCy8xouu3-w32HwsWsX* zGIxd@5e;&$3CSN3rEmE9*s+jFX|Y(;u2JJvlplm{-oafP@ z#%`m+IMKwK?kwTeXYm+pHtGkm?Z=aAj+%PvT535Yo!l0S1mXoLd02M@K76p#VV>|nV zTr^rhays|W?w|)WWD?+a+^T?lD-@)psl8-wbS$wkeqy>Xv+UzOwxm?oPgKZ+F-q&Q zA+uZAPFKE(n^8^mGnDizOf&tGzwr!Co?!h6wo|8=dae9;{T{)W5OkccjAg!Tqq=jC zUtrSWl@4fawoY+Cs`&(mm};(c1GSYIieShx8{Gk8N``;+2kxW%Xa#`g^$M?`EydIk z0)kz`@d+uV0jHFemUwJ!*ugAyaEG&dE)GsU)M{Deifo5svYiF#WBQt^&#(#9D9{bT zNhU31^kKQT+jItw9pVXS+mY?f*sZwvJVK>*BQ130?iO!E`8hm_t5~c^@yG=6gR*er z&?rSaXKL-5L*4Zf1NxwyQ0 z6+!OedG}nqNP8u+J+6=@Inh5eQ#F@j6%TGwbXxvPtsd2jb8BUvw1u%uBD`*{r>=Uj#&6*qHN(_DZn@apBJGGe0l=L zU8F9&IXLzFqPEG#E2t|g%(M`gDchz&rf*+Ghc% zp2-puG*dIR);9*o3mQx_kHj1McUj)Q(FgrgBeekO2EGl7I+jMY$B|*lfy(NmF;8h2 zLgCLHEpf5|U{Zvfus0@lqeQ1`xn-bjQw6d?2>^GZM1W2bKpW_oC&mcWY7>E{gyZdp z_4@0jJ^oL-=+r1xL|*um1o`l;<}NJtGr}{KH}|`mZmS z9Z^`0wqnwvAr_5wK_w=Za7Y#O;%I%sZr2nd0^;wADAp}RV^xC5@WRS{3~A1Ml$;s^ys(7bTpPF z;S6NG)l|(A2J<*Gd$)T9w6oP3P#~7w%`K35n`;$?>VVvI%oRWkjqA}=ARWl;{W>it zeE}m5KQwL;e@3<9R&eO(&GQL|5O)K&veS#v*FCz_jNph6AyK1b%0|l; zOmaU&tSV^lAEVw?O@iq52V)~G$l$ccpz$T>0zf1J zKqLY{Is?>jO0SQ=X{Wv9YdCNB3y0*+>b{xNa?7&fh^W|F;WV7;0swB=*Fbf?5U%j# zl*H7$GO431kjdqDs9uK_7-@TK;~35hLqh2(n;f$_rK}wV^wk`>@#8;Y*PJjpw*}d* zbAGFa-JvY{+>c~}ZV#|=)ksZ_zazI(O)@VYQ=x9kr2(@owLHm#JO@T^s7vhGO^8!f z-eT?xw?O@09Y>*=xD>0iD$oJbXlj*3#XT%M2$(S?24p zRj?Tff&?ZIDVdWq$0MU~aOjnrfOoVwXJ+3}Q91}_RFN67iVvI*vNUZf9BI*6s~q@^ z)8W;Pn#TL?xUqBtpu9BR0us z&~qFHp;VN#fOVA~2*q7b zAPy$WpPPg`Y&xyA3_iOqP(?LxdwhmK*e!2bYzd9Id%A-vH+6dIHpb{ZEL~QG;d|Bz-e6ETQJIYE%jMaO2NP$ z$Op0lFZ4h)^#lY2q_DBwAe$s>n`5GpvfqEQqeT8gx?sRxm~`C$oZ)?Tass@zz3rlV z0lz8hs8$u^?y3MC-B|}9`iJPMP!s!wKqm!I2IYG&p4D=INL8?b3W1X|AjF1Tjv)C? z>16>;6}j81N>YH80zfUcKyP4p&jtK9u1;yVYjI#PQ}R(298 z5#yQA$((dmk5u;6gT&8`nM&xKx;>~?*1on(mPDY*#0j zWwD2$Uc9-F2flY>@&6u_e{ zKQb|q-(~0gtQYNGLK^(1ri+p@s1`7rTXjU%!u&~9heIqgLfWX@+ee#6G_COF#!uxf zJ+ZSr?sMcfbIxP#x#=dsp#=a)DJmrnF*LcY+@~N2i(M*57PY&i4Bl(B?h^(V2m)T< z6pZf#w=;g_I0J37fIP0yrVTg{IL3Lq5P%WYw(hGyJ`;(t-2e$Gqz*c*B??cdFuN>+ zPer81eu%R*`nOO~tpo_x$$;L~TLC$$p@v6wU^g{XpeHq4p$jGrWX&5O#)e$Hj@5-u zP#RdWYCNS9ge|4h2;DGn@(sp?8V-*H#+=(R<#F?IeuJ!~oJ?2WEQ0)%r@&ZR3fZf}y^2jW1ve_NFYSaX?UDrD&u;Lf0q)Mm&e(K;2Fh~S| zBXw$;5IvO#SKvC(%Bg5vbd+Xj^;mP`xN*0L!^51P&8qVYC03u+G>G5TO$az;H%uP- z0lETl;#1KVGARY59Kl{QpbKOM`roQn5Sd?)JPu#Xq#);HlQ2PyLkli|W)|hjkUrWV z0!x7-qM$Sp#`x~-`jVN89Um6aL;9f6sG+EWejJVG8>QK42gD0)Ydg19QjIBA;gQc4 z+O=tqCW}sXqLQYK`Ni@T)sA@QHTDLIX3X6@!*v;BVI*}(0`RUFL><)x2vq_ECIfR- z$`C1pQ&Erxj$fhvQl{hf5Rrw4xad=qAeb@&O?hL3nv2+U_y#aTn#UE#%f@cHDcK`$ zeb+4kRMQ7)mWsx6fsNKWD6uIGRD?)CEp`Yq5PF34NSoT>AkxFJjsOji*>8qNvtl){ zRW{AlYnD)%UkcuVb9n`dP{{NlEts-ozKEd=s!2A-q5yAgiUW*wm#Y*Tl|T!ExB{}E zNCrSniBNYlTcEbJgw>iXMj6M_>mRyVP2zIB7P>AxEU0G1d3?C)o>7+HGK3JhIwe6# zQy5{;G^3t^^9G5q8Odh*S|FQjCB|0><`{!++SRum<*)Xm;qH!U=*v771Mw z^R(=iQ*b)$7Z(qVX7*ehoO-7n3ny#B!~s(PeaKTv#Z0A!$}CBVKw6+{9R6ikn)O`_ zMm*tbNv!oB+FZ zVLP`i`lLoojnxV#9>@mRTqYic;fmjk!15E%7K?}EV7LQ@SGjWiGsx#_ppMdV>ZAnj zV`44pm>UkpF?=VMmF;s5?RdCbO!PK|ZFP1bKN_w1k3a>QKFV^-V$>F7pIfA6`mTVJ z+t;E1Qb;3V?3|kmG)1`s#>%hg<6utG)`sp?N@6;vlm`uZr)U>A5!yqkQfTI2Xbs(} zf>jNUrVG1v>JUtq$A5JpUaFC^vpC+`s=|jkQA%l?MY(UH+j~w>3)rSXzjJj^z<0W^ zfeD02R1hNRfQ{7zN@irtkOgbAjE~=;NCrkzVwgn$kQZ?IT?@U|T(e=+VR(+2Ty|Vp z;%ctxAg*1Q+^p#mK^@MihMaN3!rN7@ zG6fkd*N_xt0R;eyPy=(w**yc(%`0DUu0=;D6+5InqfYD62)-#=;>NIxZsMpQ>Upjk z!g+BQ*FdX5URa+Stnp%)51~LS=z=%0W=I5p==>F1!L5Beoy#EG*6S{8cMexUh{KYg zo{P-AT^35A{ScJ6hzLs|C?ha~sog3Ba2teyvtQjaAbX?<_8|mjY7O;4tJG@J7MKC> znKMI_>=uIhkJ22t9|L0rZ|fzx6V*htJ{IbG#Cglr%zP5%Hy!3eBL z=urbB#83$7GuvaKTi`33y~5E3-7_(!ieYByCr@Pj^a6b}@Gv@2VDBoql*`ZvjTHn_ z2skDKAyJ}20h2O76cHe?-@1?y7B)I61b{3q=NH*dL8BC|jNPSk<&MLk!?8@w4RKug zVjA(x*&Djd!KQY4X-dt&^od;Bx(KR9<)L|;*y^gY95T6Ngnbht za2ZfYHQ;ncj8>44LB`I}0L8?hjjfOpY0CXmG-{cqWbq0VRbLNK=DW)6z1I0-xE&QN z`OUvYjE2#TnVLaN%+YNQ>Oq{%2}&=;b0;tL$Tl^Pk0ZU>-Q+;$tdb$B`z&z=U_j!eO3U{4xV zAZiro5h_U=rVBCxKp`8L$lX85S90ayqJPEv7Ji7f&A; Nq0LE<*;V5w|Jh{a$?gCE literal 0 HcmV?d00001 diff --git a/view/theme/diabook/lightbox/photos/image4.jpg b/view/theme/diabook/lightbox/photos/image4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9c67a20ee7fe7894ab2b887d4494cb5daff3f4b7 GIT binary patch literal 18746 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 literal 0 HcmV?d00001 diff --git a/view/theme/diabook/lightbox/photos/image5.jpg b/view/theme/diabook/lightbox/photos/image5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..e60bf60b53882edd4b445f1cf3a5854341b6be6a GIT binary patch literal 30903 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 Jf6O3v;=irmy^jC@ literal 0 HcmV?d00001 diff --git a/view/theme/diabook/lightbox/photos/thumb_image2.jpg b/view/theme/diabook/lightbox/photos/thumb_image2.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0b3cc0beabe449660efe2963ceff7c3a397cad55 GIT binary patch literal 2541 zcmZ9GcQo4z8^?bUTZ|+|t(Zm35~GTu_AaW_xP+_p(kLO?8&Or1UX+$<5#z?L=yk7g zQKQrhO6=I}wZ~O^=hgQ;r+>Vk=bz`C?{hxSmp)FP19&V=EldFr2n3j43_za*i~tBL zD=Ql-gpCaXg|I`Qyxb57H}54F3=V@`5`^fA%rhLNF%-@jg%69u&<(qb@pI01_U%8;8r3O9BQMAoXWuow)aAY zF^#Hb#>%b4viGe4ya59HyX|0OQ(lsTrSl%sPnnp8S@!D*$Y~^qdaJINVVe$U@~Ouo zS7{x_;%$P30l9%et>$Xhr1|_WMwGhN7o}V_2L2ZQi%;CP-{(Cd*IoP%DY@?Cp=Zk6 zrp7{~1EJJp7h33?CCn5r*2MQ-Q%IM=Gm#tgvSjEV>+y-IA>CH z6Ys`8QXCKkZcRUYWn^^?wenf)IG5V({Tcr$kAZo??tMRU*>E-%Np+RQRxWVJV0rT= z!jJ+UT-nQxA_+9w*MrS-+w;B`XFi0-yZ9Z!26)O=GCGj8V_4T>w;ugf|~PNtlTBxd?G_t zPjw^)$`u7%Tqy1*(4mOX1MaXzipLb*sA*`n1I4;LV`<{Zu>$KstP5%m^N!CYrnF%+ zk+`9tJHMCwZAAt@!#peLmnrq+>DXpEZQ-Yp7xu@!YPC1GrjkZIsHB@i41%If;nViM zchWR?(?Q1w}P!oW^!A)9NM+Q=s@o>i?8mGne5W?);j0k0pqw?Si?_* zbR|bmbFA!!&M{Ucxrtbic#oZcv75rR@?}~?#ccWOH(dS*%FqZM8t#-o(we;sWCiMJ zb||PbN0;1MiB{4nt=G1fq>ggsu2jw(ti~ONeX%<`G09tVgGmS4HErlCBq}^S(&OtrC^Z?01q9a|V|%_KI;}mxQV;(!KNa z@VRqDoO`D-hGXLGzzcPg@T6yzE6a17Ci`)*<5k9-E3^;B zN~_PyE&pDcb{?xHD~2w_;7&qHBjYHCd@zcXF4q4x$C zQv_bt+oUZY)1zpb|Cl-|9r@+({xOCmVTLLA3&Fkh;V8r`X=$TNeN~`tw^P()^rc^| z@2NqcSuNKzeCl7R;jp$72m5Z#qu(^thn>>MyuE@P z72QoOD|ofpSqL3SV0N8v;;qcXy3@)-X@P3xqfmh_Zoc9P9T2ltC@m0Xd}y$mVSP@L`$yspVw_Y&ai~t@%}^!TC=~?7 z<+R*T5;e+-{%~Gb_|3O~#bmvVpbC2z5@AYNsT#2c)V$pvDOi;HrV2TLw@6}pERVC$ zcR$>(O8cgzc>roTF)kFbUY2U+YNge7{F+@V7XRwluZpLXTBMkz{Dq~;bG?bIKfWq# zv9BW*=s4sY*L`!+WG~x@ssAjkBFLHV=N;!8xA%0D%aj$fNw}$*v8M6G{I9sp4Laa! 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 literal 0 HcmV?d00001 diff --git a/view/theme/diabook/lightbox/photos/thumb_image4.jpg b/view/theme/diabook/lightbox/photos/thumb_image4.jpg new file mode 100644 index 0000000000000000000000000000000000000000..06ac43addbacaa4b60cb2b01b9ee923707ba2bda GIT binary patch literal 1993 zcmYk0dpy$%AIE>YX{!~xg=T6Sid?rGmvPEOW=3EILWHoiJrh z+9451o<&I_I=OU8D7UC^l2drr^E|KfJn!#6-`DH&`o6!P)&A9CK*QCU;S7L4Aiza6 z!0Hg-2q58bI0BADAdo2JS|kdqjzp?swa{n`8m*;`!KuJ#YvOeXI(SVo*}#BIHa9af zGpGE`4+&^J5~-n~p@~9iYGE)KEnU0{T|M0&=oyl?s303|-KM9fw{5Gjv7w={F@<9B zw?Vb6wg4#jk5Uj23IL-(5EN)t31|ZV;zyqGx_&YNz&4b z{`Uo6pIocvTsofhT-=wpNH7)C=35B@t9o6Mwwt`Ba@{=!Y}jerb-r0bFh{gKqy6hi zXN&cZFE6|j$sBfh_?@9&g+Jcjyvfbkqe0n)Icwbv#rEnOR}@DvvPZ9M@^1upqOzFg zQ6o=o9z$l>ba{Mdzi+obPOOYQe59AQhuC4W^iIa-rL_j^!d0AQg~q96)Zn?V>gn>Q z58pl6y-b?$t?u4&`ogcjY#ishk+!F7+|d%dXkXM@tZ8)r)w_jL9VHd*Z8V(`Bzq}2 z+;p+RSEDd-AGKstp7cI^qez-s=&p}A(sz#TR5=SK*hJ=vM-SM~L=1V!S>%HqwJiv zusSwtG)Ou;hw}&nDUtTF3*E~;!pn&z2lB41EWXM7WLxJ@U`NS5c=Y1#JZs5j+YGFG z7-fHg3DZ-?MX=OT);hFN#FHmFelGPV>d6P=f(p&=;KCAD#KBwiNun`FUZ3IO7_3Rq zo{mc?%&4DW58PGX8}1$6RZ2DJj;dNhdS!=J94@V!taUGu(U1vulk4YaI8ywuSJo2~ zY17EV@@~*u`OeBm#pivOAAGhvi?E<-^$PL9TglYesD%(?nwVxyKPbMq`8D(ueD zfo*#wu!J*zjVw1NJM=n=1)(vWteEv_(zL2HPkCjUD8lcqRzILaE;O^ViK82Y9kvGTn_3L(42Gp6y{ILo|=A;(6 zk8U7l6GSJb3vrgi&WHNWPVpu?65sOW5tbZW75%j?PLTUqdV)08oJ1(M!o;=Tdw$fi zrm>I=W(xOTDhSX%W$kFHm)YlYXc)YX`uxkRu9I6sYpcKL61N#kG^$mHXFi_xd3r7& zCjuf%^w-{16>l}Ym+zPI;9y)Y?R~mMs~N3MJAjo~>>&RTrHio@dR+;88rAFXZP zSUHIJ+5C}j86qH%)imPIz7ui9GubEA*>;&y{zlSYrrQHonjaF0nbF591`g{x3K3nH z)7P2!_;($_3r|BP!dWItqjS{gv=Ac=WJY~PB-U^^ ztoU=V+ID&>)26nUo`1rPre3>y306|ft;2dp0+#lJ5*NNP_g>C8hd3}Z5<0ZU-@I%{ zp6F|D5eyUNn6w>v#-Vhb2@mv)DsJdZ5{{!s+jAL}rr+S{W7BF;1A(%;N>Q@&QPc6j z^BptYFF~|_7S!wn)A4&MGspbA*;D0|mO`9e@%O3Cx6Df#8GJQUS3zud`2JtGz5AY# zJ)ppAKlnqOe=HZ%e|6Fcqs2zOc19lSPfokZp=l-5-Ai4<>r|fMb%lJ4kNk%` z%j9Q$_Rdc)zBin_MX%x-*2c$1gxk5f ze2K1;k2ibU%^@Tc-N8TLA3N$Hw%qEyz1U?Yd+5UX${4J^3_oie<3E}{-o~1*O-xko T^z++c7IQM6v(VNgSsnNnlG9@K literal 0 HcmV?d00001 diff --git a/view/theme/diabook/lightbox/photos/thumb_image5.jpg b/view/theme/diabook/lightbox/photos/thumb_image5.jpg new file mode 100644 index 0000000000000000000000000000000000000000..8ea97c630bb985722830ec570fbff632273a65a8 GIT binary patch literal 2045 zcmYk0c|6pM8peOKkThZzW-K$+jBRY0vG1XVA%k$4Y@xDUdlEWPwr~|wh!Y)?EfQ*! zbW+DyVscyz2Iblc8D*;sF?YJ3&pr2k-+$iE=Xsy!eS|#WG$7+Zp;7=42n5)R1`tjH zwg5~*LSnxJZ2x{393}~aqoiRlX%q&5Kq3$rd8Dieq&!+t39F=tCJw1`A4Ei#$(SAu8} zz6RhDKTAPCZ~zPkLEs=^C!hcTV2G&f|A2~tA>yEYBF$I^0E56#umlt;Cib5L5Euf5 z17e6HNRl`TPquaqh#_1psIZB>)+~D}@Q*<~_n^4PBBwkE5QYAKs>lgI#YB>(=s5^1 z27!Xa{;Pw)@FNfe$=Vek5Q8M!TrGf}3an^e6;1#!2uM^F0tc*sw=F^LgRHQ~r3q&j zt8Vj*EJpnJ_+9Sfafyw#5ab)*1}ZZfE#wbzX_`t^+0>~&OW;r_MQFoU0@_c4YHN#9>`}fkKVhm zw*~)Q*>JJ!WJt)U$^IARn%=yo4vPCll&hV_56t{TqWAT=f3A0}c|LED&0^qOaZvJz z;lv*1+sjErYVDh0j&f}1aK$idUrn`HFlvmLr_%aGlQX9a0*P0LCTE4K6?5l)Rfr!8 zP~qzJ&01X6PqVM|ER9Z?QOKI&<;WeVwKwJ7ZZhpYS8tk;RrcNLvUd%a(SWz8Gca+j z$V|!^^Ls|#ms27&j=ExGp1O{qnw>bzkM4!^GV(3;(~B&R8IozY_z?wtbs3D6@VXLh zfjdCbZ`?vT(Jp-@dEArJ+<;)c%1F_Ca~5{AuioK^ZJV|b@YK6*7XZJ-T#j)#QW#$^ zgMPO?H`vKh@i>1v@pN-jFVV&0parXEd|__srY6EWHje#1x^5g@|B<3<^oR(Jd_N`WOiblrSI z$M$dF4&Ir2g0acm^}efQ9K6Vqr%wrF;9^E5uB9AEaH zeZ?)~(b<0QgVRN&N=#}1uaaglj~^4nV#*W?1-gvHoRAVPMC!`U%=FWF?kmQ&-Dt+} z3$=vFl8#yWmYmOlq&ILXxoke}@BS)7Gtxy%7cp+b1H=cUieSe(9eMq~TecQ@IxM(e zvZh;l-uahr{C&CcS!)Ka}oKHB7)>87p4CRadBhJ^^O=RAHdj{TjqU%a$bEnFf zDzALOMKb5ibC+60`by0P?1GI)S54rmN5n2JTh1>v^4MMhXHkp9IZnHJP5l~K9UTxp zSzOzFvh$oh!8cYn&%&v>F2Kpz;c*WB2l3M9Yy9Rf-`Ta)p^0=~x8dzkNfwubx$S#0 z^E-}>+MH+*0-*Tg&eV;BD*9B7t>Fjv(9Y8M@YcL0wWWhGT0_S+SOuwyj^o^&da$m5 zC>!Tjn#RiSKU^@DJ`G>p`Bex|KdiqV^m5VQg;m}#y;S^)5ci>JVI^m#wR(O_Tf8{U z+34gVAzvbh5#dwzf)LeMPFU>SJwS0aa#%jU3`R6-s2~1qYJocwYgx`O^L=qWqU58_ z*@7t-REhlLWAlq&du*e#!d{@nhU9E|Zs%6DUkaP->i1t%tw!%D-lCydKfI_ypw1>G zm>osF8Qs>VF}}Gv8#;a9454MWVL+y%CX<5Fk^kj{Lg~9dOqnJuAKHe&!!&0z|B}~b z+a7N}AI-T!=tUCgc*F3$t^0Y1WZgdfw!xyJw#D$J%}I#PY>tZmwTC8|Mms@F(_Qq9 zio`goa=b&Ddxi^Mz!>d}VbGL3vW=%ynMGGia5>s6Yt_9rr$5cda=F#t8E`*JV7c7g zP$)G@cD<*{5a}Dd7*;5|n=nsWv{({cx_1%i#vuec#4;^w{PP+YK7O5lE z*sh(G$#^&xGbcu4{^Qfrr0fe$1czy<$nKAOm}=-1pDb}Jd~M0wg6Fp=E!;1H%hBiV zw}kNJGF_aobWLf}bmHUyvTyEzno?V;Bb5%iA@28XWp#KU_FnrT{YW7Y_G+8%6F)d% z*;wvG<12N^hu`p&duDYx=E@VKA(+wP#W2Duq#7Lm^Tar-p?zxuyO_@Ao*>oqktMel znV{RNElCbP$en^oY<`p?*5s7{R#noZ5I16~?YCx76)`p-aOTZb#0OSxB8&>sa~r#?HKn S+L_I2E4$8i)g9Cmj{h4ZKZ&~l literal 0 HcmV?d00001 diff --git a/view/theme/diabook/photo_view.tpl b/view/theme/diabook/photo_view.tpl new file mode 100755 index 000000000..511fc73ac --- /dev/null +++ b/view/theme/diabook/photo_view.tpl @@ -0,0 +1,27 @@ +

    +

    $album.1

    + + + +
    + {{ if $prevlink }}{{ endif }} + + {{ if $nextlink }}{{ endif }} +
    + +
    +
    $desc
    +{{ if $tags }} +
    $tags.0
    +
    $tags.1
    +{{ endif }} +{{ if $tags.2 }}{{ endif }} + +{{ if $edit }}$edit{{ endif }} \ No newline at end of file diff --git a/view/theme/diabook/style.css b/view/theme/diabook/style.css index ad7119c2a..badedb02f 100644 --- a/view/theme/diabook/style.css +++ b/view/theme/diabook/style.css @@ -177,8 +177,8 @@ .icon.on { background-image: url("../../../view/theme/diabook/icons/toogle_on.png"); background-repeat: no-repeat;} .icon.off { background-image: url("../../../view/theme/diabook/icons/toogle_off.png"); background-repeat: no-repeat;} -.prev { background-position: -90px -60px;} -.next { background-position: -110px -60px;} +.icon.prev { background-image: url("../../../view/theme/diabook/icons/prev.png"); background-repeat: no-repeat;} +.icon.next { background-image: url("../../../view/theme/diabook/icons/next.png"); background-repeat: no-repeat;} /*.tagged { background-position: -130px -60px;}*/ .attachtype { @@ -247,7 +247,7 @@ background-image: url("../../../images/icons/10/edit.png"); } .icon.s10.star { - background-image: url("../../../images/icons/10/star.png"); + background-image: url("../../../images/star_dummy.png"); } .icon.s10.menu { background-image: url("../../../images/icons/10/menu.png"); @@ -285,7 +285,7 @@ background-image: url("../../../images/icons/16/edit.png"); }*/ .icon.s16.star { - background-image: url("../../../images/icons/16/star.png"); + background-image: url("../../../images/star_dummy.png"); } .icon.s16.menu { background-image: url("../../../images/icons/16/menu.png"); @@ -323,7 +323,7 @@ background-image: url("../../../images/icons/22/edit.png"); } .icon.s22.star { - background-image: url("../../../images/icons/22/star.png"); + background-image: url("../../../images/star_dummy.png"); } .icon.s22.menu { background-image: url("../../../images/icons/22/menu.png"); @@ -361,7 +361,7 @@ background-image: url("../../../images/icons/48/edit.png"); } .icon.s48.star { - background-image: url("../../../images/icons/48/star.png"); + background-image: url("../../../images/star_dummy.png"); } .icon.s48.menu { background-image: url("../../../images/icons/48/menu.png"); @@ -400,6 +400,7 @@ body { margin: 50px auto auto; display: table; } + h4 { font-size: 1.1em; } @@ -704,21 +705,17 @@ nav #nav-user-linkmenu nav #nav-user-linkmenu{ margin-right: 0px; } -nav #nav-home-link{ +nav #nav-home-link, #nav-directory-link, #nav-apps-link{ margin-left: 0px; + margin-right: 0px; font-weight: bold; + margin: 3px 5px; } nav #nav-directory-link{ - margin-left: 0px; - margin-right: 0px; - font-weight: bold; - margin: 3px 15px; + margin-right: 0px; } -nav #nav-apps-link{ - margin-left: 0px; - margin-right: 0px; - font-weight: bold; - margin: 3px 15px; +nav #nav-home-link{ + margin-left: 0px; } nav #nav-help-link .menu-popup, nav #nav-search-link .menu-popup, @@ -866,6 +863,8 @@ ul.menu-popup .empty { padding: 7px 7px 0px 0px; } + + /* aside */ aside { display: table-cell; @@ -876,6 +875,7 @@ aside { float: left; /* background: #F1F1F1; */ } + aside .vcard .fn { font-size: 18px; font-weight: bold; @@ -1036,6 +1036,13 @@ section { width: 800px; padding: 0px 0px 0px 12px; } + +body .pageheader{ + text-align: center; + margin-top: 25px; + font-size: 0px; + } + #id_username { width: 173px; } @@ -1046,7 +1053,6 @@ section { width: 173px; } #contact-edit-end { - } .pager { padding: 10px; @@ -1972,10 +1978,22 @@ box-shadow: 1px 1px 5px 0; } #prvmail-submit { - float: left; + float: right; margin-top: 10px; - margin-right: 30px; } +#prvmail-subject +{ +background: none repeat scroll 0 0 #FFFFFF; +border: 1px solid #CCCCCC; +border-radius: 5px 5px 5px 5px; +font-weight: bold; +height: 20px; +margin: 0 0 5px; +vertical-align: middle; +} +#prvmail-form{ + width: 597px; + } #prvmail-upload-wrapper, #prvmail-link-wrapper, #prvmail-rotator-wrapper { @@ -2163,14 +2181,25 @@ a.mail-list-link { padding: 10px; float: left; } +.lightbox{ + float: left; + } #photo-photo { float: left; } #photo-like-div .wall-item-like-buttons { - float: left; - margin-right: 10px; + float: left; + margin-right: 5px; + margin-top: 30px; } +.comment-edit-text-empty { + margin: 10px 0 0; + width: 85%; +} +.comment-edit-photo { + margin: 10px 0 0; +} .wall-item-like-buttons .icon.like { float: left; } diff --git a/view/theme/diabook/theme.php b/view/theme/diabook/theme.php index 5a1828ad7..1617dd7f0 100755 --- a/view/theme/diabook/theme.php +++ b/view/theme/diabook/theme.php @@ -12,6 +12,12 @@ $a->theme_info = array( ); $a->page['htmlhead'] .= <<< EOT + + + + + + + //appsmenu + $('html').click(function() { + $('#nav-apps-link').removeClass('selected'); + document.getElementById( "nav-apps-menu" ).style.display = "none"; + }); + + $('#nav-apps-link').click(function(event){ + event.stopPropagation(); + }); + + $(function() { + $('a.lightbox').lightBox(); // Select all links with lightbox class +}); + + + EOT; From 59766b944c9ea3a45b1d7e8593f7bb5d4a0b8445 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Mon, 12 Mar 2012 20:17:37 +0000 Subject: [PATCH 072/153] Some security against XSRF-attacks --- include/security.php | 46 +++++++++++++++++++++++++ mod/profile_photo.php | 18 ++++++---- mod/profiles.php | 26 ++++++++++++--- mod/settings.php | 59 +++++++++++++++++++++------------ view/cropbody.tpl | 1 + view/profile_edit.tpl | 5 +-- view/profile_listing_header.tpl | 2 +- view/profile_photo.tpl | 1 + view/settings.tpl | 2 +- view/settings_addons.tpl | 1 + view/settings_connectors.tpl | 1 + view/settings_oauth.tpl | 5 +-- view/settings_oauth_edit.tpl | 2 ++ 13 files changed, 131 insertions(+), 38 deletions(-) diff --git a/include/security.php b/include/security.php index 8c536b656..6ea515bff 100755 --- a/include/security.php +++ b/include/security.php @@ -288,3 +288,49 @@ function item_permissions_sql($owner_id,$remote_verified = false,$groups = null) } +/* + * Functions used to protect against Cross-Site Request Forgery + * The security token has to base on at least one value that an attacker can't know - here it's the session ID and the private key. + * In this implementation, a security token is reusable (if the user submits a form, goes back and resubmits the form, maybe with small changes; + * or if the security token is used for ajax-calls that happen several times), but only valid for a certain amout of time (3hours). + * The "typename" seperates the security tokens of different types of forms. This could be relevant in the following case: + * A security token is used to protekt a link from CSRF (e.g. the "delete this profile"-link). + * If the new page contains by any chance external elements, then the used security token is exposed by the referrer. + * Actually, important actions should not be triggered by Links / GET-Requests at all, but somethimes they still are, + * so this mechanism brings in some damage control (the attacker would be able to forge a request to a form of this type, but not to forms of other types). + */ +function get_form_security_token($typename = "") { + $a = get_app(); + + $timestamp = time(); + $sec_hash = hash('whirlpool', $a->user["guid"] . $a->user["prvkey"] . session_id() . $timestamp . $typename); + + return $timestamp . "." . $sec_hash; +} + +function check_form_security_token($typename = "", $formname = 'form_security_token') { + if (!x($_REQUEST, $formname)) return false; + $hash = $_REQUEST[$formname]; + + $max_livetime = 10800; // 3 hours + + $a = get_app(); + + $x = explode(".", $hash); + if (time() > (IntVal($x[0]) + $max_livetime)) return false; + + $sec_hash = hash('whirlpool', $a->user["guid"] . $a->user["prvkey"] . session_id() . $x[0] . $typename); + + return ($sec_hash == $x[1]); +} + +function check_form_security_std_err_msg() { + return t('The form security token was not correct. This probably happened because the form has been opened for too long (>3 hours) before subitting it.') . EOL; +} +function check_form_security_token_redirectOnErr($err_redirect, $typename = "", $formname = 'form_security_token') { + if (!check_form_security_token($typename, $formname)) { + $a = get_app(); + notice( check_form_security_std_err_msg() ); + goaway($a->get_baseurl() . $err_redirect ); + } +} diff --git a/mod/profile_photo.php b/mod/profile_photo.php index e3dbdaf39..d1fd08eba 100755 --- a/mod/profile_photo.php +++ b/mod/profile_photo.php @@ -15,11 +15,13 @@ function profile_photo_init(&$a) { function profile_photo_post(&$a) { - if(! local_user()) { - notice ( t('Permission denied.') . EOL ); - return; - } - + if(! local_user()) { + notice ( t('Permission denied.') . EOL ); + return; + } + + check_form_security_token_redirectOnErr('/profile_photo', 'profile_photo'); + if((x($_POST,'cropfinal')) && ($_POST['cropfinal'] == 1)) { // phase 2 - we have finished cropping @@ -148,7 +150,9 @@ function profile_photo_content(&$a) { notice( t('Permission denied.') . EOL ); return; }; - + + check_form_security_token_redirectOnErr('/profile_photo', 'profile_photo'); + $resource_id = $a->argv[2]; //die(":".local_user()); $r=q("SELECT * FROM `photo` WHERE `uid` = %d AND `resource-id` = '%s' ORDER BY `scale` ASC", @@ -203,6 +207,7 @@ function profile_photo_content(&$a) { '$lbl_upfile' => t('Upload File:'), '$title' => t('Upload Profile Photo'), '$submit' => t('Upload'), + '$form_security_token' => get_form_security_token("profile_photo"), '$select' => sprintf('%s %s', t('or'), ($newuser) ? '' . t('skip this step') . '' : '' . t('select a photo from your photo albums') . '') )); @@ -218,6 +223,7 @@ function profile_photo_content(&$a) { '$image_url' => $a->get_baseurl() . '/photo/' . $filename, '$title' => t('Crop Image'), '$desc' => t('Please adjust the image cropping for optimum viewing.'), + '$form_security_token' => get_form_security_token("profile_photo"), '$done' => t('Done Editing') )); return $o; diff --git a/mod/profiles.php b/mod/profiles.php index ccd7d5474..b307a2d43 100755 --- a/mod/profiles.php +++ b/mod/profiles.php @@ -21,6 +21,9 @@ function profiles_post(&$a) { notice( t('Profile not found.') . EOL); return; } + + check_form_security_token_redirectOnErr('/profiles', 'profile_edit'); + $is_default = (($orig[0]['is-default']) ? 1 : 0); $profile_name = notags(trim($_POST['profile_name'])); @@ -240,6 +243,8 @@ function profiles_content(&$a) { goaway($a->get_baseurl() . '/profiles'); return; // NOTREACHED } + + check_form_security_token_redirectOnErr('/profiles', 'profile_drop', 't'); // move every contact using this profile as their default to the user default @@ -264,6 +269,8 @@ function profiles_content(&$a) { if(($a->argc > 1) && ($a->argv[1] === 'new')) { + + check_form_security_token_redirectOnErr('/profiles', 'profile_new', 't'); $r0 = q("SELECT `id` FROM `profile` WHERE `uid` = %d", intval(local_user())); @@ -291,10 +298,13 @@ function profiles_content(&$a) { info( t('New profile created.') . EOL); if(count($r3) == 1) goaway($a->get_baseurl() . '/profiles/' . $r3[0]['id']); + goaway($a->get_baseurl() . '/profiles'); - } + } if(($a->argc > 2) && ($a->argv[1] === 'clone')) { + + check_form_security_token_redirectOnErr('/profiles', 'profile_clone', 't'); $r0 = q("SELECT `id` FROM `profile` WHERE `uid` = %d", intval(local_user())); @@ -330,9 +340,11 @@ function profiles_content(&$a) { info( t('New profile created.') . EOL); if(count($r3) == 1) goaway($a->get_baseurl() . '/profiles/' . $r3[0]['id']); - goaway($a->get_baseurl() . '/profiles'); - return; // NOTREACHED - } + + goaway($a->get_baseurl() . '/profiles'); + + return; // NOTREACHED + } if(($a->argc > 1) && (intval($a->argv[1]))) { @@ -371,6 +383,9 @@ function profiles_content(&$a) { $is_default = (($r[0]['is-default']) ? 1 : 0); $tpl = get_markup_template("profile_edit.tpl"); $o .= replace_macros($tpl,array( + '$form_security_token' => get_form_security_token("profile_edit"), + '$profile_clone_link' => 'profiles/clone/' . $r[0]['id'] . '?t=' . get_form_security_token("profile_clone"), + '$profile_drop_link' => 'profiles/drop/' . $r[0]['id'] . '?t=' . get_form_security_token("profile_drop"), '$banner' => t('Edit Profile Details'), '$submit' => t('Submit'), '$viewprof' => t('View this profile'), @@ -460,7 +475,8 @@ function profiles_content(&$a) { $o .= replace_macros($tpl_header,array( '$header' => t('Edit/Manage Profiles'), '$chg_photo' => t('Change profile photo'), - '$cr_new' => t('Create New Profile') + '$cr_new' => t('Create New Profile'), + '$cr_new_link' => 'profiles/new?t=' . get_form_security_token("profile_new") )); diff --git a/mod/settings.php b/mod/settings.php index 2ef582fdf..f42fdb397 100755 --- a/mod/settings.php +++ b/mod/settings.php @@ -53,6 +53,8 @@ function settings_post(&$a) { $old_page_flags = $a->user['page-flags']; if(($a->argc > 1) && ($a->argv[1] === 'oauth') && x($_POST,'remove')){ + check_form_security_token_redirectOnErr('/settings/oauth', 'settings_oauth'); + $key = $_POST['remove']; q("DELETE FROM tokens WHERE id='%s' AND uid=%d", dbesc($key), @@ -63,6 +65,8 @@ function settings_post(&$a) { if(($a->argc > 2) && ($a->argv[1] === 'oauth') && ($a->argv[2] === 'edit'||($a->argv[2] === 'add')) && x($_POST,'submit')) { + check_form_security_token_redirectOnErr('/settings/oauth', 'settings_oauth'); + $name = ((x($_POST,'name')) ? $_POST['name'] : ''); $key = ((x($_POST,'key')) ? $_POST['key'] : ''); $secret = ((x($_POST,'secret')) ? $_POST['secret'] : ''); @@ -105,13 +109,18 @@ function settings_post(&$a) { } if(($a->argc > 1) && ($a->argv[1] == 'addon')) { + check_form_security_token_redirectOnErr('/settings/addon', 'settings_addon'); + call_hooks('plugin_settings_post', $_POST); return; } if(($a->argc > 1) && ($a->argv[1] == 'connectors')) { - - if(x($_POST['imap-submit'])) { + + check_form_security_token_redirectOnErr('/settings/connectors', 'settings_connectors'); + + if(x($_POST, 'imap-submit')) { + $mail_server = ((x($_POST,'mail_server')) ? $_POST['mail_server'] : ''); $mail_port = ((x($_POST,'mail_port')) ? $_POST['mail_port'] : ''); $mail_ssl = ((x($_POST,'mail_ssl')) ? strtolower(trim($_POST['mail_ssl'])) : ''); @@ -185,7 +194,8 @@ function settings_post(&$a) { return; } - + check_form_security_token_redirectOnErr('/settings', 'settings'); + call_hooks('settings_post', $_POST); if((x($_POST,'npassword')) || (x($_POST,'confirm'))) { @@ -460,6 +470,7 @@ function settings_content(&$a) { if(($a->argc > 2) && ($a->argv[2] === 'add')) { $tpl = get_markup_template("settings_oauth_edit.tpl"); $o .= replace_macros($tpl, array( + '$form_security_token' => get_form_security_token("settings_oauth"), '$tabs' => $tabs, '$title' => t('Add application'), '$submit' => t('Submit'), @@ -486,6 +497,7 @@ function settings_content(&$a) { $tpl = get_markup_template("settings_oauth_edit.tpl"); $o .= replace_macros($tpl, array( + '$form_security_token' => get_form_security_token("settings_oauth"), '$tabs' => $tabs, '$title' => t('Add application'), '$submit' => t('Update'), @@ -500,6 +512,8 @@ function settings_content(&$a) { } if(($a->argc > 3) && ($a->argv[2] === 'delete')) { + check_form_security_token_redirectOnErr('/settings/oauth', 'settings_oauth', 't'); + $r = q("DELETE FROM clients WHERE client_id='%s' AND uid=%d", dbesc($a->argv[3]), local_user()); @@ -518,6 +532,7 @@ function settings_content(&$a) { $tpl = get_markup_template("settings_oauth.tpl"); $o .= replace_macros($tpl, array( + '$form_security_token' => get_form_security_token("settings_oauth"), '$baseurl' => $a->get_baseurl(), '$title' => t('Connected Apps'), '$add' => t('Add application'), @@ -544,6 +559,7 @@ function settings_content(&$a) { $tpl = get_markup_template("settings_addons.tpl"); $o .= replace_macros($tpl, array( + '$form_security_token' => get_form_security_token("settings_addons"), '$title' => t('Plugin Settings'), '$tabs' => $tabs, '$settings_addons' => $settings_addons @@ -586,28 +602,28 @@ function settings_content(&$a) { $tpl = get_markup_template("settings_connectors.tpl"); $o .= replace_macros($tpl, array( + '$form_security_token' => get_form_security_token("settings_connectors"), + '$title' => t('Connector Settings'), '$tabs' => $tabs, - '$diasp_enabled' => $diasp_enabled, - '$ostat_enabled' => $ostat_enabled, - - '$h_imap' => t('Email/Mailbox Setup'), - '$imap_desc' => t("If you wish to communicate with email contacts using this service \x28optional\x29, please specify how to connect to your mailbox."), - '$imap_lastcheck' => array('imap_lastcheck', t('Last successful email check:'), $mail_chk,''), - '$mail_disabled' => (($mail_disabled) ? t('Email access is disabled on this site.') : ''), - '$mail_server' => array('mail_server', t('IMAP server name:'), $mail_server, ''), - '$mail_port' => array('mail_port', t('IMAP port:'), $mail_port, ''), - '$mail_ssl' => array('mail_ssl', t('Security:'), strtoupper($mail_ssl), '', array( ''=>t('None'), 'TLS'=>'TLS', 'SSL'=>'SSL')), - '$mail_user' => array('mail_user', t('Email login name:'), $mail_user, ''), - '$mail_pass' => array('mail_pass', t('Email password:'), '', ''), - '$mail_replyto' => array('mail_replyto', t('Reply-to address:'), '', 'Optional'), - '$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_movetofolder' => array('mail_movetofolder', t('Move to folder:'), $mail_movetofolder, ''), - '$submit' => t('Submit'), - + '$diasp_enabled' => $diasp_enabled, + '$ostat_enabled' => $ostat_enabled, + '$h_imap' => t('Email/Mailbox Setup'), + '$imap_desc' => t("If you wish to communicate with email contacts using this service \x28optional\x29, please specify how to connect to your mailbox."), + '$imap_lastcheck' => array('imap_lastcheck', t('Last successful email check:'), $mail_chk,''), + '$mail_disabled' => (($mail_disabled) ? t('Email access is disabled on this site.') : ''), + '$mail_server' => array('mail_server', t('IMAP server name:'), $mail_server, ''), + '$mail_port' => array('mail_port', t('IMAP port:'), $mail_port, ''), + '$mail_ssl' => array('mail_ssl', t('Security:'), strtoupper($mail_ssl), '', array( ''=>t('None'), 'TLS'=>'TLS', 'SSL'=>'SSL')), + '$mail_user' => array('mail_user', t('Email login name:'), $mail_user, ''), + '$mail_pass' => array('mail_pass', t('Email password:'), '', ''), + '$mail_replyto' => array('mail_replyto', t('Reply-to address:'), '', 'Optional'), + '$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_movetofolder' => array('mail_movetofolder', t('Move to folder:'), $mail_movetofolder, ''), + '$submit' => t('Submit'), '$settings_connectors' => $settings_connectors )); @@ -805,6 +821,7 @@ function settings_content(&$a) { '$submit' => t('Submit'), '$baseurl' => $a->get_baseurl(), '$uid' => local_user(), + '$form_security_token' => get_form_security_token("settings"), '$nickname_block' => $prof_addr, diff --git a/view/cropbody.tpl b/view/cropbody.tpl index c9c0f84de..b484d15bf 100755 --- a/view/cropbody.tpl +++ b/view/cropbody.tpl @@ -40,6 +40,7 @@ $desc
    + diff --git a/view/profile_edit.tpl b/view/profile_edit.tpl index 8dab72649..e5c7162d0 100755 --- a/view/profile_edit.tpl +++ b/view/profile_edit.tpl @@ -5,9 +5,9 @@ $default @@ -17,6 +17,7 @@ $default
    +
    diff --git a/view/profile_listing_header.tpl b/view/profile_listing_header.tpl index 09e4fc9b2..61a273792 100755 --- a/view/profile_listing_header.tpl +++ b/view/profile_listing_header.tpl @@ -3,6 +3,6 @@ $chg_photo

    diff --git a/view/profile_photo.tpl b/view/profile_photo.tpl index f258b5b86..0b3a1cac1 100755 --- a/view/profile_photo.tpl +++ b/view/profile_photo.tpl @@ -1,6 +1,7 @@

    $title

    +
    diff --git a/view/settings.tpl b/view/settings.tpl index 46c737b23..25479b5bf 100755 --- a/view/settings.tpl +++ b/view/settings.tpl @@ -5,7 +5,7 @@ $tabs $nickname_block - +

    $h_pass

    diff --git a/view/settings_addons.tpl b/view/settings_addons.tpl index 2cbfd17e9..28fca5362 100755 --- a/view/settings_addons.tpl +++ b/view/settings_addons.tpl @@ -4,6 +4,7 @@ $tabs + $settings_addons diff --git a/view/settings_connectors.tpl b/view/settings_connectors.tpl index 9493c8bf7..43c0346bb 100755 --- a/view/settings_connectors.tpl +++ b/view/settings_connectors.tpl @@ -6,6 +6,7 @@ $tabs
    $ostat_enabled
    + $settings_connectors diff --git a/view/settings_oauth.tpl b/view/settings_oauth.tpl index 0de0dbe98..da1398ab9 100755 --- a/view/settings_oauth.tpl +++ b/view/settings_oauth.tpl @@ -4,7 +4,8 @@ $tabs - + + {{ endfor }} diff --git a/view/settings_oauth_edit.tpl b/view/settings_oauth_edit.tpl index 98b7457aa..d29341386 100755 --- a/view/settings_oauth_edit.tpl +++ b/view/settings_oauth_edit.tpl @@ -3,6 +3,8 @@ $tabs

    $title

    + + {{ inc field_input.tpl with $field=$name }}{{ endinc }} {{ inc field_input.tpl with $field=$key }}{{ endinc }} {{ inc field_input.tpl with $field=$secret }}{{ endinc }} From 5a1e2c32fe4a36b1dbbaa6b224c8ced6cb3358c4 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Mon, 12 Mar 2012 17:12:01 -0400 Subject: [PATCH 073/153] Merge branch 'master', remote-tracking branch 'remotes/upstream/master' * remotes/upstream/master: add lightbox, fixex in css more save to file backend backend for "save to file" feature * master: From caffb217c1e7227137ac1575af369b34d10519fe Mon Sep 17 00:00:00 2001 From: tommy tomson Date: Mon, 12 Mar 2012 23:31:54 +0100 Subject: [PATCH 074/153] fixes --- view/theme/diabook-blue/group_side.tpl | 29 ++++++++++++++++++ .../diabook-blue/icons/notifications.png | Bin 795 -> 727 bytes view/theme/diabook-blue/style.css | 7 ++++- view/theme/diabook-blue/theme.php | 4 +-- view/theme/diabook/group_side.tpl | 29 ++++++++++++++++++ view/theme/diabook/style.css | 7 ++++- 6 files changed, 72 insertions(+), 4 deletions(-) create mode 100755 view/theme/diabook-blue/group_side.tpl create mode 100755 view/theme/diabook/group_side.tpl diff --git a/view/theme/diabook-blue/group_side.tpl b/view/theme/diabook-blue/group_side.tpl new file mode 100755 index 000000000..af183d04d --- /dev/null +++ b/view/theme/diabook-blue/group_side.tpl @@ -0,0 +1,29 @@ +
    +
    +

    $title

    + +
    + + +
    + diff --git a/view/theme/diabook-blue/icons/notifications.png b/view/theme/diabook-blue/icons/notifications.png index 33ae95c6a0c78c4e71a5b6da79c48040c1aae1cc..c23673dbd09fe07a2a17a34bb70d472043922501 100755 GIT binary patch delta 677 zcmV;W0$Tl>2G<24iBL{Q4GJ0x0000DNk~Le0000M0000M2nGNE0K~LxJCPwje+mFJ zGV;hyHvj+vS4l)cR5;7E)WK_2M-<2LPhN7NRnbJABo{GgydY9R5V{l8uC#O^#jR9y z`a?>E^u0<&nU%;J|R_&N;vD zJ#)^v!)F>}{Y6zblE&C2EV4x8807tav zun+g~zN(ul_SXZBS9Me2eQ5UKTwgO5PP?#(dpLo&IE$CKS#l~v&ai$&dGyIG1@EY?0KaI=Se}sbpeSmj3 zgWwsNAU&E- z%K`1;LTJwi%S7vF_i+(lU}@-2n{K6H8c$lbrKrjEV61tujIFbOvZ|Zqm?uZkwj&lz zzSfv&MLe^X!?1Q@#A|mZF7kE3!(&wNYzsU)il8$hc;bHq^LfU9xd+>H+r|Yn00000 LNkvXXu0mjf8k0i6 delta 746 zcmVZR$mjf3V6_?MH#dwyC@M)a+@P#60H9RE_nMCuipVK@jOGkxo{Obh3LlFZQNpPg`ADctCdh`uoaM6~#zr2-|oT zZy;N{`{TD+nW|^7i0e3l6}*Q#__}TC_92NSUc=M)7#&=~EcWL(jxNr(e@%TChjAwM z$95>&Sj5iYaA3{{$MLL8)$eii*YO9=1?e$-hGD!EWZz>A@8VN@8F^3PE95!$g}h%e zjTv0SH^}f2J_-A}_JRZR)yA)o3&#;d0y5zeQ;(T*;%Wqj3k} z0u~;Unuqn*R^(iW|0BV1E-O>@IDUwtztcALe3`0*zuKl=5C4|{e?HeXbrUswGW@sj zId0>{JWZe2z)3uYQ)Q~g+oo>Xrd|({@qrVLL)+BrK{k$4fjya~Piz#cOACsT&N5cx z34XV|w$kluD@HocvCdbUi}X4u*P%OBdsP@am3-1q-;<+~sp cdXxj)2MhZ7$iM)eMgRZ+07*qoM6N<$f+vb;p8x;= diff --git a/view/theme/diabook-blue/style.css b/view/theme/diabook-blue/style.css index 81c056bf3..67ee11769 100644 --- a/view/theme/diabook-blue/style.css +++ b/view/theme/diabook-blue/style.css @@ -970,6 +970,10 @@ aside #side-peoplefind-url { widht: 55px; height: 55px; } +#lost-password-link { + float: left; + margin-right: 20px; + } /* widget */ .widget { margin-bottom: 2em; @@ -1065,7 +1069,8 @@ body .pageheader{ padding: 10px; text-align: center; font-size: 1.0em; - margin-top: 140%; + clear: both; + display: block; } .tabs { diff --git a/view/theme/diabook-blue/theme.php b/view/theme/diabook-blue/theme.php index 1617dd7f0..38a282d3b 100755 --- a/view/theme/diabook-blue/theme.php +++ b/view/theme/diabook-blue/theme.php @@ -1,8 +1,8 @@ +
    +

    $title

    + +
    + + +
    + diff --git a/view/theme/diabook/style.css b/view/theme/diabook/style.css index badedb02f..9edd989b0 100644 --- a/view/theme/diabook/style.css +++ b/view/theme/diabook/style.css @@ -962,6 +962,10 @@ aside #side-peoplefind-url { widht: 55px; height: 55px; } +#lost-password-link { + float: left; + margin-right: 20px; + } /* widget */ .widget { margin-bottom: 2em; @@ -1058,7 +1062,8 @@ body .pageheader{ padding: 10px; text-align: center; font-size: 1.0em; - margin-top: 140%; + clear: both; + display: block; } .tabs { From 27bc8052d06c516fec2b6f1df09c0c46c4bad906 Mon Sep 17 00:00:00 2001 From: tommy tomson Date: Tue, 13 Mar 2012 00:04:19 +0100 Subject: [PATCH 075/153] use fancybox instead of lightbox --- .../lightbox/css/jquery.lightbox-0.5.css | 101 ---- .../lightbox/images/lightbox-blank.gif | Bin 43 -> 0 bytes .../lightbox/images/lightbox-btn-close.gif | Bin 700 -> 0 bytes .../lightbox/images/lightbox-btn-next.gif | Bin 812 -> 0 bytes .../lightbox/images/lightbox-btn-prev.gif | Bin 832 -> 0 bytes .../lightbox/images/lightbox-ico-loading.gif | Bin 3990 -> 0 bytes view/theme/diabook-blue/lightbox/index.htm | 78 --- view/theme/diabook-blue/lightbox/js/jquery.js | 32 -- .../lightbox/js/jquery.lightbox-0.5.js | 472 ------------------ .../lightbox/js/jquery.lightbox-0.5.min.js | 42 -- .../lightbox/js/jquery.lightbox-0.5.pack.js | 14 - .../diabook-blue/lightbox/photos/image1.jpg | Bin 19983 -> 0 bytes .../diabook-blue/lightbox/photos/image2.jpg | Bin 45539 -> 0 bytes .../diabook-blue/lightbox/photos/image3.jpg | Bin 39361 -> 0 bytes .../diabook-blue/lightbox/photos/image4.jpg | Bin 18746 -> 0 bytes .../diabook-blue/lightbox/photos/image5.jpg | Bin 30903 -> 0 bytes .../lightbox/photos/thumb_image1.jpg | Bin 2092 -> 0 bytes .../lightbox/photos/thumb_image2.jpg | Bin 2541 -> 0 bytes .../lightbox/photos/thumb_image3.jpg | Bin 2237 -> 0 bytes .../lightbox/photos/thumb_image4.jpg | Bin 1993 -> 0 bytes .../lightbox/photos/thumb_image5.jpg | Bin 2045 -> 0 bytes view/theme/diabook-blue/theme.php | 7 +- .../lightbox/css/jquery.lightbox-0.5.css | 101 ---- .../lightbox/images/lightbox-blank.gif | Bin 43 -> 0 bytes .../lightbox/images/lightbox-btn-close.gif | Bin 700 -> 0 bytes .../lightbox/images/lightbox-btn-next.gif | Bin 812 -> 0 bytes .../lightbox/images/lightbox-btn-prev.gif | Bin 832 -> 0 bytes .../lightbox/images/lightbox-ico-loading.gif | Bin 3990 -> 0 bytes view/theme/diabook/lightbox/index.htm | 78 --- view/theme/diabook/lightbox/js/jquery.js | 32 -- .../lightbox/js/jquery.lightbox-0.5.js | 472 ------------------ .../lightbox/js/jquery.lightbox-0.5.min.js | 42 -- .../lightbox/js/jquery.lightbox-0.5.pack.js | 14 - view/theme/diabook/lightbox/photos/image1.jpg | Bin 19983 -> 0 bytes view/theme/diabook/lightbox/photos/image2.jpg | Bin 45539 -> 0 bytes view/theme/diabook/lightbox/photos/image3.jpg | Bin 39361 -> 0 bytes view/theme/diabook/lightbox/photos/image4.jpg | Bin 18746 -> 0 bytes view/theme/diabook/lightbox/photos/image5.jpg | Bin 30903 -> 0 bytes .../diabook/lightbox/photos/thumb_image1.jpg | Bin 2092 -> 0 bytes .../diabook/lightbox/photos/thumb_image2.jpg | Bin 2541 -> 0 bytes .../diabook/lightbox/photos/thumb_image3.jpg | Bin 2237 -> 0 bytes .../diabook/lightbox/photos/thumb_image4.jpg | Bin 1993 -> 0 bytes .../diabook/lightbox/photos/thumb_image5.jpg | Bin 2045 -> 0 bytes view/theme/diabook/theme.php | 7 +- 44 files changed, 2 insertions(+), 1490 deletions(-) delete mode 100644 view/theme/diabook-blue/lightbox/css/jquery.lightbox-0.5.css delete mode 100644 view/theme/diabook-blue/lightbox/images/lightbox-blank.gif delete mode 100644 view/theme/diabook-blue/lightbox/images/lightbox-btn-close.gif delete mode 100644 view/theme/diabook-blue/lightbox/images/lightbox-btn-next.gif delete mode 100644 view/theme/diabook-blue/lightbox/images/lightbox-btn-prev.gif delete mode 100644 view/theme/diabook-blue/lightbox/images/lightbox-ico-loading.gif delete mode 100644 view/theme/diabook-blue/lightbox/index.htm delete mode 100644 view/theme/diabook-blue/lightbox/js/jquery.js delete mode 100644 view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.js delete mode 100644 view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.min.js delete mode 100644 view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.pack.js delete mode 100644 view/theme/diabook-blue/lightbox/photos/image1.jpg delete mode 100644 view/theme/diabook-blue/lightbox/photos/image2.jpg delete mode 100644 view/theme/diabook-blue/lightbox/photos/image3.jpg delete mode 100644 view/theme/diabook-blue/lightbox/photos/image4.jpg delete mode 100644 view/theme/diabook-blue/lightbox/photos/image5.jpg delete mode 100644 view/theme/diabook-blue/lightbox/photos/thumb_image1.jpg delete mode 100644 view/theme/diabook-blue/lightbox/photos/thumb_image2.jpg delete mode 100644 view/theme/diabook-blue/lightbox/photos/thumb_image3.jpg delete mode 100644 view/theme/diabook-blue/lightbox/photos/thumb_image4.jpg delete mode 100644 view/theme/diabook-blue/lightbox/photos/thumb_image5.jpg delete mode 100644 view/theme/diabook/lightbox/css/jquery.lightbox-0.5.css delete mode 100644 view/theme/diabook/lightbox/images/lightbox-blank.gif delete mode 100644 view/theme/diabook/lightbox/images/lightbox-btn-close.gif delete mode 100644 view/theme/diabook/lightbox/images/lightbox-btn-next.gif delete mode 100644 view/theme/diabook/lightbox/images/lightbox-btn-prev.gif delete mode 100644 view/theme/diabook/lightbox/images/lightbox-ico-loading.gif delete mode 100644 view/theme/diabook/lightbox/index.htm delete mode 100644 view/theme/diabook/lightbox/js/jquery.js delete mode 100644 view/theme/diabook/lightbox/js/jquery.lightbox-0.5.js delete mode 100644 view/theme/diabook/lightbox/js/jquery.lightbox-0.5.min.js delete mode 100644 view/theme/diabook/lightbox/js/jquery.lightbox-0.5.pack.js delete mode 100644 view/theme/diabook/lightbox/photos/image1.jpg delete mode 100644 view/theme/diabook/lightbox/photos/image2.jpg delete mode 100644 view/theme/diabook/lightbox/photos/image3.jpg delete mode 100644 view/theme/diabook/lightbox/photos/image4.jpg delete mode 100644 view/theme/diabook/lightbox/photos/image5.jpg delete mode 100644 view/theme/diabook/lightbox/photos/thumb_image1.jpg delete mode 100644 view/theme/diabook/lightbox/photos/thumb_image2.jpg delete mode 100644 view/theme/diabook/lightbox/photos/thumb_image3.jpg delete mode 100644 view/theme/diabook/lightbox/photos/thumb_image4.jpg delete mode 100644 view/theme/diabook/lightbox/photos/thumb_image5.jpg diff --git a/view/theme/diabook-blue/lightbox/css/jquery.lightbox-0.5.css b/view/theme/diabook-blue/lightbox/css/jquery.lightbox-0.5.css deleted file mode 100644 index c7c3d1cb1..000000000 --- a/view/theme/diabook-blue/lightbox/css/jquery.lightbox-0.5.css +++ /dev/null @@ -1,101 +0,0 @@ -/** - * jQuery lightBox plugin - * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) - * and adapted to me for use like a plugin from jQuery. - * @name jquery-lightbox-0.5.css - * @author Leandro Vieira Pinho - http://leandrovieira.com - * @version 0.5 - * @date April 11, 2008 - * @category jQuery plugin - * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) - * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US - * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin - */ -#jquery-overlay { - position: absolute; - top: 0; - left: 0; - z-index: 90; - width: 100%; - height: 500px; -} -#jquery-lightbox { - position: absolute; - top: 0; - left: 0; - width: 100%; - z-index: 100; - text-align: center; - line-height: 0; -} -#jquery-lightbox a img { border: none; } -#lightbox-container-image-box { - position: relative; - background-color: #fff; - width: 250px; - height: 250px; - margin: 0 auto; -} -#lightbox-container-image { padding: 10px; } -#lightbox-loading { - position: absolute; - top: 40%; - left: 0%; - height: 25%; - width: 100%; - text-align: center; - line-height: 0; -} -#lightbox-nav { - position: absolute; - top: 0; - left: 0; - height: 100%; - width: 100%; - z-index: 10; -} -#lightbox-container-image-box > #lightbox-nav { left: 0; } -#lightbox-nav a { outline: none;} -#lightbox-nav-btnPrev, #lightbox-nav-btnNext { - width: 49%; - height: 100%; - zoom: 1; - display: block; -} -#lightbox-nav-btnPrev { - left: 0; - float: left; -} -#lightbox-nav-btnNext { - right: 0; - float: right; -} -#lightbox-container-image-data-box { - font: 10px Verdana, Helvetica, sans-serif; - background-color: #fff; - margin: 0 auto; - line-height: 1.4em; - overflow: auto; - width: 100%; - padding: 0 10px 0; -} -#lightbox-container-image-data { - padding: 0 10px; - color: #666; -} -#lightbox-container-image-data #lightbox-image-details { - width: 70%; - float: left; - text-align: left; -} -#lightbox-image-details-caption { font-weight: bold; } -#lightbox-image-details-currentNumber { - display: block; - clear: left; - padding-bottom: 1.0em; -} -#lightbox-secNav-btnClose { - width: 66px; - float: right; - padding-bottom: 0.7em; -} \ No newline at end of file diff --git a/view/theme/diabook-blue/lightbox/images/lightbox-blank.gif b/view/theme/diabook-blue/lightbox/images/lightbox-blank.gif deleted file mode 100644 index 1d11fa9ada9e93505b3d736acb204083f45d5fbf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43 scmZ?wbhEHbWMp7uX!y@?;J^U}1_s5SEQ~;kK?g*DWEhy3To@Uw0n;G|I{*Lx diff --git a/view/theme/diabook-blue/lightbox/images/lightbox-btn-close.gif b/view/theme/diabook-blue/lightbox/images/lightbox-btn-close.gif deleted file mode 100644 index 33bcf517a35b72135b6a5b97bac72425762b8343..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 700 zcmZ?wbhEHbbYc)=xXQrr|NsBLfB*ja_3OuvA78(I{qW(#>({SezI^%Y*|R54p4`8G z|IVE|w{G3Ke*OB@t5+{wx^(*V=@TbT?Ay0*`}XZywrtt7Y18`k>sPE;v3T*~dGqGY zo;`cov}qG3PVDdR@9F7jZ*OmEYHDa`sI9FnD=RB5E-oxA%*)Hm%*;$rPftlnNlHqJ zkB^Uyjg5+m3Jnbn4h{|o2=Mds^Y-@k^z?Ldb7LR`6o0ZXurvH;&;cm~`H6w;ze7WT zhmKVLi6uoRbFAiHSg}QNM$~#2#^;SaIV^5XhYKa-WLTaw7EPSeoxUZ&W*tAf%&o4( zmMs}FnZ=U&t@`p#;`)5z0}*FgxG7?Q+eP>#}Q0kG{s^ou20;n;V<17z*6xlW|Jw?=bOR#PEpA zg=KOFx5Rw`%jtY|_3ZS` zqUjnN13nacHVT_2ml!nlJA2OW%MmP8S=ga0=sH=)An?>j$~+u1KUln%@oJ3-U|ygRY{{;{vyg#@ zVe7)XGmJPB4>%ce-gMSF@xfy;(;UM9kqL%E%RL+UjM8k(gB06(gljgeIR7Z|k07_Y Yz?%8?E)08>7@u6ee}4b|UkVJ?0I^^iLI3~& diff --git a/view/theme/diabook-blue/lightbox/images/lightbox-btn-next.gif b/view/theme/diabook-blue/lightbox/images/lightbox-btn-next.gif deleted file mode 100644 index a0d4fcf84a784f2cf44c33084145dde5df294ccf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 812 zcmZ?wbhEHbv}aIYc*el+|NsBLfB*je{rl(7pWnZK|N8ao=g*%%e*F0U{rk6X-@bnR z`sK@)&!0bk_Uze{Cr=(ddi3DIgM0Vx-MMq;#*G`-u3fuy>C%M@7tWnKck0xs6DLj_ zJ9g~Qp+g4_9N4pG&#qm&wr$(CWy_Y$n>TOVxN-gZ^=sFzUA=ns%9SgZFJHcN>C(lE z7tftLclPYrGiT16IB{Zse}8XpZ+CZhdwY9pYio0Jb7Ny;LqkJdU0qdGRYgTbSy@?0 zNl8ILL0(>7PEJl%R#rwvMp{~0N=iynQc^-fLR?&2OiWBvR8&MnL|9l@NJvOfP*6ZX zfS;eAudlDSx3{OKr@OnmtE;QCvop}+41)kD{$ycfX9#A{0l5VfCk*WW8-jxwT3XxM zJ370%dpeqXCrq3)dCJsj(`U?_HG9t7dGi-6T(o$}(q+q6EMSyU6K`dbQDR_IP*vNm z&M%^|u7yignomt{TLh9X-vlT%qa~3Xe4)wGVP;i|rWZ3pVTZ!3`iIq!%NnqiVmI=~4yG?*UBuy@#qi_9lOv%EOFWqjwm)IFQ?j)3`1T=zfmcO{foI3W6sLtd zS4F+)nC;}rU*j;#AyW5g3x|3eXP|{qRNj;|3pfM diff --git a/view/theme/diabook-blue/lightbox/images/lightbox-btn-prev.gif b/view/theme/diabook-blue/lightbox/images/lightbox-btn-prev.gif deleted file mode 100644 index 040ee5992f7fdb9b51907cb4ba1c5570b1b5482a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 832 zcmZ?wbhEHbv}aIYc*el+|NsBLfB*je{rl(7pFe*5`1bAFmoHyFefsp_!-se8-o1MD z>gCIq&!0bk`t<4J$B!RAe0cx<{kwPX-oAbN)~#DNZrr$b?b?+qS1w$*aPHi>GiT16 zK7IP+$&<&AA3u8Z=;6bM4<0Ta{2P*ix)3mxNzb8`Sa(^n>T09oLRGG&6qJ`%9JS+CQRt>@9*vHZEbCBZf^0EX>c(&&|!v&d$!v%uG#9O-@cuN=iydNQjGz zi;0Peii(PehzJV{3keAc4h{|s4D|Q+_x1Jl_V)Jl^mKQ3cXD!aaBu(y1q0oI;!hSv zc7{j>9gxkSIALJ_-@wq++|t_C-qG3B78%*yKVf2j-=wM2rq7r;YxbPE^X4yDxM=Z` zrOTGDSUHZ{$*`cIU*V9G=mkL*$3~&B9F~NQE=O7f+$T8{d|+|! z5LB^I==tcv%)lM$(xcU&+%-wnv&x6z08`gQRsV((28G1VNlI>g4%W9mc+UCN{rKLQV#k0fcFk=e`pVK=5riUkZTAtTQ6isw#WRUmZ3z(a9R-j$e ze3FRFDrSywC%q{a3<^!By0Zf_LL_n(8yB!Rulm4I*~32ZbaR4DVcG)ssl5F2B6c2< z?&fr4Oo*`z)H=|_wuV)6!iF%%R#s*epBZ+t2Ny7lSgg8L*Lk3Uk?9ck4?hLV?=DPC dE8_S6+w=SThsUSq`|tm!>h(?3l#7MI8UW1vMEU># diff --git a/view/theme/diabook-blue/lightbox/images/lightbox-ico-loading.gif b/view/theme/diabook-blue/lightbox/images/lightbox-ico-loading.gif deleted file mode 100644 index 4f1429c06cb2ffd2910b038d06b01a4b3ee00a21..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 3990 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 - - - - jQuery lightBox plugin - - - - - - - - - - - - - - - - -

    Example

    -

    Click in the image and see the jQuery lightBox plugin in action.

    - - - - \ No newline at end of file diff --git a/view/theme/diabook-blue/lightbox/js/jquery.js b/view/theme/diabook-blue/lightbox/js/jquery.js deleted file mode 100644 index 3747929d8..000000000 --- a/view/theme/diabook-blue/lightbox/js/jquery.js +++ /dev/null @@ -1,32 +0,0 @@ -/* - * jQuery 1.2.3 - New Wave Javascript - * - * Copyright (c) 2008 John Resig (jquery.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * $Date: 2008-02-06 00:21:25 -0500 (Wed, 06 Feb 2008) $ - * $Rev: 4663 $ - */ -(function(){if(window.jQuery)var _jQuery=window.jQuery;var jQuery=window.jQuery=function(selector,context){return new jQuery.prototype.init(selector,context);};if(window.$)var _$=window.$;window.$=jQuery;var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;var isSimple=/^.[^:#\[\.]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}else if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem)if(elem.id!=match[3])return jQuery().find(selector);else{this[0]=elem;this.length=1;return this;}else -selector=[];}}else -return new jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return new jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(selector.constructor==Array&&selector||(selector.jquery||selector.length&&selector!=window&&!selector.nodeType&&selector[0]!=undefined&&selector[0].nodeType)&&jQuery.makeArray(selector)||[selector]);},jquery:"1.2.3",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;this.each(function(i){if(this==elem)ret=i;});return ret;},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value==undefined)return this.length&&jQuery[type||"attr"](this[0],name)||undefined;else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else -return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else -selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return!selector?this:this.pushStack(jQuery.merge(this.get(),selector.constructor==String?jQuery(selector).get():selector.length!=undefined&&(!selector.nodeName||jQuery.nodeName(selector,"form"))?selector:[selector]));},is:function(selector){return selector?jQuery.multiFilter(selector,this).length>0:false;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=value.constructor==Array?value:[value];jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else -this.value=value;});},html:function(value){return value==undefined?(this.length?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value==null){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data==undefined&&this.length)data=jQuery.data(this[0],key);return data==null&&parts[1]?this.data(parts[0]):data;}else -return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script")){scripts=scripts.add(elem);}else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.prototype.init.prototype=jQuery.prototype;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else -jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==1){target=this;i=0;}for(;i-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else -jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret;function color(elem){if(!jQuery.browser.safari)return false;var ret=document.defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(elem.style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=elem.style.outline;elem.style.outline="0 solid black";elem.style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&elem.style&&elem.style[name])ret=elem.style[name];else if(document.defaultView&&document.defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var getComputedStyle=document.defaultView.getComputedStyle(elem,null);if(getComputedStyle&&!color(elem))ret=getComputedStyle.getPropertyValue(name);else{var swap=[],stack=[];for(var a=elem;a&&color(a);a=a.parentNode)stack.unshift(a);for(var i=0;i]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("",""]||!tags.indexOf("",""]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
    "]||!tags.indexOf("",""]||(!tags.indexOf("",""]||!tags.indexOf("",""]||jQuery.browser.msie&&[1,"div
    ","
    "]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf(""&&tags.indexOf("=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else -ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var fix=jQuery.isXMLDoc(elem)?{}:jQuery.props;if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(fix[name]){if(value!=undefined)elem[fix[name]]=value;return elem[fix[name]];}else if(jQuery.browser.msie&&name=="style")return jQuery.attr(elem.style,"cssText",value);else if(value==undefined&&jQuery.browser.msie&&jQuery.nodeName(elem,"form")&&(name=="action"||name=="method"))return elem.getAttributeNode(name).nodeValue;else if(elem.tagName){if(value!=undefined){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem.setAttribute(name,""+value);}if(jQuery.browser.msie&&/href|src/.test(name)&&!jQuery.isXMLDoc(elem))return elem.getAttribute(name,2);return elem.getAttribute(name);}else{if(name=="opacity"&&jQuery.browser.msie){if(value!=undefined){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseFloat(value).toString()=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100).toString():"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(value!=undefined)elem[name]=value;return elem[name];}},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(typeof array!="array")for(var i=0,length=array.length;i*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return im[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false;var re=quickChild;var m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[];var cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&(!elem||n!=elem))r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval!=undefined)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=function(){return fn.apply(this,arguments);};handler.data=data;handler.guid=fn.guid;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){var val;if(typeof jQuery=="undefined"||jQuery.event.triggered)return val;val=jQuery.event.handle.apply(arguments.callee.elem,arguments);return val;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else -for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data||[]);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event)data.unshift(this.fix({type:type,target:elem}));data[0].type=type;if(exclusive)data[0].exclusive=true;if(jQuery.isFunction(jQuery.data(elem,"handle")))val=jQuery.data(elem,"handle").apply(elem,data);if(!fn&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val;event=jQuery.event.fix(event||window.event||{});var parts=event.type.split(".");event.type=parts[0];var handlers=jQuery.data(this,"events")&&jQuery.data(this,"events")[event.type],args=Array.prototype.slice.call(arguments,1);args.unshift(event);for(var j in handlers){var handler=handlers[j];args[0].handler=handler;args[0].data=handler.data;if(!parts[1]&&!event.exclusive||handler.type==parts[1]){var ret=handler.apply(this,args);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}if(jQuery.browser.msie)event.target=event.preventDefault=event.stopPropagation=event.handler=event.data=null;return val;},fix:function(event){var originalEvent=event;event=jQuery.extend({},originalEvent);event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=originalEvent.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){return this.each(function(){jQuery.event.add(this,type,function(event){jQuery(this).unbind(event);return(fn||data).apply(this,arguments);},fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){if(this[0])return jQuery.event.trigger(type,data,this[0],false,fn);return undefined;},toggle:function(){var args=arguments;return this.click(function(event){this.lastToggle=0==this.lastToggle?1:0;event.preventDefault();return args[this.lastToggle].apply(this,arguments)||false;});},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else -jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.apply(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("
    ").append(res.responseText.replace(//g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=(new Date).getTime();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){var jsonp,jsre=/=\?(&|$)/g,status,data;s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(s.type.toLowerCase()=="get"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&s.type.toLowerCase()=="get"){var ts=(new Date()).getTime();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&s.type.toLowerCase()=="get"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");if((!s.url.indexOf("http")||!s.url.indexOf("//"))&&s.dataType=="script"&&s.type.toLowerCase()=="get"){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xml=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();xml.open(s.type,s.url,s.async,s.username,s.password);try{if(s.data)xml.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xml.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xml.setRequestHeader("X-Requested-With","XMLHttpRequest");xml.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend)s.beforeSend(xml);if(s.global)jQuery.event.trigger("ajaxSend",[xml,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xml&&(xml.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xml)&&"error"||s.ifModified&&jQuery.httpNotModified(xml,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xml,s.dataType);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xml.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else -jQuery.handleError(s,xml,status);complete();if(s.async)xml=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xml){xml.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xml.send(s.data);}catch(e){jQuery.handleError(s,xml,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xml,s]);}function complete(){if(s.complete)s.complete(xml,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xml,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xml;},handleError:function(s,xml,status,e){if(s.error)s.error(xml,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xml,s,e]);},active:0,httpSuccess:function(r){try{return!r.status&&location.protocol=="file:"||(r.status>=200&&r.status<300)||r.status==304||r.status==1223||jQuery.browser.safari&&r.status==undefined;}catch(e){}return false;},httpNotModified:function(xml,url){try{var xmlRes=xml.getResponseHeader("Last-Modified");return xml.status==304||xmlRes==jQuery.lastModified[url]||jQuery.browser.safari&&xml.status==undefined;}catch(e){}return false;},httpData:function(r,type){var ct=r.getResponseHeader("content-type");var xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0;var data=xml?r.responseXML:r.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else -for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else -s.push(encodeURIComponent(j)+"="+encodeURIComponent(a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle(fn,fn2):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall);var hidden=jQuery(this).is(":hidden"),self=this;for(var p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return jQuery.isFunction(opt.complete)&&opt.complete.apply(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else -e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.apply(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(!elem)return undefined;type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",array?jQuery.makeArray(array):[]);return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].apply(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:{slow:600,fast:200}[opt.duration])||400;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.apply(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.apply(this.elem,[this.now,this]);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=(new Date()).getTime();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;ithis.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done&&jQuery.isFunction(this.options.complete))this.options.complete.apply(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.fx.step={scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}};jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),fixed=jQuery.css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&jQuery.css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(jQuery.css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&jQuery.css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||jQuery.css(offsetChild,"position")=="absolute"))||(mozilla&&jQuery.css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l)||0;top+=parseInt(t)||0;}return results;};})(); \ No newline at end of file diff --git a/view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.js b/view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.js deleted file mode 100644 index eef6425e0..000000000 --- a/view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.js +++ /dev/null @@ -1,472 +0,0 @@ -/** - * jQuery lightBox plugin - * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) - * and adapted to me for use like a plugin from jQuery. - * @name jquery-lightbox-0.5.js - * @author Leandro Vieira Pinho - http://leandrovieira.com - * @version 0.5 - * @date April 11, 2008 - * @category jQuery plugin - * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) - * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US - * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin - */ - -// Offering a Custom Alias suport - More info: http://docs.jquery.com/Plugins/Authoring#Custom_Alias -(function($) { - /** - * $ is an alias to jQuery object - * - */ - $.fn.lightBox = function(settings) { - // Settings to configure the jQuery lightBox plugin how you like - settings = jQuery.extend({ - // Configuration related to overlay - overlayBgColor: '#000', // (string) Background color to overlay; inform a hexadecimal value like: #RRGGBB. Where RR, GG, and BB are the hexadecimal values for the red, green, and blue values of the color. - overlayOpacity: 0.8, // (integer) Opacity value to overlay; inform: 0.X. Where X are number from 0 to 9 - // Configuration related to navigation - fixedNavigation: false, // (boolean) Boolean that informs if the navigation (next and prev button) will be fixed or not in the interface. - // Configuration related to images - imageLoading: 'images/lightbox-ico-loading.gif', // (string) Path and the name of the loading icon - imageBtnPrev: 'images/lightbox-btn-prev.gif', // (string) Path and the name of the prev button image - imageBtnNext: 'images/lightbox-btn-next.gif', // (string) Path and the name of the next button image - imageBtnClose: 'images/lightbox-btn-close.gif', // (string) Path and the name of the close btn - imageBlank: 'images/lightbox-blank.gif', // (string) Path and the name of a blank image (one pixel) - // Configuration related to container image box - containerBorderSize: 10, // (integer) If you adjust the padding in the CSS for the container, #lightbox-container-image-box, you will need to update this value - containerResizeSpeed: 400, // (integer) Specify the resize duration of container image. These number are miliseconds. 400 is default. - // Configuration related to texts in caption. For example: Image 2 of 8. You can alter either "Image" and "of" texts. - txtImage: 'Image', // (string) Specify text "Image" - txtOf: 'of', // (string) Specify text "of" - // Configuration related to keyboard navigation - keyToClose: 'c', // (string) (c = close) Letter to close the jQuery lightBox interface. Beyond this letter, the letter X and the SCAPE key is used to. - keyToPrev: 'p', // (string) (p = previous) Letter to show the previous image - keyToNext: 'n', // (string) (n = next) Letter to show the next image. - // Don´t alter these variables in any way - imageArray: [], - activeImage: 0 - },settings); - // Caching the jQuery object with all elements matched - var jQueryMatchedObj = this; // This, in this context, refer to jQuery object - /** - * Initializing the plugin calling the start function - * - * @return boolean false - */ - function _initialize() { - _start(this,jQueryMatchedObj); // This, in this context, refer to object (link) which the user have clicked - return false; // Avoid the browser following the link - } - /** - * Start the jQuery lightBox plugin - * - * @param object objClicked The object (link) whick the user have clicked - * @param object jQueryMatchedObj The jQuery object with all elements matched - */ - function _start(objClicked,jQueryMatchedObj) { - // Hime some elements to avoid conflict with overlay in IE. These elements appear above the overlay. - $('embed, object, select').css({ 'visibility' : 'hidden' }); - // Call the function to create the markup structure; style some elements; assign events in some elements. - _set_interface(); - // Unset total images in imageArray - settings.imageArray.length = 0; - // Unset image active information - settings.activeImage = 0; - // We have an image set? Or just an image? Let´s see it. - if ( jQueryMatchedObj.length == 1 ) { - settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title'))); - } else { - // Add an Array (as many as we have), with href and title atributes, inside the Array that storage the images references - for ( var i = 0; i < jQueryMatchedObj.length; i++ ) { - settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title'))); - } - } - while ( settings.imageArray[settings.activeImage][0] != objClicked.getAttribute('href') ) { - settings.activeImage++; - } - // Call the function that prepares image exibition - _set_image_to_view(); - } - /** - * Create the jQuery lightBox plugin interface - * - * The HTML markup will be like that: -
    -
    - - -
    - * - */ - function _set_interface() { - // Apply the HTML markup into body tag - $('body').append('
    '); - // Get page sizes - var arrPageSizes = ___getPageSize(); - // Style overlay and show it - $('#jquery-overlay').css({ - backgroundColor: settings.overlayBgColor, - opacity: settings.overlayOpacity, - width: arrPageSizes[0], - height: arrPageSizes[1] - }).fadeIn(); - // Get page scroll - var arrPageScroll = ___getPageScroll(); - // Calculate top and left offset for the jquery-lightbox div object and show it - $('#jquery-lightbox').css({ - top: arrPageScroll[1] + (arrPageSizes[3] / 10), - left: arrPageScroll[0] - }).show(); - // Assigning click events in elements to close overlay - $('#jquery-overlay,#jquery-lightbox').click(function() { - _finish(); - }); - // Assign the _finish function to lightbox-loading-link and lightbox-secNav-btnClose objects - $('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function() { - _finish(); - return false; - }); - // If window was resized, calculate the new overlay dimensions - $(window).resize(function() { - // Get page sizes - var arrPageSizes = ___getPageSize(); - // Style overlay and show it - $('#jquery-overlay').css({ - width: arrPageSizes[0], - height: arrPageSizes[1] - }); - // Get page scroll - var arrPageScroll = ___getPageScroll(); - // Calculate top and left offset for the jquery-lightbox div object and show it - $('#jquery-lightbox').css({ - top: arrPageScroll[1] + (arrPageSizes[3] / 10), - left: arrPageScroll[0] - }); - }); - } - /** - * Prepares image exibition; doing a image´s preloader to calculate it´s size - * - */ - function _set_image_to_view() { // show the loading - // Show the loading - $('#lightbox-loading').show(); - if ( settings.fixedNavigation ) { - $('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); - } else { - // Hide some elements - $('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); - } - // Image preload process - var objImagePreloader = new Image(); - objImagePreloader.onload = function() { - $('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]); - // Perfomance an effect in the image container resizing it - _resize_container_image_box(objImagePreloader.width,objImagePreloader.height); - // clear onLoad, IE behaves irratically with animated gifs otherwise - objImagePreloader.onload=function(){}; - }; - objImagePreloader.src = settings.imageArray[settings.activeImage][0]; - }; - /** - * Perfomance an effect in the image container resizing it - * - * @param integer intImageWidth The image´s width that will be showed - * @param integer intImageHeight The image´s height that will be showed - */ - function _resize_container_image_box(intImageWidth,intImageHeight) { - // Get current width and height - var intCurrentWidth = $('#lightbox-container-image-box').width(); - var intCurrentHeight = $('#lightbox-container-image-box').height(); - // Get the width and height of the selected image plus the padding - var intWidth = (intImageWidth + (settings.containerBorderSize * 2)); // Plus the image´s width and the left and right padding value - var intHeight = (intImageHeight + (settings.containerBorderSize * 2)); // Plus the image´s height and the left and right padding value - // Diferences - var intDiffW = intCurrentWidth - intWidth; - var intDiffH = intCurrentHeight - intHeight; - // Perfomance the effect - $('#lightbox-container-image-box').animate({ width: intWidth, height: intHeight },settings.containerResizeSpeed,function() { _show_image(); }); - if ( ( intDiffW == 0 ) && ( intDiffH == 0 ) ) { - if ( $.browser.msie ) { - ___pause(250); - } else { - ___pause(100); - } - } - $('#lightbox-container-image-data-box').css({ width: intImageWidth }); - $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ height: intImageHeight + (settings.containerBorderSize * 2) }); - }; - /** - * Show the prepared image - * - */ - function _show_image() { - $('#lightbox-loading').hide(); - $('#lightbox-image').fadeIn(function() { - _show_image_data(); - _set_navigation(); - }); - _preload_neighbor_images(); - }; - /** - * Show the image information - * - */ - function _show_image_data() { - $('#lightbox-container-image-data-box').slideDown('fast'); - $('#lightbox-image-details-caption').hide(); - if ( settings.imageArray[settings.activeImage][1] ) { - $('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show(); - } - // If we have a image set, display 'Image X of X' - if ( settings.imageArray.length > 1 ) { - $('#lightbox-image-details-currentNumber').html(settings.txtImage + ' ' + ( settings.activeImage + 1 ) + ' ' + settings.txtOf + ' ' + settings.imageArray.length).show(); - } - } - /** - * Display the button navigations - * - */ - function _set_navigation() { - $('#lightbox-nav').show(); - - // Instead to define this configuration in CSS file, we define here. And it´s need to IE. Just. - $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); - - // Show the prev button, if not the first image in set - if ( settings.activeImage != 0 ) { - if ( settings.fixedNavigation ) { - $('#lightbox-nav-btnPrev').css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' }) - .unbind() - .bind('click',function() { - settings.activeImage = settings.activeImage - 1; - _set_image_to_view(); - return false; - }); - } else { - // Show the images button for Next buttons - $('#lightbox-nav-btnPrev').unbind().hover(function() { - $(this).css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' }); - },function() { - $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); - }).show().bind('click',function() { - settings.activeImage = settings.activeImage - 1; - _set_image_to_view(); - return false; - }); - } - } - - // Show the next button, if not the last image in set - if ( settings.activeImage != ( settings.imageArray.length -1 ) ) { - if ( settings.fixedNavigation ) { - $('#lightbox-nav-btnNext').css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' }) - .unbind() - .bind('click',function() { - settings.activeImage = settings.activeImage + 1; - _set_image_to_view(); - return false; - }); - } else { - // Show the images button for Next buttons - $('#lightbox-nav-btnNext').unbind().hover(function() { - $(this).css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' }); - },function() { - $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); - }).show().bind('click',function() { - settings.activeImage = settings.activeImage + 1; - _set_image_to_view(); - return false; - }); - } - } - // Enable keyboard navigation - _enable_keyboard_navigation(); - } - /** - * Enable a support to keyboard navigation - * - */ - function _enable_keyboard_navigation() { - $(document).keydown(function(objEvent) { - _keyboard_action(objEvent); - }); - } - /** - * Disable the support to keyboard navigation - * - */ - function _disable_keyboard_navigation() { - $(document).unbind(); - } - /** - * Perform the keyboard actions - * - */ - function _keyboard_action(objEvent) { - // To ie - if ( objEvent == null ) { - keycode = event.keyCode; - escapeKey = 27; - // To Mozilla - } else { - keycode = objEvent.keyCode; - escapeKey = objEvent.DOM_VK_ESCAPE; - } - // Get the key in lower case form - key = String.fromCharCode(keycode).toLowerCase(); - // Verify the keys to close the ligthBox - if ( ( key == settings.keyToClose ) || ( key == 'x' ) || ( keycode == escapeKey ) ) { - _finish(); - } - // Verify the key to show the previous image - if ( ( key == settings.keyToPrev ) || ( keycode == 37 ) ) { - // If we´re not showing the first image, call the previous - if ( settings.activeImage != 0 ) { - settings.activeImage = settings.activeImage - 1; - _set_image_to_view(); - _disable_keyboard_navigation(); - } - } - // Verify the key to show the next image - if ( ( key == settings.keyToNext ) || ( keycode == 39 ) ) { - // If we´re not showing the last image, call the next - if ( settings.activeImage != ( settings.imageArray.length - 1 ) ) { - settings.activeImage = settings.activeImage + 1; - _set_image_to_view(); - _disable_keyboard_navigation(); - } - } - } - /** - * Preload prev and next images being showed - * - */ - function _preload_neighbor_images() { - if ( (settings.imageArray.length -1) > settings.activeImage ) { - objNext = new Image(); - objNext.src = settings.imageArray[settings.activeImage + 1][0]; - } - if ( settings.activeImage > 0 ) { - objPrev = new Image(); - objPrev.src = settings.imageArray[settings.activeImage -1][0]; - } - } - /** - * Remove jQuery lightBox plugin HTML markup - * - */ - function _finish() { - $('#jquery-lightbox').remove(); - $('#jquery-overlay').fadeOut(function() { $('#jquery-overlay').remove(); }); - // Show some elements to avoid conflict with overlay in IE. These elements appear above the overlay. - $('embed, object, select').css({ 'visibility' : 'visible' }); - } - /** - / THIRD FUNCTION - * getPageSize() by quirksmode.com - * - * @return Array Return an array with page width, height and window width, height - */ - function ___getPageSize() { - var xScroll, yScroll; - if (window.innerHeight && window.scrollMaxY) { - xScroll = window.innerWidth + window.scrollMaxX; - yScroll = window.innerHeight + window.scrollMaxY; - } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac - xScroll = document.body.scrollWidth; - yScroll = document.body.scrollHeight; - } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari - xScroll = document.body.offsetWidth; - yScroll = document.body.offsetHeight; - } - var windowWidth, windowHeight; - if (self.innerHeight) { // all except Explorer - if(document.documentElement.clientWidth){ - windowWidth = document.documentElement.clientWidth; - } else { - windowWidth = self.innerWidth; - } - windowHeight = self.innerHeight; - } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode - windowWidth = document.documentElement.clientWidth; - windowHeight = document.documentElement.clientHeight; - } else if (document.body) { // other Explorers - windowWidth = document.body.clientWidth; - windowHeight = document.body.clientHeight; - } - // for small pages with total height less then height of the viewport - if(yScroll < windowHeight){ - pageHeight = windowHeight; - } else { - pageHeight = yScroll; - } - // for small pages with total width less then width of the viewport - if(xScroll < windowWidth){ - pageWidth = xScroll; - } else { - pageWidth = windowWidth; - } - arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight); - return arrayPageSize; - }; - /** - / THIRD FUNCTION - * getPageScroll() by quirksmode.com - * - * @return Array Return an array with x,y page scroll values. - */ - function ___getPageScroll() { - var xScroll, yScroll; - if (self.pageYOffset) { - yScroll = self.pageYOffset; - xScroll = self.pageXOffset; - } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict - yScroll = document.documentElement.scrollTop; - xScroll = document.documentElement.scrollLeft; - } else if (document.body) {// all other Explorers - yScroll = document.body.scrollTop; - xScroll = document.body.scrollLeft; - } - arrayPageScroll = new Array(xScroll,yScroll); - return arrayPageScroll; - }; - /** - * Stop the code execution from a escified time in milisecond - * - */ - function ___pause(ms) { - var date = new Date(); - curDate = null; - do { var curDate = new Date(); } - while ( curDate - date < ms); - }; - // Return the jQuery object for chaining. The unbind method is used to avoid click conflict when the plugin is called more than once - return this.unbind('click').click(_initialize); - }; -})(jQuery); // Call and execute the function immediately passing the jQuery object \ No newline at end of file diff --git a/view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.min.js b/view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.min.js deleted file mode 100644 index 5f13b0bf6..000000000 --- a/view/theme/diabook-blue/lightbox/js/jquery.lightbox-0.5.min.js +++ /dev/null @@ -1,42 +0,0 @@ -/** - * jQuery lightBox plugin - * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) - * and adapted to me for use like a plugin from jQuery. - * @name jquery-lightbox-0.5.js - * @author Leandro Vieira Pinho - http://leandrovieira.com - * @version 0.5 - * @date April 11, 2008 - * @category jQuery plugin - * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) - * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US - * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin - */ -(function($){$.fn.lightBox=function(settings){settings=jQuery.extend({overlayBgColor:'#000',overlayOpacity:0.8,fixedNavigation:false,imageLoading:'images/lightbox-ico-loading.gif',imageBtnPrev:'images/lightbox-btn-prev.gif',imageBtnNext:'images/lightbox-btn-next.gif',imageBtnClose:'images/lightbox-btn-close.gif',imageBlank:'images/lightbox-blank.gif',containerBorderSize:10,containerResizeSpeed:400,txtImage:'Image',txtOf:'of',keyToClose:'c',keyToPrev:'p',keyToNext:'n',imageArray:[],activeImage:0},settings);var jQueryMatchedObj=this;function _initialize(){_start(this,jQueryMatchedObj);return false;} -function _start(objClicked,jQueryMatchedObj){$('embed, object, select').css({'visibility':'hidden'});_set_interface();settings.imageArray.length=0;settings.activeImage=0;if(jQueryMatchedObj.length==1){settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));}else{for(var i=0;i
    ');var arrPageSizes=___getPageSize();$('#jquery-overlay').css({backgroundColor:settings.overlayBgColor,opacity:settings.overlayOpacity,width:arrPageSizes[0],height:arrPageSizes[1]}).fadeIn();var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]}).show();$('#jquery-overlay,#jquery-lightbox').click(function(){_finish();});$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function(){_finish();return false;});$(window).resize(function(){var arrPageSizes=___getPageSize();$('#jquery-overlay').css({width:arrPageSizes[0],height:arrPageSizes[1]});var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]});});} -function _set_image_to_view(){$('#lightbox-loading').show();if(settings.fixedNavigation){$('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();}else{$('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();} -var objImagePreloader=new Image();objImagePreloader.onload=function(){$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);objImagePreloader.onload=function(){};};objImagePreloader.src=settings.imageArray[settings.activeImage][0];};function _resize_container_image_box(intImageWidth,intImageHeight){var intCurrentWidth=$('#lightbox-container-image-box').width();var intCurrentHeight=$('#lightbox-container-image-box').height();var intWidth=(intImageWidth+(settings.containerBorderSize*2));var intHeight=(intImageHeight+(settings.containerBorderSize*2));var intDiffW=intCurrentWidth-intWidth;var intDiffH=intCurrentHeight-intHeight;$('#lightbox-container-image-box').animate({width:intWidth,height:intHeight},settings.containerResizeSpeed,function(){_show_image();});if((intDiffW==0)&&(intDiffH==0)){if($.browser.msie){___pause(250);}else{___pause(100);}} -$('#lightbox-container-image-data-box').css({width:intImageWidth});$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({height:intImageHeight+(settings.containerBorderSize*2)});};function _show_image(){$('#lightbox-loading').hide();$('#lightbox-image').fadeIn(function(){_show_image_data();_set_navigation();});_preload_neighbor_images();};function _show_image_data(){$('#lightbox-container-image-data-box').slideDown('fast');$('#lightbox-image-details-caption').hide();if(settings.imageArray[settings.activeImage][1]){$('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show();} -if(settings.imageArray.length>1){$('#lightbox-image-details-currentNumber').html(settings.txtImage+' '+(settings.activeImage+1)+' '+settings.txtOf+' '+settings.imageArray.length).show();}} -function _set_navigation(){$('#lightbox-nav').show();$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({'background':'transparent url('+settings.imageBlank+') no-repeat'});if(settings.activeImage!=0){if(settings.fixedNavigation){$('#lightbox-nav-btnPrev').css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnPrev').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}} -if(settings.activeImage!=(settings.imageArray.length-1)){if(settings.fixedNavigation){$('#lightbox-nav-btnNext').css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnNext').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}} -_enable_keyboard_navigation();} -function _enable_keyboard_navigation(){$(document).keydown(function(objEvent){_keyboard_action(objEvent);});} -function _disable_keyboard_navigation(){$(document).unbind();} -function _keyboard_action(objEvent){if(objEvent==null){keycode=event.keyCode;escapeKey=27;}else{keycode=objEvent.keyCode;escapeKey=objEvent.DOM_VK_ESCAPE;} -key=String.fromCharCode(keycode).toLowerCase();if((key==settings.keyToClose)||(key=='x')||(keycode==escapeKey)){_finish();} -if((key==settings.keyToPrev)||(keycode==37)){if(settings.activeImage!=0){settings.activeImage=settings.activeImage-1;_set_image_to_view();_disable_keyboard_navigation();}} -if((key==settings.keyToNext)||(keycode==39)){if(settings.activeImage!=(settings.imageArray.length-1)){settings.activeImage=settings.activeImage+1;_set_image_to_view();_disable_keyboard_navigation();}}} -function _preload_neighbor_images(){if((settings.imageArray.length-1)>settings.activeImage){objNext=new Image();objNext.src=settings.imageArray[settings.activeImage+1][0];} -if(settings.activeImage>0){objPrev=new Image();objPrev.src=settings.imageArray[settings.activeImage-1][0];}} -function _finish(){$('#jquery-lightbox').remove();$('#jquery-overlay').fadeOut(function(){$('#jquery-overlay').remove();});$('embed, object, select').css({'visibility':'visible'});} -function ___getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;} -var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;} -windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;} -if(yScroll35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6($){$.2N.3g=6(4){4=23.2H({2B:\'#34\',2g:0.8,1d:F,1M:\'18/5-33-Y.16\',1v:\'18/5-1u-2Q.16\',1E:\'18/5-1u-2L.16\',1W:\'18/5-1u-2I.16\',19:\'18/5-2F.16\',1f:10,2A:3d,2s:\'1j\',2o:\'32\',2j:\'c\',2f:\'p\',2d:\'n\',h:[],9:0},4);f I=N;6 20(){1X(N,I);u F}6 1X(1e,I){$(\'1U, 1S, 1R\').l({\'1Q\':\'2E\'});1O();4.h.B=0;4.9=0;7(I.B==1){4.h.1J(v 1m(1e.17(\'J\'),1e.17(\'2v\')))}j{36(f i=0;i<1w g="5-b"><1w W="\'+4.1M+\'"><1i g="5-b-A-1t"><1i g="5-b-A-1g"><1w W="\'+4.1W+\'">\');f z=1D();$(\'#q-13\').l({2K:4.2B,2J:4.2g,S:z[0],P:z[1]}).1V();f R=1p();$(\'#q-5\').l({1T:R[1]+(z[3]/10),1c:R[0]}).E();$(\'#q-13,#q-5\').C(6(){1a()});$(\'#5-Y-29,#5-1s-22\').C(6(){1a();u F});$(G).2G(6(){f z=1D();$(\'#q-13\').l({S:z[0],P:z[1]});f R=1p();$(\'#q-5\').l({1T:R[1]+(z[3]/10),1c:R[0]})})}6 D(){$(\'#5-Y\').E();7(4.1d){$(\'#5-b,#5-s-b-T-w,#5-b-A-1g\').1b()}j{$(\'#5-b,#5-k,#5-k-V,#5-k-X,#5-s-b-T-w,#5-b-A-1g\').1b()}f Q=v 1j();Q.1P=6(){$(\'#5-b\').2D(\'W\',4.h[4.9][0]);1N(Q.S,Q.P);Q.1P=6(){}};Q.W=4.h[4.9][0]};6 1N(1o,1r){f 1L=$(\'#5-s-b-w\').S();f 1K=$(\'#5-s-b-w\').P();f 1n=(1o+(4.1f*2));f 1y=(1r+(4.1f*2));f 1I=1L-1n;f 2z=1K-1y;$(\'#5-s-b-w\').3f({S:1n,P:1y},4.2A,6(){2y()});7((1I==0)&&(2z==0)){7($.3e.3c){1H(3b)}j{1H(3a)}}$(\'#5-s-b-T-w\').l({S:1o});$(\'#5-k-V,#5-k-X\').l({P:1r+(4.1f*2)})};6 2y(){$(\'#5-Y\').1b();$(\'#5-b\').1V(6(){2u();2t()});2r()};6 2u(){$(\'#5-s-b-T-w\').38(\'35\');$(\'#5-b-A-1t\').1b();7(4.h[4.9][1]){$(\'#5-b-A-1t\').2p(4.h[4.9][1]).E()}7(4.h.B>1){$(\'#5-b-A-1g\').2p(4.2s+\' \'+(4.9+1)+\' \'+4.2o+\' \'+4.h.B).E()}}6 2t(){$(\'#5-k\').E();$(\'#5-k-V,#5-k-X\').l({\'K\':\'1C M(\'+4.19+\') L-O\'});7(4.9!=0){7(4.1d){$(\'#5-k-V\').l({\'K\':\'M(\'+4.1v+\') 1c 15% L-O\'}).11().1k(\'C\',6(){4.9=4.9-1;D();u F})}j{$(\'#5-k-V\').11().2m(6(){$(N).l({\'K\':\'M(\'+4.1v+\') 1c 15% L-O\'})},6(){$(N).l({\'K\':\'1C M(\'+4.19+\') L-O\'})}).E().1k(\'C\',6(){4.9=4.9-1;D();u F})}}7(4.9!=(4.h.B-1)){7(4.1d){$(\'#5-k-X\').l({\'K\':\'M(\'+4.1E+\') 2l 15% L-O\'}).11().1k(\'C\',6(){4.9=4.9+1;D();u F})}j{$(\'#5-k-X\').11().2m(6(){$(N).l({\'K\':\'M(\'+4.1E+\') 2l 15% L-O\'})},6(){$(N).l({\'K\':\'1C M(\'+4.19+\') L-O\'})}).E().1k(\'C\',6(){4.9=4.9+1;D();u F})}}2k()}6 2k(){$(d).30(6(12){2i(12)})}6 1G(){$(d).11()}6 2i(12){7(12==2h){U=2Z.2e;1x=27}j{U=12.2e;1x=12.2Y}14=2X.2W(U).2U();7((14==4.2j)||(14==\'x\')||(U==1x)){1a()}7((14==4.2f)||(U==37)){7(4.9!=0){4.9=4.9-1;D();1G()}}7((14==4.2d)||(U==39)){7(4.9!=(4.h.B-1)){4.9=4.9+1;D();1G()}}}6 2r(){7((4.h.B-1)>4.9){2c=v 1j();2c.W=4.h[4.9+1][0]}7(4.9>0){2b=v 1j();2b.W=4.h[4.9-1][0]}}6 1a(){$(\'#q-5\').2a();$(\'#q-13\').2T(6(){$(\'#q-13\').2a()});$(\'1U, 1S, 1R\').l({\'1Q\':\'2S\'})}6 1D(){f o,r;7(G.1h&&G.28){o=G.26+G.2R;r=G.1h+G.28}j 7(d.m.25>d.m.24){o=d.m.2P;r=d.m.25}j{o=d.m.2O;r=d.m.24}f y,H;7(Z.1h){7(d.t.1l){y=d.t.1l}j{y=Z.26}H=Z.1h}j 7(d.t&&d.t.1A){y=d.t.1l;H=d.t.1A}j 7(d.m){y=d.m.1l;H=d.m.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

    5sLvM6_8R^C{>F-HBAhQ7LqiXBUBg%M6*pA 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 z zhqdVFv?g-jbS%}5L={GmWf=;Ptfm3z(6$JKLfHVT1T<0rP)P)trA<|rVwBShVjqTU z{K~m2(?jsgLGFo7mFXeqbu3eZ48H5Y7x=t3A{u7onm5`azIZmkfAYK8LORU8T*h3#@fC}c()s=;i* z@oY?EU~nH0>GoSRZ@+^1YmQ6!Qw_=;T{CQSY+(NYReH?7+JL6J;OR}*I2!>i`W+D> z2~5`!vTQ+YN$vz2jZ;@*n^NJ4y?~piCUdjHo)0i;shI|%OJpB~B19NsQy_TIGSI_H z0I19H4FuSXbhNSGgk<>cA1hX!CRpN>r2E^)4#eViwV*ym!E4wbfXcArk`x1^W!qg_$h#g7}npOFkQo6OfTn|$Y@(UyB* zyQ&tXmHY#e0~FPUH4vxKxza@Mz&xu?O%m1_>!|_h-6Bd~UBF68`|m_^D3c zlp7xK+*HtTR*hHr^kR+%loiVlYa>mzV?eDLEr>b~*BWHLVB#0LUMz;kIUdoK6>0!y@Hx z&yLNiCs9dN6s@sb=|RPclxRY}Jd$P`6!<$XAY+vi3WgZ*-2*RZb`&Jq9i<5qmqp}ZW3#tFp;jI$ zu=woasc>eR6q;)|~@gkYW#pco<*fYCzL zb}ga+vV=nsNn(M9q&ozMx(Y9Gr%durrB&ZyCOdcAkyDSrX@ZhkhM;i{z>HE@&oZhm zk$=UbcIup1w*h&ogY{~v0-7qypf^FwXL@*n+;H%fNgMTxmW4f&GbD>IC#x; zsYZj`ItWS%z)o$iL~&NhW?arKb=sX2Ey!+z5atbeOUZGsBI3uKHBTn}Evw*Z}YtxeZ6C7?X&3_eP{#Lt;(eS6{ z`a7z}q0PP=tdX-K<$I2Q#Ta#E6>|kk z_>C<14;pfVZC33jXyk_qo$@a%eb?|`!tbP;7=@K1l!6D=+A7s4EKY{w%ehhX_Qzvw zt+Mm?z^Oh@nKJDrB9~xZNh;A&W7vGoX|h&ShT?49r*+mT8qjGN2tyV_GNzrT>qHm~&mzuG zVvSrfwe5RYbqg+RYnC!R@N^Ud;=W#|MUH(WR#)w#P@OK4W(FLrs{<)SfN~cm=!NbV zlw1&v3zIWyU9iO6B82CZ4;*`8=+p$NEz8zBsvpaH!tFy?NCh+X305W)pRnxloHiUs4*{3}XaANt zG;;xa9oox{rp)nVwd7tIRKF+8qy#*X^5|Ekk0{eM?ou3~uAYjjIpT2zjv9CRrDTGX zTwjr`+CHHRTKL;20j5wM>vvvqcXj?=jI77;d^BH&MJ-HROFXn&L#Xbx=p`>wlP71+ xY+#p(5zAwE`-?93YM47I+4XM>Vo${InChk$k-U!gw^ir$c-B0$yn&Om|JgL$^F;sv diff --git a/view/theme/diabook-blue/lightbox/photos/image3.jpg b/view/theme/diabook-blue/lightbox/photos/image3.jpg deleted file mode 100644 index eee77b3791241b17464e6a0030fd68bacc391ddc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39361 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 Nq0LE<*;V5w|Jh{a$?gCE diff --git a/view/theme/diabook-blue/lightbox/photos/image4.jpg b/view/theme/diabook-blue/lightbox/photos/image4.jpg deleted file mode 100644 index 9c67a20ee7fe7894ab2b887d4494cb5daff3f4b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18746 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 diff --git a/view/theme/diabook-blue/lightbox/photos/image5.jpg b/view/theme/diabook-blue/lightbox/photos/image5.jpg deleted file mode 100644 index e60bf60b53882edd4b445f1cf3a5854341b6be6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30903 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 Jf6O3v;=irmy^jC@ diff --git a/view/theme/diabook-blue/lightbox/photos/thumb_image2.jpg b/view/theme/diabook-blue/lightbox/photos/thumb_image2.jpg deleted file mode 100644 index 0b3cc0beabe449660efe2963ceff7c3a397cad55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2541 zcmZ9GcQo4z8^?bUTZ|+|t(Zm35~GTu_AaW_xP+_p(kLO?8&Or1UX+$<5#z?L=yk7g zQKQrhO6=I}wZ~O^=hgQ;r+>Vk=bz`C?{hxSmp)FP19&V=EldFr2n3j43_za*i~tBL zD=Ql-gpCaXg|I`Qyxb57H}54F3=V@`5`^fA%rhLNF%-@jg%69u&<(qb@pI01_U%8;8r3O9BQMAoXWuow)aAY zF^#Hb#>%b4viGe4ya59HyX|0OQ(lsTrSl%sPnnp8S@!D*$Y~^qdaJINVVe$U@~Ouo zS7{x_;%$P30l9%et>$Xhr1|_WMwGhN7o}V_2L2ZQi%;CP-{(Cd*IoP%DY@?Cp=Zk6 zrp7{~1EJJp7h33?CCn5r*2MQ-Q%IM=Gm#tgvSjEV>+y-IA>CH z6Ys`8QXCKkZcRUYWn^^?wenf)IG5V({Tcr$kAZo??tMRU*>E-%Np+RQRxWVJV0rT= z!jJ+UT-nQxA_+9w*MrS-+w;B`XFi0-yZ9Z!26)O=GCGj8V_4T>w;ugf|~PNtlTBxd?G_t zPjw^)$`u7%Tqy1*(4mOX1MaXzipLb*sA*`n1I4;LV`<{Zu>$KstP5%m^N!CYrnF%+ zk+`9tJHMCwZAAt@!#peLmnrq+>DXpEZQ-Yp7xu@!YPC1GrjkZIsHB@i41%If;nViM zchWR?(?Q1w}P!oW^!A)9NM+Q=s@o>i?8mGne5W?);j0k0pqw?Si?_* zbR|bmbFA!!&M{Ucxrtbic#oZcv75rR@?}~?#ccWOH(dS*%FqZM8t#-o(we;sWCiMJ zb||PbN0;1MiB{4nt=G1fq>ggsu2jw(ti~ONeX%<`G09tVgGmS4HErlCBq}^S(&OtrC^Z?01q9a|V|%_KI;}mxQV;(!KNa z@VRqDoO`D-hGXLGzzcPg@T6yzE6a17Ci`)*<5k9-E3^;B zN~_PyE&pDcb{?xHD~2w_;7&qHBjYHCd@zcXF4q4x$C zQv_bt+oUZY)1zpb|Cl-|9r@+({xOCmVTLLA3&Fkh;V8r`X=$TNeN~`tw^P()^rc^| z@2NqcSuNKzeCl7R;jp$72m5Z#qu(^thn>>MyuE@P z72QoOD|ofpSqL3SV0N8v;;qcXy3@)-X@P3xqfmh_Zoc9P9T2ltC@m0Xd}y$mVSP@L`$yspVw_Y&ai~t@%}^!TC=~?7 z<+R*T5;e+-{%~Gb_|3O~#bmvVpbC2z5@AYNsT#2c)V$pvDOi;HrV2TLw@6}pERVC$ zcR$>(O8cgzc>roTF)kFbUY2U+YNge7{F+@V7XRwluZpLXTBMkz{Dq~;bG?bIKfWq# zv9BW*=s4sY*L`!+WG~x@ssAjkBFLHV=N;!8xA%0D%aj$fNw}$*v8M6G{I9sp4Laa! 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 diff --git a/view/theme/diabook-blue/lightbox/photos/thumb_image4.jpg b/view/theme/diabook-blue/lightbox/photos/thumb_image4.jpg deleted file mode 100644 index 06ac43addbacaa4b60cb2b01b9ee923707ba2bda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1993 zcmYk0dpy$%AIE>YX{!~xg=T6Sid?rGmvPEOW=3EILWHoiJrh z+9451o<&I_I=OU8D7UC^l2drr^E|KfJn!#6-`DH&`o6!P)&A9CK*QCU;S7L4Aiza6 z!0Hg-2q58bI0BADAdo2JS|kdqjzp?swa{n`8m*;`!KuJ#YvOeXI(SVo*}#BIHa9af zGpGE`4+&^J5~-n~p@~9iYGE)KEnU0{T|M0&=oyl?s303|-KM9fw{5Gjv7w={F@<9B zw?Vb6wg4#jk5Uj23IL-(5EN)t31|ZV;zyqGx_&YNz&4b z{`Uo6pIocvTsofhT-=wpNH7)C=35B@t9o6Mwwt`Ba@{=!Y}jerb-r0bFh{gKqy6hi zXN&cZFE6|j$sBfh_?@9&g+Jcjyvfbkqe0n)Icwbv#rEnOR}@DvvPZ9M@^1upqOzFg zQ6o=o9z$l>ba{Mdzi+obPOOYQe59AQhuC4W^iIa-rL_j^!d0AQg~q96)Zn?V>gn>Q z58pl6y-b?$t?u4&`ogcjY#ishk+!F7+|d%dXkXM@tZ8)r)w_jL9VHd*Z8V(`Bzq}2 z+;p+RSEDd-AGKstp7cI^qez-s=&p}A(sz#TR5=SK*hJ=vM-SM~L=1V!S>%HqwJiv zusSwtG)Ou;hw}&nDUtTF3*E~;!pn&z2lB41EWXM7WLxJ@U`NS5c=Y1#JZs5j+YGFG z7-fHg3DZ-?MX=OT);hFN#FHmFelGPV>d6P=f(p&=;KCAD#KBwiNun`FUZ3IO7_3Rq zo{mc?%&4DW58PGX8}1$6RZ2DJj;dNhdS!=J94@V!taUGu(U1vulk4YaI8ywuSJo2~ zY17EV@@~*u`OeBm#pivOAAGhvi?E<-^$PL9TglYesD%(?nwVxyKPbMq`8D(ueD zfo*#wu!J*zjVw1NJM=n=1)(vWteEv_(zL2HPkCjUD8lcqRzILaE;O^ViK82Y9kvGTn_3L(42Gp6y{ILo|=A;(6 zk8U7l6GSJb3vrgi&WHNWPVpu?65sOW5tbZW75%j?PLTUqdV)08oJ1(M!o;=Tdw$fi zrm>I=W(xOTDhSX%W$kFHm)YlYXc)YX`uxkRu9I6sYpcKL61N#kG^$mHXFi_xd3r7& zCjuf%^w-{16>l}Ym+zPI;9y)Y?R~mMs~N3MJAjo~>>&RTrHio@dR+;88rAFXZP zSUHIJ+5C}j86qH%)imPIz7ui9GubEA*>;&y{zlSYrrQHonjaF0nbF591`g{x3K3nH z)7P2!_;($_3r|BP!dWItqjS{gv=Ac=WJY~PB-U^^ ztoU=V+ID&>)26nUo`1rPre3>y306|ft;2dp0+#lJ5*NNP_g>C8hd3}Z5<0ZU-@I%{ zp6F|D5eyUNn6w>v#-Vhb2@mv)DsJdZ5{{!s+jAL}rr+S{W7BF;1A(%;N>Q@&QPc6j z^BptYFF~|_7S!wn)A4&MGspbA*;D0|mO`9e@%O3Cx6Df#8GJQUS3zud`2JtGz5AY# zJ)ppAKlnqOe=HZ%e|6Fcqs2zOc19lSPfokZp=l-5-Ai4<>r|fMb%lJ4kNk%` z%j9Q$_Rdc)zBin_MX%x-*2c$1gxk5f ze2K1;k2ibU%^@Tc-N8TLA3N$Hw%qEyz1U?Yd+5UX${4J^3_oie<3E}{-o~1*O-xko T^z++c7IQM6v(VNgSsnNnlG9@K diff --git a/view/theme/diabook-blue/lightbox/photos/thumb_image5.jpg b/view/theme/diabook-blue/lightbox/photos/thumb_image5.jpg deleted file mode 100644 index 8ea97c630bb985722830ec570fbff632273a65a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2045 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 S+L_I2E4$8i)g9Cmj{h4ZKZ&~l diff --git a/view/theme/diabook-blue/theme.php b/view/theme/diabook-blue/theme.php index 38a282d3b..e5aa710c7 100755 --- a/view/theme/diabook-blue/theme.php +++ b/view/theme/diabook-blue/theme.php @@ -13,11 +13,6 @@ $a->theme_info = array( $a->page['htmlhead'] .= <<< EOT - - - - - - - - - - - - - - - - -

    Example

    -

    Click in the image and see the jQuery lightBox plugin in action.

    -
    - - - \ No newline at end of file diff --git a/view/theme/diabook/lightbox/js/jquery.js b/view/theme/diabook/lightbox/js/jquery.js deleted file mode 100644 index 3747929d8..000000000 --- a/view/theme/diabook/lightbox/js/jquery.js +++ /dev/null @@ -1,32 +0,0 @@ -/* - * jQuery 1.2.3 - New Wave Javascript - * - * Copyright (c) 2008 John Resig (jquery.com) - * Dual licensed under the MIT (MIT-LICENSE.txt) - * and GPL (GPL-LICENSE.txt) licenses. - * - * $Date: 2008-02-06 00:21:25 -0500 (Wed, 06 Feb 2008) $ - * $Rev: 4663 $ - */ -(function(){if(window.jQuery)var _jQuery=window.jQuery;var jQuery=window.jQuery=function(selector,context){return new jQuery.prototype.init(selector,context);};if(window.$)var _$=window.$;window.$=jQuery;var quickExpr=/^[^<]*(<(.|\s)+>)[^>]*$|^#(\w+)$/;var isSimple=/^.[^:#\[\.]*$/;jQuery.fn=jQuery.prototype={init:function(selector,context){selector=selector||document;if(selector.nodeType){this[0]=selector;this.length=1;return this;}else if(typeof selector=="string"){var match=quickExpr.exec(selector);if(match&&(match[1]||!context)){if(match[1])selector=jQuery.clean([match[1]],context);else{var elem=document.getElementById(match[3]);if(elem)if(elem.id!=match[3])return jQuery().find(selector);else{this[0]=elem;this.length=1;return this;}else -selector=[];}}else -return new jQuery(context).find(selector);}else if(jQuery.isFunction(selector))return new jQuery(document)[jQuery.fn.ready?"ready":"load"](selector);return this.setArray(selector.constructor==Array&&selector||(selector.jquery||selector.length&&selector!=window&&!selector.nodeType&&selector[0]!=undefined&&selector[0].nodeType)&&jQuery.makeArray(selector)||[selector]);},jquery:"1.2.3",size:function(){return this.length;},length:0,get:function(num){return num==undefined?jQuery.makeArray(this):this[num];},pushStack:function(elems){var ret=jQuery(elems);ret.prevObject=this;return ret;},setArray:function(elems){this.length=0;Array.prototype.push.apply(this,elems);return this;},each:function(callback,args){return jQuery.each(this,callback,args);},index:function(elem){var ret=-1;this.each(function(i){if(this==elem)ret=i;});return ret;},attr:function(name,value,type){var options=name;if(name.constructor==String)if(value==undefined)return this.length&&jQuery[type||"attr"](this[0],name)||undefined;else{options={};options[name]=value;}return this.each(function(i){for(name in options)jQuery.attr(type?this.style:this,name,jQuery.prop(this,options[name],type,i,name));});},css:function(key,value){if((key=='width'||key=='height')&&parseFloat(value)<0)value=undefined;return this.attr(key,value,"curCSS");},text:function(text){if(typeof text!="object"&&text!=null)return this.empty().append((this[0]&&this[0].ownerDocument||document).createTextNode(text));var ret="";jQuery.each(text||this,function(){jQuery.each(this.childNodes,function(){if(this.nodeType!=8)ret+=this.nodeType!=1?this.nodeValue:jQuery.fn.text([this]);});});return ret;},wrapAll:function(html){if(this[0])jQuery(html,this[0].ownerDocument).clone().insertBefore(this[0]).map(function(){var elem=this;while(elem.firstChild)elem=elem.firstChild;return elem;}).append(this);return this;},wrapInner:function(html){return this.each(function(){jQuery(this).contents().wrapAll(html);});},wrap:function(html){return this.each(function(){jQuery(this).wrapAll(html);});},append:function(){return this.domManip(arguments,true,false,function(elem){if(this.nodeType==1)this.appendChild(elem);});},prepend:function(){return this.domManip(arguments,true,true,function(elem){if(this.nodeType==1)this.insertBefore(elem,this.firstChild);});},before:function(){return this.domManip(arguments,false,false,function(elem){this.parentNode.insertBefore(elem,this);});},after:function(){return this.domManip(arguments,false,true,function(elem){this.parentNode.insertBefore(elem,this.nextSibling);});},end:function(){return this.prevObject||jQuery([]);},find:function(selector){var elems=jQuery.map(this,function(elem){return jQuery.find(selector,elem);});return this.pushStack(/[^+>] [^+>]/.test(selector)||selector.indexOf("..")>-1?jQuery.unique(elems):elems);},clone:function(events){var ret=this.map(function(){if(jQuery.browser.msie&&!jQuery.isXMLDoc(this)){var clone=this.cloneNode(true),container=document.createElement("div");container.appendChild(clone);return jQuery.clean([container.innerHTML])[0];}else -return this.cloneNode(true);});var clone=ret.find("*").andSelf().each(function(){if(this[expando]!=undefined)this[expando]=null;});if(events===true)this.find("*").andSelf().each(function(i){if(this.nodeType==3)return;var events=jQuery.data(this,"events");for(var type in events)for(var handler in events[type])jQuery.event.add(clone[i],type,events[type][handler],events[type][handler].data);});return ret;},filter:function(selector){return this.pushStack(jQuery.isFunction(selector)&&jQuery.grep(this,function(elem,i){return selector.call(elem,i);})||jQuery.multiFilter(selector,this));},not:function(selector){if(selector.constructor==String)if(isSimple.test(selector))return this.pushStack(jQuery.multiFilter(selector,this,true));else -selector=jQuery.multiFilter(selector,this);var isArrayLike=selector.length&&selector[selector.length-1]!==undefined&&!selector.nodeType;return this.filter(function(){return isArrayLike?jQuery.inArray(this,selector)<0:this!=selector;});},add:function(selector){return!selector?this:this.pushStack(jQuery.merge(this.get(),selector.constructor==String?jQuery(selector).get():selector.length!=undefined&&(!selector.nodeName||jQuery.nodeName(selector,"form"))?selector:[selector]));},is:function(selector){return selector?jQuery.multiFilter(selector,this).length>0:false;},hasClass:function(selector){return this.is("."+selector);},val:function(value){if(value==undefined){if(this.length){var elem=this[0];if(jQuery.nodeName(elem,"select")){var index=elem.selectedIndex,values=[],options=elem.options,one=elem.type=="select-one";if(index<0)return null;for(var i=one?index:0,max=one?index+1:options.length;i=0||jQuery.inArray(this.name,value)>=0);else if(jQuery.nodeName(this,"select")){var values=value.constructor==Array?value:[value];jQuery("option",this).each(function(){this.selected=(jQuery.inArray(this.value,values)>=0||jQuery.inArray(this.text,values)>=0);});if(!values.length)this.selectedIndex=-1;}else -this.value=value;});},html:function(value){return value==undefined?(this.length?this[0].innerHTML:null):this.empty().append(value);},replaceWith:function(value){return this.after(value).remove();},eq:function(i){return this.slice(i,i+1);},slice:function(){return this.pushStack(Array.prototype.slice.apply(this,arguments));},map:function(callback){return this.pushStack(jQuery.map(this,function(elem,i){return callback.call(elem,i,elem);}));},andSelf:function(){return this.add(this.prevObject);},data:function(key,value){var parts=key.split(".");parts[1]=parts[1]?"."+parts[1]:"";if(value==null){var data=this.triggerHandler("getData"+parts[1]+"!",[parts[0]]);if(data==undefined&&this.length)data=jQuery.data(this[0],key);return data==null&&parts[1]?this.data(parts[0]):data;}else -return this.trigger("setData"+parts[1]+"!",[parts[0],value]).each(function(){jQuery.data(this,key,value);});},removeData:function(key){return this.each(function(){jQuery.removeData(this,key);});},domManip:function(args,table,reverse,callback){var clone=this.length>1,elems;return this.each(function(){if(!elems){elems=jQuery.clean(args,this.ownerDocument);if(reverse)elems.reverse();}var obj=this;if(table&&jQuery.nodeName(this,"table")&&jQuery.nodeName(elems[0],"tr"))obj=this.getElementsByTagName("tbody")[0]||this.appendChild(this.ownerDocument.createElement("tbody"));var scripts=jQuery([]);jQuery.each(elems,function(){var elem=clone?jQuery(this).clone(true)[0]:this;if(jQuery.nodeName(elem,"script")){scripts=scripts.add(elem);}else{if(elem.nodeType==1)scripts=scripts.add(jQuery("script",elem).remove());callback.call(obj,elem);}});scripts.each(evalScript);});}};jQuery.prototype.init.prototype=jQuery.prototype;function evalScript(i,elem){if(elem.src)jQuery.ajax({url:elem.src,async:false,dataType:"script"});else -jQuery.globalEval(elem.text||elem.textContent||elem.innerHTML||"");if(elem.parentNode)elem.parentNode.removeChild(elem);}jQuery.extend=jQuery.fn.extend=function(){var target=arguments[0]||{},i=1,length=arguments.length,deep=false,options;if(target.constructor==Boolean){deep=target;target=arguments[1]||{};i=2;}if(typeof target!="object"&&typeof target!="function")target={};if(length==1){target=this;i=0;}for(;i-1;}},swap:function(elem,options,callback){var old={};for(var name in options){old[name]=elem.style[name];elem.style[name]=options[name];}callback.call(elem);for(var name in options)elem.style[name]=old[name];},css:function(elem,name,force){if(name=="width"||name=="height"){var val,props={position:"absolute",visibility:"hidden",display:"block"},which=name=="width"?["Left","Right"]:["Top","Bottom"];function getWH(){val=name=="width"?elem.offsetWidth:elem.offsetHeight;var padding=0,border=0;jQuery.each(which,function(){padding+=parseFloat(jQuery.curCSS(elem,"padding"+this,true))||0;border+=parseFloat(jQuery.curCSS(elem,"border"+this+"Width",true))||0;});val-=Math.round(padding+border);}if(jQuery(elem).is(":visible"))getWH();else -jQuery.swap(elem,props,getWH);return Math.max(0,val);}return jQuery.curCSS(elem,name,force);},curCSS:function(elem,name,force){var ret;function color(elem){if(!jQuery.browser.safari)return false;var ret=document.defaultView.getComputedStyle(elem,null);return!ret||ret.getPropertyValue("color")=="";}if(name=="opacity"&&jQuery.browser.msie){ret=jQuery.attr(elem.style,"opacity");return ret==""?"1":ret;}if(jQuery.browser.opera&&name=="display"){var save=elem.style.outline;elem.style.outline="0 solid black";elem.style.outline=save;}if(name.match(/float/i))name=styleFloat;if(!force&&elem.style&&elem.style[name])ret=elem.style[name];else if(document.defaultView&&document.defaultView.getComputedStyle){if(name.match(/float/i))name="float";name=name.replace(/([A-Z])/g,"-$1").toLowerCase();var getComputedStyle=document.defaultView.getComputedStyle(elem,null);if(getComputedStyle&&!color(elem))ret=getComputedStyle.getPropertyValue(name);else{var swap=[],stack=[];for(var a=elem;a&&color(a);a=a.parentNode)stack.unshift(a);for(var i=0;i]*?)\/>/g,function(all,front,tag){return tag.match(/^(abbr|br|col|img|input|link|meta|param|hr|area|embed)$/i)?all:front+">";});var tags=jQuery.trim(elem).toLowerCase(),div=context.createElement("div");var wrap=!tags.indexOf("",""]||!tags.indexOf("",""]||tags.match(/^<(thead|tbody|tfoot|colg|cap)/)&&[1,"","
    "]||!tags.indexOf("",""]||(!tags.indexOf("",""]||!tags.indexOf("",""]||jQuery.browser.msie&&[1,"div
    ","
    "]||[0,"",""];div.innerHTML=wrap[1]+elem+wrap[2];while(wrap[0]--)div=div.lastChild;if(jQuery.browser.msie){var tbody=!tags.indexOf(""&&tags.indexOf("=0;--j)if(jQuery.nodeName(tbody[j],"tbody")&&!tbody[j].childNodes.length)tbody[j].parentNode.removeChild(tbody[j]);if(/^\s/.test(elem))div.insertBefore(context.createTextNode(elem.match(/^\s*/)[0]),div.firstChild);}elem=jQuery.makeArray(div.childNodes);}if(elem.length===0&&(!jQuery.nodeName(elem,"form")&&!jQuery.nodeName(elem,"select")))return;if(elem[0]==undefined||jQuery.nodeName(elem,"form")||elem.options)ret.push(elem);else -ret=jQuery.merge(ret,elem);});return ret;},attr:function(elem,name,value){if(!elem||elem.nodeType==3||elem.nodeType==8)return undefined;var fix=jQuery.isXMLDoc(elem)?{}:jQuery.props;if(name=="selected"&&jQuery.browser.safari)elem.parentNode.selectedIndex;if(fix[name]){if(value!=undefined)elem[fix[name]]=value;return elem[fix[name]];}else if(jQuery.browser.msie&&name=="style")return jQuery.attr(elem.style,"cssText",value);else if(value==undefined&&jQuery.browser.msie&&jQuery.nodeName(elem,"form")&&(name=="action"||name=="method"))return elem.getAttributeNode(name).nodeValue;else if(elem.tagName){if(value!=undefined){if(name=="type"&&jQuery.nodeName(elem,"input")&&elem.parentNode)throw"type property can't be changed";elem.setAttribute(name,""+value);}if(jQuery.browser.msie&&/href|src/.test(name)&&!jQuery.isXMLDoc(elem))return elem.getAttribute(name,2);return elem.getAttribute(name);}else{if(name=="opacity"&&jQuery.browser.msie){if(value!=undefined){elem.zoom=1;elem.filter=(elem.filter||"").replace(/alpha\([^)]*\)/,"")+(parseFloat(value).toString()=="NaN"?"":"alpha(opacity="+value*100+")");}return elem.filter&&elem.filter.indexOf("opacity=")>=0?(parseFloat(elem.filter.match(/opacity=([^)]*)/)[1])/100).toString():"";}name=name.replace(/-([a-z])/ig,function(all,letter){return letter.toUpperCase();});if(value!=undefined)elem[name]=value;return elem[name];}},trim:function(text){return(text||"").replace(/^\s+|\s+$/g,"");},makeArray:function(array){var ret=[];if(typeof array!="array")for(var i=0,length=array.length;i*",this).remove();while(this.firstChild)this.removeChild(this.firstChild);}},function(name,fn){jQuery.fn[name]=function(){return this.each(fn,arguments);};});jQuery.each(["Height","Width"],function(i,name){var type=name.toLowerCase();jQuery.fn[type]=function(size){return this[0]==window?jQuery.browser.opera&&document.body["client"+name]||jQuery.browser.safari&&window["inner"+name]||document.compatMode=="CSS1Compat"&&document.documentElement["client"+name]||document.body["client"+name]:this[0]==document?Math.max(Math.max(document.body["scroll"+name],document.documentElement["scroll"+name]),Math.max(document.body["offset"+name],document.documentElement["offset"+name])):size==undefined?(this.length?jQuery.css(this[0],type):null):this.css(type,size.constructor==String?size:size+"px");};});var chars=jQuery.browser.safari&&parseInt(jQuery.browser.version)<417?"(?:[\\w*_-]|\\\\.)":"(?:[\\w\u0128-\uFFFF*_-]|\\\\.)",quickChild=new RegExp("^>\\s*("+chars+"+)"),quickID=new RegExp("^("+chars+"+)(#)("+chars+"+)"),quickClass=new RegExp("^([#.]?)("+chars+"*)");jQuery.extend({expr:{"":function(a,i,m){return m[2]=="*"||jQuery.nodeName(a,m[2]);},"#":function(a,i,m){return a.getAttribute("id")==m[2];},":":{lt:function(a,i,m){return im[3]-0;},nth:function(a,i,m){return m[3]-0==i;},eq:function(a,i,m){return m[3]-0==i;},first:function(a,i){return i==0;},last:function(a,i,m,r){return i==r.length-1;},even:function(a,i){return i%2==0;},odd:function(a,i){return i%2;},"first-child":function(a){return a.parentNode.getElementsByTagName("*")[0]==a;},"last-child":function(a){return jQuery.nth(a.parentNode.lastChild,1,"previousSibling")==a;},"only-child":function(a){return!jQuery.nth(a.parentNode.lastChild,2,"previousSibling");},parent:function(a){return a.firstChild;},empty:function(a){return!a.firstChild;},contains:function(a,i,m){return(a.textContent||a.innerText||jQuery(a).text()||"").indexOf(m[3])>=0;},visible:function(a){return"hidden"!=a.type&&jQuery.css(a,"display")!="none"&&jQuery.css(a,"visibility")!="hidden";},hidden:function(a){return"hidden"==a.type||jQuery.css(a,"display")=="none"||jQuery.css(a,"visibility")=="hidden";},enabled:function(a){return!a.disabled;},disabled:function(a){return a.disabled;},checked:function(a){return a.checked;},selected:function(a){return a.selected||jQuery.attr(a,"selected");},text:function(a){return"text"==a.type;},radio:function(a){return"radio"==a.type;},checkbox:function(a){return"checkbox"==a.type;},file:function(a){return"file"==a.type;},password:function(a){return"password"==a.type;},submit:function(a){return"submit"==a.type;},image:function(a){return"image"==a.type;},reset:function(a){return"reset"==a.type;},button:function(a){return"button"==a.type||jQuery.nodeName(a,"button");},input:function(a){return/input|select|textarea|button/i.test(a.nodeName);},has:function(a,i,m){return jQuery.find(m[3],a).length;},header:function(a){return/h\d/i.test(a.nodeName);},animated:function(a){return jQuery.grep(jQuery.timers,function(fn){return a==fn.elem;}).length;}}},parse:[/^(\[) *@?([\w-]+) *([!*$^~=]*) *('?"?)(.*?)\4 *\]/,/^(:)([\w-]+)\("?'?(.*?(\(.*?\))?[^(]*?)"?'?\)/,new RegExp("^([:.#]*)("+chars+"+)")],multiFilter:function(expr,elems,not){var old,cur=[];while(expr&&expr!=old){old=expr;var f=jQuery.filter(expr,elems,not);expr=f.t.replace(/^\s*,\s*/,"");cur=not?elems=f.r:jQuery.merge(cur,f.r);}return cur;},find:function(t,context){if(typeof t!="string")return[t];if(context&&context.nodeType!=1&&context.nodeType!=9)return[];context=context||document;var ret=[context],done=[],last,nodeName;while(t&&last!=t){var r=[];last=t;t=jQuery.trim(t);var foundToken=false;var re=quickChild;var m=re.exec(t);if(m){nodeName=m[1].toUpperCase();for(var i=0;ret[i];i++)for(var c=ret[i].firstChild;c;c=c.nextSibling)if(c.nodeType==1&&(nodeName=="*"||c.nodeName.toUpperCase()==nodeName))r.push(c);ret=r;t=t.replace(re,"");if(t.indexOf(" ")==0)continue;foundToken=true;}else{re=/^([>+~])\s*(\w*)/i;if((m=re.exec(t))!=null){r=[];var merge={};nodeName=m[2].toUpperCase();m=m[1];for(var j=0,rl=ret.length;j=0;if(!not&&pass||not&&!pass)tmp.push(r[i]);}return tmp;},filter:function(t,r,not){var last;while(t&&t!=last){last=t;var p=jQuery.parse,m;for(var i=0;p[i];i++){m=p[i].exec(t);if(m){t=t.substring(m[0].length);m[2]=m[2].replace(/\\/g,"");break;}}if(!m)break;if(m[1]==":"&&m[2]=="not")r=isSimple.test(m[3])?jQuery.filter(m[3],r,true).r:jQuery(r).not(m[3]);else if(m[1]==".")r=jQuery.classFilter(r,m[2],not);else if(m[1]=="["){var tmp=[],type=m[3];for(var i=0,rl=r.length;i=0)^not)tmp.push(a);}r=tmp;}else if(m[1]==":"&&m[2]=="nth-child"){var merge={},tmp=[],test=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(m[3]=="even"&&"2n"||m[3]=="odd"&&"2n+1"||!/\D/.test(m[3])&&"0n+"+m[3]||m[3]),first=(test[1]+(test[2]||1))-0,last=test[3]-0;for(var i=0,rl=r.length;i=0)add=true;if(add^not)tmp.push(node);}r=tmp;}else{var fn=jQuery.expr[m[1]];if(typeof fn=="object")fn=fn[m[2]];if(typeof fn=="string")fn=eval("false||function(a,i){return "+fn+";}");r=jQuery.grep(r,function(elem,i){return fn(elem,i,m,r);},not);}}return{r:r,t:t};},dir:function(elem,dir){var matched=[];var cur=elem[dir];while(cur&&cur!=document){if(cur.nodeType==1)matched.push(cur);cur=cur[dir];}return matched;},nth:function(cur,result,dir,elem){result=result||1;var num=0;for(;cur;cur=cur[dir])if(cur.nodeType==1&&++num==result)break;return cur;},sibling:function(n,elem){var r=[];for(;n;n=n.nextSibling){if(n.nodeType==1&&(!elem||n!=elem))r.push(n);}return r;}});jQuery.event={add:function(elem,types,handler,data){if(elem.nodeType==3||elem.nodeType==8)return;if(jQuery.browser.msie&&elem.setInterval!=undefined)elem=window;if(!handler.guid)handler.guid=this.guid++;if(data!=undefined){var fn=handler;handler=function(){return fn.apply(this,arguments);};handler.data=data;handler.guid=fn.guid;}var events=jQuery.data(elem,"events")||jQuery.data(elem,"events",{}),handle=jQuery.data(elem,"handle")||jQuery.data(elem,"handle",function(){var val;if(typeof jQuery=="undefined"||jQuery.event.triggered)return val;val=jQuery.event.handle.apply(arguments.callee.elem,arguments);return val;});handle.elem=elem;jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];handler.type=parts[1];var handlers=events[type];if(!handlers){handlers=events[type]={};if(!jQuery.event.special[type]||jQuery.event.special[type].setup.call(elem)===false){if(elem.addEventListener)elem.addEventListener(type,handle,false);else if(elem.attachEvent)elem.attachEvent("on"+type,handle);}}handlers[handler.guid]=handler;jQuery.event.global[type]=true;});elem=null;},guid:1,global:{},remove:function(elem,types,handler){if(elem.nodeType==3||elem.nodeType==8)return;var events=jQuery.data(elem,"events"),ret,index;if(events){if(types==undefined||(typeof types=="string"&&types.charAt(0)=="."))for(var type in events)this.remove(elem,type+(types||""));else{if(types.type){handler=types.handler;types=types.type;}jQuery.each(types.split(/\s+/),function(index,type){var parts=type.split(".");type=parts[0];if(events[type]){if(handler)delete events[type][handler.guid];else -for(handler in events[type])if(!parts[1]||events[type][handler].type==parts[1])delete events[type][handler];for(ret in events[type])break;if(!ret){if(!jQuery.event.special[type]||jQuery.event.special[type].teardown.call(elem)===false){if(elem.removeEventListener)elem.removeEventListener(type,jQuery.data(elem,"handle"),false);else if(elem.detachEvent)elem.detachEvent("on"+type,jQuery.data(elem,"handle"));}ret=null;delete events[type];}}});}for(ret in events)break;if(!ret){var handle=jQuery.data(elem,"handle");if(handle)handle.elem=null;jQuery.removeData(elem,"events");jQuery.removeData(elem,"handle");}}},trigger:function(type,data,elem,donative,extra){data=jQuery.makeArray(data||[]);if(type.indexOf("!")>=0){type=type.slice(0,-1);var exclusive=true;}if(!elem){if(this.global[type])jQuery("*").add([window,document]).trigger(type,data);}else{if(elem.nodeType==3||elem.nodeType==8)return undefined;var val,ret,fn=jQuery.isFunction(elem[type]||null),event=!data[0]||!data[0].preventDefault;if(event)data.unshift(this.fix({type:type,target:elem}));data[0].type=type;if(exclusive)data[0].exclusive=true;if(jQuery.isFunction(jQuery.data(elem,"handle")))val=jQuery.data(elem,"handle").apply(elem,data);if(!fn&&elem["on"+type]&&elem["on"+type].apply(elem,data)===false)val=false;if(event)data.shift();if(extra&&jQuery.isFunction(extra)){ret=extra.apply(elem,val==null?data:data.concat(val));if(ret!==undefined)val=ret;}if(fn&&donative!==false&&val!==false&&!(jQuery.nodeName(elem,'a')&&type=="click")){this.triggered=true;try{elem[type]();}catch(e){}}this.triggered=false;}return val;},handle:function(event){var val;event=jQuery.event.fix(event||window.event||{});var parts=event.type.split(".");event.type=parts[0];var handlers=jQuery.data(this,"events")&&jQuery.data(this,"events")[event.type],args=Array.prototype.slice.call(arguments,1);args.unshift(event);for(var j in handlers){var handler=handlers[j];args[0].handler=handler;args[0].data=handler.data;if(!parts[1]&&!event.exclusive||handler.type==parts[1]){var ret=handler.apply(this,args);if(val!==false)val=ret;if(ret===false){event.preventDefault();event.stopPropagation();}}}if(jQuery.browser.msie)event.target=event.preventDefault=event.stopPropagation=event.handler=event.data=null;return val;},fix:function(event){var originalEvent=event;event=jQuery.extend({},originalEvent);event.preventDefault=function(){if(originalEvent.preventDefault)originalEvent.preventDefault();originalEvent.returnValue=false;};event.stopPropagation=function(){if(originalEvent.stopPropagation)originalEvent.stopPropagation();originalEvent.cancelBubble=true;};if(!event.target)event.target=event.srcElement||document;if(event.target.nodeType==3)event.target=originalEvent.target.parentNode;if(!event.relatedTarget&&event.fromElement)event.relatedTarget=event.fromElement==event.target?event.toElement:event.fromElement;if(event.pageX==null&&event.clientX!=null){var doc=document.documentElement,body=document.body;event.pageX=event.clientX+(doc&&doc.scrollLeft||body&&body.scrollLeft||0)-(doc.clientLeft||0);event.pageY=event.clientY+(doc&&doc.scrollTop||body&&body.scrollTop||0)-(doc.clientTop||0);}if(!event.which&&((event.charCode||event.charCode===0)?event.charCode:event.keyCode))event.which=event.charCode||event.keyCode;if(!event.metaKey&&event.ctrlKey)event.metaKey=event.ctrlKey;if(!event.which&&event.button)event.which=(event.button&1?1:(event.button&2?3:(event.button&4?2:0)));return event;},special:{ready:{setup:function(){bindReady();return;},teardown:function(){return;}},mouseenter:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseover",jQuery.event.special.mouseenter.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseover",jQuery.event.special.mouseenter.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseenter";return jQuery.event.handle.apply(this,arguments);}},mouseleave:{setup:function(){if(jQuery.browser.msie)return false;jQuery(this).bind("mouseout",jQuery.event.special.mouseleave.handler);return true;},teardown:function(){if(jQuery.browser.msie)return false;jQuery(this).unbind("mouseout",jQuery.event.special.mouseleave.handler);return true;},handler:function(event){if(withinElement(event,this))return true;arguments[0].type="mouseleave";return jQuery.event.handle.apply(this,arguments);}}}};jQuery.fn.extend({bind:function(type,data,fn){return type=="unload"?this.one(type,data,fn):this.each(function(){jQuery.event.add(this,type,fn||data,fn&&data);});},one:function(type,data,fn){return this.each(function(){jQuery.event.add(this,type,function(event){jQuery(this).unbind(event);return(fn||data).apply(this,arguments);},fn&&data);});},unbind:function(type,fn){return this.each(function(){jQuery.event.remove(this,type,fn);});},trigger:function(type,data,fn){return this.each(function(){jQuery.event.trigger(type,data,this,true,fn);});},triggerHandler:function(type,data,fn){if(this[0])return jQuery.event.trigger(type,data,this[0],false,fn);return undefined;},toggle:function(){var args=arguments;return this.click(function(event){this.lastToggle=0==this.lastToggle?1:0;event.preventDefault();return args[this.lastToggle].apply(this,arguments)||false;});},hover:function(fnOver,fnOut){return this.bind('mouseenter',fnOver).bind('mouseleave',fnOut);},ready:function(fn){bindReady();if(jQuery.isReady)fn.call(document,jQuery);else -jQuery.readyList.push(function(){return fn.call(this,jQuery);});return this;}});jQuery.extend({isReady:false,readyList:[],ready:function(){if(!jQuery.isReady){jQuery.isReady=true;if(jQuery.readyList){jQuery.each(jQuery.readyList,function(){this.apply(document);});jQuery.readyList=null;}jQuery(document).triggerHandler("ready");}}});var readyBound=false;function bindReady(){if(readyBound)return;readyBound=true;if(document.addEventListener&&!jQuery.browser.opera)document.addEventListener("DOMContentLoaded",jQuery.ready,false);if(jQuery.browser.msie&&window==top)(function(){if(jQuery.isReady)return;try{document.documentElement.doScroll("left");}catch(error){setTimeout(arguments.callee,0);return;}jQuery.ready();})();if(jQuery.browser.opera)document.addEventListener("DOMContentLoaded",function(){if(jQuery.isReady)return;for(var i=0;i=0){var selector=url.slice(off,url.length);url=url.slice(0,off);}callback=callback||function(){};var type="GET";if(params)if(jQuery.isFunction(params)){callback=params;params=null;}else{params=jQuery.param(params);type="POST";}var self=this;jQuery.ajax({url:url,type:type,dataType:"html",data:params,complete:function(res,status){if(status=="success"||status=="notmodified")self.html(selector?jQuery("
    ").append(res.responseText.replace(//g,"")).find(selector):res.responseText);self.each(callback,[res.responseText,status,res]);}});return this;},serialize:function(){return jQuery.param(this.serializeArray());},serializeArray:function(){return this.map(function(){return jQuery.nodeName(this,"form")?jQuery.makeArray(this.elements):this;}).filter(function(){return this.name&&!this.disabled&&(this.checked||/select|textarea/i.test(this.nodeName)||/text|hidden|password/i.test(this.type));}).map(function(i,elem){var val=jQuery(this).val();return val==null?null:val.constructor==Array?jQuery.map(val,function(val,i){return{name:elem.name,value:val};}):{name:elem.name,value:val};}).get();}});jQuery.each("ajaxStart,ajaxStop,ajaxComplete,ajaxError,ajaxSuccess,ajaxSend".split(","),function(i,o){jQuery.fn[o]=function(f){return this.bind(o,f);};});var jsc=(new Date).getTime();jQuery.extend({get:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data=null;}return jQuery.ajax({type:"GET",url:url,data:data,success:callback,dataType:type});},getScript:function(url,callback){return jQuery.get(url,null,callback,"script");},getJSON:function(url,data,callback){return jQuery.get(url,data,callback,"json");},post:function(url,data,callback,type){if(jQuery.isFunction(data)){callback=data;data={};}return jQuery.ajax({type:"POST",url:url,data:data,success:callback,dataType:type});},ajaxSetup:function(settings){jQuery.extend(jQuery.ajaxSettings,settings);},ajaxSettings:{global:true,type:"GET",timeout:0,contentType:"application/x-www-form-urlencoded",processData:true,async:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},ajax:function(s){var jsonp,jsre=/=\?(&|$)/g,status,data;s=jQuery.extend(true,s,jQuery.extend(true,{},jQuery.ajaxSettings,s));if(s.data&&s.processData&&typeof s.data!="string")s.data=jQuery.param(s.data);if(s.dataType=="jsonp"){if(s.type.toLowerCase()=="get"){if(!s.url.match(jsre))s.url+=(s.url.match(/\?/)?"&":"?")+(s.jsonp||"callback")+"=?";}else if(!s.data||!s.data.match(jsre))s.data=(s.data?s.data+"&":"")+(s.jsonp||"callback")+"=?";s.dataType="json";}if(s.dataType=="json"&&(s.data&&s.data.match(jsre)||s.url.match(jsre))){jsonp="jsonp"+jsc++;if(s.data)s.data=(s.data+"").replace(jsre,"="+jsonp+"$1");s.url=s.url.replace(jsre,"="+jsonp+"$1");s.dataType="script";window[jsonp]=function(tmp){data=tmp;success();complete();window[jsonp]=undefined;try{delete window[jsonp];}catch(e){}if(head)head.removeChild(script);};}if(s.dataType=="script"&&s.cache==null)s.cache=false;if(s.cache===false&&s.type.toLowerCase()=="get"){var ts=(new Date()).getTime();var ret=s.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+ts+"$2");s.url=ret+((ret==s.url)?(s.url.match(/\?/)?"&":"?")+"_="+ts:"");}if(s.data&&s.type.toLowerCase()=="get"){s.url+=(s.url.match(/\?/)?"&":"?")+s.data;s.data=null;}if(s.global&&!jQuery.active++)jQuery.event.trigger("ajaxStart");if((!s.url.indexOf("http")||!s.url.indexOf("//"))&&s.dataType=="script"&&s.type.toLowerCase()=="get"){var head=document.getElementsByTagName("head")[0];var script=document.createElement("script");script.src=s.url;if(s.scriptCharset)script.charset=s.scriptCharset;if(!jsonp){var done=false;script.onload=script.onreadystatechange=function(){if(!done&&(!this.readyState||this.readyState=="loaded"||this.readyState=="complete")){done=true;success();complete();head.removeChild(script);}};}head.appendChild(script);return undefined;}var requestDone=false;var xml=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();xml.open(s.type,s.url,s.async,s.username,s.password);try{if(s.data)xml.setRequestHeader("Content-Type",s.contentType);if(s.ifModified)xml.setRequestHeader("If-Modified-Since",jQuery.lastModified[s.url]||"Thu, 01 Jan 1970 00:00:00 GMT");xml.setRequestHeader("X-Requested-With","XMLHttpRequest");xml.setRequestHeader("Accept",s.dataType&&s.accepts[s.dataType]?s.accepts[s.dataType]+", */*":s.accepts._default);}catch(e){}if(s.beforeSend)s.beforeSend(xml);if(s.global)jQuery.event.trigger("ajaxSend",[xml,s]);var onreadystatechange=function(isTimeout){if(!requestDone&&xml&&(xml.readyState==4||isTimeout=="timeout")){requestDone=true;if(ival){clearInterval(ival);ival=null;}status=isTimeout=="timeout"&&"timeout"||!jQuery.httpSuccess(xml)&&"error"||s.ifModified&&jQuery.httpNotModified(xml,s.url)&&"notmodified"||"success";if(status=="success"){try{data=jQuery.httpData(xml,s.dataType);}catch(e){status="parsererror";}}if(status=="success"){var modRes;try{modRes=xml.getResponseHeader("Last-Modified");}catch(e){}if(s.ifModified&&modRes)jQuery.lastModified[s.url]=modRes;if(!jsonp)success();}else -jQuery.handleError(s,xml,status);complete();if(s.async)xml=null;}};if(s.async){var ival=setInterval(onreadystatechange,13);if(s.timeout>0)setTimeout(function(){if(xml){xml.abort();if(!requestDone)onreadystatechange("timeout");}},s.timeout);}try{xml.send(s.data);}catch(e){jQuery.handleError(s,xml,null,e);}if(!s.async)onreadystatechange();function success(){if(s.success)s.success(data,status);if(s.global)jQuery.event.trigger("ajaxSuccess",[xml,s]);}function complete(){if(s.complete)s.complete(xml,status);if(s.global)jQuery.event.trigger("ajaxComplete",[xml,s]);if(s.global&&!--jQuery.active)jQuery.event.trigger("ajaxStop");}return xml;},handleError:function(s,xml,status,e){if(s.error)s.error(xml,status,e);if(s.global)jQuery.event.trigger("ajaxError",[xml,s,e]);},active:0,httpSuccess:function(r){try{return!r.status&&location.protocol=="file:"||(r.status>=200&&r.status<300)||r.status==304||r.status==1223||jQuery.browser.safari&&r.status==undefined;}catch(e){}return false;},httpNotModified:function(xml,url){try{var xmlRes=xml.getResponseHeader("Last-Modified");return xml.status==304||xmlRes==jQuery.lastModified[url]||jQuery.browser.safari&&xml.status==undefined;}catch(e){}return false;},httpData:function(r,type){var ct=r.getResponseHeader("content-type");var xml=type=="xml"||!type&&ct&&ct.indexOf("xml")>=0;var data=xml?r.responseXML:r.responseText;if(xml&&data.documentElement.tagName=="parsererror")throw"parsererror";if(type=="script")jQuery.globalEval(data);if(type=="json")data=eval("("+data+")");return data;},param:function(a){var s=[];if(a.constructor==Array||a.jquery)jQuery.each(a,function(){s.push(encodeURIComponent(this.name)+"="+encodeURIComponent(this.value));});else -for(var j in a)if(a[j]&&a[j].constructor==Array)jQuery.each(a[j],function(){s.push(encodeURIComponent(j)+"="+encodeURIComponent(this));});else -s.push(encodeURIComponent(j)+"="+encodeURIComponent(a[j]));return s.join("&").replace(/%20/g,"+");}});jQuery.fn.extend({show:function(speed,callback){return speed?this.animate({height:"show",width:"show",opacity:"show"},speed,callback):this.filter(":hidden").each(function(){this.style.display=this.oldblock||"";if(jQuery.css(this,"display")=="none"){var elem=jQuery("<"+this.tagName+" />").appendTo("body");this.style.display=elem.css("display");if(this.style.display=="none")this.style.display="block";elem.remove();}}).end();},hide:function(speed,callback){return speed?this.animate({height:"hide",width:"hide",opacity:"hide"},speed,callback):this.filter(":visible").each(function(){this.oldblock=this.oldblock||jQuery.css(this,"display");this.style.display="none";}).end();},_toggle:jQuery.fn.toggle,toggle:function(fn,fn2){return jQuery.isFunction(fn)&&jQuery.isFunction(fn2)?this._toggle(fn,fn2):fn?this.animate({height:"toggle",width:"toggle",opacity:"toggle"},fn,fn2):this.each(function(){jQuery(this)[jQuery(this).is(":hidden")?"show":"hide"]();});},slideDown:function(speed,callback){return this.animate({height:"show"},speed,callback);},slideUp:function(speed,callback){return this.animate({height:"hide"},speed,callback);},slideToggle:function(speed,callback){return this.animate({height:"toggle"},speed,callback);},fadeIn:function(speed,callback){return this.animate({opacity:"show"},speed,callback);},fadeOut:function(speed,callback){return this.animate({opacity:"hide"},speed,callback);},fadeTo:function(speed,to,callback){return this.animate({opacity:to},speed,callback);},animate:function(prop,speed,easing,callback){var optall=jQuery.speed(speed,easing,callback);return this[optall.queue===false?"each":"queue"](function(){if(this.nodeType!=1)return false;var opt=jQuery.extend({},optall);var hidden=jQuery(this).is(":hidden"),self=this;for(var p in prop){if(prop[p]=="hide"&&hidden||prop[p]=="show"&&!hidden)return jQuery.isFunction(opt.complete)&&opt.complete.apply(this);if(p=="height"||p=="width"){opt.display=jQuery.css(this,"display");opt.overflow=this.style.overflow;}}if(opt.overflow!=null)this.style.overflow="hidden";opt.curAnim=jQuery.extend({},prop);jQuery.each(prop,function(name,val){var e=new jQuery.fx(self,opt,name);if(/toggle|show|hide/.test(val))e[val=="toggle"?hidden?"show":"hide":val](prop);else{var parts=val.toString().match(/^([+-]=)?([\d+-.]+)(.*)$/),start=e.cur(true)||0;if(parts){var end=parseFloat(parts[2]),unit=parts[3]||"px";if(unit!="px"){self.style[name]=(end||1)+unit;start=((end||1)/e.cur(true))*start;self.style[name]=start+unit;}if(parts[1])end=((parts[1]=="-="?-1:1)*end)+start;e.custom(start,end,unit);}else -e.custom(start,val,"");}});return true;});},queue:function(type,fn){if(jQuery.isFunction(type)||(type&&type.constructor==Array)){fn=type;type="fx";}if(!type||(typeof type=="string"&&!fn))return queue(this[0],type);return this.each(function(){if(fn.constructor==Array)queue(this,type,fn);else{queue(this,type).push(fn);if(queue(this,type).length==1)fn.apply(this);}});},stop:function(clearQueue,gotoEnd){var timers=jQuery.timers;if(clearQueue)this.queue([]);this.each(function(){for(var i=timers.length-1;i>=0;i--)if(timers[i].elem==this){if(gotoEnd)timers[i](true);timers.splice(i,1);}});if(!gotoEnd)this.dequeue();return this;}});var queue=function(elem,type,array){if(!elem)return undefined;type=type||"fx";var q=jQuery.data(elem,type+"queue");if(!q||array)q=jQuery.data(elem,type+"queue",array?jQuery.makeArray(array):[]);return q;};jQuery.fn.dequeue=function(type){type=type||"fx";return this.each(function(){var q=queue(this,type);q.shift();if(q.length)q[0].apply(this);});};jQuery.extend({speed:function(speed,easing,fn){var opt=speed&&speed.constructor==Object?speed:{complete:fn||!fn&&easing||jQuery.isFunction(speed)&&speed,duration:speed,easing:fn&&easing||easing&&easing.constructor!=Function&&easing};opt.duration=(opt.duration&&opt.duration.constructor==Number?opt.duration:{slow:600,fast:200}[opt.duration])||400;opt.old=opt.complete;opt.complete=function(){if(opt.queue!==false)jQuery(this).dequeue();if(jQuery.isFunction(opt.old))opt.old.apply(this);};return opt;},easing:{linear:function(p,n,firstNum,diff){return firstNum+diff*p;},swing:function(p,n,firstNum,diff){return((-Math.cos(p*Math.PI)/2)+0.5)*diff+firstNum;}},timers:[],timerId:null,fx:function(elem,options,prop){this.options=options;this.elem=elem;this.prop=prop;if(!options.orig)options.orig={};}});jQuery.fx.prototype={update:function(){if(this.options.step)this.options.step.apply(this.elem,[this.now,this]);(jQuery.fx.step[this.prop]||jQuery.fx.step._default)(this);if(this.prop=="height"||this.prop=="width")this.elem.style.display="block";},cur:function(force){if(this.elem[this.prop]!=null&&this.elem.style[this.prop]==null)return this.elem[this.prop];var r=parseFloat(jQuery.css(this.elem,this.prop,force));return r&&r>-10000?r:parseFloat(jQuery.curCSS(this.elem,this.prop))||0;},custom:function(from,to,unit){this.startTime=(new Date()).getTime();this.start=from;this.end=to;this.unit=unit||this.unit||"px";this.now=this.start;this.pos=this.state=0;this.update();var self=this;function t(gotoEnd){return self.step(gotoEnd);}t.elem=this.elem;jQuery.timers.push(t);if(jQuery.timerId==null){jQuery.timerId=setInterval(function(){var timers=jQuery.timers;for(var i=0;ithis.options.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;var done=true;for(var i in this.options.curAnim)if(this.options.curAnim[i]!==true)done=false;if(done){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;this.elem.style.display=this.options.display;if(jQuery.css(this.elem,"display")=="none")this.elem.style.display="block";}if(this.options.hide)this.elem.style.display="none";if(this.options.hide||this.options.show)for(var p in this.options.curAnim)jQuery.attr(this.elem.style,p,this.options.orig[p]);}if(done&&jQuery.isFunction(this.options.complete))this.options.complete.apply(this.elem);return false;}else{var n=t-this.startTime;this.state=n/this.options.duration;this.pos=jQuery.easing[this.options.easing||(jQuery.easing.swing?"swing":"linear")](this.state,n,0,1,this.options.duration);this.now=this.start+((this.end-this.start)*this.pos);this.update();}return true;}};jQuery.fx.step={scrollLeft:function(fx){fx.elem.scrollLeft=fx.now;},scrollTop:function(fx){fx.elem.scrollTop=fx.now;},opacity:function(fx){jQuery.attr(fx.elem.style,"opacity",fx.now);},_default:function(fx){fx.elem.style[fx.prop]=fx.now+fx.unit;}};jQuery.fn.offset=function(){var left=0,top=0,elem=this[0],results;if(elem)with(jQuery.browser){var parent=elem.parentNode,offsetChild=elem,offsetParent=elem.offsetParent,doc=elem.ownerDocument,safari2=safari&&parseInt(version)<522&&!/adobeair/i.test(userAgent),fixed=jQuery.css(elem,"position")=="fixed";if(elem.getBoundingClientRect){var box=elem.getBoundingClientRect();add(box.left+Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),box.top+Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));add(-doc.documentElement.clientLeft,-doc.documentElement.clientTop);}else{add(elem.offsetLeft,elem.offsetTop);while(offsetParent){add(offsetParent.offsetLeft,offsetParent.offsetTop);if(mozilla&&!/^t(able|d|h)$/i.test(offsetParent.tagName)||safari&&!safari2)border(offsetParent);if(!fixed&&jQuery.css(offsetParent,"position")=="fixed")fixed=true;offsetChild=/^body$/i.test(offsetParent.tagName)?offsetChild:offsetParent;offsetParent=offsetParent.offsetParent;}while(parent&&parent.tagName&&!/^body|html$/i.test(parent.tagName)){if(!/^inline|table.*$/i.test(jQuery.css(parent,"display")))add(-parent.scrollLeft,-parent.scrollTop);if(mozilla&&jQuery.css(parent,"overflow")!="visible")border(parent);parent=parent.parentNode;}if((safari2&&(fixed||jQuery.css(offsetChild,"position")=="absolute"))||(mozilla&&jQuery.css(offsetChild,"position")!="absolute"))add(-doc.body.offsetLeft,-doc.body.offsetTop);if(fixed)add(Math.max(doc.documentElement.scrollLeft,doc.body.scrollLeft),Math.max(doc.documentElement.scrollTop,doc.body.scrollTop));}results={top:top,left:left};}function border(elem){add(jQuery.curCSS(elem,"borderLeftWidth",true),jQuery.curCSS(elem,"borderTopWidth",true));}function add(l,t){left+=parseInt(l)||0;top+=parseInt(t)||0;}return results;};})(); \ No newline at end of file diff --git a/view/theme/diabook/lightbox/js/jquery.lightbox-0.5.js b/view/theme/diabook/lightbox/js/jquery.lightbox-0.5.js deleted file mode 100644 index eef6425e0..000000000 --- a/view/theme/diabook/lightbox/js/jquery.lightbox-0.5.js +++ /dev/null @@ -1,472 +0,0 @@ -/** - * jQuery lightBox plugin - * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) - * and adapted to me for use like a plugin from jQuery. - * @name jquery-lightbox-0.5.js - * @author Leandro Vieira Pinho - http://leandrovieira.com - * @version 0.5 - * @date April 11, 2008 - * @category jQuery plugin - * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) - * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US - * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin - */ - -// Offering a Custom Alias suport - More info: http://docs.jquery.com/Plugins/Authoring#Custom_Alias -(function($) { - /** - * $ is an alias to jQuery object - * - */ - $.fn.lightBox = function(settings) { - // Settings to configure the jQuery lightBox plugin how you like - settings = jQuery.extend({ - // Configuration related to overlay - overlayBgColor: '#000', // (string) Background color to overlay; inform a hexadecimal value like: #RRGGBB. Where RR, GG, and BB are the hexadecimal values for the red, green, and blue values of the color. - overlayOpacity: 0.8, // (integer) Opacity value to overlay; inform: 0.X. Where X are number from 0 to 9 - // Configuration related to navigation - fixedNavigation: false, // (boolean) Boolean that informs if the navigation (next and prev button) will be fixed or not in the interface. - // Configuration related to images - imageLoading: 'images/lightbox-ico-loading.gif', // (string) Path and the name of the loading icon - imageBtnPrev: 'images/lightbox-btn-prev.gif', // (string) Path and the name of the prev button image - imageBtnNext: 'images/lightbox-btn-next.gif', // (string) Path and the name of the next button image - imageBtnClose: 'images/lightbox-btn-close.gif', // (string) Path and the name of the close btn - imageBlank: 'images/lightbox-blank.gif', // (string) Path and the name of a blank image (one pixel) - // Configuration related to container image box - containerBorderSize: 10, // (integer) If you adjust the padding in the CSS for the container, #lightbox-container-image-box, you will need to update this value - containerResizeSpeed: 400, // (integer) Specify the resize duration of container image. These number are miliseconds. 400 is default. - // Configuration related to texts in caption. For example: Image 2 of 8. You can alter either "Image" and "of" texts. - txtImage: 'Image', // (string) Specify text "Image" - txtOf: 'of', // (string) Specify text "of" - // Configuration related to keyboard navigation - keyToClose: 'c', // (string) (c = close) Letter to close the jQuery lightBox interface. Beyond this letter, the letter X and the SCAPE key is used to. - keyToPrev: 'p', // (string) (p = previous) Letter to show the previous image - keyToNext: 'n', // (string) (n = next) Letter to show the next image. - // Don´t alter these variables in any way - imageArray: [], - activeImage: 0 - },settings); - // Caching the jQuery object with all elements matched - var jQueryMatchedObj = this; // This, in this context, refer to jQuery object - /** - * Initializing the plugin calling the start function - * - * @return boolean false - */ - function _initialize() { - _start(this,jQueryMatchedObj); // This, in this context, refer to object (link) which the user have clicked - return false; // Avoid the browser following the link - } - /** - * Start the jQuery lightBox plugin - * - * @param object objClicked The object (link) whick the user have clicked - * @param object jQueryMatchedObj The jQuery object with all elements matched - */ - function _start(objClicked,jQueryMatchedObj) { - // Hime some elements to avoid conflict with overlay in IE. These elements appear above the overlay. - $('embed, object, select').css({ 'visibility' : 'hidden' }); - // Call the function to create the markup structure; style some elements; assign events in some elements. - _set_interface(); - // Unset total images in imageArray - settings.imageArray.length = 0; - // Unset image active information - settings.activeImage = 0; - // We have an image set? Or just an image? Let´s see it. - if ( jQueryMatchedObj.length == 1 ) { - settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title'))); - } else { - // Add an Array (as many as we have), with href and title atributes, inside the Array that storage the images references - for ( var i = 0; i < jQueryMatchedObj.length; i++ ) { - settings.imageArray.push(new Array(jQueryMatchedObj[i].getAttribute('href'),jQueryMatchedObj[i].getAttribute('title'))); - } - } - while ( settings.imageArray[settings.activeImage][0] != objClicked.getAttribute('href') ) { - settings.activeImage++; - } - // Call the function that prepares image exibition - _set_image_to_view(); - } - /** - * Create the jQuery lightBox plugin interface - * - * The HTML markup will be like that: -
    -
    - - -
    - * - */ - function _set_interface() { - // Apply the HTML markup into body tag - $('body').append('
    '); - // Get page sizes - var arrPageSizes = ___getPageSize(); - // Style overlay and show it - $('#jquery-overlay').css({ - backgroundColor: settings.overlayBgColor, - opacity: settings.overlayOpacity, - width: arrPageSizes[0], - height: arrPageSizes[1] - }).fadeIn(); - // Get page scroll - var arrPageScroll = ___getPageScroll(); - // Calculate top and left offset for the jquery-lightbox div object and show it - $('#jquery-lightbox').css({ - top: arrPageScroll[1] + (arrPageSizes[3] / 10), - left: arrPageScroll[0] - }).show(); - // Assigning click events in elements to close overlay - $('#jquery-overlay,#jquery-lightbox').click(function() { - _finish(); - }); - // Assign the _finish function to lightbox-loading-link and lightbox-secNav-btnClose objects - $('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function() { - _finish(); - return false; - }); - // If window was resized, calculate the new overlay dimensions - $(window).resize(function() { - // Get page sizes - var arrPageSizes = ___getPageSize(); - // Style overlay and show it - $('#jquery-overlay').css({ - width: arrPageSizes[0], - height: arrPageSizes[1] - }); - // Get page scroll - var arrPageScroll = ___getPageScroll(); - // Calculate top and left offset for the jquery-lightbox div object and show it - $('#jquery-lightbox').css({ - top: arrPageScroll[1] + (arrPageSizes[3] / 10), - left: arrPageScroll[0] - }); - }); - } - /** - * Prepares image exibition; doing a image´s preloader to calculate it´s size - * - */ - function _set_image_to_view() { // show the loading - // Show the loading - $('#lightbox-loading').show(); - if ( settings.fixedNavigation ) { - $('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); - } else { - // Hide some elements - $('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide(); - } - // Image preload process - var objImagePreloader = new Image(); - objImagePreloader.onload = function() { - $('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]); - // Perfomance an effect in the image container resizing it - _resize_container_image_box(objImagePreloader.width,objImagePreloader.height); - // clear onLoad, IE behaves irratically with animated gifs otherwise - objImagePreloader.onload=function(){}; - }; - objImagePreloader.src = settings.imageArray[settings.activeImage][0]; - }; - /** - * Perfomance an effect in the image container resizing it - * - * @param integer intImageWidth The image´s width that will be showed - * @param integer intImageHeight The image´s height that will be showed - */ - function _resize_container_image_box(intImageWidth,intImageHeight) { - // Get current width and height - var intCurrentWidth = $('#lightbox-container-image-box').width(); - var intCurrentHeight = $('#lightbox-container-image-box').height(); - // Get the width and height of the selected image plus the padding - var intWidth = (intImageWidth + (settings.containerBorderSize * 2)); // Plus the image´s width and the left and right padding value - var intHeight = (intImageHeight + (settings.containerBorderSize * 2)); // Plus the image´s height and the left and right padding value - // Diferences - var intDiffW = intCurrentWidth - intWidth; - var intDiffH = intCurrentHeight - intHeight; - // Perfomance the effect - $('#lightbox-container-image-box').animate({ width: intWidth, height: intHeight },settings.containerResizeSpeed,function() { _show_image(); }); - if ( ( intDiffW == 0 ) && ( intDiffH == 0 ) ) { - if ( $.browser.msie ) { - ___pause(250); - } else { - ___pause(100); - } - } - $('#lightbox-container-image-data-box').css({ width: intImageWidth }); - $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ height: intImageHeight + (settings.containerBorderSize * 2) }); - }; - /** - * Show the prepared image - * - */ - function _show_image() { - $('#lightbox-loading').hide(); - $('#lightbox-image').fadeIn(function() { - _show_image_data(); - _set_navigation(); - }); - _preload_neighbor_images(); - }; - /** - * Show the image information - * - */ - function _show_image_data() { - $('#lightbox-container-image-data-box').slideDown('fast'); - $('#lightbox-image-details-caption').hide(); - if ( settings.imageArray[settings.activeImage][1] ) { - $('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show(); - } - // If we have a image set, display 'Image X of X' - if ( settings.imageArray.length > 1 ) { - $('#lightbox-image-details-currentNumber').html(settings.txtImage + ' ' + ( settings.activeImage + 1 ) + ' ' + settings.txtOf + ' ' + settings.imageArray.length).show(); - } - } - /** - * Display the button navigations - * - */ - function _set_navigation() { - $('#lightbox-nav').show(); - - // Instead to define this configuration in CSS file, we define here. And it´s need to IE. Just. - $('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); - - // Show the prev button, if not the first image in set - if ( settings.activeImage != 0 ) { - if ( settings.fixedNavigation ) { - $('#lightbox-nav-btnPrev').css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' }) - .unbind() - .bind('click',function() { - settings.activeImage = settings.activeImage - 1; - _set_image_to_view(); - return false; - }); - } else { - // Show the images button for Next buttons - $('#lightbox-nav-btnPrev').unbind().hover(function() { - $(this).css({ 'background' : 'url(' + settings.imageBtnPrev + ') left 15% no-repeat' }); - },function() { - $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); - }).show().bind('click',function() { - settings.activeImage = settings.activeImage - 1; - _set_image_to_view(); - return false; - }); - } - } - - // Show the next button, if not the last image in set - if ( settings.activeImage != ( settings.imageArray.length -1 ) ) { - if ( settings.fixedNavigation ) { - $('#lightbox-nav-btnNext').css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' }) - .unbind() - .bind('click',function() { - settings.activeImage = settings.activeImage + 1; - _set_image_to_view(); - return false; - }); - } else { - // Show the images button for Next buttons - $('#lightbox-nav-btnNext').unbind().hover(function() { - $(this).css({ 'background' : 'url(' + settings.imageBtnNext + ') right 15% no-repeat' }); - },function() { - $(this).css({ 'background' : 'transparent url(' + settings.imageBlank + ') no-repeat' }); - }).show().bind('click',function() { - settings.activeImage = settings.activeImage + 1; - _set_image_to_view(); - return false; - }); - } - } - // Enable keyboard navigation - _enable_keyboard_navigation(); - } - /** - * Enable a support to keyboard navigation - * - */ - function _enable_keyboard_navigation() { - $(document).keydown(function(objEvent) { - _keyboard_action(objEvent); - }); - } - /** - * Disable the support to keyboard navigation - * - */ - function _disable_keyboard_navigation() { - $(document).unbind(); - } - /** - * Perform the keyboard actions - * - */ - function _keyboard_action(objEvent) { - // To ie - if ( objEvent == null ) { - keycode = event.keyCode; - escapeKey = 27; - // To Mozilla - } else { - keycode = objEvent.keyCode; - escapeKey = objEvent.DOM_VK_ESCAPE; - } - // Get the key in lower case form - key = String.fromCharCode(keycode).toLowerCase(); - // Verify the keys to close the ligthBox - if ( ( key == settings.keyToClose ) || ( key == 'x' ) || ( keycode == escapeKey ) ) { - _finish(); - } - // Verify the key to show the previous image - if ( ( key == settings.keyToPrev ) || ( keycode == 37 ) ) { - // If we´re not showing the first image, call the previous - if ( settings.activeImage != 0 ) { - settings.activeImage = settings.activeImage - 1; - _set_image_to_view(); - _disable_keyboard_navigation(); - } - } - // Verify the key to show the next image - if ( ( key == settings.keyToNext ) || ( keycode == 39 ) ) { - // If we´re not showing the last image, call the next - if ( settings.activeImage != ( settings.imageArray.length - 1 ) ) { - settings.activeImage = settings.activeImage + 1; - _set_image_to_view(); - _disable_keyboard_navigation(); - } - } - } - /** - * Preload prev and next images being showed - * - */ - function _preload_neighbor_images() { - if ( (settings.imageArray.length -1) > settings.activeImage ) { - objNext = new Image(); - objNext.src = settings.imageArray[settings.activeImage + 1][0]; - } - if ( settings.activeImage > 0 ) { - objPrev = new Image(); - objPrev.src = settings.imageArray[settings.activeImage -1][0]; - } - } - /** - * Remove jQuery lightBox plugin HTML markup - * - */ - function _finish() { - $('#jquery-lightbox').remove(); - $('#jquery-overlay').fadeOut(function() { $('#jquery-overlay').remove(); }); - // Show some elements to avoid conflict with overlay in IE. These elements appear above the overlay. - $('embed, object, select').css({ 'visibility' : 'visible' }); - } - /** - / THIRD FUNCTION - * getPageSize() by quirksmode.com - * - * @return Array Return an array with page width, height and window width, height - */ - function ___getPageSize() { - var xScroll, yScroll; - if (window.innerHeight && window.scrollMaxY) { - xScroll = window.innerWidth + window.scrollMaxX; - yScroll = window.innerHeight + window.scrollMaxY; - } else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac - xScroll = document.body.scrollWidth; - yScroll = document.body.scrollHeight; - } else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari - xScroll = document.body.offsetWidth; - yScroll = document.body.offsetHeight; - } - var windowWidth, windowHeight; - if (self.innerHeight) { // all except Explorer - if(document.documentElement.clientWidth){ - windowWidth = document.documentElement.clientWidth; - } else { - windowWidth = self.innerWidth; - } - windowHeight = self.innerHeight; - } else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode - windowWidth = document.documentElement.clientWidth; - windowHeight = document.documentElement.clientHeight; - } else if (document.body) { // other Explorers - windowWidth = document.body.clientWidth; - windowHeight = document.body.clientHeight; - } - // for small pages with total height less then height of the viewport - if(yScroll < windowHeight){ - pageHeight = windowHeight; - } else { - pageHeight = yScroll; - } - // for small pages with total width less then width of the viewport - if(xScroll < windowWidth){ - pageWidth = xScroll; - } else { - pageWidth = windowWidth; - } - arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight); - return arrayPageSize; - }; - /** - / THIRD FUNCTION - * getPageScroll() by quirksmode.com - * - * @return Array Return an array with x,y page scroll values. - */ - function ___getPageScroll() { - var xScroll, yScroll; - if (self.pageYOffset) { - yScroll = self.pageYOffset; - xScroll = self.pageXOffset; - } else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict - yScroll = document.documentElement.scrollTop; - xScroll = document.documentElement.scrollLeft; - } else if (document.body) {// all other Explorers - yScroll = document.body.scrollTop; - xScroll = document.body.scrollLeft; - } - arrayPageScroll = new Array(xScroll,yScroll); - return arrayPageScroll; - }; - /** - * Stop the code execution from a escified time in milisecond - * - */ - function ___pause(ms) { - var date = new Date(); - curDate = null; - do { var curDate = new Date(); } - while ( curDate - date < ms); - }; - // Return the jQuery object for chaining. The unbind method is used to avoid click conflict when the plugin is called more than once - return this.unbind('click').click(_initialize); - }; -})(jQuery); // Call and execute the function immediately passing the jQuery object \ No newline at end of file diff --git a/view/theme/diabook/lightbox/js/jquery.lightbox-0.5.min.js b/view/theme/diabook/lightbox/js/jquery.lightbox-0.5.min.js deleted file mode 100644 index 5f13b0bf6..000000000 --- a/view/theme/diabook/lightbox/js/jquery.lightbox-0.5.min.js +++ /dev/null @@ -1,42 +0,0 @@ -/** - * jQuery lightBox plugin - * This jQuery plugin was inspired and based on Lightbox 2 by Lokesh Dhakar (http://www.huddletogether.com/projects/lightbox2/) - * and adapted to me for use like a plugin from jQuery. - * @name jquery-lightbox-0.5.js - * @author Leandro Vieira Pinho - http://leandrovieira.com - * @version 0.5 - * @date April 11, 2008 - * @category jQuery plugin - * @copyright (c) 2008 Leandro Vieira Pinho (leandrovieira.com) - * @license CCAttribution-ShareAlike 2.5 Brazil - http://creativecommons.org/licenses/by-sa/2.5/br/deed.en_US - * @example Visit http://leandrovieira.com/projects/jquery/lightbox/ for more informations about this jQuery plugin - */ -(function($){$.fn.lightBox=function(settings){settings=jQuery.extend({overlayBgColor:'#000',overlayOpacity:0.8,fixedNavigation:false,imageLoading:'images/lightbox-ico-loading.gif',imageBtnPrev:'images/lightbox-btn-prev.gif',imageBtnNext:'images/lightbox-btn-next.gif',imageBtnClose:'images/lightbox-btn-close.gif',imageBlank:'images/lightbox-blank.gif',containerBorderSize:10,containerResizeSpeed:400,txtImage:'Image',txtOf:'of',keyToClose:'c',keyToPrev:'p',keyToNext:'n',imageArray:[],activeImage:0},settings);var jQueryMatchedObj=this;function _initialize(){_start(this,jQueryMatchedObj);return false;} -function _start(objClicked,jQueryMatchedObj){$('embed, object, select').css({'visibility':'hidden'});_set_interface();settings.imageArray.length=0;settings.activeImage=0;if(jQueryMatchedObj.length==1){settings.imageArray.push(new Array(objClicked.getAttribute('href'),objClicked.getAttribute('title')));}else{for(var i=0;i
    ');var arrPageSizes=___getPageSize();$('#jquery-overlay').css({backgroundColor:settings.overlayBgColor,opacity:settings.overlayOpacity,width:arrPageSizes[0],height:arrPageSizes[1]}).fadeIn();var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]}).show();$('#jquery-overlay,#jquery-lightbox').click(function(){_finish();});$('#lightbox-loading-link,#lightbox-secNav-btnClose').click(function(){_finish();return false;});$(window).resize(function(){var arrPageSizes=___getPageSize();$('#jquery-overlay').css({width:arrPageSizes[0],height:arrPageSizes[1]});var arrPageScroll=___getPageScroll();$('#jquery-lightbox').css({top:arrPageScroll[1]+(arrPageSizes[3]/10),left:arrPageScroll[0]});});} -function _set_image_to_view(){$('#lightbox-loading').show();if(settings.fixedNavigation){$('#lightbox-image,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();}else{$('#lightbox-image,#lightbox-nav,#lightbox-nav-btnPrev,#lightbox-nav-btnNext,#lightbox-container-image-data-box,#lightbox-image-details-currentNumber').hide();} -var objImagePreloader=new Image();objImagePreloader.onload=function(){$('#lightbox-image').attr('src',settings.imageArray[settings.activeImage][0]);_resize_container_image_box(objImagePreloader.width,objImagePreloader.height);objImagePreloader.onload=function(){};};objImagePreloader.src=settings.imageArray[settings.activeImage][0];};function _resize_container_image_box(intImageWidth,intImageHeight){var intCurrentWidth=$('#lightbox-container-image-box').width();var intCurrentHeight=$('#lightbox-container-image-box').height();var intWidth=(intImageWidth+(settings.containerBorderSize*2));var intHeight=(intImageHeight+(settings.containerBorderSize*2));var intDiffW=intCurrentWidth-intWidth;var intDiffH=intCurrentHeight-intHeight;$('#lightbox-container-image-box').animate({width:intWidth,height:intHeight},settings.containerResizeSpeed,function(){_show_image();});if((intDiffW==0)&&(intDiffH==0)){if($.browser.msie){___pause(250);}else{___pause(100);}} -$('#lightbox-container-image-data-box').css({width:intImageWidth});$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({height:intImageHeight+(settings.containerBorderSize*2)});};function _show_image(){$('#lightbox-loading').hide();$('#lightbox-image').fadeIn(function(){_show_image_data();_set_navigation();});_preload_neighbor_images();};function _show_image_data(){$('#lightbox-container-image-data-box').slideDown('fast');$('#lightbox-image-details-caption').hide();if(settings.imageArray[settings.activeImage][1]){$('#lightbox-image-details-caption').html(settings.imageArray[settings.activeImage][1]).show();} -if(settings.imageArray.length>1){$('#lightbox-image-details-currentNumber').html(settings.txtImage+' '+(settings.activeImage+1)+' '+settings.txtOf+' '+settings.imageArray.length).show();}} -function _set_navigation(){$('#lightbox-nav').show();$('#lightbox-nav-btnPrev,#lightbox-nav-btnNext').css({'background':'transparent url('+settings.imageBlank+') no-repeat'});if(settings.activeImage!=0){if(settings.fixedNavigation){$('#lightbox-nav-btnPrev').css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnPrev').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnPrev+') left 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage-1;_set_image_to_view();return false;});}} -if(settings.activeImage!=(settings.imageArray.length-1)){if(settings.fixedNavigation){$('#lightbox-nav-btnNext').css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'}).unbind().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}else{$('#lightbox-nav-btnNext').unbind().hover(function(){$(this).css({'background':'url('+settings.imageBtnNext+') right 15% no-repeat'});},function(){$(this).css({'background':'transparent url('+settings.imageBlank+') no-repeat'});}).show().bind('click',function(){settings.activeImage=settings.activeImage+1;_set_image_to_view();return false;});}} -_enable_keyboard_navigation();} -function _enable_keyboard_navigation(){$(document).keydown(function(objEvent){_keyboard_action(objEvent);});} -function _disable_keyboard_navigation(){$(document).unbind();} -function _keyboard_action(objEvent){if(objEvent==null){keycode=event.keyCode;escapeKey=27;}else{keycode=objEvent.keyCode;escapeKey=objEvent.DOM_VK_ESCAPE;} -key=String.fromCharCode(keycode).toLowerCase();if((key==settings.keyToClose)||(key=='x')||(keycode==escapeKey)){_finish();} -if((key==settings.keyToPrev)||(keycode==37)){if(settings.activeImage!=0){settings.activeImage=settings.activeImage-1;_set_image_to_view();_disable_keyboard_navigation();}} -if((key==settings.keyToNext)||(keycode==39)){if(settings.activeImage!=(settings.imageArray.length-1)){settings.activeImage=settings.activeImage+1;_set_image_to_view();_disable_keyboard_navigation();}}} -function _preload_neighbor_images(){if((settings.imageArray.length-1)>settings.activeImage){objNext=new Image();objNext.src=settings.imageArray[settings.activeImage+1][0];} -if(settings.activeImage>0){objPrev=new Image();objPrev.src=settings.imageArray[settings.activeImage-1][0];}} -function _finish(){$('#jquery-lightbox').remove();$('#jquery-overlay').fadeOut(function(){$('#jquery-overlay').remove();});$('embed, object, select').css({'visibility':'visible'});} -function ___getPageSize(){var xScroll,yScroll;if(window.innerHeight&&window.scrollMaxY){xScroll=window.innerWidth+window.scrollMaxX;yScroll=window.innerHeight+window.scrollMaxY;}else if(document.body.scrollHeight>document.body.offsetHeight){xScroll=document.body.scrollWidth;yScroll=document.body.scrollHeight;}else{xScroll=document.body.offsetWidth;yScroll=document.body.offsetHeight;} -var windowWidth,windowHeight;if(self.innerHeight){if(document.documentElement.clientWidth){windowWidth=document.documentElement.clientWidth;}else{windowWidth=self.innerWidth;} -windowHeight=self.innerHeight;}else if(document.documentElement&&document.documentElement.clientHeight){windowWidth=document.documentElement.clientWidth;windowHeight=document.documentElement.clientHeight;}else if(document.body){windowWidth=document.body.clientWidth;windowHeight=document.body.clientHeight;} -if(yScroll35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('(6($){$.2N.3g=6(4){4=23.2H({2B:\'#34\',2g:0.8,1d:F,1M:\'18/5-33-Y.16\',1v:\'18/5-1u-2Q.16\',1E:\'18/5-1u-2L.16\',1W:\'18/5-1u-2I.16\',19:\'18/5-2F.16\',1f:10,2A:3d,2s:\'1j\',2o:\'32\',2j:\'c\',2f:\'p\',2d:\'n\',h:[],9:0},4);f I=N;6 20(){1X(N,I);u F}6 1X(1e,I){$(\'1U, 1S, 1R\').l({\'1Q\':\'2E\'});1O();4.h.B=0;4.9=0;7(I.B==1){4.h.1J(v 1m(1e.17(\'J\'),1e.17(\'2v\')))}j{36(f i=0;i<1w g="5-b"><1w W="\'+4.1M+\'"><1i g="5-b-A-1t"><1i g="5-b-A-1g"><1w W="\'+4.1W+\'">\');f z=1D();$(\'#q-13\').l({2K:4.2B,2J:4.2g,S:z[0],P:z[1]}).1V();f R=1p();$(\'#q-5\').l({1T:R[1]+(z[3]/10),1c:R[0]}).E();$(\'#q-13,#q-5\').C(6(){1a()});$(\'#5-Y-29,#5-1s-22\').C(6(){1a();u F});$(G).2G(6(){f z=1D();$(\'#q-13\').l({S:z[0],P:z[1]});f R=1p();$(\'#q-5\').l({1T:R[1]+(z[3]/10),1c:R[0]})})}6 D(){$(\'#5-Y\').E();7(4.1d){$(\'#5-b,#5-s-b-T-w,#5-b-A-1g\').1b()}j{$(\'#5-b,#5-k,#5-k-V,#5-k-X,#5-s-b-T-w,#5-b-A-1g\').1b()}f Q=v 1j();Q.1P=6(){$(\'#5-b\').2D(\'W\',4.h[4.9][0]);1N(Q.S,Q.P);Q.1P=6(){}};Q.W=4.h[4.9][0]};6 1N(1o,1r){f 1L=$(\'#5-s-b-w\').S();f 1K=$(\'#5-s-b-w\').P();f 1n=(1o+(4.1f*2));f 1y=(1r+(4.1f*2));f 1I=1L-1n;f 2z=1K-1y;$(\'#5-s-b-w\').3f({S:1n,P:1y},4.2A,6(){2y()});7((1I==0)&&(2z==0)){7($.3e.3c){1H(3b)}j{1H(3a)}}$(\'#5-s-b-T-w\').l({S:1o});$(\'#5-k-V,#5-k-X\').l({P:1r+(4.1f*2)})};6 2y(){$(\'#5-Y\').1b();$(\'#5-b\').1V(6(){2u();2t()});2r()};6 2u(){$(\'#5-s-b-T-w\').38(\'35\');$(\'#5-b-A-1t\').1b();7(4.h[4.9][1]){$(\'#5-b-A-1t\').2p(4.h[4.9][1]).E()}7(4.h.B>1){$(\'#5-b-A-1g\').2p(4.2s+\' \'+(4.9+1)+\' \'+4.2o+\' \'+4.h.B).E()}}6 2t(){$(\'#5-k\').E();$(\'#5-k-V,#5-k-X\').l({\'K\':\'1C M(\'+4.19+\') L-O\'});7(4.9!=0){7(4.1d){$(\'#5-k-V\').l({\'K\':\'M(\'+4.1v+\') 1c 15% L-O\'}).11().1k(\'C\',6(){4.9=4.9-1;D();u F})}j{$(\'#5-k-V\').11().2m(6(){$(N).l({\'K\':\'M(\'+4.1v+\') 1c 15% L-O\'})},6(){$(N).l({\'K\':\'1C M(\'+4.19+\') L-O\'})}).E().1k(\'C\',6(){4.9=4.9-1;D();u F})}}7(4.9!=(4.h.B-1)){7(4.1d){$(\'#5-k-X\').l({\'K\':\'M(\'+4.1E+\') 2l 15% L-O\'}).11().1k(\'C\',6(){4.9=4.9+1;D();u F})}j{$(\'#5-k-X\').11().2m(6(){$(N).l({\'K\':\'M(\'+4.1E+\') 2l 15% L-O\'})},6(){$(N).l({\'K\':\'1C M(\'+4.19+\') L-O\'})}).E().1k(\'C\',6(){4.9=4.9+1;D();u F})}}2k()}6 2k(){$(d).30(6(12){2i(12)})}6 1G(){$(d).11()}6 2i(12){7(12==2h){U=2Z.2e;1x=27}j{U=12.2e;1x=12.2Y}14=2X.2W(U).2U();7((14==4.2j)||(14==\'x\')||(U==1x)){1a()}7((14==4.2f)||(U==37)){7(4.9!=0){4.9=4.9-1;D();1G()}}7((14==4.2d)||(U==39)){7(4.9!=(4.h.B-1)){4.9=4.9+1;D();1G()}}}6 2r(){7((4.h.B-1)>4.9){2c=v 1j();2c.W=4.h[4.9+1][0]}7(4.9>0){2b=v 1j();2b.W=4.h[4.9-1][0]}}6 1a(){$(\'#q-5\').2a();$(\'#q-13\').2T(6(){$(\'#q-13\').2a()});$(\'1U, 1S, 1R\').l({\'1Q\':\'2S\'})}6 1D(){f o,r;7(G.1h&&G.28){o=G.26+G.2R;r=G.1h+G.28}j 7(d.m.25>d.m.24){o=d.m.2P;r=d.m.25}j{o=d.m.2O;r=d.m.24}f y,H;7(Z.1h){7(d.t.1l){y=d.t.1l}j{y=Z.26}H=Z.1h}j 7(d.t&&d.t.1A){y=d.t.1l;H=d.t.1A}j 7(d.m){y=d.m.1l;H=d.m.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

    5sLvM6_8R^C{>F-HBAhQ7LqiXBUBg%M6*pA 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 z zhqdVFv?g-jbS%}5L={GmWf=;Ptfm3z(6$JKLfHVT1T<0rP)P)trA<|rVwBShVjqTU z{K~m2(?jsgLGFo7mFXeqbu3eZ48H5Y7x=t3A{u7onm5`azIZmkfAYK8LORU8T*h3#@fC}c()s=;i* z@oY?EU~nH0>GoSRZ@+^1YmQ6!Qw_=;T{CQSY+(NYReH?7+JL6J;OR}*I2!>i`W+D> z2~5`!vTQ+YN$vz2jZ;@*n^NJ4y?~piCUdjHo)0i;shI|%OJpB~B19NsQy_TIGSI_H z0I19H4FuSXbhNSGgk<>cA1hX!CRpN>r2E^)4#eViwV*ym!E4wbfXcArk`x1^W!qg_$h#g7}npOFkQo6OfTn|$Y@(UyB* zyQ&tXmHY#e0~FPUH4vxKxza@Mz&xu?O%m1_>!|_h-6Bd~UBF68`|m_^D3c zlp7xK+*HtTR*hHr^kR+%loiVlYa>mzV?eDLEr>b~*BWHLVB#0LUMz;kIUdoK6>0!y@Hx z&yLNiCs9dN6s@sb=|RPclxRY}Jd$P`6!<$XAY+vi3WgZ*-2*RZb`&Jq9i<5qmqp}ZW3#tFp;jI$ zu=woasc>eR6q;)|~@gkYW#pco<*fYCzL zb}ga+vV=nsNn(M9q&ozMx(Y9Gr%durrB&ZyCOdcAkyDSrX@ZhkhM;i{z>HE@&oZhm zk$=UbcIup1w*h&ogY{~v0-7qypf^FwXL@*n+;H%fNgMTxmW4f&GbD>IC#x; zsYZj`ItWS%z)o$iL~&NhW?arKb=sX2Ey!+z5atbeOUZGsBI3uKHBTn}Evw*Z}YtxeZ6C7?X&3_eP{#Lt;(eS6{ z`a7z}q0PP=tdX-K<$I2Q#Ta#E6>|kk z_>C<14;pfVZC33jXyk_qo$@a%eb?|`!tbP;7=@K1l!6D=+A7s4EKY{w%ehhX_Qzvw zt+Mm?z^Oh@nKJDrB9~xZNh;A&W7vGoX|h&ShT?49r*+mT8qjGN2tyV_GNzrT>qHm~&mzuG zVvSrfwe5RYbqg+RYnC!R@N^Ud;=W#|MUH(WR#)w#P@OK4W(FLrs{<)SfN~cm=!NbV zlw1&v3zIWyU9iO6B82CZ4;*`8=+p$NEz8zBsvpaH!tFy?NCh+X305W)pRnxloHiUs4*{3}XaANt zG;;xa9oox{rp)nVwd7tIRKF+8qy#*X^5|Ekk0{eM?ou3~uAYjjIpT2zjv9CRrDTGX zTwjr`+CHHRTKL;20j5wM>vvvqcXj?=jI77;d^BH&MJ-HROFXn&L#Xbx=p`>wlP71+ xY+#p(5zAwE`-?93YM47I+4XM>Vo${InChk$k-U!gw^ir$c-B0$yn&Om|JgL$^F;sv diff --git a/view/theme/diabook/lightbox/photos/image3.jpg b/view/theme/diabook/lightbox/photos/image3.jpg deleted file mode 100644 index eee77b3791241b17464e6a0030fd68bacc391ddc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 39361 zcmeFYWmFu^`tCgh_uv5r3GVLhF2SAPFu1!VxVu|$clW^HgA*J=(BQ#Ba9*ChpZ~M> zIqR(Ru6#J(Qd5gn(|y%l-M_w8Q&aN1^!yF*T24w<3IGKK1(1390G>D5h^$;)9r>7< z?Om9R%^Xb3nM@t*m_3ahnOT`wm;nO9o{q+*Hs-FRCgzqPdqJ`voxNnFATvQSElx!i zMMrUSE0B!0v$>kLlDet4jVZ4gnXnL&fG3})oui$(t1+pkovpnKpQj+%zk>6a)+ zOh)=IiK~qundo1wl4>iyBNcaWHYep^Vr4XCVdo&_;9_FqX5;1NVjxvBb|sZFwkKud zCS_w`dHKV}$IktdN&ik{LP#$q0cSG{K2-^+zuSEICP?=8&3SluFnO>uIXGJ~v-0xt zGPAHTv#~M0C>UM5>|KpL8SP!j{~hFi;z*dgm^ysc$Y}>}oFb7Y{~O7DiS!bvAZB&X>%s`(O3{E&AW8D>|5gEWG|t)j9asSpTm6 zU!uRO3o!o$;=jQBi~3*p^uHbd{{v=b`VTKhH)q>_Jr*-lW^-F}J9B$imlx-;GXF2k z%uM+#9GvZpU4=k)#+K&H){f?u0?hw8`hUH^e_!^CFJ64f{EspJ=i2{ymj6!*{{jF1 zB>caF{%Pd5;Qqn&2iI>A_$~1tcm2WjTLgYf{Ks8?aQzm6-xB|E*B@NJMc}u@f86y4 z*KZN{E%6_B{lWEH1b$2W$6bGL{T6}W68~}6A6&mh;J3to-1P_7ZxQ${@gH~n!S!1N zeoOqvU4L->7J=Uq|8dtJT)#!&x5R(k^#|8)5%?|fA9wx1^;-mfOZ>-Oe{lU4f!`AU zan~PQzeV7;#DCoN2iI>A_$~1tcm2WjTLgYf{Ks8?aQzm6-xB{{-G%g@tsds~FZ(+@ zUN&+(uL8sYC45RaUk zii(_^g_-$fgT+7TuOLvUC@8OAzsAGBzT5E2m>x7=+`va!%y`9^JAL17<|%E^ZH`(HnEt2olw`5T zjWc;eEkr7%=xlnw!bNqqD3{1_S@2Jhxr+nF<*a^u9O_n8MTu{IF;lYBbOJB*li^sX5o^O`DG=wRl?UjdWq0AP9=1 zW#0p5gWao3X{M=o@jJT5a**YPw3Z6MDYfZ*MEnffidW!DH1v)Ys*iFY*li7?3A-y1 z`_1HQ^99^&V&6qoB!*GgTy|}ytso;)&f81YZY^nIVdJR7j#nxzr*e@8U5pW(D3znM z&j47Bi$g)?#wSQx776cTw1K2Ji87V^9*OLgp z%Wy<)y6_#ZI+_uIOi5-ny2#1zB$kEDdyaq?1$?@+G|sE3M`672w*5C?Dani~#8ZX} zGbxvx49&h=E?Owv@jmrnkG_=lq?vu*0!wrjxxQk77!OGTWY-%5iUiCvrlxe!tzxy{ zfw@mG45wSJQ+engI-AJMGf3A^8={6F6_*n#N`>HWJRjFJrV@-`Z`7k5Xp}EQH575) z@io!;5^zsAz*|aAbz1m{Y;Y zO)7DydXU0{9@q+w^vmL$bctDW)7zgBk*#GEA=z5fNl*^+L7M~f6xQqW%qqBOs>CY& zhFy}H~58ADrLM&UeSgEdv&N`OBBzSeS~lCFnv!phIQjH zKFc9I785Y-luOZHRFphIAgPQEX z=6g!$i8B*smQvCH7TD-fME~{ybZY<_Z!aW%eVxV9aOMrvRbX*1yQ&9+)eIw-Ns2(e=ydQ5jeEu+k%$HW+#LsR*=Q0m3f^y9QQ! zi|~~ZvI}Y`#H269@Q>(?x8Nej>V+69fxr$K>K_tRRA(P?8((*e0Ps_F#2jWd#Pm!w zy*UNmW5!b9HdV6@8;>h$P?T!)@W|-CIvkHj1jHjkxgZT#fawdW!Y1&)_*>-kXP;jT zi|)Jd@h;=|3Dv2$^4raI`a_1NNC@+58ymx)0i^bM6Xtw~9Y~c2#159O8lS4}(zgT9 zZ@EZRHTe8U)e^Ox$B$lVS$ED9%2zd>9W^g@(aq4P> z0_&AoNgv;f+t-9)l++k8y5%f8IXmeqy4AYcFPf+RJWhoMhs6)%fYrb5pn9*cgY4>Ilait*Ng725YEu5H(7ZEE=OppWBwxWICxszvKk**Cnh zC-~(9fo=A+z?ck<{=BJ%!{NH|+KL!(TE!|*oa)F5&Rjnl7s(!QQd4F>Dc=v+$&^+6 zYG0uUn1czF`B!$d4Lt5bk7Co_`0#~npJ%;O%dxV@^}{HRdGejSio-bqBNJc(v}nFb=@}TpMu+ zzTz`r8q|rAtnwzK{m_R#JBPUMBlp->0~taFx1NZ+=uMR^?17cJCeUf~=1!Y|nxk6% zwA_9+gXpri_WDG8O>om8wim-m#N;&UY&+6i{%3`uQ)J-nbiK;v=LvE3sRXg2HXDMu zl8RDpvrP$1A1Bc})SfvIs7?{QkV-{7(jYN=YIHn1C&((k%k*1D505;im; z0%lh$)}~FwKJUl6)JhTrXWMRCCGSU8FP6H$=WP0=?1MrQH9!u$ZJjavILK35maM2k zwT^9|Hq6MWt+xZ(J1!MlU$2s2_lh08`LJCOT9~@^h?^HjK(W&8j{n(io4aMxJP+lL zKQiR&`cM>dY;F5r~B+Vs1j)3L3U{p5MZgq!lyFZsxi6UoneXQ;|4Ocd2;QZtRl;3-r*F|UP5u# zq+cTXuGl}~($tAl43JltlgrP^okV2V&vk_aD4MLBH>cFslA~RSwNImF()@z4{>L-_ zc8<&|QHJ=jhN7}tK^r|LmLZF8UxB^~zJ@L~ z!oy@`Pz`P;D@P}QCwk=$HOjYY*2!vQHVI;la;NL$K-Jsb_25z)&+W(I#F%eo(6l$0 zorFxQl@%va+mz|-4yhAKK`1J)Io_{u9>ZQ6Zdy8R`r2=lMarlm^X8~sCMpR-I7uS8F)X!dMJ$|Le?nrvx?r)I zcpI&iGdan=Q2bZs5pg9(9~>m|==(x) z=GM#j3>bR`6hrcM&Tmb7+lb7jdvdiT&P~vID#z~WfNGh%+g=NBy(|tpr>)yl(lpKI z3M==c4nbv9nxT&(m6Oka5&BpLPBfdCeE%x)(t@dt0^&!N?sE+Q>{-nfVGvg_tx z4ZJ)%SGvygPRkFx0+7tBR1I?>#iV5RO3;d4#T@b{NNVOHeIc;FGQD~EGsLcs6$j;^kCzEcearuqu$s*+T#!o%k3h&5*bbuv==2bgRS@M+hk-W6<#LM_q4 z;~~O;r_s~hWUhk_4)%cC{^jGxNJ&QH>k_#cZG1){cuOExeecr@;JA``)MR#d0ij5tP`!8lTcI zn+FyTS?(gWFO}BDTjB^pO22ii3DUBTyV|$1>^D9GE+iRTX3usRyD%N>L-=F&o&n-w zEbVdV-F@%ugD{F>6XD^Z{G&RP@X_jNHqx|iH4&{^u^DG#cQtmLqt^_<>@hQYJ?YJC zT;5>y170^yQQCD+@9i&Z5IJ9m`hu^G-XIsjHGD92v2oj{Rh?kE;glXClWM z0!M`#b4-qSKg==tL zFh%p6r!~4)mqh};V(eJeT_M|K=O&}HRR*~Xv3nPL$x2mX-P$|VIjGjRH@Vn0j`~Q2 z8MQZ2a8FVf1VRwPX@)BBgR|PTA20NgiSR(J}*egd$71v|rw`;#^T7#9f=Nn~+$; zJ3+eP_e!G*mTBvt8C$w`eA-)U5r$Cl8O7jqCyRYbpmn&qh~Z3i>I3iLATKpX^8j(w zbTZlBeT{$r-$+$6vrQ0f?h=d^Mi`J-{d}I7pO+E#gzMYo@5t}9GL$`&HME%%OQh{i zKisHel~C^pf7ElB&nE|3)e0H8$;g$-s^s3gHps?e~hfVwS^pkK>3!i`{9=LMOTD^>PQRLchRw42$HG zt9-Vm<59s@I@rdu$ah5_yZRxmEGuD_(JpN;Z_58#|2>KizK8ClMk=gn9(HJYTWiIz z*=WUw!BeNTYSyB$vM^e`?RX8+S52WPGe40PKqm$|af+&U9$_5Eg#rRWooBzo56%&? zj=4@0nORHbqwzwBnqf7vMbVWfnx6R zinO6lsY+=}g#t{ZS3HYnhhgVT)91EhH;s#qwqEs_bfLTrV{fEW^-g_odUJ=q&^nc} zbT=rV1c-}1ezEnUREg@*3@4?m74$}T<9@rN7MT{xrS)nu_2{&5d2NQW6WV0GUzZ|- z_Y2^=#TxB2>ci}7$bj9v{ys5tbkte#FO3~BmtGwu(`ChDSVnrK>glrc;ELC~EmjBK;%9&{&pE;h z!wGIkvzNtIZ;GrgIqwJ4jsgROJ*N(6m~7E{g9rQ*g_P;PevAB1h6@$pa36CHQS%i! z{8AzTHGNpEwA!Dt)rrD^CcIV7TkvG1tbCpF{h^2PJ?%At9T$D1dbROS`@-@`=0rm+ zsEwW|1-8ca6P5Z0K2e0kT+Q6O_il5sLI#gnxD`>aWA&%%ZR`!~czudT!Kp3r1mmrY zvq#Xtp+&>b@s*FSUBo_5D$X>#|NPe01)k@UD0R&`255+%etbQ|Q3)I8pGVe2>uab90a7W>&zGT5ZQlvH?t4=5pkMJq4A|Q6-9Y}V< z1*pAgiP}E|5ljf}q+OEdY@&gurfHM<0FD~!EMNF2BG^gv+DcYlo_k9=`N_RBjxrRB zWmwXAE~mF+ADn2WtKm~k`LPb|t-?x$Uurh5br>OoQmojpJzg=>1We!GBVm7yhXLy4 zbnRvo1HFvVEQ|_)o#dOI!EJWF8cq)Qdqk`CB#yO7_{lTfuRckR3c#IBex;C}zA_Z@ zTyroLQ=J^CrM260*vt)DBS$V!h8wajKYAi4+p~?GS?4^)?RoEbJ$nu`Tj(30K*KlB zDtVOKNE6h71=;*gQ}wp23bDY7P;xN`F*@G zim|bES-B=6?o8RNsMFkER=vDr{3xV^gPl6C8KUpZse|vJ2g-ZC{O**5_;U%RTclg)YuCmZ2z0K33-+-fQR zZi}q}3;AH%#~TyJU$5HAmVhozlyy^#+BFj{!H3~|EZ7?6V~NycAFy@46HqF6dJH&# zR_2|%ey6Cw4`!QEvMx@du%C~;GT?EP7l_F`^l$<$$?Gow3#5sVqGHRq$HRBB5k@Y$ z%dG?HtV<#l=D7I{+UWw8`52&|0fr;XxqI+>NA!hJOuSD9B=VlA)SIUmR;~{26SjVu z?HA_(!;LOR`1-$w3#BHG@wg09SWjJ5<=Ktqs|(yr8`v1yL)L4XQ}e>AH>65&+))$i zzfAMUxB0kBK=4n|sj7t|+7xV^Y_NP2I9nbyCLIgF9~z?uoav+=(sHL~sBc^&kdZ4Q;d};c z(qY=Hajt$Lwap#_#ZB17eYZbS@L~`QK4#t4M#l(iIr4QGdJH4lBESJilBc zFx7E|{x8=;4ecXeopw5>#J-=QpB%64^_$-ouR2R5qXQWPkNcZxC8pl5R=(P~^$ob- zs+2YTNqiJ00n!~Mo@vagB>959i#V*IMUl5n;abZFpF6q&3JYzY9(Q3~rG}Q$-ij?6 z@z}?Giu@^>^CRUpyKyYU=cBSD&#d)k{Lua-FGPb@!)2Z~e=T2fq|C#{AYd%HsDqvk z%&#{%rig2nN;j1Ubt|+q#j%~? zR^V1nh|NRw)4Yq-d(faK2_cK`k8`h6(#eY>;vCIKfu;3I+90QVqQSdgw8z67i4fUy z&0CVZidw>B;@HSu>~v}DK(&6+gemT8T#ZmXVOLK2E`|f$p+Qw3e}YLXB-DR6il`SO zY#f~-vHwUgD+iBRdsl2-lN#3TqA$@|s--!_JTG4RPQs{K(*`F%Pd-`V4)2g7$A@fQ;R<}%e;INbTT9&!j4M9U?W1mGw6XsYes=F5Q_6?etvEz@jRlTvu zIS&(f0Pp?v0*L_SMBZ3fYvK*r59U$BM}RVg-nM)!71^MJh{6vHwYBGPNqw%HGw}=? zfjFN;x&UjXAOm%yXTLfKVt^$OrV3k&Owc%$yff;&xP>xSZJF+NB3*X9x$c;Ct%F7t zf#SKvUyG!H&IIGV;%lh6iAObZjI6mCa?Oe@E+O#-1YdT78|dr-{nHNXTHtXv zy&XXw&cZxL0|GvlvYs{0M$)KvN65~ky%A((`v{p3uw*WTeV8WHpr`hsRn>=jczgHZ zW7iZYVOC-z6`fpV;q=3VL~QWTGoZ4d?KOcg<291oCvrOa{avl=63D$xt7{2 zI)<=aDf_;&UR>+VXZJD-i_XB+!?c?3aJQO^3fxkojk94`x=Y=o1YpJrICb|*4&E(G zkMyYU@_y%9wQY+Jr+M`%Ua{q{R8DBrir`k6b|YWfI4|5Y0BHbrMjJL_b}l_LnQt$&E$Qg=(mdm}Z1- zPORgbGOK@03O1Sc3=JInj2|u{WJ~VyF!5r?k#BA5;A?W^4-lHM-HGn_;_hGjALZyk z7L@VB1CDr(L`mtZ`=1#wy4HJA50SJANM`~hIS^oDRw~q_v=CPF(&~t28;yu@eZFUf z%FY)SR2j|eM#@=!aA9Z6S{VJIZZ(;R52Ubs&s>`?rLNW#b!mm|_Y4r_dLXYL7|Yj0`(blfcTRy~kh~e@ciPTg?~OCUt!3Y8x#N=CQK}(GK@d`gkE;?{~Hd`Q=!yq3QM_R)O=Z!$&OV zNassWyBT<$rXGB76k6v_Yt8T#Mgj4#q01p(c5vHFAdE%FxX!dl*K4$aZ;CTBJ--L< zrgB>t|3p@l=k%XC`AQI8S^jOncs_~i^vd%RcF);(J4KZ@rjOA59VVX54}Z0W-cNhJ zh=wcrrooq^{LYVykN!>4<=Wz$?6bIsSCM;YM0avcuPC(N`;!n7r z#1_90d3%c0is)tLi$1|4)3d>{1V5%8F z{8R47G3i%|6pT43G>^3`uj>6u6mBtPb4f<=f>i2IBE4+w)eUprb8SLxSTv#tA$RrY zH5Rre*WULH8(XGqhk^7DB;hS$Ry$_Z_Jx<;(AQdNL!J9H9Z_#e5`VHJ7?1rpZs_6_ zEvA#=5VFvYb(S)=yQdk`ru*!#JH`V3${MDkdOc*Se$h9t&IzCkW>3O9nNU3dP* zIbqk?1Nr32z|16N4DP+Lu>zZ^k?=IUIDaxI(BX&!(nmxDUvs za!0M~oE5AKYWi_;>-HbU{7|dZj8mFyV|ylC1QwEx5M={KDAiQXF(N{QQ5x!u&WbxNymj#^Le#NOTX{Uwc=Uy0}ZpuCbK0gCqrrKo<omxDqLPK(8B3c{Jt(}EG4sB#i?&HXCb*&M% zzDC&$oM2*VdT@_{8|TLinT(ZD(#*p1P`R<6E2(@RJSa}#ETM2cx2}1O}; z*4Ua&*Kb1ZpPGd1V^*5Tb%~0!3UumLb9|!zd{DOx6)NBS3{W-?^&IyjYacZVsSlJL zS7Ag@3oDdTi%&@@0=(5`$ShuEROIIPgszkkoQcZEm{YZQ6yaq_mWqlvDW3z3` zB3-w>_)9r0bN86N{K&e_S2iX2yMT`@NvQ@<=f)c?*MZQunt@dnLccz(&D8r)6`&5q z9a~;pn#irf_p3z<?cuFkD z#$X_PRkQQcedPn+Dg4`*Z=Nkgh_|#eE_MHivTWSP` z$P6}pw_|cE2W=GB9n&5^GhPe!d;|!#Y}y0;L{@f@Y<0m=qu)2KCH4rUBFYus^~z4y zcV3*6iEm%LglV1j8oL&s^+ne^Z^Jr}?L26LZuDkSPKfM@tVQoCiq*my)(OGkRJX4a zIuu(R(BvaWoJJjU2MYo*5G5Kf0kxse0H)DJV;44P#Q5bfk&f@oHnv)_K&Orc$Kw_V z4aY8BK}q%C8zO4(aOx@1*yhyG?uG=UsyKY|9C?cAL!Y^KH}t@-@Z(#eoKC{h-D%Z| zkG?x!)_+~>sqJV4MXGl3X81!41tP3t;k3Yg(Ys{?uQlkPV!q9Ls%fvZ98f2$&r5tw zk1b_}X)>^5Luz1If#`@(;D}On=8I4tv~0}3Ug;qm{@zD-d0S4gTOO28G+d@K8azq7 z{$;$VGNieQ2`yx6bK>9`U^BM6)uxs|r=HQ-6wkRx+{!#{(t}P+RVp&=e)o?5}Uf55^ z_3keiD2L5|dBd`(%Lu7JGr;ZWe+GoTKW0$#jKVCk1n}&WVZW9-}XzW(K`%=uxL$DsLp}keb0)d`$V*&GEXiGuLyovzF&{ua4T~7z1 zEMh|;aRzaAZBaVbUJ%IGa~J!^=H%9R&%2Y;4kp#?(U;c;#!NUwcTt!sqqC67u&G^t z^$1nNrqrs=K9xTAi%L-QgxxQhBx9TRF7={8G)|Y+?s9Y5v3alj@z`yc###;sXJYzI zH*V3Ic6B8AskUd6@_TY-*p6fwygRXKSsU8?Ns{ToZ*>@4wn$Imj+9NH-?QX=Yi_se z=n?7;;f8JcM20~3(cfaVBHm)-G~NEjhU5u{HPR_FG+@wShx-yXj+ta9Z>2=3rzH9n zT{#dqjB-L==_iPnkt;;DmCcEgI=;MptwuuXNqsw zuc{S{PVW9j6B!k|eQ)fzHxyp1ljo-Sn0fx4@qCB61ZtB_M@Wgbsd&;k7oupW>VpJY zXYTQb*p1_M-kbU%d#qeLa$=sC51WBjd$DS#Z9fAfE1Knj&I95N1AC9uhppy9FB1@( zsXjV+`D%68H7K4Fr4^J=?dMHj@p!P>_;HLp4V0Fd1q3v?AL>iWP2C=Y4J<8$r2PcD zlMcUj(Cwc^E|>J@W2~~nNprVoEDt{M>9U#VPsUn>TXj0;_Kq*Q>Ust4W)G6!o$Wzh`kaNWgmnt5 zJ!|7Ose9saKuciT!@6s{7t(+d<-;(76hRto;d4>S+Byx@e8n^uaZl~pfQ;(dlG#*s z4CnC-_(1C5+IRXICD4)Yf3xmgXxs4&KsBB(jgf%m6ulJt z0rt34mRudabf`+<)W+dqsFMe0v;+BY=5JHJ1zB-4yifK-7$ckKj`wHTD{@*kdWMY=a%MJBY9Ulrh4Y~_=~-_kYQM15Y3%DGB1<+Oy_bI3eeSMA~%OREv7?yDhHAID&7anB@h%j6HS;j!n9 zoL0-!wI?k9kG^0L1y zSKDd9cIV+1R(Rqzd3NM^)?v9U`QPa@3 zH!y5+a7!tqzJixcL%=@efyznz1E%q}?Dn|sQ_Pz)>Q+wD(<9p3Ryoa`HL-lM#O^Of8q_=GCKmvIRBF{d*r)gGz!5lhQ=y*x*Lb-wo-oSD{Ykj)r!*^av4~X2cQP z;k>hxelxg%%AS)Eo&4H#%uQ~O>$~3Dl;xk4cPZeURkm6;1@&GUogM4Ta_Hui&9DP9GPg|>1EY}4;0QvSyJ6kz)ys%&@-f|hSegxE>sqBq2HtJ{Q9e0AUFzD>PaxT zY;#x?J_$czyQUxyel5d{6&)#A==ahoR&o8D#720tociNUjX}-|hhny)KS9Tv4PFLA znmp!5?7|Z86*tahS~u44NghKy_Rj$8&D%E>cS>|1qPL9ofEw-agR--m3KOU*2b_+Y zY@S_KRs}AS&Gx+4<5FRbot2PS1wnYyJqe!Z%m*odV#BbG&7WfP!jbhIGAm!DL-&Cm zx=+5}EAlAmj>UShvN#pe9Cit5AOa1)q`)4j3%!mdKzrjSDln)VUyL>rwYqHfsKmu| zyPA;Z3!Zu>3&9})m;S;vE@*#mkgg~eu7x4z3aNg0>W;u-VYVk1M4F^EWV?%NeRQRf zMbAlEF_64x#LxJaW~{$uC`4AfIhkItQb&OdCkWbfKagr@lU%q%bk0+6pd>q*`?c4N zB?xQ%Nw3p~!Kz*rzIf$whKSXEZsva!DPkdD1 ztNrH9OV_3zC?x)F|8lNZ)ns9~9+~)k%r&;rZ9*8a+G5);eO`GwRW46P_pky)xsvcM zt6G#Rx%y|on?k>XJ+70Eua=Q%vAp4qS-{zN<#g@}A3|!a2{0A@NL!2aVW~TEv-HBY z206n#8nh9CZOsMl!M9>ZcT3Fg-dWE8jZ~duJJ;^dEnHbV#|7}BAHKEk-Hc0aP`Dr; ze`m@S@NIr%oF?cxT}npWZG)5jr!r3xW4BV8%0%ly`K`tJ*#N6VgCOk(H9vx)@>zvP0B><{o)B!4ag zPQ&fFuS6u840rry8f64$WPr1xgs%hXpKu$`pI+8alRN{Anun8)m|iCFw{tA#XVvGt zLM=!bV&;ntGZm5zG8dIlr%%6q+bj(IR6z~w4y6eE5pe#p*v7{3m$%&1en7$Z+c!U( zr<8IdrXyns*KM+x5V>8$M8ot@t03f!4F=j`hg*>I-O6iY&o}~%%|_1Z<&~tz@y%ux;WdA zfi6>fi1^|Ap?uo#6Dg85MOhifz!O%^k@*|@uN_FuDzez8wlx#vM3yRl+dZD~@7Ng&}^nSEpb6P3Ma zs0rHc3S!(#Z@(Lld*s`Olb*wb(w+;n@jdLWWlVAtgQn+oaTX;6;hOHMvlC|cW86d@yb<%`eXoHB3doMiKm#X+^n7{w>^UcKbBsRmS)p&N_!`Ufn~ zV>?r#zGwrsY(xS;2n5nI+wc9zy(`wPox2D z;&Q6Y?$GApU^b$|ieF~(4FX6`uxMZ9aGSP@$QizWp9JI)F1WnNYmssh`BFYDHEKl? zF1k#>G39bs{3(7K)F5SOTv86>_6n@t7v$YIo`49vkRFk;All|9aZumWBb40~#*b_iJ0Cb4i2y@ZIBr_n!e0{_<}3AuUXtQKONg{jnz>AHeNW_w*uI zk_vr(lM{!U{-+VbTi8V&5}PVN$ceb=$;mY|N>=4-^x2?Hq|E4}MtU!y>FDl7p{flNV1UL2)n-C} zzMC0OcY7i{C&8}&4!~BnZlqr|}Vnk&$ziDRrYwXO}}h8ce?dKfp$2 z#4iZqX=t=8w%vXkecV9lnWZLAjhUz=rEISHvKCIwB*UhNwN zhqEn>^gCj&9Wv%Iq&Z!*G;lImowge9^m|!;oLUm1W<_R9Pxm(PX_GMes&$%U9`%g2O6%h<8_SxST6-3 zF22oCv8_@%B<<6k`mLU;QzbDx8#CfQ(ji?Y?spgD!j~1}%)=d&V&8Of8O6T0?Z*Mr zfPFHA#nt&DsEdSl%LH(X0qdeUwLQ;(22_S_sSr{VZ(-M0W*O)XhWU(8*5oDCBs@CX z5OVJOYL?x`s?Nv@FOxf%M8Fr9j@$~`)xttgN1;J%>FTWnaRW(IsaQ-79{x3E_Dt*O zjMr+c2|e6Vt>y_FENhs$``I_yL(;F?ok-~(w3zEw`ntG-7E}={;Jjix4;)^)`ol59 z0hYxXzR*Em3@%%#)ZBOX1?L_xk9i+VLi127SR{pCb2z(k83r)11DiB7lU04?h1k?k zh384-@tGTt%D^x`zFGKDokJX0R4k2g<$)99bJrqrNtkJ<>Aj)mABOJiXIs*w>D>dc zp8=sRTQsHSw|&L&pH=zfL{ zS&0A4U-|m;(mGtyZI)v=lsX97PHNjE@K}I<>#h2XwC;~gVbt%3MBR&c!tiTc$MsPb z_Jy^j1(&A;*l^vOcQlj>!ikR>B1=N}sU@*|ky`NMl53EfjPusm-E|b+Pl@b`;=1F=844fd(xfqTmVcA zubi{4jY4*MkjR%K`xdz?bV}-B4k@8R2e%p)8~eOhXOct$#y{VM@%t9LJDutMD9qur zn&1Q)M_ZX05KKl@*t{lxB528(Srg($<{Rryns8dfx$&nU27K$e_V@~!y5+H%(Xid@ z=FpdjTALW@^j=mkIqc#Ool!MD%{K4qB(7}T9`&n~KgZ3HrkkEC8`+OCtDmb?Z`k=l z;5@&iX7UWcl4IDoB!4=}6DF2zKc%LbOk`0U3US6@oki_O6htdSFsE2Tv+rZXFETc5 zkU^GX;(BFTeTZ!}FusU(0Ik#QhJcW|I$B#`yeGf^fs_d9(Em*tPguy?-rSraYQGkJ zVLG}yaZ4T#{gl^N8HGt_U-w7`taitZ_+a zgda_2Ss6DzY|YloQX}>y$NN+UDzi{=OV#(j))fd{o1718xzq?g%0KdCr zFgY=eEq<(OJ=;9{`V2^Dc*}8`5L(p1V^Fx(=Zvd;cz-4OW%jEqMUl;JzG=hx$>Ka7 z{?C2(Qp@?$-U3ohS9|yVBN^=7=vY-w-ECQonJe8f9E*qvzG~KdgNcsmen$vZ8mGHrcbtuH+_xhiB-o!=RMaZBK$aYnTG!eq9mPI4rEctOA`HBT(?k%6})X z{u4)q>uhpQ&!}lQi-rp%U+Pnouw2ZSw5~X|x&#IOd6@9lj&UBwJ?o@RW^0}NY+ISZ zjW`aP{52O%-7!U>b_EA@swRq6)dD$qcoqq#5c&Z_TT8nbf}$z?q$Q z9dwLs7h5{K#3S8b)a2v;FZwc@|{RZ>Ew&CrAtHZojfzo#7tt;0Ws(H}6-Ey)lz zXL{^9Z!pJ{cmEJq@|$s_bmPwk?pb|DtBj*jBtgl>Eb*eTIYCu3$iz2jO!p62>12_7~)(A_L6h%C?q zGm0CvemP0Q<~ks|5^$S5|bB4&1;~eW#!I^%qjpxZkxo4}k@g>+5yms~6v;^M8IzN}T#r zL?pJ*HN3aNtnq^{rJ_%M4VM+Lr?M~zXm_IBc_?Sggs`+HG1Q)`&>R=HcS*vDz{w4`Yihs|ekBc}-Hw z+KorXPY{ZEocO`JT26^mJ=Q)IW&}Yk}}}(XRx>B z7gvSK&thyI1K}=;R%Df@p8DU_W056>;Rh7OBRSg0B0TrsRlmoQ)5KhM8oU<~G_*BR zGM)U~7dtT@^q(%Jx)q)oJw&W@((^dw%;TrsbI)lUvOvxrK`e2T^8o(+lctP+3>f^3 z1@7`b_botQ!SR|}H_HwwN+qY0R!SRpHQRoRTrM;Grq6mq8>qtS9vgzwKGw}E!*yx) zQ*o}%WVb*wm9^wy%obz>E7`Ks3Krn;rA6BfS0frMU2e;>9PW-}*Net9rW2M?n04x(=CJ&t ztyhZc@ff}hr{$BW?mH;U@Dcw!f+d=-aU)37;hFdA5Ig7CQAc0x4j zt3eu{1khCK)(GY56?p92)*<1!=*xf^+tFp71!EpLXQZCef*a9emI>3W!8|`cF&`Q^ zLj!xP__)08kHvEs@bs8mJYxLf{TBKBZyZA`<(|eUyrY7Zo}v z?Qq;E#{^tPi(2cmhl}{FsUd7po9Y*2nuN|ZOufpVC>N=p4DAdyK8fQ)mGN!_>P*!Q zj2KSDbSUKGmTnV}g049Ur;(sLp5aISfdktKX*Wpz4 zQGc5oUJtmjUT;1 zSw-L`igMYi++`xxZjG|+$KrMEdSm#948!obV~U!_sDRQLwTDycu;;>0`X+pH{I|oq zU#ahZbM7jtu<_e)u_6dPEb56xn$TIO}H{+dH$g)8pyP$7C zx5qCpK-f)PG*h}DZ4{csUC{ngj$AF9IO;H<$GP-V{{Wi9z(1AaU)^WN+_>LyPIn%Q zg$u*(F#=(_V*SxU4g@W)|3~2$r3SRD&(n=>ch}r>vKSO5DBUroqW#XPc9 zj*<*Dl&{d;c1|xI&1eT-m0yvpMK~?9^myo2oBe{~HbZTm67t!HH9U16DoqbUl?)7j z!wi}NST%1{vcWbmaI=eHnnvuodM;~j7jO%R;~1S_5!E~8jcgQW&6S!+6!kOHyEJ`z zEM?HyIqsFk@^0;PN3vHn%#HT?o2X7>K=WhLR))4?n}#esmX_UU_949S=WMrd*{(mb zja%%%lQV_Jj&Ee)JA4xtZB-Kkjhw+}0=qbQI`LSwwM}ry-A`4$q{pda#-OY&S~Z#q zheMUu)fn=28~jR4PMOrw>6}`{bzzxl=AI|;+?ZWac=CNN3qEc?w7l7FWPnHn5FVf4 zn!kc-mH0s~(xjs%R_K<7cF9tT3z1uh0aL(?Mm0cv1LMKdH#F$@(HOuav zc<7X+A2Z!TQx34X`z5WMTB)Fx3P@{TByMcSD`RQ9hh0@=$Em%+RLZTG=Ve;ZL z21eY?XEd(8vVS+(X~&JT_eEOyAOgX}UgUKbTK-)9DNl{U(N`ZY{-Rl-#A+gIc;xXS{5OOD0OqQ4#&63Xwd@>f zqG_RXo^D>Nhy1%utd_TwE{p7ta5u7W0`{wv!7AWDrVV=(%+GJs5NIX|0X9nL-X7Cu z1gzM0I0uNh%xyhRrq;P!Jls0&dN)8^ZE>>WuqWpny;OkAZ;ttrEgBiBDW&7nKZhr9 zl*;4iBQ(=ZF`9R0dEBR#S1(})Ikvylpd#l1p-w_>crvOlil~A6+U;F`8(v+mdTz+q z2_0u&FLm3=euj?OK-77bL0Q#DjcIi3vb>#vc;Jz*H+6e8s3qfEI9cu3ttATq!R*N4 zs?!{&qO5##4vCa+ovpTuE^Ioau@l;|MJ+L}j)x1Zf_hbc8`n+`dL z5h%05>cf-DXg+^i5g-x)#^?^W{{S4<@G)s9oa;8Jgfw@1bsx3XT-fd_7fp!=M?Vpl zX&SWN$5rLs%)d#h(iVn?5_hmCRK5Eoa_6|ZL~S)=wm?KO?bAzaJrv!9_i70N9Fq}G z1B+^ADR%zFoPUAN=ze`<5MwiEmgc2UUi`6j!C zyDm;{D~f5b{4TE)cx68&v~-6-?e3Q!7nMCM)p&Zl3>;e5mr;{$D@LK)f$X%;W*7nuwa% zgN2M^%Cp!3)Ka=2@XNL5ke=mK*{W7SD+dBr<#Tm6S1yXEzAUFrL0U|R2^d1TKn`g= z7LWqwt1yUG5KJA9vDaj*I8sGnow|?ciA*IxkP>6u#|Jdo!7DZ$jsfBUJZ73_b9B1k z=Hb_`M;pwI?QO%f-Eq?r3D{l)+Z`@aBg|_QzG7-T@EuA zBN&l{XSXn0TRE~}eA{t;E0`xKB zB=~^csouH;1bH5F>{7?rRL3x?3Yv1_(ARV=SC*_N6Ip{vMJSoBxLmp5G~Q)R1x_E9 zq0KG>K#XpuV!27_^2kgiwBMA4jk9Um-3~2ZMDLk*x2k?eD`pICl3~p74`gLN&1r#> zY7N>}Q)Vo6KM8Z2PRnd9f#M6(B0wYpKw85p-9?B~)we?wjd$Cx?3J5`J-tgAi;mV* z$K-oMzuN9${a2UEHIS)M!rADAmJS*Rk8Q%9iH!0ftb8r}CmXQ;0A)A7NlVIZ?UcZF zn?Bw3MF^8)ZiJ*2>O;2#hemI9^eap++$P=|> zT+@*0=XWk+lmXCO?6Lk_nHRC?=EX4FLDaO8#`5>&lKRG7?u;_CFBM9&j@S5xpuf=WIu!o*x-|5Kj`~I3-U8p9qDb-!f^y zus_M_pFVhh#8*EoWVErT)vFoohNGzur*soLgh3W}s8{#Vmx%E?TKqyMQMZy9TNH=$ zIBr&%>qS`-fG^u{rxH|k+%)~xuqxBTHC)^{ZGTggeygKLrFVkI<&bJOR1nbt2Mtv~ zg_Rm{$&~YKro%L`<>nqku})v05@3)Mibq87_L~ruo0<;e!&u~X5eRAzFwuFu{5~{B ztwRe9$B}Z_rHCx}t~EpjBu3XplVYoxByZwI^2ZLL64(-wwz_eaX^Wbw@?}6$v9D&E zD8w@$s;I+ic#)o4+=bJPPTdt3iJMa3*J!oev$(G&taY$VH&|tg#v}o7qHLAqaCo}g z5Cd_KgUlRsveRc+Rd|7{s4sES{HvRnJ6W4nHtQ30UKW|3531|<%AT8&)wd}NzsQv$ zmpqy*_qrBd{Ef`2-9W4flS8XY#^e+$@a`*rl{wkDdEjIcmRzoWUB-5Y1tmpW_;k(8 z;Iflv29lb#la`_tUKR#jTr8RP11aA`rdlJ@vlWbGf_nkoT+bR6q<$+S?JU<<hfJg*@^*;>M{{Ry3yjhPmI59izx9qrnP73-|B4{MdPd-LFcJ#lZbtRV+1tcoz~;msz+gUkxkL1Xb_&f;7~+UsQ> zW|)c7G{_<@jf3VJUnu@!oW_JKEz6-AwNIcNyw-QzA^;_8WI4wF0NGrjURZ-QX2o2f zE*^3s{KrG;ss)TdP&S$dd1a5!C%62qBB)i>7+W11;fTjG_x}LnKH+PRV{E)rfmGsS z{8nu5%oX8p+F18DTY}7heQ$7sE>cNy4LGFGvHn#y0OgN{>u%oarPvKHNCQ&TNl!45 zhQuk)9l-B!d|{Q4wm0w9d7Qj@rqB_ZQ<=K4%L7}d`J+OdHF~CGeU8awnymbzWeEk& zK`GWna7bF=kYmlph1X*0$5bp+c#fhDSB;haJ*&y5OXD+ak}14e9!uxM^lguqQsp`x zOq!fVTIbq50-UI|DtO-+8J9k3X-Adp%H^7)X9lWmG)`rgPXeoEneCsOHG$~5uVjnI z3E6=}=*EVoIr$0ISF#r%&8I~+1S_herKfYAMbSDc;VNe1&gn+WmzM1!P}fO8FsO%d z<_kP;jXk>Bd~XcIp!xO=>b(p(CR4Lw<22Z7U78cGMVB!S+Fl!=7}JyjBlZ=ntGt=0LR@!;0e416=F1 zqh{afTz9+CE!0wC7-132?1HJc$j9amY42sVnPWA+r~=Ln^5x5+Sl9y*NcZq!7cLov z`X0&S*nv$;TT16LcuPUBj#1<{>{Z+~*all>w#`4)Ermz7Lfwx=P$|msBuhvNlPeuNfzB>o--(&yL>AX zin;*8ZhIBy@^SXKx1H2)%nu=0n%ks`vKzO1CQRqBvqBVDK)fVKWxnZ<646H|MN>Nh zjJR7*(zTrA7x1>;#j5`RI1)TDoszt?+PGaTA@-09to*idqg@0|ZQEpBXwk``t0J~iO4@QzyElj*lVf!M04P#tiZ~KxCslJgHn8s-OhMqZl9!b& zvg+}w>_PUFxHqyg%xyT1i<*+dqGnv(N)1@RGiGlo^iO&un#W%5aVWW39lisG!1{Jg zd!EaqGtEy6Ko-v+-)y zcyvil1Q7t%?dj~F37kdBVmWm_W< z*SD%RWx{9~tnR_s+BQ&)#z{i;* ziP>{^^-DRTLJHGGHhE# zdNLZI88ajS+CN|~^ZYEG!D9g_65L%uzD1mSLu4GYoP!RCy8xouu3-w32HwsWsX* zGIxd@5e;&$3CSN3rEmE9*s+jFX|Y(;u2JJvlplm{-oafP@ z#%`m+IMKwK?kwTeXYm+pHtGkm?Z=aAj+%PvT535Yo!l0S1mXoLd02M@K76p#VV>|nV zTr^rhays|W?w|)WWD?+a+^T?lD-@)psl8-wbS$wkeqy>Xv+UzOwxm?oPgKZ+F-q&Q zA+uZAPFKE(n^8^mGnDizOf&tGzwr!Co?!h6wo|8=dae9;{T{)W5OkccjAg!Tqq=jC zUtrSWl@4fawoY+Cs`&(mm};(c1GSYIieShx8{Gk8N``;+2kxW%Xa#`g^$M?`EydIk z0)kz`@d+uV0jHFemUwJ!*ugAyaEG&dE)GsU)M{Deifo5svYiF#WBQt^&#(#9D9{bT zNhU31^kKQT+jItw9pVXS+mY?f*sZwvJVK>*BQ130?iO!E`8hm_t5~c^@yG=6gR*er z&?rSaXKL-5L*4Zf1NxwyQ0 z6+!OedG}nqNP8u+J+6=@Inh5eQ#F@j6%TGwbXxvPtsd2jb8BUvw1u%uBD`*{r>=Uj#&6*qHN(_DZn@apBJGGe0l=L zU8F9&IXLzFqPEG#E2t|g%(M`gDchz&rf*+Ghc% zp2-puG*dIR);9*o3mQx_kHj1McUj)Q(FgrgBeekO2EGl7I+jMY$B|*lfy(NmF;8h2 zLgCLHEpf5|U{Zvfus0@lqeQ1`xn-bjQw6d?2>^GZM1W2bKpW_oC&mcWY7>E{gyZdp z_4@0jJ^oL-=+r1xL|*um1o`l;<}NJtGr}{KH}|`mZmS z9Z^`0wqnwvAr_5wK_w=Za7Y#O;%I%sZr2nd0^;wADAp}RV^xC5@WRS{3~A1Ml$;s^ys(7bTpPF z;S6NG)l|(A2J<*Gd$)T9w6oP3P#~7w%`K35n`;$?>VVvI%oRWkjqA}=ARWl;{W>it zeE}m5KQwL;e@3<9R&eO(&GQL|5O)K&veS#v*FCz_jNph6AyK1b%0|l; zOmaU&tSV^lAEVw?O@iq52V)~G$l$ccpz$T>0zf1J zKqLY{Is?>jO0SQ=X{Wv9YdCNB3y0*+>b{xNa?7&fh^W|F;WV7;0swB=*Fbf?5U%j# zl*H7$GO431kjdqDs9uK_7-@TK;~35hLqh2(n;f$_rK}wV^wk`>@#8;Y*PJjpw*}d* zbAGFa-JvY{+>c~}ZV#|=)ksZ_zazI(O)@VYQ=x9kr2(@owLHm#JO@T^s7vhGO^8!f z-eT?xw?O@09Y>*=xD>0iD$oJbXlj*3#XT%M2$(S?24p zRj?Tff&?ZIDVdWq$0MU~aOjnrfOoVwXJ+3}Q91}_RFN67iVvI*vNUZf9BI*6s~q@^ z)8W;Pn#TL?xUqBtpu9BR0us z&~qFHp;VN#fOVA~2*q7b zAPy$WpPPg`Y&xyA3_iOqP(?LxdwhmK*e!2bYzd9Id%A-vH+6dIHpb{ZEL~QG;d|Bz-e6ETQJIYE%jMaO2NP$ z$Op0lFZ4h)^#lY2q_DBwAe$s>n`5GpvfqEQqeT8gx?sRxm~`C$oZ)?Tass@zz3rlV z0lz8hs8$u^?y3MC-B|}9`iJPMP!s!wKqm!I2IYG&p4D=INL8?b3W1X|AjF1Tjv)C? z>16>;6}j81N>YH80zfUcKyP4p&jtK9u1;yVYjI#PQ}R(298 z5#yQA$((dmk5u;6gT&8`nM&xKx;>~?*1on(mPDY*#0j zWwD2$Uc9-F2flY>@&6u_e{ zKQb|q-(~0gtQYNGLK^(1ri+p@s1`7rTXjU%!u&~9heIqgLfWX@+ee#6G_COF#!uxf zJ+ZSr?sMcfbIxP#x#=dsp#=a)DJmrnF*LcY+@~N2i(M*57PY&i4Bl(B?h^(V2m)T< z6pZf#w=;g_I0J37fIP0yrVTg{IL3Lq5P%WYw(hGyJ`;(t-2e$Gqz*c*B??cdFuN>+ zPer81eu%R*`nOO~tpo_x$$;L~TLC$$p@v6wU^g{XpeHq4p$jGrWX&5O#)e$Hj@5-u zP#RdWYCNS9ge|4h2;DGn@(sp?8V-*H#+=(R<#F?IeuJ!~oJ?2WEQ0)%r@&ZR3fZf}y^2jW1ve_NFYSaX?UDrD&u;Lf0q)Mm&e(K;2Fh~S| zBXw$;5IvO#SKvC(%Bg5vbd+Xj^;mP`xN*0L!^51P&8qVYC03u+G>G5TO$az;H%uP- z0lETl;#1KVGARY59Kl{QpbKOM`roQn5Sd?)JPu#Xq#);HlQ2PyLkli|W)|hjkUrWV z0!x7-qM$Sp#`x~-`jVN89Um6aL;9f6sG+EWejJVG8>QK42gD0)Ydg19QjIBA;gQc4 z+O=tqCW}sXqLQYK`Ni@T)sA@QHTDLIX3X6@!*v;BVI*}(0`RUFL><)x2vq_ECIfR- z$`C1pQ&Erxj$fhvQl{hf5Rrw4xad=qAeb@&O?hL3nv2+U_y#aTn#UE#%f@cHDcK`$ zeb+4kRMQ7)mWsx6fsNKWD6uIGRD?)CEp`Yq5PF34NSoT>AkxFJjsOji*>8qNvtl){ zRW{AlYnD)%UkcuVb9n`dP{{NlEts-ozKEd=s!2A-q5yAgiUW*wm#Y*Tl|T!ExB{}E zNCrSniBNYlTcEbJgw>iXMj6M_>mRyVP2zIB7P>AxEU0G1d3?C)o>7+HGK3JhIwe6# zQy5{;G^3t^^9G5q8Odh*S|FQjCB|0><`{!++SRum<*)Xm;qH!U=*v771Mw z^R(=iQ*b)$7Z(qVX7*ehoO-7n3ny#B!~s(PeaKTv#Z0A!$}CBVKw6+{9R6ikn)O`_ zMm*tbNv!oB+FZ zVLP`i`lLoojnxV#9>@mRTqYic;fmjk!15E%7K?}EV7LQ@SGjWiGsx#_ppMdV>ZAnj zV`44pm>UkpF?=VMmF;s5?RdCbO!PK|ZFP1bKN_w1k3a>QKFV^-V$>F7pIfA6`mTVJ z+t;E1Qb;3V?3|kmG)1`s#>%hg<6utG)`sp?N@6;vlm`uZr)U>A5!yqkQfTI2Xbs(} zf>jNUrVG1v>JUtq$A5JpUaFC^vpC+`s=|jkQA%l?MY(UH+j~w>3)rSXzjJj^z<0W^ zfeD02R1hNRfQ{7zN@irtkOgbAjE~=;NCrkzVwgn$kQZ?IT?@U|T(e=+VR(+2Ty|Vp z;%ctxAg*1Q+^p#mK^@MihMaN3!rN7@ zG6fkd*N_xt0R;eyPy=(w**yc(%`0DUu0=;D6+5InqfYD62)-#=;>NIxZsMpQ>Upjk z!g+BQ*FdX5URa+Stnp%)51~LS=z=%0W=I5p==>F1!L5Beoy#EG*6S{8cMexUh{KYg zo{P-AT^35A{ScJ6hzLs|C?ha~sog3Ba2teyvtQjaAbX?<_8|mjY7O;4tJG@J7MKC> znKMI_>=uIhkJ22t9|L0rZ|fzx6V*htJ{IbG#Cglr%zP5%Hy!3eBL z=urbB#83$7GuvaKTi`33y~5E3-7_(!ieYByCr@Pj^a6b}@Gv@2VDBoql*`ZvjTHn_ z2skDKAyJ}20h2O76cHe?-@1?y7B)I61b{3q=NH*dL8BC|jNPSk<&MLk!?8@w4RKug zVjA(x*&Djd!KQY4X-dt&^od;Bx(KR9<)L|;*y^gY95T6Ngnbht za2ZfYHQ;ncj8>44LB`I}0L8?hjjfOpY0CXmG-{cqWbq0VRbLNK=DW)6z1I0-xE&QN z`OUvYjE2#TnVLaN%+YNQ>Oq{%2}&=;b0;tL$Tl^Pk0ZU>-Q+;$tdb$B`z&z=U_j!eO3U{4xV zAZiro5h_U=rVBCxKp`8L$lX85S90ayqJPEv7Ji7f&A; Nq0LE<*;V5w|Jh{a$?gCE diff --git a/view/theme/diabook/lightbox/photos/image4.jpg b/view/theme/diabook/lightbox/photos/image4.jpg deleted file mode 100644 index 9c67a20ee7fe7894ab2b887d4494cb5daff3f4b7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18746 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 diff --git a/view/theme/diabook/lightbox/photos/image5.jpg b/view/theme/diabook/lightbox/photos/image5.jpg deleted file mode 100644 index e60bf60b53882edd4b445f1cf3a5854341b6be6a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 30903 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 Jf6O3v;=irmy^jC@ diff --git a/view/theme/diabook/lightbox/photos/thumb_image2.jpg b/view/theme/diabook/lightbox/photos/thumb_image2.jpg deleted file mode 100644 index 0b3cc0beabe449660efe2963ceff7c3a397cad55..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2541 zcmZ9GcQo4z8^?bUTZ|+|t(Zm35~GTu_AaW_xP+_p(kLO?8&Or1UX+$<5#z?L=yk7g zQKQrhO6=I}wZ~O^=hgQ;r+>Vk=bz`C?{hxSmp)FP19&V=EldFr2n3j43_za*i~tBL zD=Ql-gpCaXg|I`Qyxb57H}54F3=V@`5`^fA%rhLNF%-@jg%69u&<(qb@pI01_U%8;8r3O9BQMAoXWuow)aAY zF^#Hb#>%b4viGe4ya59HyX|0OQ(lsTrSl%sPnnp8S@!D*$Y~^qdaJINVVe$U@~Ouo zS7{x_;%$P30l9%et>$Xhr1|_WMwGhN7o}V_2L2ZQi%;CP-{(Cd*IoP%DY@?Cp=Zk6 zrp7{~1EJJp7h33?CCn5r*2MQ-Q%IM=Gm#tgvSjEV>+y-IA>CH z6Ys`8QXCKkZcRUYWn^^?wenf)IG5V({Tcr$kAZo??tMRU*>E-%Np+RQRxWVJV0rT= z!jJ+UT-nQxA_+9w*MrS-+w;B`XFi0-yZ9Z!26)O=GCGj8V_4T>w;ugf|~PNtlTBxd?G_t zPjw^)$`u7%Tqy1*(4mOX1MaXzipLb*sA*`n1I4;LV`<{Zu>$KstP5%m^N!CYrnF%+ zk+`9tJHMCwZAAt@!#peLmnrq+>DXpEZQ-Yp7xu@!YPC1GrjkZIsHB@i41%If;nViM zchWR?(?Q1w}P!oW^!A)9NM+Q=s@o>i?8mGne5W?);j0k0pqw?Si?_* zbR|bmbFA!!&M{Ucxrtbic#oZcv75rR@?}~?#ccWOH(dS*%FqZM8t#-o(we;sWCiMJ zb||PbN0;1MiB{4nt=G1fq>ggsu2jw(ti~ONeX%<`G09tVgGmS4HErlCBq}^S(&OtrC^Z?01q9a|V|%_KI;}mxQV;(!KNa z@VRqDoO`D-hGXLGzzcPg@T6yzE6a17Ci`)*<5k9-E3^;B zN~_PyE&pDcb{?xHD~2w_;7&qHBjYHCd@zcXF4q4x$C zQv_bt+oUZY)1zpb|Cl-|9r@+({xOCmVTLLA3&Fkh;V8r`X=$TNeN~`tw^P()^rc^| z@2NqcSuNKzeCl7R;jp$72m5Z#qu(^thn>>MyuE@P z72QoOD|ofpSqL3SV0N8v;;qcXy3@)-X@P3xqfmh_Zoc9P9T2ltC@m0Xd}y$mVSP@L`$yspVw_Y&ai~t@%}^!TC=~?7 z<+R*T5;e+-{%~Gb_|3O~#bmvVpbC2z5@AYNsT#2c)V$pvDOi;HrV2TLw@6}pERVC$ zcR$>(O8cgzc>roTF)kFbUY2U+YNge7{F+@V7XRwluZpLXTBMkz{Dq~;bG?bIKfWq# zv9BW*=s4sY*L`!+WG~x@ssAjkBFLHV=N;!8xA%0D%aj$fNw}$*v8M6G{I9sp4Laa! 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 diff --git a/view/theme/diabook/lightbox/photos/thumb_image4.jpg b/view/theme/diabook/lightbox/photos/thumb_image4.jpg deleted file mode 100644 index 06ac43addbacaa4b60cb2b01b9ee923707ba2bda..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1993 zcmYk0dpy$%AIE>YX{!~xg=T6Sid?rGmvPEOW=3EILWHoiJrh z+9451o<&I_I=OU8D7UC^l2drr^E|KfJn!#6-`DH&`o6!P)&A9CK*QCU;S7L4Aiza6 z!0Hg-2q58bI0BADAdo2JS|kdqjzp?swa{n`8m*;`!KuJ#YvOeXI(SVo*}#BIHa9af zGpGE`4+&^J5~-n~p@~9iYGE)KEnU0{T|M0&=oyl?s303|-KM9fw{5Gjv7w={F@<9B zw?Vb6wg4#jk5Uj23IL-(5EN)t31|ZV;zyqGx_&YNz&4b z{`Uo6pIocvTsofhT-=wpNH7)C=35B@t9o6Mwwt`Ba@{=!Y}jerb-r0bFh{gKqy6hi zXN&cZFE6|j$sBfh_?@9&g+Jcjyvfbkqe0n)Icwbv#rEnOR}@DvvPZ9M@^1upqOzFg zQ6o=o9z$l>ba{Mdzi+obPOOYQe59AQhuC4W^iIa-rL_j^!d0AQg~q96)Zn?V>gn>Q z58pl6y-b?$t?u4&`ogcjY#ishk+!F7+|d%dXkXM@tZ8)r)w_jL9VHd*Z8V(`Bzq}2 z+;p+RSEDd-AGKstp7cI^qez-s=&p}A(sz#TR5=SK*hJ=vM-SM~L=1V!S>%HqwJiv zusSwtG)Ou;hw}&nDUtTF3*E~;!pn&z2lB41EWXM7WLxJ@U`NS5c=Y1#JZs5j+YGFG z7-fHg3DZ-?MX=OT);hFN#FHmFelGPV>d6P=f(p&=;KCAD#KBwiNun`FUZ3IO7_3Rq zo{mc?%&4DW58PGX8}1$6RZ2DJj;dNhdS!=J94@V!taUGu(U1vulk4YaI8ywuSJo2~ zY17EV@@~*u`OeBm#pivOAAGhvi?E<-^$PL9TglYesD%(?nwVxyKPbMq`8D(ueD zfo*#wu!J*zjVw1NJM=n=1)(vWteEv_(zL2HPkCjUD8lcqRzILaE;O^ViK82Y9kvGTn_3L(42Gp6y{ILo|=A;(6 zk8U7l6GSJb3vrgi&WHNWPVpu?65sOW5tbZW75%j?PLTUqdV)08oJ1(M!o;=Tdw$fi zrm>I=W(xOTDhSX%W$kFHm)YlYXc)YX`uxkRu9I6sYpcKL61N#kG^$mHXFi_xd3r7& zCjuf%^w-{16>l}Ym+zPI;9y)Y?R~mMs~N3MJAjo~>>&RTrHio@dR+;88rAFXZP zSUHIJ+5C}j86qH%)imPIz7ui9GubEA*>;&y{zlSYrrQHonjaF0nbF591`g{x3K3nH z)7P2!_;($_3r|BP!dWItqjS{gv=Ac=WJY~PB-U^^ ztoU=V+ID&>)26nUo`1rPre3>y306|ft;2dp0+#lJ5*NNP_g>C8hd3}Z5<0ZU-@I%{ zp6F|D5eyUNn6w>v#-Vhb2@mv)DsJdZ5{{!s+jAL}rr+S{W7BF;1A(%;N>Q@&QPc6j z^BptYFF~|_7S!wn)A4&MGspbA*;D0|mO`9e@%O3Cx6Df#8GJQUS3zud`2JtGz5AY# zJ)ppAKlnqOe=HZ%e|6Fcqs2zOc19lSPfokZp=l-5-Ai4<>r|fMb%lJ4kNk%` z%j9Q$_Rdc)zBin_MX%x-*2c$1gxk5f ze2K1;k2ibU%^@Tc-N8TLA3N$Hw%qEyz1U?Yd+5UX${4J^3_oie<3E}{-o~1*O-xko T^z++c7IQM6v(VNgSsnNnlG9@K diff --git a/view/theme/diabook/lightbox/photos/thumb_image5.jpg b/view/theme/diabook/lightbox/photos/thumb_image5.jpg deleted file mode 100644 index 8ea97c630bb985722830ec570fbff632273a65a8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2045 zcmYk0c|6pM8peOKkThZzW-K$+jBRY0vG1XVA%k$4Y@xDUdlEWPwr~|wh!Y)?EfQ*! zbW+DyVscyz2Iblc8D*;sF?YJ3&pr2k-+$iE=Xsy!eS|#WG$7+Zp;7=42n5)R1`tjH zwg5~*LSnxJZ2x{393}~aqoiRlX%q&5Kq3$rd8Dieq&!+t39F=tCJw1`A4Ei#$(SAu8} zz6RhDKTAPCZ~zPkLEs=^C!hcTV2G&f|A2~tA>yEYBF$I^0E56#umlt;Cib5L5Euf5 z17e6HNRl`TPquaqh#_1psIZB>)+~D}@Q*<~_n^4PBBwkE5QYAKs>lgI#YB>(=s5^1 z27!Xa{;Pw)@FNfe$=Vek5Q8M!TrGf}3an^e6;1#!2uM^F0tc*sw=F^LgRHQ~r3q&j zt8Vj*EJpnJ_+9Sfafyw#5ab)*1}ZZfE#wbzX_`t^+0>~&OW;r_MQFoU0@_c4YHN#9>`}fkKVhm zw*~)Q*>JJ!WJt)U$^IARn%=yo4vPCll&hV_56t{TqWAT=f3A0}c|LED&0^qOaZvJz z;lv*1+sjErYVDh0j&f}1aK$idUrn`HFlvmLr_%aGlQX9a0*P0LCTE4K6?5l)Rfr!8 zP~qzJ&01X6PqVM|ER9Z?QOKI&<;WeVwKwJ7ZZhpYS8tk;RrcNLvUd%a(SWz8Gca+j z$V|!^^Ls|#ms27&j=ExGp1O{qnw>bzkM4!^GV(3;(~B&R8IozY_z?wtbs3D6@VXLh zfjdCbZ`?vT(Jp-@dEArJ+<;)c%1F_Ca~5{AuioK^ZJV|b@YK6*7XZJ-T#j)#QW#$^ zgMPO?H`vKh@i>1v@pN-jFVV&0parXEd|__srY6EWHje#1x^5g@|B<3<^oR(Jd_N`WOiblrSI z$M$dF4&Ir2g0acm^}efQ9K6Vqr%wrF;9^E5uB9AEaH zeZ?)~(b<0QgVRN&N=#}1uaaglj~^4nV#*W?1-gvHoRAVPMC!`U%=FWF?kmQ&-Dt+} z3$=vFl8#yWmYmOlq&ILXxoke}@BS)7Gtxy%7cp+b1H=cUieSe(9eMq~TecQ@IxM(e zvZh;l-uahr{C&CcS!)Ka}oKHB7)>87p4CRadBhJ^^O=RAHdj{TjqU%a$bEnFf zDzALOMKb5ibC+60`by0P?1GI)S54rmN5n2JTh1>v^4MMhXHkp9IZnHJP5l~K9UTxp zSzOzFvh$oh!8cYn&%&v>F2Kpz;c*WB2l3M9Yy9Rf-`Ta)p^0=~x8dzkNfwubx$S#0 z^E-}>+MH+*0-*Tg&eV;BD*9B7t>Fjv(9Y8M@YcL0wWWhGT0_S+SOuwyj^o^&da$m5 zC>!Tjn#RiSKU^@DJ`G>p`Bex|KdiqV^m5VQg;m}#y;S^)5ci>JVI^m#wR(O_Tf8{U z+34gVAzvbh5#dwzf)LeMPFU>SJwS0aa#%jU3`R6-s2~1qYJocwYgx`O^L=qWqU58_ z*@7t-REhlLWAlq&du*e#!d{@nhU9E|Zs%6DUkaP->i1t%tw!%D-lCydKfI_ypw1>G zm>osF8Qs>VF}}Gv8#;a9454MWVL+y%CX<5Fk^kj{Lg~9dOqnJuAKHe&!!&0z|B}~b z+a7N}AI-T!=tUCgc*F3$t^0Y1WZgdfw!xyJw#D$J%}I#PY>tZmwTC8|Mms@F(_Qq9 zio`goa=b&Ddxi^Mz!>d}VbGL3vW=%ynMGGia5>s6Yt_9rr$5cda=F#t8E`*JV7c7g zP$)G@cD<*{5a}Dd7*;5|n=nsWv{({cx_1%i#vuec#4;^w{PP+YK7O5lE z*sh(G$#^&xGbcu4{^Qfrr0fe$1czy<$nKAOm}=-1pDb}Jd~M0wg6Fp=E!;1H%hBiV zw}kNJGF_aobWLf}bmHUyvTyEzno?V;Bb5%iA@28XWp#KU_FnrT{YW7Y_G+8%6F)d% z*;wvG<12N^hu`p&duDYx=E@VKA(+wP#W2Duq#7Lm^Tar-p?zxuyO_@Ao*>oqktMel znV{RNElCbP$en^oY<`p?*5s7{R#noZ5I16~?YCx76)`p-aOTZb#0OSxB8&>sa~r#?HKn S+L_I2E4$8i)g9Cmj{h4ZKZ&~l diff --git a/view/theme/diabook/theme.php b/view/theme/diabook/theme.php index 1617dd7f0..5d3c2906d 100755 --- a/view/theme/diabook/theme.php +++ b/view/theme/diabook/theme.php @@ -13,11 +13,6 @@ $a->theme_info = array( $a->page['htmlhead'] .= <<< EOT - - - - - +EOT; diff --git a/view/theme/darkzero-NS/theme.php b/view/theme/darkzero-NS/theme.php index 521b1859e..2d3e4fd56 100755 --- a/view/theme/darkzero-NS/theme.php +++ b/view/theme/darkzero-NS/theme.php @@ -15,6 +15,8 @@ $a->page['htmlhead'] .= <<< EOT +EOT; From 5a4167646553e589cf9647c0e0d0446e3f5fd672 Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 13 Mar 2012 04:04:26 -0700 Subject: [PATCH 079/153] initial tag display for categories and save-to-file - suitable for testing but needs cleanup, links to delete term, and theming. --- include/text.php | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/include/text.php b/include/text.php index 011006b76..2663bdeba 100644 --- a/include/text.php +++ b/include/text.php @@ -913,6 +913,33 @@ function prepare_body($item,$attach = false) { } $s .= '

    '; } + $matches = false; + $cnt = preg_match_all('/<(.*?)>/',$item['file'],$matches,PREG_SET_ORDER); + if($cnt) { + logger('prepare_text: categories: ' . print_r($matches,true), LOGGER_DEBUG); + foreach($matches as $mtch) { + if(strlen($x)) + $x .= ','; + $x .= file_tag_decode($mtch[1]); + } + if(strlen($x)) + $s .= '
    ' . t('Categories:') . ' ' . $x . '
    '; + + + } + $matches = false; + $x = ''; + $cnt = preg_match_all('/\[(.*?)\]/',$item['file'],$matches,PREG_SET_ORDER); + if($cnt) { + logger('prepare_text: filed_under: ' . print_r($matches,true), LOGGER_DEBUG); + foreach($matches as $mtch) { + if(strlen($x)) + $x .= ','; + $x .= file_tag_decode($mtch[1]); + } + if(strlen($x) && (local_user() == $item['uid'])) + $s .= '
    ' . t('Filed under:') . ' ' . $x . '
    '; + } $prep_arr = array('item' => $item, 'html' => $s); From 7868e3897b0f282611f1ccb1715a30a93404ddc7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Tue, 13 Mar 2012 21:46:57 +0000 Subject: [PATCH 080/153] In HTML2BBCode: fetch the URL of [EMBED] using JavaScript instead of an ajax-call to a php-script. Once there actually is embedded Code in the HTML, this function is called after every single keypress. Not only is making an ajax-call every keypress bandith intensive - it also made typing hard / slow. Making a lot of JavaScript-RegExp-Computation every keypress isn't exactly great either, but still performs better. --- .../plugins/bbcode/editor_plugin_src.js | 262 ++++++++++-------- 1 file changed, 140 insertions(+), 122 deletions(-) diff --git a/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js index 44d1473a9..183f2bc68 100755 --- a/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +++ b/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js @@ -44,61 +44,79 @@ _dfrn_html2bbcode : function(s) { s = tinymce.trim(s); - function rep(re, str) { - - //modify code to keep stuff intact within [code][/code] blocks - //Waitman Gobble NO WARRANTY - - - var o = new Array(); - var x = s.split("[code]"); - var i = 0; - - var si = ""; - si = x.shift(); - si = si.replace(re,str); - o.push(si); - - for (i = 0; i < x.length; i++) { - var no = new Array(); - var j = x.shift(); - var g = j.split("[/code]"); - no.push(g.shift()); - si = g.shift(); - si = si.replace(re,str); - no.push(si); - o.push(no.join("[/code]")); - } - - s = o.join("[code]"); - - }; - - - - - /* oembed */ - function _h2b_cb(match) { - function s_h2b(data) { - match = data; + function rep(re, str) { + + //modify code to keep stuff intact within [code][/code] blocks + //Waitman Gobble NO WARRANTY + + + var o = new Array(); + var x = s.split("[code]"); + var i = 0; + + var si = ""; + si = x.shift(); + si = si.replace(re,str); + o.push(si); + + for (i = 0; i < x.length; i++) { + var no = new Array(); + var j = x.shift(); + var g = j.split("[/code]"); + no.push(g.shift()); + si = g.shift(); + si = si.replace(re,str); + no.push(si); + o.push(no.join("[/code]")); + } + + s = o.join("[code]"); + + }; + + + + + /* oembed */ + function _h2b_cb(match) { + /* + function s_h2b(data) { + match = data; } $.ajax({ - type:"POST", + type:"POST", url: 'oembed/h2b', - data: {text: match}, - async: false, - success: s_h2b, - dataType: 'html' - }); - return match; - } + data: {text: match}, + async: false, + success: s_h2b, + dataType: 'html' + }); + */ + + var f, g, tof = [], tor = []; + var find_spanc = /]*class *= *[\"'](?:[^\"']* )*oembed(?: [^\"']*)*[\"'][^>]*>(.*?(?:]*>(.*?)<\/span *>)*.*?)<\/span *>/ig; + while (f = find_spanc.exec(match)) { + var find_a = /]* rel=[\"']oembed[\"'][^>]*)>.*?<\/a *>/ig; + if (g = find_a.exec(f[1])) { + var find_href = /href=[\"']([^\"']*)[\"']/ig; + var m2 = find_href.exec(g[1]); + if (m2[1]) { + tof.push(f[0]); + tor.push("[EMBED]" + m2[1] + "[/EMBED]"); + } + } + } + for (var i = 0; i < tof.length; i++) match = match.replace(tof[i], tor[i]); + + return match; + } if (s.indexOf('class="oembed')>=0){ //alert("request oembed html2bbcode"); s = _h2b_cb(s); } - - /* /oembed */ - + + /* /oembed */ + // example: to [b] rep(/
    (.*?)<\/a>/gi,"[bookmark=$1]$2[/bookmark]"); @@ -111,16 +129,16 @@ rep(//gi,"[img=$3x$2]$1[/img]"); rep(//gi,"[img=$2x$3]$1[/img]"); rep(//gi,"[img]$1[/img]"); - - rep(/
      (.*?)<\/ul>/gi,"[list]$1[/list]"); - rep(/
        (.*?)<\/ul>/gi,"[list=]$1[/list]"); - rep(/
          (.*?)<\/ul>/gi,"[list=1]$1[/list]"); - rep(/
            (.*?)<\/ul>/gi,"[list=i]$1[/list]"); - rep(/
              (.*?)<\/ul>/gi,"[list=I]$1[/list]"); - rep(/
                (.*?)<\/ul>/gi,"[list=a]$1[/list]"); - rep(/
                  (.*?)<\/ul>/gi,"[list=A]$1[/list]"); - rep(/
                • (.*?)<\/li>/gi,'[li]$1[/li]'); - + + rep(/
                    (.*?)<\/ul>/gi,"[list]$1[/list]"); + rep(/
                      (.*?)<\/ul>/gi,"[list=]$1[/list]"); + rep(/
                        (.*?)<\/ul>/gi,"[list=1]$1[/list]"); + rep(/
                          (.*?)<\/ul>/gi,"[list=i]$1[/list]"); + rep(/
                            (.*?)<\/ul>/gi,"[list=I]$1[/list]"); + rep(/
                              (.*?)<\/ul>/gi,"[list=a]$1[/list]"); + rep(/
                                (.*?)<\/ul>/gi,"[list=A]$1[/list]"); + rep(/
                              • (.*?)<\/li>/gi,'[li]$1[/li]'); + rep(/(.*?)<\/code>/gi,"[code]$1[/code]"); rep(/<\/(strong|b)>/gi,"[/b]"); rep(/<(strong|b)>/gi,"[b]"); @@ -149,42 +167,42 @@ // BBCode -> HTML from DFRN dialect _dfrn_bbcode2html : function(s) { s = tinymce.trim(s); - - - function rep(re, str) { - - //modify code to keep stuff intact within [code][/code] blocks - //Waitman Gobble NO WARRANTY - - - var o = new Array(); - var x = s.split("[code]"); - var i = 0; - - var si = ""; - si = x.shift(); - si = si.replace(re,str); - o.push(si); - - for (i = 0; i < x.length; i++) { - var no = new Array(); - var j = x.shift(); - var g = j.split("[/code]"); - no.push(g.shift()); - si = g.shift(); - si = si.replace(re,str); - no.push(si); - o.push(no.join("[/code]")); - } - - s = o.join("[code]"); - - }; - - - - - + + + function rep(re, str) { + + //modify code to keep stuff intact within [code][/code] blocks + //Waitman Gobble NO WARRANTY + + + var o = new Array(); + var x = s.split("[code]"); + var i = 0; + + var si = ""; + si = x.shift(); + si = si.replace(re,str); + o.push(si); + + for (i = 0; i < x.length; i++) { + var no = new Array(); + var j = x.shift(); + var g = j.split("[/code]"); + no.push(g.shift()); + si = g.shift(); + si = si.replace(re,str); + no.push(si); + o.push(no.join("[/code]")); + } + + s = o.join("[code]"); + + }; + + + + + // example: [b] to rep(/\n/gi,"
                                "); rep(/\[b\]/gi,""); @@ -193,43 +211,43 @@ rep(/\[\/i\]/gi,""); rep(/\[u\]/gi,""); rep(/\[\/u\]/gi,""); - rep(/\[hr\]/gi,"
                                "); + rep(/\[hr\]/gi,"
                                "); rep(/\[bookmark=([^\]]+)\](.*?)\[\/bookmark\]/gi,"$2"); rep(/\[url=([^\]]+)\](.*?)\[\/url\]/gi,"$2"); rep(/\[url\](.*?)\[\/url\]/gi,"$1"); rep(/\[img=(.*?)x(.*?)\](.*?)\[\/img\]/gi,""); rep(/\[img\](.*?)\[\/img\]/gi,""); - - rep(/\[list\](.*?)\[\/list\]/gi, '
                                  $1
                                '); - rep(/\[list=\](.*?)\[\/list\]/gi, '
                                  $1
                                '); - rep(/\[list=1\](.*?)\[\/list\]/gi, '
                                  $1
                                '); - rep(/\[list=i\](.*?)\[\/list\]/gi,'
                                  $1
                                '); - rep(/\[list=I\](.*?)\[\/list\]/gi, '
                                  $1
                                '); - rep(/\[list=a\](.*?)\[\/list\]/gi, '
                                  $1
                                '); - rep(/\[list=A\](.*?)\[\/list\]/gi, '
                                  $1
                                '); - rep(/\[li\](.*?)\[\/li\]/gi, '
                              • $1
                              • '); + + rep(/\[list\](.*?)\[\/list\]/gi, '
                                  $1
                                '); + rep(/\[list=\](.*?)\[\/list\]/gi, '
                                  $1
                                '); + rep(/\[list=1\](.*?)\[\/list\]/gi, '
                                  $1
                                '); + rep(/\[list=i\](.*?)\[\/list\]/gi,'
                                  $1
                                '); + rep(/\[list=I\](.*?)\[\/list\]/gi, '
                                  $1
                                '); + rep(/\[list=a\](.*?)\[\/list\]/gi, '
                                  $1
                                '); + rep(/\[list=A\](.*?)\[\/list\]/gi, '
                                  $1
                                '); + rep(/\[li\](.*?)\[\/li\]/gi, '
                              • $1
                              • '); rep(/\[color=(.*?)\](.*?)\[\/color\]/gi,"$2"); rep(/\[size=(.*?)\](.*?)\[\/size\]/gi,"$2"); rep(/\[code\](.*?)\[\/code\]/gi,"$1"); rep(/\[quote.*?\](.*?)\[\/quote\]/gi,"
                                $1
                                "); - - /* oembed */ - function _b2h_cb(match, url) { - url = bin2hex(url); - function s_b2h(data) { - match = data; - } - $.ajax({ - url: 'oembed/b2h?url=' + url, - async: false, - success: s_b2h, - dataType: 'html' - }); - return match; - } - s = s.replace(/\[embed\](.*?)\[\/embed\]/gi, _b2h_cb); - - /* /oembed */ + + /* oembed */ + function _b2h_cb(match, url) { + url = bin2hex(url); + function s_b2h(data) { + match = data; + } + $.ajax({ + url: 'oembed/b2h?url=' + url, + async: false, + success: s_b2h, + dataType: 'html' + }); + return match; + } + s = s.replace(/\[embed\](.*?)\[\/embed\]/gi, _b2h_cb); + + /* /oembed */ return s; } From dc84da520d7bde3f2e160d2573a549829fd022cf Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 13 Mar 2012 15:40:16 -0700 Subject: [PATCH 081/153] invite potential connectees to the free social web --- boot.php | 2 +- mod/dfrn_request.php | 8 +++++++- view/auto_request.tpl | 7 +++++++ view/dfrn_request.tpl | 4 ++++ 4 files changed, 19 insertions(+), 2 deletions(-) diff --git a/boot.php b/boot.php index ace358faa..8f0e8345f 100755 --- a/boot.php +++ b/boot.php @@ -9,7 +9,7 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '2.3.1279' ); +define ( 'FRIENDICA_VERSION', '2.3.1280' ); define ( 'DFRN_PROTOCOL_VERSION', '2.22' ); define ( 'DB_UPDATE_VERSION', 1131 ); diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php index bc159137d..1043d6daf 100755 --- a/mod/dfrn_request.php +++ b/mod/dfrn_request.php @@ -666,7 +666,11 @@ function dfrn_request_content(&$a) { $page_desc = sprintf( t('Diaspora members: Please do not use this form. Instead, enter "%s" into your Diaspora search bar.'), $target_addr) . EOL . EOL; - $page_desc .= t("Please enter your 'Identity Address' from one of the following supported social networks:"); + $page_desc .= t("Please enter your 'Identity Address' from one of the following supported communications networks:"); + + $emailnet = t("Connect as an email follower \x28Coming soon\x29"); + + $invite_desc = t('If you are not yet a member of the free social web, follow this link to find a public Friendica site and join us today.'); $o .= replace_macros($tpl,array( '$header' => t('Friend/Connection Request'), @@ -682,6 +686,8 @@ function dfrn_request_content(&$a) { '$diaspora' => t('Diaspora'), '$diasnote' => t('- please share from your own site as noted above'), '$your_address' => t('Your Identity Address:'), + '$invite_desc' => $invite_desc, + '$emailnet' => $emailnet, '$submit' => t('Submit Request'), '$cancel' => t('Cancel'), '$nickname' => $a->argv[1], diff --git a/view/auto_request.tpl b/view/auto_request.tpl index 204fcf247..2958397c9 100755 --- a/view/auto_request.tpl +++ b/view/auto_request.tpl @@ -7,8 +7,15 @@ $page_desc
                              • $friendica
                              • $diaspora $diasnote
                              • $statusnet
                              • +
                              • $emailnet

                              +

                              +$invite_desc +

                              +

                              +$desc +

                              diff --git a/view/dfrn_request.tpl b/view/dfrn_request.tpl index cd98a4daa..d8aa8b181 100755 --- a/view/dfrn_request.tpl +++ b/view/dfrn_request.tpl @@ -7,7 +7,11 @@ $page_desc
                            • $friendica
                            • $diaspora $diasnote
                            • $statusnet
                            • +
                            • $emailnet
                            +$invite_desc +

                            +

                            $desc

                            From db80ffa0ff0cf796eddede0ab439ffbd0c4e66a3 Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 13 Mar 2012 16:02:20 -0700 Subject: [PATCH 082/153] don't count self in number of contatcs --- mod/contacts.php | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/mod/contacts.php b/mod/contacts.php index 001bf12af..38ca570dd 100755 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -445,7 +445,7 @@ function contacts_content(&$a) { $r = q("SELECT COUNT(*) AS `total` FROM `contact` - WHERE `uid` = %d AND `pending` = 0 $sql_extra $sql_extra2 ", + WHERE `uid` = %d AND `self` = 0 AND `pending` = 0 $sql_extra $sql_extra2 ", intval($_SESSION['uid'])); if(count($r)) { $a->set_pager_total($r[0]['total']); @@ -454,7 +454,7 @@ function contacts_content(&$a) { - $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `pending` = 0 $sql_extra $sql_extra2 ORDER BY `name` ASC LIMIT %d , %d ", + $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `pending` = 0 $sql_extra $sql_extra2 ORDER BY `name` ASC LIMIT %d , %d ", intval($_SESSION['uid']), intval($a->pager['start']), intval($a->pager['itemspage']) @@ -465,8 +465,6 @@ function contacts_content(&$a) { if(count($r)) { foreach($r as $rr) { - if($rr['self']) - continue; switch($rr['rel']) { case CONTACT_IS_FRIEND: From be48fff1570aa1d04e049a6fd1665f4fc9634a62 Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 13 Mar 2012 18:13:03 -0700 Subject: [PATCH 083/153] file as widget and basic filing implementation for duepuntozero,slackr much more work needed - this is just for test/evaluation currently --- include/contact_widgets.php | 29 ++++++++++++++++++++++++++ include/conversation.php | 2 ++ include/text.php | 2 +- mod/filer.php | 23 ++++++++++++++++++++ mod/network.php | 1 + view/fileas_widget.tpl | 12 +++++++++++ view/jot-header.tpl | 12 +++++++++++ view/theme/duepuntozero/file.gif | Bin 0 -> 615 bytes view/theme/duepuntozero/style.css | 23 +++++++++++++++++--- view/theme/duepuntozero/wall_item.tpl | 1 + view/theme/greenzero/file.gif | Bin 0 -> 614 bytes 11 files changed, 101 insertions(+), 4 deletions(-) create mode 100755 mod/filer.php create mode 100755 view/fileas_widget.tpl create mode 100644 view/theme/duepuntozero/file.gif create mode 100644 view/theme/greenzero/file.gif diff --git a/include/contact_widgets.php b/include/contact_widgets.php index caa0572d2..605a3eb78 100755 --- a/include/contact_widgets.php +++ b/include/contact_widgets.php @@ -75,4 +75,33 @@ function networks_widget($baseurl,$selected = '') { )); } +function fileas_widget($baseurl,$selected = '') { + $a = get_app(); + if(! local_user()) + return ''; + + $saved = get_pconfig(local_user(),'system','filetags'); + if(! strlen($saved)) + return; + + $matches = false; + $terms = array(); + $cnt = preg_match_all('/\[(.*?)\]/',$saved,$matches,PREG_SET_ORDER); + if($cnt) { + foreach($matches as $mtch) { + $unescaped = file_tag_decode($mtch[1]); + $terms[] = array('name' => $unescaped,'selected' => (($selected == $unescaped) ? 'selected' : '')); + } + } + + return replace_macros(get_markup_template('fileas_widget.tpl'),array( + '$title' => t('File Selections'), + '$desc' => '', + '$sel_all' => (($selected == '') ? 'selected' : ''), + '$all' => t('Everything'), + '$terms' => $terms, + '$base' => $baseurl, + + )); +} diff --git a/include/conversation.php b/include/conversation.php index 4b2ca316b..a420e9923 100755 --- a/include/conversation.php +++ b/include/conversation.php @@ -572,6 +572,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { 'classundo' => (($item['starred']) ? "" : "hidden"), 'starred' => t('starred'), 'tagger' => t("add tag"), + 'filer' => t("file as"), 'classtagger' => "", ); } @@ -874,6 +875,7 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) { '$vidurl' => t("Please enter a video link/URL:"), '$audurl' => t("Please enter an audio link/URL:"), '$term' => t('Tag term:'), + '$fileas' => t('File as:'), '$whereareu' => t('Where are you right now?'), '$title' => t('Enter a title for this item') )); diff --git a/include/text.php b/include/text.php index 2663bdeba..c44b4d178 100644 --- a/include/text.php +++ b/include/text.php @@ -1294,7 +1294,7 @@ function file_tag_save_file($uid,$item,$file) { if(count($r)) { if(! stristr($r[0]['file'],'[' . file_tag_encode($file) . ']')) q("update item set file = '%s' where id = %d and uid = %d limit 1", - dbesc($r[0]['file'] . '[' . $file_tag_encode($file) . ']'), + dbesc($r[0]['file'] . '[' . file_tag_encode($file) . ']'), intval($item), intval($uid) ); diff --git a/mod/filer.php b/mod/filer.php new file mode 100755 index 000000000..a9e213536 --- /dev/null +++ b/mod/filer.php @@ -0,0 +1,23 @@ +argc > 1) ? notags(trim($a->argv[1])) : 0); + + logger('filer: tag ' . $term . ' item ' . $item_id); + + if($item_id && strlen($term)) + file_tag_save_file(local_user(),$item_id,$term); + + killme(); +} diff --git a/mod/network.php b/mod/network.php index 7e7a95841..4f58fc4fb 100755 --- a/mod/network.php +++ b/mod/network.php @@ -46,6 +46,7 @@ function network_init(&$a) { $a->page['aside'] .= group_side('network','network',true,$group_id); $a->page['aside'] .= networks_widget($a->get_baseurl() . '/network',(x($_GET, 'nets') ? $_GET['nets'] : '')); $a->page['aside'] .= saved_searches($search); + $a->page['aside'] .= fileas_widget($a->get_baseurl() . '/network',(x($_GET, 'file') ? $_GET['file'] : '')); } diff --git a/view/fileas_widget.tpl b/view/fileas_widget.tpl new file mode 100755 index 000000000..54fba7435 --- /dev/null +++ b/view/fileas_widget.tpl @@ -0,0 +1,12 @@ +
                            +

                            $title

                            +
                            $desc
                            + + + +
                            diff --git a/view/jot-header.tpl b/view/jot-header.tpl index d6b172b6a..88df73494 100755 --- a/view/jot-header.tpl +++ b/view/jot-header.tpl @@ -262,6 +262,18 @@ function enableOnUser(){ } } + function itemFiler(id) { + reply = prompt("$fileas"); + if(reply && reply.length) { + commentBusy = true; + $('body').css('cursor', 'wait'); + $.get('filer/' + id + '?term=' + reply); + if(timer) clearTimeout(timer); + timer = setTimeout(NavUpdate,3000); + liking = 1; + } + } + function jotClearLocation() { $('#jot-coord').val(''); $('#profile-nolocation-wrapper').hide(); diff --git a/view/theme/duepuntozero/file.gif b/view/theme/duepuntozero/file.gif new file mode 100644 index 0000000000000000000000000000000000000000..7885b998d578d4523103e1f5dfbcd8133a7f0fe7 GIT binary patch literal 615 zcmZ?wbhEHb6krfwIF`)7#xKb(Aj2uD!Xs-asNo`J94_scC*xeG;M1rUF;y*cx?0ps z_2^mZF>^Fx=V~P{*G^rfleShbd#hf~c7uYwhQ)`B%8nbAoir{#Wm{SZR^k3H=J{9Jm=JO-lh4xYs&@q)(f6(7rfdp`gC0M@46J&eJQBta!B9h@CjEU zCtit~bTwx3)z~T5;-_9qoOUf~`t_6<*HdTSNS}2hbM}p#xi@p?-O8VTt6<^nlEt^n zm)@yZcDHury{0wy+t)wn*zmAxdicePqc2w-f4Szw%e5z8tv~f@)0x*>&c5Dp;q9)AZ+BmMxA*e9{a4-{xcdI^ z^$$mHd^mpV!>KzTPv8A?_TH!S_doro4N&~a!pOx?&!EEq1fV!!U_a7O-_+dF+SU>! zFQMYz-Xh@HBp)OYX*7MhPg@W#w~=pBQbN3eZz~TMmqFs9_?SQ)4OK-ssb;;n#j&A* zd-rW?(vFUgwX!ldG1S#kSCW^J(hQGrGYyNp5g8E{5^SNR78+&d5VFtD$HU2(Cq_BY z%_KY^(BH??#leP8tzN;;s4bxJl1t}A1>2$$i-f1=+Y}7fSVT6ZoamP|_An?=&^XL3 nuk6%xBcZXWg@e6|V^=`pp=K5i9uWlt2ZjcQz9KFz76xkoO@B#U literal 0 HcmV?d00001 diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css index acd97eb94..10ddb0090 100755 --- a/view/theme/duepuntozero/style.css +++ b/view/theme/duepuntozero/style.css @@ -309,7 +309,7 @@ div.wall-item-content-wrapper.shiny { margin-bottom: 10px; } -.group-selected, .nets-selected { +.group-selected, .nets-selected, .fileas-selected { padding: 3px; -moz-border-radius: 3px; border-radius: 3px; @@ -1024,6 +1024,10 @@ input#dfrn-url { float: left; } +.filer-item { + margin-left: 10px; + float: left; +} .wall-item-links-wrapper { float: left; @@ -1864,11 +1868,11 @@ a.mail-list-link { margin-top: 10px; } -.nets-ul { +.nets-ul, .fileas-ul { list-style-type: none; } -.nets-ul li { +.nets-ul li, .fileas-ul li { margin-top: 10px; } @@ -1879,6 +1883,14 @@ a.mail-list-link { margin-left: 42px; } +.fileas-link { + margin-left: 24px; +} + +.fileas-all { + margin-left: 0px; +} + #search-save { margin-left: 5px; } @@ -2902,6 +2914,11 @@ aside input[type='text'] { .tagged { background-position: -48px -48px; } +.filer-icon { + display: block; width: 16px; height: 16px; + background-image: url('file.gif'); +} + .icon.dim { opacity: 0.3;filter:alpha(opacity=30); } .attachtype { diff --git a/view/theme/duepuntozero/wall_item.tpl b/view/theme/duepuntozero/wall_item.tpl index 51e36b6f4..2c88fc598 100755 --- a/view/theme/duepuntozero/wall_item.tpl +++ b/view/theme/duepuntozero/wall_item.tpl @@ -56,6 +56,7 @@ {{ if $item.star }} + {{ endif }}
                            diff --git a/view/theme/greenzero/file.gif b/view/theme/greenzero/file.gif new file mode 100644 index 0000000000000000000000000000000000000000..e388a13c0b99d0afa18c2fb51a90610923cb6917 GIT binary patch literal 614 zcmZ?wbhEHb6krfwI2OvlF38Fu!p0@V!LQ0AY9c7@BBmTJqY^2rnXY6|u5MVVVN|1O zRHtcNuVvP*YtgM|J=xG^ilN;sV~6>sjtfnl7MnRQGk0EY?z-C2b&aLlI!pHr)*hRz zJvLi=Zng2+Ve7ry&S$T^-+l-G{fKja;G*eCjkf9#QfgkvFz$3jz% zN2DH)Og|BwaUv%BR6^eApq}v;FC&ozJ%HdbV}X^X+?| z@7VWz=fM|y4!_)Y^wq%=uaBI5bNt-fQ~w7VDE?$&@$@$$FP^Yppll?vo%ZL41t4=Oe}0%0ul-g4h-%VtgK87)&N@+JAVKG literal 0 HcmV?d00001 From de017d1ed76500c01fd11c8e1d36cf4ebd70172d Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 13 Mar 2012 19:27:52 -0700 Subject: [PATCH 084/153] sort inbox by recently replied conversations first --- mod/message.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod/message.php b/mod/message.php index 37f92e8d9..65f692f3d 100755 --- a/mod/message.php +++ b/mod/message.php @@ -194,7 +194,7 @@ function message_content(&$a) { $r = q("SELECT max(`mail`.`created`) AS `mailcreated`, min(`mail`.`seen`) AS `mailseen`, `mail`.* , `contact`.`name`, `contact`.`url`, `contact`.`thumb` , `contact`.`network` FROM `mail` LEFT JOIN `contact` ON `mail`.`contact-id` = `contact`.`id` - WHERE `mail`.`uid` = %d AND `from-url` $eq '%s' GROUP BY `parent-uri` ORDER BY `created` DESC LIMIT %d , %d ", + WHERE `mail`.`uid` = %d AND `from-url` $eq '%s' GROUP BY `parent-uri` ORDER BY `mailcreated` DESC LIMIT %d , %d ", intval(local_user()), dbesc($myprofile), intval($a->pager['start']), From 1ae740535d8a5b455395d51c01adef74e9dbb1ae Mon Sep 17 00:00:00 2001 From: Tony Baldwin Date: Tue, 13 Mar 2012 23:05:04 -0400 Subject: [PATCH 085/153] added slack-NS, non-scrolly, slackr-based theme. --- view/theme/slack-NS/style.css | 51 +++++++++++++++++++++++++++++++++++ view/theme/slack-NS/theme.php | 51 +++++++++++++++++++++++++++++++++++ 2 files changed, 102 insertions(+) create mode 100755 view/theme/slack-NS/style.css create mode 100755 view/theme/slack-NS/theme.php diff --git a/view/theme/slack-NS/style.css b/view/theme/slack-NS/style.css new file mode 100755 index 000000000..82bceeac8 --- /dev/null +++ b/view/theme/slack-NS/style.css @@ -0,0 +1,51 @@ +@import url('../duepuntozero/style.css'); + +.wall-item-content-wrapper { + border: none; +} + +.wall-item-content-wrapper.comment { + background: #ffffff !important; + border-left: 1px solid #EEE; +} + +.wall-item-tools { + background: none; +} + +.wall-item-content { + max-height: 20000px; + overflow: none; +} + +.comment-edit-text-empty, .comment-edit-text-full { + border: none; + border-left: 1px solid #EEE; + background: #EEEEEE; +} + +.comment-edit-wrapper, .comment-wwedit-wrapper { + background: #ffffff !important; +} + +section { + margin: 0px 32px; +} + +aside { + margin-left: 32px; +} +nav { + margin-left: 32px; + margin-right: 32px; +} + +nav #site-location { + top: 80px; + right: 36px; +} + +.wall-item-photo, .photo, .contact-block-img, .my-comment-photo { + border-radius: 3px; + -moz-border-radius: 3px; +} diff --git a/view/theme/slack-NS/theme.php b/view/theme/slack-NS/theme.php new file mode 100755 index 000000000..ceec4dd97 --- /dev/null +++ b/view/theme/slack-NS/theme.php @@ -0,0 +1,51 @@ +theme_info = array( + 'extends' => 'duepuntozero', +); + +$a->page['htmlhead'] .= <<< EOT + +EOT; From 4972d7ef6ee740f6eb09d8c7efa9a76ee40973c1 Mon Sep 17 00:00:00 2001 From: friendica Date: Tue, 13 Mar 2012 20:46:37 -0700 Subject: [PATCH 086/153] more work on filer, comment level and file tag removal --- include/conversation.php | 32 +++++++++++++---------- include/oembed.php | 5 +++- include/text.php | 9 ++++--- mod/filerm.php | 21 +++++++++++++++ view/theme/duepuntozero/style.css | 4 +-- view/theme/duepuntozero/wall_item.tpl | 6 +++-- view/theme/duepuntozero/wallwall_item.tpl | 3 +++ 7 files changed, 57 insertions(+), 23 deletions(-) create mode 100644 mod/filerm.php diff --git a/include/conversation.php b/include/conversation.php index a420e9923..117127a28 100755 --- a/include/conversation.php +++ b/include/conversation.php @@ -560,25 +560,28 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { ); $star = false; + $filer = false; + $isstarred = "unstarred"; - if ($profile_owner == local_user() && $toplevelpost) { - $isstarred = (($item['starred']) ? "starred" : "unstarred"); + if ($profile_owner == local_user()) { + if($toplevelpost) { + $isstarred = (($item['starred']) ? "starred" : "unstarred"); - $star = array( - 'do' => t("add star"), - 'undo' => t("remove star"), - 'toggle' => t("toggle star status"), - 'classdo' => (($item['starred']) ? "hidden" : ""), - 'classundo' => (($item['starred']) ? "" : "hidden"), - 'starred' => t('starred'), - 'tagger' => t("add tag"), - 'filer' => t("file as"), - 'classtagger' => "", - ); + $star = array( + 'do' => t("add star"), + 'undo' => t("remove star"), + 'toggle' => t("toggle star status"), + 'classdo' => (($item['starred']) ? "hidden" : ""), + 'classundo' => (($item['starred']) ? "" : "hidden"), + 'starred' => t('starred'), + 'tagger' => t("add tag"), + 'classtagger' => "", + ); + } + $filer = t("file as"); } - $photo = $item['photo']; $thumb = $item['thumb']; @@ -672,6 +675,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) { 'edpost' => $edpost, 'isstarred' => $isstarred, 'star' => $star, + 'filer' => $filer, 'drop' => $drop, 'vote' => $likebuttons, 'like' => $like, diff --git a/include/oembed.php b/include/oembed.php index 52068efc7..cc71f9757 100755 --- a/include/oembed.php +++ b/include/oembed.php @@ -1,6 +1,6 @@ /',$item['file'],$matches,PREG_SET_ORDER); if($cnt) { - logger('prepare_text: categories: ' . print_r($matches,true), LOGGER_DEBUG); +// logger('prepare_text: categories: ' . print_r($matches,true), LOGGER_DEBUG); foreach($matches as $mtch) { if(strlen($x)) $x .= ','; @@ -931,11 +932,11 @@ function prepare_body($item,$attach = false) { $x = ''; $cnt = preg_match_all('/\[(.*?)\]/',$item['file'],$matches,PREG_SET_ORDER); if($cnt) { - logger('prepare_text: filed_under: ' . print_r($matches,true), LOGGER_DEBUG); +// logger('prepare_text: filed_under: ' . print_r($matches,true), LOGGER_DEBUG); foreach($matches as $mtch) { if(strlen($x)) - $x .= ','; - $x .= file_tag_decode($mtch[1]); + $x .= '   '; + $x .= file_tag_decode($mtch[1]). ' ' . t('[remove]') . ''; } if(strlen($x) && (local_user() == $item['uid'])) $s .= '
                            ' . t('Filed under:') . ' ' . $x . '
                            '; diff --git a/mod/filerm.php b/mod/filerm.php new file mode 100644 index 000000000..66b684dc9 --- /dev/null +++ b/mod/filerm.php @@ -0,0 +1,21 @@ +argc > 1) ? notags(trim($a->argv[1])) : 0); + + logger('filerm: tag ' . $term . ' item ' . $item_id); + + if($item_id && strlen($term)) + file_tag_unsave_file(local_user(),$item_id,$term); + + if(x($_SESSION,'return_url')) + goaway($a->get_baseurl() . '/' . $_SESSION['return_url']); + + killme(); +} diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css index 10ddb0090..b79b00ef4 100755 --- a/view/theme/duepuntozero/style.css +++ b/view/theme/duepuntozero/style.css @@ -2615,12 +2615,12 @@ aside input[type='text'] { margin-top: 10px; } -.body-tag { +.body-tag, .filesavetags { opacity: 0.5; filter:alpha(opacity=50); } -.body-tag:hover { +.body-tag:hover, .filesavetags:hover { opacity: 1.0 !important; filter:alpha(opacity=100) !important; } diff --git a/view/theme/duepuntozero/wall_item.tpl b/view/theme/duepuntozero/wall_item.tpl index 2c88fc598..6cb018b7b 100755 --- a/view/theme/duepuntozero/wall_item.tpl +++ b/view/theme/duepuntozero/wall_item.tpl @@ -56,9 +56,11 @@ {{ if $item.star }} - {{ endif }} - + {{ if $item.filer }} + + {{ endif }} +
                            {{ if $item.drop.dropping }}{{ endif }}
                            diff --git a/view/theme/duepuntozero/wallwall_item.tpl b/view/theme/duepuntozero/wallwall_item.tpl index 211906c93..c37bcb4a2 100755 --- a/view/theme/duepuntozero/wallwall_item.tpl +++ b/view/theme/duepuntozero/wallwall_item.tpl @@ -61,6 +61,9 @@ {{ endif }} + {{ if $item.filer }} + + {{ endif }}
                            {{ if $item.drop.dropping }}{{ endif }} From 975781d3e23e6beb2ac86b191c7c12b7347c1705 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Wed, 14 Mar 2012 01:05:08 -0400 Subject: [PATCH 087/153] massive work done to both dispys, mostly -dark Signed-off-by: Simon L'nu --- view/theme/dispy-dark/icons.png | Bin 19513 -> 29024 bytes view/theme/dispy-dark/icons.svg | 50 +++--- view/theme/dispy-dark/nav.tpl | 16 +- view/theme/dispy-dark/photo_view.tpl | 2 +- view/theme/dispy-dark/profile_vcard.tpl | 10 +- view/theme/dispy-dark/style.css | 207 ++++++++++++++---------- view/theme/dispy-dark/theme.php | 46 +++++- view/theme/dispy/style.css | 3 +- view/theme/dispy/theme.php | 41 ++++- 9 files changed, 247 insertions(+), 128 deletions(-) diff --git a/view/theme/dispy-dark/icons.png b/view/theme/dispy-dark/icons.png index eb84b8d8e7ad56e28ae5360cb13d4e98e352dbcc..648811373a41b2328cd76eb596adf0a02a15187a 100644 GIT binary patch literal 29024 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

                            I=1NS{N(A%g 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 H=0X1l9mi^o literal 19513 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 IN5iiC4{1nb9RL6T diff --git a/view/theme/dispy-dark/icons.svg b/view/theme/dispy-dark/icons.svg index 05a00d93c..10f8cc667 100644 --- a/view/theme/dispy-dark/icons.svg +++ b/view/theme/dispy-dark/icons.svg @@ -51,9 +51,9 @@ borderopacity="1.0" inkscape:pageopacity="0" inkscape:pageshadow="2" - inkscape:zoom="1.9403009" - inkscape:cx="100.08061" - inkscape:cy="113.21269" + inkscape:zoom="1.3859292" + inkscape:cx="105.02551" + inkscape:cy="107.90767" inkscape:document-units="px" inkscape:current-layer="layer1" showgrid="true" @@ -107,7 +107,7 @@ image/svg+xml - + @@ -572,7 +572,7 @@ inkscape:connector-curvature="0" id="rect4428-4" d="m 118.03127,895.15627 0,0.3125 c 0,1.2601 -0.0643,3.4345 -0.35937,5.75 l -1.5625,1e-4 c -0.80183,0.011 -1.64766,4.0737 -1.60938,8.0625 l 8.25,0 c -0.057,-5.5479 1.56902,-11.5211 1.75,-5.6563 0.21453,6.9525 1.74237,-5.1823 1.75,-8.4687 z" - style="fill:none;stroke:#1a1a1a;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" /> + style="fill:none;stroke:#e6e6e6;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" /> + style="fill:none;stroke:#e6e6e6;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" /> + style="fill:none;stroke:#e6e6e6;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" /> + style="fill:none;stroke:#e6e6e6;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" /> + style="fill:none;stroke:#e6e6e6;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" /> + style="fill:none;stroke:#e6e6e6;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" /> + style="fill:none;stroke:#e6e6e6;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" /> + style="fill:none;stroke:#e6e6e6;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" /> + style="fill:none;stroke:#e6e6e6;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" /> + style="fill:none;stroke:#e6e6e6;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" /> + style="fill:none;stroke:#e6e6e6;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" /> + style="fill:none;stroke:#e6e6e6;stroke-width:0.5;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none;display:inline" /> {{ endif }} -{{ if $userinfo }} -

                            -{{ endif }} - {{ if $nav.contacts }}
                          • $nav.contacts.1
                          • {{ endif }} @@ -94,6 +86,14 @@ works -->
    +{{ if $userinfo }} + +{{ endif }} +
    {{ if $nav.home }} diff --git a/view/theme/dispy-dark/photo_view.tpl b/view/theme/dispy-dark/photo_view.tpl index 4582751c6..f1209ec58 100644 --- a/view/theme/dispy-dark/photo_view.tpl +++ b/view/theme/dispy-dark/photo_view.tpl @@ -17,7 +17,7 @@
    -
    $desc
    +
    $desc
    {{ if $tags }}
    $tags.0
    $tags.1
    diff --git a/view/theme/dispy-dark/profile_vcard.tpl b/view/theme/dispy-dark/profile_vcard.tpl index 0c289d982..5cb567f5a 100644 --- a/view/theme/dispy-dark/profile_vcard.tpl +++ b/view/theme/dispy-dark/profile_vcard.tpl @@ -6,13 +6,17 @@
    $profile.pdesc
    {{ endif }}
    - $profile.name + $profile.name +
    + +
    +
    {{ if $location }}
    $location -
    +
    {{ if $profile.address }}
    $profile.address
    {{ endif }} $profile.zip @@ -20,7 +24,7 @@ $profile.region $profile.postal-code {{ if $profile.country-name }}$profile.country-name{{ endif }} -
    +
    {{ endif }} diff --git a/view/theme/dispy-dark/style.css b/view/theme/dispy-dark/style.css index 7a57628b9..c590042f1 100644 --- a/view/theme/dispy-dark/style.css +++ b/view/theme/dispy-dark/style.css @@ -520,11 +520,13 @@ nav #nav-notifications-linkmenu.on .icon.s22.notify, nav #nav-notifications-link position: fixed; left: 28px; bottom: 6px; + z-index: 10; } #language-selector { position: fixed; bottom: 2px; left: 52px; + z-index: 10; } .menu-popup { position: absolute; @@ -810,6 +812,9 @@ aside #viewcontacts { border-bottom: 0; padding: 5px; } +#profile-jot-net { + margin: 5px 0; +} #jot-preview-link { margin: 0 0 0 10px; border: 0; @@ -831,12 +836,12 @@ aside #viewcontacts { background-color: #555753; height: 22px; width: 20px; - -webkit-border-radius: 5px 0px 0px 5px; - -moz-border-radius: 5px 0px 0px 5px; - border-radius: 5px 0px 0px 5px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; overflow: hidden; border: 0px; - margin: 0 -4px 0 10px; + margin: 0 10px 0 10px; } #profile-jot-plugin-wrapper { width: 1px; @@ -854,23 +859,21 @@ aside #viewcontacts { height: 22px; background-color: #555753; color: #eeeeec; - -webkit-border-radius: 0 5px 5px 0; - -moz-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; border: 0; margin: 0; float: right; } -#jot-perms-icons { - background-color: #555753; +#jot-perms-icon { height: 22px; width: 20px; - -webkit-border-radius: 0 5px 5px 0; - -moz-border-radius: 0 5px 5px 0; - border-radius: 0 5px 5px 0; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; overflow: hidden; border: 0; - margin: 0 0 0 94.4%; } #profile-jot-acl-wrapper { margin: 0 10px; @@ -916,7 +919,8 @@ aside #viewcontacts { color: #cccccc; } #profile-jot-desc { - color: #a00; + color: #ff2000; + margin: 5px 0; } #jot-title-wrapper { margin-bottom: 5px; @@ -1503,20 +1507,26 @@ div[id$="wrapper"] br { } .mail-list-sender-name { display: inline; + font-size: 1.1em; } .mail-list-date { display: inline; - font-size: 0.8em; + font-size: 0.9em; padding-left: 10px; } +.mail-list-sender-name, .mail-list-date { + font-style: italic; +} .mail-list-subject { - font-size: 1.5em; + font-size: 1.2em; + font-weight: bold; } .mail-list-delete-wrapper { float: right; } .mail-list-outside-wrapper-end { clear: both; + border-bottom: 1px #eec dotted; } .mail-conv-sender { float: left; @@ -1734,11 +1744,21 @@ div[id$="wrapper"] br { margin: 30px 0px; } .profile-edit-side-div { - margin: 5px 2px 0 0; + background: #2e2f2e; + border-radius: 5px 5px 0 0; + width: 175px; + height: 20px; + position: relative; + margin: -25px -30px 0px 0px; + display: none; +} +.profile-edit-side-div:hover { + /*margin: 0px 0px 0px 0px;*/ + display: inline; } .profile-edit-side-link { - margin: 0 20px -18px 0; - float: right; + margin: 0 0px 0px 155px; + /*float: right;*/ } .profile-listing { float: left; @@ -1749,6 +1769,9 @@ div[id$="wrapper"] br { padding: 0; list-style: none; } +.marital { + margin-top: 5px; +} #register-sitename { display: inline; font-weight: bold; @@ -1970,6 +1993,9 @@ div[id$="wrapper"] br { background: #88a9d2; font-weight: bold; } +.group-selected:hover, .nets-selected:hover { + color: #2e2f2e; +} .groupsideedit { margin-right: 10px; } @@ -2115,11 +2141,16 @@ div[id$="wrapper"] br { width: 16px; height: 16px; } #adminpage table tr:hover { - background-color:#bbc7d7; + color: #2e2f2e; + background-color: #eec; } #adminpage .selectall { text-align: right; } +#adminpage #users a { + color: #2e2f2e; + text-decoration: underline; +} /** * Form fields @@ -2397,7 +2428,7 @@ div[id$="wrapper"] br { background-position: -70px -40px; } .unlock { - background-position: -90px -40px; + background-position: -88px -40px; } .video { background-position: -110px -40px; @@ -2481,8 +2512,8 @@ footer { } #profile-jot-text { height: 20px; - color: #666; - border: 1px solid #ccc; + color: #eec; + border: 1px solid #eec; border-radius: 5px; width: 99.5%; } @@ -2493,113 +2524,117 @@ footer { #photos-upload-permissions-wrapper, #profile-jot-acl-wrapper { display: block !important; + background: #2e2f2e; + color: #eec; } #acl-wrapper { - width: 690px; - float: left; + width: 660px; + margin: 0 auto; } #acl-search { float: right; background: #fff url("../../../images/search_18.png") no-repeat right center; padding-right: 20px; + margin: 6px; } #acl-showall { - float:left; - display:block; - width:auto; - height:18px; - background-color:#CCC; - background-image:url("../../../images/show_all_off.png"); - background-position:7px 7px; - background-repeat:no-repeat; - padding:7px 10px 7px 30px; - -webkit-border-radius:5px; - -moz-border-radius:5px; - border-radius:5px; - color:#999; + float: left; + display: block; + width: auto; + height: 18px; + background: #eec url("../../../images/show_all_off.png") 8px 8px no-repeat; + padding: 7px 10px 7px 30px; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + color: #999; + margin: 5px 0; } #acl-showall.selected { - color:#000; - background-color:#F90; - background-image:url(../../../images/show_all_on.png); + color: #000; + background: #f90 url(../../../images/show_all_on.png) 8px 8px no-repeat; } #acl-list { - height:210px; - border:1px solid #ccc; - clear:both; - margin-top:30px; - overflow:auto; -} -#acl-list-content { + height: 210px; + border: 1px solid #ccc; + clear: both; + margin-top: 30px; + overflow: auto; } +/*#acl-list-content {*/ +/*}*/ .acl-list-item { - display:block; - width:150px; - height:30px; - border:1px solid #ccc; - margin:5px; - float:left; + border: 1px solid #eec; + display: block; + float: left; + height: 110px; + margin: 3px 0 5px 5px; + width: 120px; } .acl-list-item img { - width:22px; - height:22px; - float:left; - margin:4px; + width: 22px; + height: 22px; + float: left; + margin: 5px 5px 20px; } .acl-list-item p { height: 12px; font-size: 10px; - margin: 0; + margin: 0 0 22px; padding: 2px 0 1px; } .acl-list-item a { - font-size:8px; - display:block; - width:40px; - height:10px; - float:left; - color:#999; - background-color:#CCC; - background-position:3px 3px; - background-repeat:no-repeat; - margin-right:5px; - -webkit-border-radius:2px; - -moz-border-radius:2px; - border-radius:2px; - padding-left:15px; + background: #eec 3px 3px no-repeat; + -webkit-border-radius: 2px; + -moz-border-radius: 2px; + border-radius: 2px; + clear: both; + font-size: 10px; + display: block; + width: 55px; + height: 20px; + color: #2e2f2e; + margin: 5px auto 0; + padding: 0 3px; + text-align: center; + vertical-align: middle; } #acl-wrapper a:hover { - text-decoration:none; - color:#000; + text-decoration: none; + color: #2e2f2e; + border: 0; } .acl-button-show { - background-image:url('../../../images/show_off.png'); + background-image: url('../../../images/show_off.png'); + margin: 0 auto; } .acl-button-hide { - background-image:url('../../../images/hide_off.png'); + background-image: url('../../../images/hide_off.png'); + margin: 0 auto; } .acl-button-show.selected { - color:#000; - background-color:#9ade00; - background-image:url(../../../images/show_on.png); + color: #2e2f2e; + background-color: #9ade00; + background-image: url(../../../images/show_on.png); } .acl-button-hide.selected { - color:#000; - background-color:#ff4141; - background-image:url(../../../images/hide_on.png); + color: #2e2f2e; + background-color: #ff4141; + background-image: url(../../../images/hide_on.png); } .acl-list-item.groupshow { - border-color:#9ade00; + border-color: #9ade00; } .acl-list-item.grouphide { - border-color:#ff4141; + border-color: #ff4141; } /** /acl **/ /* autocomplete popup */ .acpopup { - max-height: 150px; + max-height: 175px; + max-width: 42%; background-color: #555753; color: #fff; overflow: auto; diff --git a/view/theme/dispy-dark/theme.php b/view/theme/dispy-dark/theme.php index a7aec1c1a..6f8243058 100644 --- a/view/theme/dispy-dark/theme.php +++ b/view/theme/dispy-dark/theme.php @@ -1,5 +1,17 @@ theme_info = array(); + +/* + * Name: Dispy Dark + * Description: Dispy Dark, Friendica theme + * Version: 0.9 + * Author: Simon + * Maintainer: Simon + */ + + +$a->theme_info = array( + 'extends' => 'dispy-dark' +); $a->page['htmlhead'] .= <<< EOT EOT; -$a->page['footer'] .= <<theme_info = array(); + +/* + * Name: Dispy + * Description: Dispy, Friendica theme + * Version: 0.9 + * Author: unknown + * Maintainer: Simon + */ + + +$a->theme_info = array( + 'extends' => 'dispy' +); $a->page['htmlhead'] .= <<< EOT + EOT; $a->page['footer'] .= << Date: Tue, 13 Mar 2012 23:52:13 -0700 Subject: [PATCH 088/153] addon settings form error --- mod/network.php | 2 +- mod/settings.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mod/network.php b/mod/network.php index 4f58fc4fb..e9f3913ff 100755 --- a/mod/network.php +++ b/mod/network.php @@ -192,7 +192,7 @@ function network_content(&$a, $update = 0) { 'sel'=>$starred_active, ), array( - 'label' => t('Bookmarks'), + 'label' => t('Shared Links'), 'url'=>$a->get_baseurl() . '/' . str_replace('/new', '', $a->cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '') . '&bmark=1', 'sel'=>$bookmarked_active, ), diff --git a/mod/settings.php b/mod/settings.php index f42fdb397..15fd0c352 100755 --- a/mod/settings.php +++ b/mod/settings.php @@ -559,7 +559,7 @@ function settings_content(&$a) { $tpl = get_markup_template("settings_addons.tpl"); $o .= replace_macros($tpl, array( - '$form_security_token' => get_form_security_token("settings_addons"), + '$form_security_token' => get_form_security_token("settings_addon"), '$title' => t('Plugin Settings'), '$tabs' => $tabs, '$settings_addons' => $settings_addons From 509532d168bf716eb24e030ab59476a88ab91571 Mon Sep 17 00:00:00 2001 From: Alexander Kampmann Date: Wed, 14 Mar 2012 12:30:52 +0100 Subject: [PATCH 089/153] get_tags tests corrected. They test for the right things now. --- mod/item.php | 13 ++- tests/get_tags_test.php | 243 +++++++++++++++++++++++++++++++--------- 2 files changed, 195 insertions(+), 61 deletions(-) diff --git a/mod/item.php b/mod/item.php index 0ff7f6a7c..e4336b974 100755 --- a/mod/item.php +++ b/mod/item.php @@ -425,7 +425,7 @@ function item_post(&$a) { if(count($tags)) { foreach($tags as $tag) { - handle_tag($body, $inform, $str_tags, $profile_uid, $tag); + handle_tag($a, $body, $inform, $str_tags, $profile_uid, $tag); } } @@ -830,7 +830,7 @@ function item_content(&$a) { * @param unknown_type $profile_uid * @param unknown_type $tag the tag to replace */ -function handle_body(&$body, &$inform, &$str_tags, $profile_uid, $tag) { +function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) { //is it a hash tag? if(strpos($tag,'#') === 0) { //if the tag is replaced... @@ -851,7 +851,7 @@ function handle_body(&$body, &$inform, &$str_tags, $profile_uid, $tag) { $str_tags .= ','; $str_tags .= $newtag; } - continue; + return; } //is it a person tag? if(strpos($tag,'@') === 0) { @@ -887,14 +887,15 @@ function handle_body(&$body, &$inform, &$str_tags, $profile_uid, $tag) { //get the id $tagcid = intval(substr($newname,strrpos($newname,'+') + 1)); //remove the next word from tag's name - if(strpos($name,' ')) - $name = substr($name,0,strpos($name,' ')); + if(strpos($name,' ')) { + $name = substr($name,0,strpos($name,' ')); + } } if($tagcid) { //if there was an id //select contact with that id from the logged in user's contact list $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($tagcid), - intval($profile_uid) + intval($profile_uid) ); } elseif(strstr($name,'_') || strstr($name,' ')) { //no id //get the real name diff --git a/tests/get_tags_test.php b/tests/get_tags_test.php index ee2daced1..bde2db7d0 100644 --- a/tests/get_tags_test.php +++ b/tests/get_tags_test.php @@ -1,14 +1,41 @@ 15, 'attag'=>'', 'network'=>'dfrn', 'name'=>'Mike Lastname', 'alias'=>'Mike', @@ -16,48 +43,59 @@ function q($sql) { $args=func_get_args(); - $str=""; - foreach($args as $arg) { - $str.=", ".$arg; - } - //last parameter is always (in this test) uid, so, it should be 11 if($args[count($args)-1]!=11) { - throw new Exception("q from get_tags_test was used and uid was not 11. "); + return; } - if(2==count($args)) { + + if(3==count($args)) { //first call in handle_body, id only - if($result[0]['id']===$args[1]) { + if($result[0]['id']==$args[1]) { return $result; } - throw new Exception($str); //second call in handle_body, name if($result[0]['name']===$args[1]) { return $result; } } - throw new Exception($str); //third call in handle_body, nick or attag if($result[0]['nick']===$args[2] || $result[0]['attag']===$args[1]) { return $result; } -// throw new Exception("Nothing fitted: ".$args[1].", ".$args[2]); } +/** + * replacement for dbesc. + * I don't want to test dbesc here, so + * I just return the input. It won't be a problem, because + * the test does not use a real database. + * + * DON'T USE HAT FUNCTION OUTSIDE A TEST! + * + * @param string $str + * @return input + */ function dbesc($str) { return $str; } -class GetTagsTest extends PHPUnit_Framework_TestCase { - +/** + * TestCase for tag handling. + * + * @author alexander + * @package test.util + */ +class GetTagsTest extends PHPUnit_Framework_TestCase { + /** the mock to use as app */ + private $a; + + /** + * initialize the test. That's a phpUnit function, + * don't change its name. + */ public function setUp() { - set_include_path( - get_include_path() . PATH_SEPARATOR - . 'include' . PATH_SEPARATOR - . 'library' . PATH_SEPARATOR - . 'library/phpsec' . PATH_SEPARATOR - . '.' ); + $this->a=new MockApp(); } /** @@ -70,10 +108,54 @@ class GetTagsTest extends PHPUnit_Framework_TestCase { $inform=''; $str_tags=''; - handle_body($text, $inform, $str_tags, 11, $tags[0]); - - $this->assertEquals("@Mike", $tags[0]); + foreach($tags as $tag) { + handle_tag($this->a, $text, $inform, $str_tags, 11, $tag); + } + + //correct tags found? + $this->assertEquals(1, count($tags)); + $this->assertTrue(in_array("@Mike", $tags)); + + //correct output from handle_tag? + $this->assertEquals("cid:15", $inform); + $this->assertEquals("@[url=http://justatest.de]Mike Lastname[/url]", $str_tags); $this->assertEquals("hi @[url=http://justatest.de]Mike Lastname[/url]", $text); + } + + /** + * test with one Person tag. + * There's a minor spelling mistake... + */ + public function testGetTagsShortPersonSpelling() { + $text="hi @Mike.because"; + + $tags=get_tags($text); + + //correct tags found? + $this->assertEquals(1, count($tags)); + $this->assertTrue(in_array("@Mike.because", $tags)); + + $inform=''; + $str_tags=''; + handle_tag($this->a, $text, $inform, $str_tags, 11, $tags[0]); + + $this->assertEquals("cid:15", $inform); + $this->assertEquals("@[url=http://justatest.de]Mike Lastname[/url]", $str_tags); + $this->assertEquals("hi @[url=http://justatest.de]Mike Lastname[/url].because", $text); + } + + /** + * test with two Person tags. + * There's a minor spelling mistake... + */ + public function testGetTagsPerson2Spelling() { + $text="hi @Mike@campino@friendica.eu"; + + $tags=get_tags($text); + + $this->assertEquals(2, count($tags)); + $this->assertTrue(in_array("@Mike", $tags)); + $this->assertTrue(in_array("@campino@friendica.eu", $tags)); } /** @@ -83,8 +165,9 @@ class GetTagsTest extends PHPUnit_Framework_TestCase { $text="This is a #test_case"; $tags=get_tags($text); - - $this->assertEquals("#test_case", $tags[0]); + + $this->assertEquals(1, count($tags)); + $this->assertTrue(in_array("#test_case", $tags)); } /** @@ -95,13 +178,21 @@ class GetTagsTest extends PHPUnit_Framework_TestCase { $tags=get_tags($text); - $inform=''; - $str_tags=''; - handle_body($text, $inform, $str_tags, 11, $tags[0]); - - $this->assertEquals("hi @[url=http://justatest.de]Mike[/url] This is a #test_case", $text); - $this->assertEquals("@Mike", $tags[0]); - $this->assertEquals("#test_case", $tags[1]); + $this->assertEquals(3, count($tags)); + $this->assertTrue(in_array("@Mike", $tags)); + $this->assertTrue(in_array("@Mike This", $tags)); + $this->assertTrue(in_array("#test_case", $tags)); + + $inform=''; + $str_tags=''; + foreach($tags as $tag) { + handle_tag($this->a, $text, $inform, $str_tags, 11, $tag); + } + + $this->assertEquals("cid:15", $inform); + $this->assertEquals("@[url=http://justatest.de]Mike Lastname[/url],#[url=baseurl/search?search=test%20case]test case[/url]", $str_tags); + $this->assertEquals("hi @[url=http://justatest.de]Mike Lastname[/url] This is a #[url=baseurl/search?search=test%20case]test case[/url]", $text); + } /** @@ -112,8 +203,9 @@ class GetTagsTest extends PHPUnit_Framework_TestCase { $tags=get_tags($text); - $this->assertEquals("@Mike", $tags[0]); - $this->assertEquals("#test_case", $tags[1]); + $this->assertEquals(2, count($tags)); + $this->assertTrue(in_array("@Mike", $tags)); + $this->assertTrue(in_array("#test_case", $tags)); } /** @@ -123,10 +215,45 @@ class GetTagsTest extends PHPUnit_Framework_TestCase { $text="@Test I saw the Theme Dev group was created."; $tags=get_tags($text); - - $this->assertEquals("@Test", $tags[0]); + + $this->assertEquals(2, count($tags)); + $this->assertTrue(in_array("@Test I", $tags)); + $this->assertTrue(in_array("@Test", $tags)); } + /** + * this test demonstrates strange behaviour by intval. + * It makes the next test fail. + */ + public function testIntval() { + $this->assertEquals(15, intval("15 it")); + } + + /** + * test a tag with an id in it + */ + public function testIdTag() { + $text="Test with @mike+15 id tag"; + + $tags=get_tags($text); + + $this->assertEquals(2, count($tags)); + $this->assertTrue(in_array("@mike+15", $tags)); + + //happens right now, but it shouldn't be necessary + $this->assertTrue(in_array("@mike+15 id", $tags)); + + $inform=''; + $str_tags=''; + foreach($tags as $tag) { + handle_tag($this->a, $text, $inform, $str_tags, 11, $tag); + } + + $this->assertEquals("Test with @[url=http://justatest.de]Mike Lastname[/url] id tag", $text); + $this->assertEquals("@[url=http://justatest.de]Mike Lastname[/url]", $str_tags); + $this->assertEquals("cid:15", $inform); + } + /** * test with two persons and one special tag. */ @@ -135,11 +262,13 @@ class GetTagsTest extends PHPUnit_Framework_TestCase { ." so @somebody@friendica.com may change #things."; $tags=get_tags($text); - - $this->assertEquals("@Mike", $tags[0]); - $this->assertEquals("#test_cases", $tags[1]); - $this->assertEquals("@somebody@friendica.com", $tags[2]); - $this->assertEquals("#things", $tags[3]); + + $this->assertEquals(5, count($tags)); + $this->assertTrue(in_array("@Mike", $tags)); + $this->assertTrue(in_array("#test_cases", $tags)); + $this->assertTrue(in_array("@somebody@friendica.com", $tags)); + $this->assertTrue(in_array("@somebody@friendica.com may", $tags)); + $this->assertTrue(in_array("#things", $tags)); } /** @@ -156,19 +285,23 @@ class GetTagsTest extends PHPUnit_Framework_TestCase { $tags=get_tags($text); - $this->assertEquals("@Mike", $tags[0]); - $this->assertEquals("#test_cases", $tags[1]); - $this->assertEquals("@somebody@friendica.com", $tags[2]); - $this->assertEquals("#things", $tags[3]); - $this->assertEquals("#pitfalls", $tags[4]); - $this->assertEquals("#tags", $tags[5]); - $this->assertEquals("@comment", $tags[6]); - $this->assertEquals("@fullstops", $tags[7]); - $this->assertEquals("#things", $tags[8]); - $this->assertEquals("@Mike", $tags[9]); - $this->assertEquals("@campino@friendica.eu", $tags[10]); - $this->assertEquals("#nice", $tags[11]); - $this->assertEquals("@first_last", $tags[12]); + $this->assertTrue(in_array("@Mike", $tags)); + $this->assertTrue(in_array("#test_cases", $tags)); + $this->assertTrue(in_array("@somebody@friendica.com", $tags)); + $this->assertTrue(in_array("#things", $tags)); + $this->assertTrue(in_array("#pitfalls", $tags)); + $this->assertTrue(in_array("#tags", $tags)); + $this->assertTrue(in_array("@comment", $tags)); + $this->assertTrue(in_array("@fullstops.because", $tags)); + $this->assertTrue(in_array("#things", $tags)); + $this->assertTrue(in_array("@Mike", $tags)); + $this->assertTrue(in_array("#nice", $tags)); + $this->assertTrue(in_array("@first_last", $tags)); + + //right now, none of the is matched + $this->assertFalse(in_array("@Mike@campino@friendica.eu", $tags)); + $this->assertTrue(in_array("@campino@friendica.eu", $tags)); + $this->assertTrue(in_array("@campino@friendica.eu is", $tags)); } /** From c0c98206ef322b3d175d5348d37e8d0b5fca140b Mon Sep 17 00:00:00 2001 From: Alexander Kampmann Date: Wed, 14 Mar 2012 12:31:25 +0100 Subject: [PATCH 090/153] removed done TODO --- tests/get_tags_test.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/tests/get_tags_test.php b/tests/get_tags_test.php index bde2db7d0..9051923be 100644 --- a/tests/get_tags_test.php +++ b/tests/get_tags_test.php @@ -281,8 +281,7 @@ class GetTagsTest extends PHPUnit_Framework_TestCase { ."@comment. I hope noone forgets about @fullstops.because that might" ." break #things. @Mike@campino@friendica.eu is also #nice, isn't it? " ."Now, add a @first_last tag. "; - //TODO check whether this are all variants (no, auto-stuff is missing). - + $tags=get_tags($text); $this->assertTrue(in_array("@Mike", $tags)); From 42462cc1f00cd0d2e637ff3ddb62b30ae4a645c6 Mon Sep 17 00:00:00 2001 From: tommy tomson Date: Wed, 14 Mar 2012 12:50:11 +0100 Subject: [PATCH 091/153] add links to home, profile, photos, events, notes to aside in network-stream --- view/theme/diabook-blue/profile_side.tpl | 19 +++++++++++ view/theme/diabook-blue/style.css | 41 ++++++++++++++++++++++++ view/theme/diabook-blue/theme.php | 36 +++++++++++++++++++++ view/theme/diabook/profile_side.tpl | 19 +++++++++++ view/theme/diabook/style.css | 40 +++++++++++++++++++++-- view/theme/diabook/theme.php | 37 +++++++++++++++++++++ 6 files changed, 189 insertions(+), 3 deletions(-) create mode 100644 view/theme/diabook-blue/profile_side.tpl create mode 100644 view/theme/diabook/profile_side.tpl diff --git a/view/theme/diabook-blue/profile_side.tpl b/view/theme/diabook-blue/profile_side.tpl new file mode 100644 index 000000000..595684bf5 --- /dev/null +++ b/view/theme/diabook-blue/profile_side.tpl @@ -0,0 +1,19 @@ + + + \ No newline at end of file diff --git a/view/theme/diabook-blue/style.css b/view/theme/diabook-blue/style.css index 93307153f..514314049 100644 --- a/view/theme/diabook-blue/style.css +++ b/view/theme/diabook-blue/style.css @@ -874,6 +874,41 @@ ul.menu-popup .empty { padding: 7px 7px 0px 0px; } +/*profile_side*/ +#profile_side { + margin-bottom: 30px; +} +#ps-usericon{ + height: 25px + } +#ps-username{ + font-size: 1.17em; + font-weight: bold; + vertical-align: top; + position: absolute; + padding-top: 4px; + padding-left: 5px; + } +#ps-username:hover{ + text-decoration: none; + } +.menu-profile-side{ + list-style: none; + padding-left: 16px; + min-height: 16px; + } +.menu-profile-list{ + height: auto; + overflow: auto; + padding-top: 3px; + padding-bottom: 3px; + } +.menu-profile-list:hover{ + background: #EEE; + } +.menu-profile-list-item:hover{ + text-decoration: none; + } /* aside */ aside { display: table-cell; @@ -1879,6 +1914,12 @@ ul.tabs li .active { float: left; } /* photo */ +.photo { +box-shadow: 2px 2px 5px 0px #000000; +margin: 2px 5px 2px 5px; +max-height: 85%; +max-width: 85%; +} .lframe { float: left; margin: 0px 10px 10px 0px; diff --git a/view/theme/diabook-blue/theme.php b/view/theme/diabook-blue/theme.php index e5aa710c7..75abb2fdf 100755 --- a/view/theme/diabook-blue/theme.php +++ b/view/theme/diabook-blue/theme.php @@ -11,6 +11,42 @@ $a->theme_info = array( 'extends' => 'diabook', ); +//profile_side + + + +$nav['usermenu']=array(); +$userinfo = null; + +if(local_user()) { + + + +$r = q("SELECT micro FROM contact WHERE uid=%d AND self=1", intval($a->user['uid'])); + +$userinfo = array( + 'icon' => (count($r) ? $r[0]['micro']: $a->get_baseurl()."/images/default-profile-mm.jpg"), + 'name' => $a->user['username'], + ); + +$ps['usermenu'][status] = Array('profile/' . $a->user['nickname'], t('Home'), "", t('Your posts and conversations')); +$ps['usermenu'][profile] = Array('profile/' . $a->user['nickname']. '?tab=profile', t('Profile'), "", t('Your profile page')); +$ps['usermenu'][photos] = Array('photos/' . $a->user['nickname'], t('Photos'), "", t('Your photos')); +$ps['usermenu'][events] = Array('events/', t('Events'), "", t('Your events')); +$ps['usermenu'][notes] = Array('notes/', t('Personal notes'), "", t('Your personal photos')); + + +if($is_url = preg_match ("/\bnetwork\b/i", $_SERVER['REQUEST_URI'])) { +$tpl = get_markup_template('profile_side.tpl'); + +$a->page['aside'] .= replace_macros($tpl, array( + '$userinfo' => $userinfo, + '$ps' => $ps, + )); +} +} + +//js scripts $a->page['htmlhead'] .= <<< EOT "; $f = get_config('system','birthday_input_format'); @@ -425,7 +425,7 @@ function profiles_content(&$a) { '$lbl_work' => t('Work/employment'), '$lbl_school' => t('School/education'), '$disabled' => (($is_default) ? 'onclick="return false;" style="color: #BBBBFF;"' : ''), - '$baseurl' => $a->get_baseurl(), + '$baseurl' => $a->get_baseurl(true), '$profile_id' => $r[0]['id'], '$profile_name' => $r[0]['profile-name'], '$default' => (($is_default) ? '

    ' . t('This is your public profile.
    It may be visible to anybody using the internet.') . '

    ' : ""), @@ -489,7 +489,7 @@ function profiles_content(&$a) { '$alt' => t('Profile Image'), '$profile_name' => $rr['profile-name'], '$visible' => (($rr['is-default']) ? '' . t('visible to everybody') . '' - : '' . t('Edit visibility') . '') + : '' . t('Edit visibility') . '') )); } } diff --git a/mod/settings.php b/mod/settings.php index 15fd0c352..f694b5840 100755 --- a/mod/settings.php +++ b/mod/settings.php @@ -59,7 +59,7 @@ function settings_post(&$a) { q("DELETE FROM tokens WHERE id='%s' AND uid=%d", dbesc($key), local_user()); - goaway($a->get_baseurl()."/settings/oauth/"); + goaway($a->get_baseurl(true)."/settings/oauth/"); return; } @@ -104,7 +104,7 @@ function settings_post(&$a) { local_user()); } } - goaway($a->get_baseurl()."/settings/oauth/"); + goaway($a->get_baseurl(true)."/settings/oauth/"); return; } @@ -411,7 +411,7 @@ function settings_post(&$a) { } - goaway($a->get_baseurl() . '/settings' ); + goaway($a->get_baseurl(true) . '/settings' ); return; // NOTREACHED } @@ -435,27 +435,27 @@ function settings_content(&$a) { $tabs = array( array( 'label' => t('Account settings'), - 'url' => $a->get_baseurl().'/settings', + 'url' => $a->get_baseurl(true).'/settings', 'sel' => (($a->argc == 1)?'active':''), ), array( 'label' => t('Connector settings'), - 'url' => $a->get_baseurl().'/settings/connectors', + 'url' => $a->get_baseurl(true).'/settings/connectors', 'sel' => (($a->argc > 1) && ($a->argv[1] === 'connectors')?'active':''), ), array( 'label' => t('Plugin settings'), - 'url' => $a->get_baseurl().'/settings/addon', + 'url' => $a->get_baseurl(true).'/settings/addon', 'sel' => (($a->argc > 1) && ($a->argv[1] === 'addon')?'active':''), ), array( 'label' => t('Connections'), - 'url' => $a->get_baseurl() . '/settings/oauth', + 'url' => $a->get_baseurl(true) . '/settings/oauth', 'sel' => (($a->argc > 1) && ($a->argv[1] === 'oauth')?'active':''), ), array( 'label' => t('Export personal data'), - 'url' => $a->get_baseurl() . '/uexport', + 'url' => $a->get_baseurl(true) . '/uexport', 'sel' => '' ) ); @@ -517,7 +517,7 @@ function settings_content(&$a) { $r = q("DELETE FROM clients WHERE client_id='%s' AND uid=%d", dbesc($a->argv[3]), local_user()); - goaway($a->get_baseurl()."/settings/oauth/"); + goaway($a->get_baseurl(true)."/settings/oauth/"); return; } @@ -533,7 +533,7 @@ function settings_content(&$a) { $tpl = get_markup_template("settings_oauth.tpl"); $o .= replace_macros($tpl, array( '$form_security_token' => get_form_security_token("settings_oauth"), - '$baseurl' => $a->get_baseurl(), + '$baseurl' => $a->get_baseurl(true), '$title' => t('Connected Apps'), '$add' => t('Add application'), '$edit' => t('Edit'), @@ -789,7 +789,7 @@ function settings_content(&$a) { $theme_selected = (!x($_SESSION,'theme')? $default_theme : $_SESSION['theme']); - $subdir = ((strlen($a->get_path())) ? '
    ' . t('or') . ' ' . $a->get_baseurl() . '/profile/' . $nickname : ''); + $subdir = ((strlen($a->get_path())) ? '
    ' . t('or') . ' ' . $a->get_baseurl(true) . '/profile/' . $nickname : ''); $tpl_addr = get_markup_template("settings_nick_set.tpl"); @@ -819,7 +819,7 @@ function settings_content(&$a) { '$ptitle' => t('Account Settings'), '$submit' => t('Submit'), - '$baseurl' => $a->get_baseurl(), + '$baseurl' => $a->get_baseurl(true), '$uid' => local_user(), '$form_security_token' => get_form_security_token("settings"), From 93a8907f435e1b6ca55fa816ffb81b47a018db03 Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 14 Mar 2012 21:29:44 -0700 Subject: [PATCH 099/153] force login to ssl on SSL_POLICY_SELFSIGN --- boot.php | 18 +++++++++++------- view/login.tpl | 2 +- view/logout.tpl | 2 +- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/boot.php b/boot.php index 22a4e39be..c4cfbe5bf 100755 --- a/boot.php +++ b/boot.php @@ -696,6 +696,7 @@ function get_guid($size=16) { if(! function_exists('login')) { function login($register = false, $hiddens=false) { + $a = get_app(); $o = ""; $reg = false; if ($register) { @@ -715,23 +716,26 @@ function login($register = false, $hiddens=false) { } + $dest_url = $a->get_baseurl(true) . '/' . $a->query_string; $o .= replace_macros($tpl,array( - '$logout' => t('Logout'), - '$login' => t('Login'), + + '$dest_url' => $dest_url, + '$logout' => t('Logout'), + '$login' => t('Login'), '$lname' => array('username', t('Nickname or Email address: ') , '', ''), '$lpassword' => array('password', t('Password: '), '', ''), '$openid' => !$noid, - '$lopenid' => array('openid_url', t('Or login using OpenID: '),'',''), + '$lopenid' => array('openid_url', t('Or login using OpenID: '),'',''), - '$hiddens' => $hiddens, + '$hiddens' => $hiddens, - '$register' => $reg, + '$register' => $reg, - '$lostpass' => t('Forgot your password?'), - '$lostlink' => t('Password Reset'), + '$lostpass' => t('Forgot your password?'), + '$lostlink' => t('Password Reset'), )); call_hooks('login_hook',$o); diff --git a/view/login.tpl b/view/login.tpl index 5349fa3d8..4cbbb1624 100755 --- a/view/login.tpl +++ b/view/login.tpl @@ -1,5 +1,5 @@ - +
    diff --git a/view/logout.tpl b/view/logout.tpl index 6a84a5bbc..efc971df8 100755 --- a/view/logout.tpl +++ b/view/logout.tpl @@ -1,4 +1,4 @@ - +
    From b44533e9fb685bb4b38073a90003d61911e1e24e Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 14 Mar 2012 21:40:36 -0700 Subject: [PATCH 100/153] roll protocol version due to ssl_policy settings --- boot.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boot.php b/boot.php index c4cfbe5bf..04f36093b 100755 --- a/boot.php +++ b/boot.php @@ -10,7 +10,7 @@ require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); define ( 'FRIENDICA_VERSION', '2.3.1281' ); -define ( 'DFRN_PROTOCOL_VERSION', '2.22' ); +define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); define ( 'DB_UPDATE_VERSION', 1131 ); define ( 'EOL', "
    \r\n" ); From b06c5983a4dae26dd24aecd7473bad98558cd6fc Mon Sep 17 00:00:00 2001 From: friendica Date: Wed, 14 Mar 2012 21:58:54 -0700 Subject: [PATCH 101/153] don't allow multiple friends with http/https same person, don't show mail2 coming soon unless person is allowed to have email contacts --- mod/dfrn_request.php | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/mod/dfrn_request.php b/mod/dfrn_request.php index 4acb5c9bb..c2d37dac7 100755 --- a/mod/dfrn_request.php +++ b/mod/dfrn_request.php @@ -77,9 +77,10 @@ function dfrn_request_post(&$a) { * Lookup the contact based on their URL (which is the only unique thing we have at the moment) */ - $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND `url` = '%s' AND `self` = 0 LIMIT 1", + $r = q("SELECT * FROM `contact` WHERE `uid` = %d AND (`url` = '%s' OR `nurl` = '%s') AND `self` = 0 LIMIT 1", intval(local_user()), - dbesc($dfrn_url) + dbesc($dfrn_url), + dbesc(normalise_link($dfrn_url)) ); if(count($r)) { @@ -668,7 +669,21 @@ function dfrn_request_content(&$a) { $page_desc .= t("Please enter your 'Identity Address' from one of the following supported communications networks:"); - $emailnet = t("Connect as an email follower \x28Coming soon\x29"); + // see if we are allowed to have NETWORK_MAIL2 contacts + + $mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1); + if(get_config('system','dfrn_only')) + $mail_disabled = 1; + + if(! $mail_disabled) { + $r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1", + intval($a->profile['uid']) + ); + if(! count($r)) + $mail_disabled = 1; + } + + $emailnet = (($mail_disabled) ? '' : t("Connect as an email follower \x28Coming soon\x29")); $invite_desc = t('If you are not yet a member of the free social web, follow this link to find a public Friendica site and join us today.'); From 6dbee45d92450131bad7a8381a0339a880dacfd9 Mon Sep 17 00:00:00 2001 From: tommy tomson Date: Thu, 15 Mar 2012 08:29:39 +0100 Subject: [PATCH 102/153] add links to wall, photos, events, etc to aside on networkpage, fixes in css --- view/theme/diabook-blue/icons/toogle_off.png | Bin 391 -> 834 bytes view/theme/diabook-blue/icons/toogle_on.png | Bin 429 -> 715 bytes view/theme/diabook-blue/profile_side.tpl | 3 +- view/theme/diabook-blue/style.css | 40 +++++++++++++++---- view/theme/diabook-blue/theme.php | 2 +- view/theme/diabook/icons/toogle_off.png | Bin 391 -> 834 bytes view/theme/diabook/icons/toogle_on.png | Bin 429 -> 715 bytes view/theme/diabook/profile_side.tpl | 3 +- view/theme/diabook/style.css | 38 +++++++++++++++--- view/theme/diabook/theme.php | 9 ++--- 10 files changed, 74 insertions(+), 21 deletions(-) mode change 100755 => 100644 view/theme/diabook-blue/icons/toogle_off.png mode change 100755 => 100644 view/theme/diabook-blue/icons/toogle_on.png mode change 100755 => 100644 view/theme/diabook/icons/toogle_off.png mode change 100755 => 100644 view/theme/diabook/icons/toogle_on.png diff --git a/view/theme/diabook-blue/icons/toogle_off.png b/view/theme/diabook-blue/icons/toogle_off.png old mode 100755 new mode 100644 index 99490bcd956d9ab7359265a6ecd0aa4a6e5d77b8..0fcce4d5abe02fd91f47054311ee2cc6c567eaa3 GIT binary patch delta 750 zcmVVi|K~y-))s#UjgqunmtsnRllyr(QYC_X&pQVSnFY|gZKVIR)neJ2PVVTTDdiF z=ZBy74c2Sljy8v0-afpIt4T~sNe~gFlq?A3LU@f4YOf!8cjoq$3!9+odFS%&?-M2E zJGCUa=++6v^G;wMa^7z6~Meba3xY8L0p;=-7JST=9_2F=I`_c0>B4v z9h~WA`hUz?H_fxckn@3+QWRLA(3aY1j*U!TT3A{;{mH2*{f|%Yv*{b>8jZm-FO7}T z&h1Tf*1Pz1aTzP^_QT1BIQr(>$2xykCwc*YTh}v->t<2<^_d`k;Y)-m9Zw8jVhISf>x!X;y51f_h)T-cG&5r*W*aF_l%8Tyje$cu!>3? zBX~dipMY0CKlx;})BW_pFLO_SnrmbJ_b#;7U*%bLz8_HaOSambODaxoiKL#Sg+;FO g_Vn2gQ@qgj2lFC%_ar^g;{X5v07*qoM6N<$g2`%WssI20 delta 304 zcmV-00nh%z28RQXV1EM-2m;Zz57Phu0S8G$K~y-)y_7o+!axi}Unr0$B50wYp`xIp zTnptG60P#t%WGS&dv-a9+Xjp<5z8)|FX23wU6OaNq zaQWn*SilmvdRodCzeCgowgy}S1#p%YvN``&n5SaNa$o~Yfq%YqDqHT6J}uJ)9f9!0 z!69%k@$sVuq$aZv7y}uQsCj|DGxt1Iq=FV1Et`2`&qpUcvwX0!v9mK~y-))s#y}RB;r>f9F5rj5$6AGc`pk z%I1pVwZ8)D1nu-6vvlu>O8c-77Qy}i_9s{^p@q*X`58f@3Aw_J zwR!VLiKfPvY(0#0o)kJyLEC=F4ng}MWCxLseL{A(YQU&IqPsrO508*YLF|H;16CoC zfK&@)Iv}$hT7UY4L^B#PzBZoxZQT2GsvoDt$w7G;$>D)@0Lju#LF0fCzLn*tgmxy8IiM_aR+hO{_UpTG|Qrq%dvb_*5h*ULRN~crLHuVpG>E4UCP5nLH+bpZ#Up;+rf&X4V0Ovpo9U(9z QwEzGB07*qoM6N<$f;kHy?*IS* delta 342 zcmV-c0jd7W1+4>+V1EM-2OO*+E`I<30WC>HK~y-)z0@&ELqQM*;7=0;ix|N!tstcE z7^0;I2xt@W2sUD&hX`Wj8N7(R!W#r^qA8+9FwbUQSRQ$a8siVc+c!J^zdN(D%O7KH z&fFGSIKWQ$-jJb>kDn~m3E~)e$;L6)`Hs*gdI@=g5r$!-@P8Haz2HRFZm(pBEiU4Nnz2v*=K&+NOqwBApq%SlKq^#vUx& o*ekhuD|sB2e!l+gf&DeU01zaMNb{IjV*mgE07*qoM6N<$g36Me00000 diff --git a/view/theme/diabook-blue/profile_side.tpl b/view/theme/diabook-blue/profile_side.tpl index 595684bf5..01da55ce1 100644 --- a/view/theme/diabook-blue/profile_side.tpl +++ b/view/theme/diabook-blue/profile_side.tpl @@ -8,10 +8,11 @@
    diff --git a/view/theme/diabook-blue/style.css b/view/theme/diabook-blue/style.css index 514314049..bdc79a350 100644 --- a/view/theme/diabook-blue/style.css +++ b/view/theme/diabook-blue/style.css @@ -461,7 +461,7 @@ code { } #panel { position: absolute; - width: 10em; + width: 12em; background: #ffffff; color: #2d2d2d; margin: 0px; @@ -780,8 +780,6 @@ ul.menu-popup { margin: 0px; padding: 0px; list-style: none; - border: 1px solid #364e59; - border-top-color: transparent; z-index: 100000; -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7); -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7); @@ -1922,7 +1920,7 @@ max-width: 85%; } .lframe { float: left; - margin: 0px 10px 10px 0px; + /*margin: 0px 10px 10px 0px;*/ } /* profile match wrapper */ .profile-match-wrapper { @@ -2362,8 +2360,36 @@ float: left; .contact-details { color: #999999; } - -.photo-top-image-wrapper { +#side-bar-photos-albums{ + margin-top: 15px; + } +.photo-top-photo, .photo-album-photo { + -webkit-border-radius: 5px 5px 0 0; + -moz-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.photo-album-image-wrapper, .photo-top-image-wrapper { + float: left; + -moz-box-shadow: 0 0 5px #888; + -webkit-box-shadow: 0 0 5px #888; + box-shadow: 0 0 5px #888; + background-color: #EEE; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + padding-bottom: 20px; + position: relative; + margin: 0 10px 10px 0; +} +.photo-top-album-name { + position: absolute; + bottom: 0; + padding: 0 5px; +} +.photo-top-album-link{ + color: #1872A2; + } +/*.photo-top-image-wrapper { position: relative; float: left; margin-top: 15px; @@ -2379,7 +2405,7 @@ float: left; padding: 0px 3px; padding-top: 0.5em; background-color: rgb(255, 255, 255); -} +}*/ #photo-top-end { clear: both; } diff --git a/view/theme/diabook-blue/theme.php b/view/theme/diabook-blue/theme.php index 75abb2fdf..9093ac2ca 100755 --- a/view/theme/diabook-blue/theme.php +++ b/view/theme/diabook-blue/theme.php @@ -34,7 +34,7 @@ $ps['usermenu'][profile] = Array('profile/' . $a->user['nickname']. '?tab=profil $ps['usermenu'][photos] = Array('photos/' . $a->user['nickname'], t('Photos'), "", t('Your photos')); $ps['usermenu'][events] = Array('events/', t('Events'), "", t('Your events')); $ps['usermenu'][notes] = Array('notes/', t('Personal notes'), "", t('Your personal photos')); - +$ps['usermenu'][community] = Array('community/', t('Community'), "", ""); if($is_url = preg_match ("/\bnetwork\b/i", $_SERVER['REQUEST_URI'])) { $tpl = get_markup_template('profile_side.tpl'); diff --git a/view/theme/diabook/icons/toogle_off.png b/view/theme/diabook/icons/toogle_off.png old mode 100755 new mode 100644 index 99490bcd956d9ab7359265a6ecd0aa4a6e5d77b8..0fcce4d5abe02fd91f47054311ee2cc6c567eaa3 GIT binary patch delta 750 zcmVVi|K~y-))s#UjgqunmtsnRllyr(QYC_X&pQVSnFY|gZKVIR)neJ2PVVTTDdiF z=ZBy74c2Sljy8v0-afpIt4T~sNe~gFlq?A3LU@f4YOf!8cjoq$3!9+odFS%&?-M2E zJGCUa=++6v^G;wMa^7z6~Meba3xY8L0p;=-7JST=9_2F=I`_c0>B4v z9h~WA`hUz?H_fxckn@3+QWRLA(3aY1j*U!TT3A{;{mH2*{f|%Yv*{b>8jZm-FO7}T z&h1Tf*1Pz1aTzP^_QT1BIQr(>$2xykCwc*YTh}v->t<2<^_d`k;Y)-m9Zw8jVhISf>x!X;y51f_h)T-cG&5r*W*aF_l%8Tyje$cu!>3? zBX~dipMY0CKlx;})BW_pFLO_SnrmbJ_b#;7U*%bLz8_HaOSambODaxoiKL#Sg+;FO g_Vn2gQ@qgj2lFC%_ar^g;{X5v07*qoM6N<$g2`%WssI20 delta 304 zcmV-00nh%z28RQXV1EM-2m;Zz57Phu0S8G$K~y-)y_7o+!axi}Unr0$B50wYp`xIp zTnptG60P#t%WGS&dv-a9+Xjp<5z8)|FX23wU6OaNq zaQWn*SilmvdRodCzeCgowgy}S1#p%YvN``&n5SaNa$o~Yfq%YqDqHT6J}uJ)9f9!0 z!69%k@$sVuq$aZv7y}uQsCj|DGxt1Iq=FV1Et`2`&qpUcvwX0!v9mK~y-))s#y}RB;r>f9F5rj5$6AGc`pk z%I1pVwZ8)D1nu-6vvlu>O8c-77Qy}i_9s{^p@q*X`58f@3Aw_J zwR!VLiKfPvY(0#0o)kJyLEC=F4ng}MWCxLseL{A(YQU&IqPsrO508*YLF|H;16CoC zfK&@)Iv}$hT7UY4L^B#PzBZoxZQT2GsvoDt$w7G;$>D)@0Lju#LF0fCzLn*tgmxy8IiM_aR+hO{_UpTG|Qrq%dvb_*5h*ULRN~crLHuVpG>E4UCP5nLH+bpZ#Up;+rf&X4V0Ovpo9U(9z QwEzGB07*qoM6N<$f;kHy?*IS* delta 342 zcmV-c0jd7W1+4>+V1EM-2OO*+E`I<30WC>HK~y-)z0@&ELqQM*;7=0;ix|N!tstcE z7^0;I2xt@W2sUD&hX`Wj8N7(R!W#r^qA8+9FwbUQSRQ$a8siVc+c!J^zdN(D%O7KH z&fFGSIKWQ$-jJb>kDn~m3E~)e$;L6)`Hs*gdI@=g5r$!-@P8Haz2HRFZm(pBEiU4Nnz2v*=K&+NOqwBApq%SlKq^#vUx& o*ekhuD|sB2e!l+gf&DeU01zaMNb{IjV*mgE07*qoM6N<$g36Me00000 diff --git a/view/theme/diabook/profile_side.tpl b/view/theme/diabook/profile_side.tpl index 595684bf5..01da55ce1 100644 --- a/view/theme/diabook/profile_side.tpl +++ b/view/theme/diabook/profile_side.tpl @@ -8,10 +8,11 @@
    diff --git a/view/theme/diabook/style.css b/view/theme/diabook/style.css index df692cbc6..437f323fa 100644 --- a/view/theme/diabook/style.css +++ b/view/theme/diabook/style.css @@ -462,7 +462,7 @@ code { } #panel { position: absolute; - width: 10em; + width: 12em; background: #ffffff; color: #2d2d2d; margin: 0px; @@ -769,8 +769,6 @@ ul.menu-popup { margin: 0px; padding: 0px; list-style: none; - border: 1px solid #364e59; - border-top-color: transparent; z-index: 100000; -webkit-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7); -moz-box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.7); @@ -1904,7 +1902,6 @@ ul.tabs li .active { /* photo */ .lframe { float: left; - margin: 0px 10px 10px 0px; } /* profile match wrapper */ .profile-match-wrapper { @@ -2352,7 +2349,36 @@ float: left; color: #999999; } -.photo-top-image-wrapper { +#side-bar-photos-albums{ + margin-top: 15px; + } +.photo-top-photo, .photo-album-photo { + -webkit-border-radius: 5px 5px 0 0; + -moz-border-radius: 5px 5px 0 0; + border-radius: 5px 5px 0 0; +} +.photo-album-image-wrapper, .photo-top-image-wrapper { + float: left; + -moz-box-shadow: 0 0 5px #888; + -webkit-box-shadow: 0 0 5px #888; + box-shadow: 0 0 5px #888; + background-color: #EEE; + -webkit-border-radius: 5px; + -moz-border-radius: 5px; + border-radius: 5px; + padding-bottom: 20px; + position: relative; + margin: 0 10px 10px 0; +} +.photo-top-album-name { + position: absolute; + bottom: 0; + padding: 0 5px; +} +.photo-top-album-link{ + color: #1872A2; + } +/*.photo-top-image-wrapper { position: relative; float: left; margin-top: 15px; @@ -2368,7 +2394,7 @@ float: left; padding: 0px 3px; padding-top: 0.5em; background-color: rgb(255, 255, 255); -} +}*/ #photo-top-end { clear: both; } diff --git a/view/theme/diabook/theme.php b/view/theme/diabook/theme.php index 9b3ed30b0..9093ac2ca 100755 --- a/view/theme/diabook/theme.php +++ b/view/theme/diabook/theme.php @@ -1,8 +1,8 @@ user['nickname']. '?tab=profil $ps['usermenu'][photos] = Array('photos/' . $a->user['nickname'], t('Photos'), "", t('Your photos')); $ps['usermenu'][events] = Array('events/', t('Events'), "", t('Your events')); $ps['usermenu'][notes] = Array('notes/', t('Personal notes'), "", t('Your personal photos')); - +$ps['usermenu'][community] = Array('community/', t('Community'), "", ""); if($is_url = preg_match ("/\bnetwork\b/i", $_SERVER['REQUEST_URI'])) { $tpl = get_markup_template('profile_side.tpl'); @@ -46,8 +46,7 @@ $a->page['aside'] .= replace_macros($tpl, array( } } -//js script - +//js scripts $a->page['htmlhead'] .= <<< EOT diff --git a/view/theme/dispy-dark/jot-header.tpl b/view/theme/dispy-dark/jot-header.tpl index 43dcdbb84..4c8f59d79 100644 --- a/view/theme/dispy-dark/jot-header.tpl +++ b/view/theme/dispy-dark/jot-header.tpl @@ -114,6 +114,7 @@ function enableOnUser(){ $(this).val(""); initEditor(); } + EOT; diff --git a/view/theme/dispy-dark/wall_item.tpl b/view/theme/dispy-dark/wall_item.tpl index b013cfeef..c67a88635 100644 --- a/view/theme/dispy-dark/wall_item.tpl +++ b/view/theme/dispy-dark/wall_item.tpl @@ -26,11 +26,14 @@ {{ endif }} + {{ if $item.vote }} {{ endif }} diff --git a/view/theme/dispy-dark/wallwall_item.tpl b/view/theme/dispy-dark/wallwall_item.tpl index 86453fad2..f251d7352 100644 --- a/view/theme/dispy-dark/wallwall_item.tpl +++ b/view/theme/dispy-dark/wallwall_item.tpl @@ -31,11 +31,15 @@ {{ endif }} + {{ if $item.vote }} {{ endif }} @@ -63,6 +67,7 @@ {{ endfor }} +
    $item.name diff --git a/view/theme/dispy/theme.php b/view/theme/dispy/theme.php index 75297290c..cbfcb09e6 100644 --- a/view/theme/dispy/theme.php +++ b/view/theme/dispy/theme.php @@ -111,6 +111,3 @@ $(document).ready(function() { }); EOT; - -$a->page['footer'] .= << + {{ endif }} - {{ if $item.filer }} - - {{ endif }} - +
    {{ if $item.drop.dropping }}{{ endif }}
    diff --git a/view/theme/duepuntozero/wallwall_item.tpl b/view/theme/duepuntozero/wallwall_item.tpl index c37bcb4a2..211906c93 100755 --- a/view/theme/duepuntozero/wallwall_item.tpl +++ b/view/theme/duepuntozero/wallwall_item.tpl @@ -61,9 +61,6 @@ {{ endif }} - {{ if $item.filer }} - - {{ endif }}
    {{ if $item.drop.dropping }}{{ endif }} From b5120888cf6e3aac29aa2a8d80bddcab73822e1e Mon Sep 17 00:00:00 2001 From: Michael Vogel Date: Thu, 15 Mar 2012 21:17:51 +0100 Subject: [PATCH 106/153] html2bbcode: Disabled size conversion --- include/html2bbcode.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/include/html2bbcode.php b/include/html2bbcode.php index 0dafecc71..69ccf41b7 100755 --- a/include/html2bbcode.php +++ b/include/html2bbcode.php @@ -142,14 +142,14 @@ function html2bbcode($message) node2bbcode($doc, 'span', array('style'=>'font-style: italic;'), '[i]', '[/i]'); node2bbcode($doc, 'span', array('style'=>'font-weight: bold;'), '[b]', '[/b]'); - node2bbcode($doc, 'font', array('face'=>'/([\w ]+)/', 'size'=>'/(\d+)/', 'color'=>'/(.+)/'), '[font=$1][size=$2][color=$3]', '[/color][/size][/font]'); + /*node2bbcode($doc, 'font', array('face'=>'/([\w ]+)/', 'size'=>'/(\d+)/', 'color'=>'/(.+)/'), '[font=$1][size=$2][color=$3]', '[/color][/size][/font]'); node2bbcode($doc, 'font', array('size'=>'/(\d+)/', 'color'=>'/(.+)/'), '[size=$1][color=$2]', '[/color][/size]'); node2bbcode($doc, 'font', array('face'=>'/([\w ]+)/', 'size'=>'/(.+)/'), '[font=$1][size=$2]', '[/size][/font]'); node2bbcode($doc, 'font', array('face'=>'/([\w ]+)/', 'color'=>'/(.+)/'), '[font=$1][color=$3]', '[/color][/font]'); node2bbcode($doc, 'font', array('face'=>'/([\w ]+)/'), '[font=$1]', '[/font]'); node2bbcode($doc, 'font', array('size'=>'/(\d+)/'), '[size=$1]', '[/size]'); node2bbcode($doc, 'font', array('color'=>'/(.+)/'), '[color=$1]', '[/color]'); - +*/ // Untested //node2bbcode($doc, 'span', array('style'=>'/.*font-size:\s*(.+?)[,;].*font-family:\s*(.+?)[,;].*color:\s*(.+?)[,;].*/'), '[size=$1][font=$2][color=$3]', '[/color][/font][/size]'); //node2bbcode($doc, 'span', array('style'=>'/.*font-size:\s*(\d+)[,;].*/'), '[size=$1]', '[/size]'); @@ -191,13 +191,13 @@ function html2bbcode($message) node2bbcode($doc, 'hr', array(), "[hr]", ""); - //node2bbcode($doc, 'table', array(), "", ""); - //node2bbcode($doc, 'tr', array(), "\n", ""); - //node2bbcode($doc, 'td', array(), "\t", ""); - node2bbcode($doc, 'table', array(), "[table]", "[/table]"); - node2bbcode($doc, 'th', array(), "[th]", "[/th]"); - node2bbcode($doc, 'tr', array(), "[tr]", "[/tr]"); - node2bbcode($doc, 'td', array(), "[td]", "[/td]"); + node2bbcode($doc, 'table', array(), "", ""); + node2bbcode($doc, 'tr', array(), "\n", ""); + node2bbcode($doc, 'td', array(), "\t", ""); + //node2bbcode($doc, 'table', array(), "[table]", "[/table]"); + //node2bbcode($doc, 'th', array(), "[th]", "[/th]"); + //node2bbcode($doc, 'tr', array(), "[tr]", "[/tr]"); + //node2bbcode($doc, 'td', array(), "[td]", "[/td]"); node2bbcode($doc, 'h1', array(), "\n\n[size=xx-large][b]", "[/b][/size]\n"); node2bbcode($doc, 'h2', array(), "\n\n[size=x-large][b]", "[/b][/size]\n"); From eee2eed5882336dbae92f0ac799f87999e9a5d98 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Thu, 15 Mar 2012 17:25:22 -0400 Subject: [PATCH 107/153] Merge branch 'master', remote-tracking branch 'remotes/upstream/master' * remotes/upstream/master: * master: From 5c75d40c0b6bee04d8c58a6f88ecbbe34684874a Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Thu, 15 Mar 2012 17:27:06 -0400 Subject: [PATCH 108/153] fixed the sidebar edit thingy. haven't synced dispy yet. Signed-off-by: Simon L'nu --- view/theme/dispy-dark/profile_vcard.tpl | 35 ++++++++++++------------- view/theme/dispy-dark/style.css | 16 ++++++----- 2 files changed, 27 insertions(+), 24 deletions(-) diff --git a/view/theme/dispy-dark/profile_vcard.tpl b/view/theme/dispy-dark/profile_vcard.tpl index 6228e4f28..350a6ce4a 100644 --- a/view/theme/dispy-dark/profile_vcard.tpl +++ b/view/theme/dispy-dark/profile_vcard.tpl @@ -1,24 +1,23 @@
    -
    $profile.name
    - - {{ if $profile.edit }} -
    - - $profile.edit.1 - -
    - {{ endif }} + {{ if $profile.edit }} +
    + + $profile.edit.1 +
    + {{ endif }} + +
    $profile.name
    {{ if $pdesc }}
    $profile.pdesc
    diff --git a/view/theme/dispy-dark/style.css b/view/theme/dispy-dark/style.css index 2dc21817a..6ab0c7921 100644 --- a/view/theme/dispy-dark/style.css +++ b/view/theme/dispy-dark/style.css @@ -694,7 +694,7 @@ aside #viewcontacts { margin: 30px 0px; } .ttright { - margin: 0px 0px 0px 5px; + margin: 0px 0px 0px 0px; } /** @@ -835,6 +835,7 @@ aside #viewcontacts { border: 0; text-decoration: none; float: right; + cursor: pointer; } #profile-jot-perms { float: right; @@ -1702,7 +1703,6 @@ div[id$="wrapper"] br { } - /** * register, settings & profile forms */ @@ -1767,21 +1767,25 @@ div[id$="wrapper"] br { /*margin: 3px 0px 0px 70px;*/ /*}*/ #profiles-menu-trigger { - width: 100px; + margin: 0px 0px 0px 25px; } .profile-listing { float: left; margin: 20px 20px 0px 0px; } .icon-profile-edit { - background: url("icons.png") no-repeat scroll -150px 0px transparent; - border: 0 none; + background: url("icons.png") -150px 0px no-repeat; + border: 0; + cursor: pointer; display: block; float: right; + width: 20px; height: 20px; margin: 0 0 -18px; + position: absolute; text-decoration: none; - cursor: pointer; + top: 18px; + right: 226px; } #profile-edit-links ul { margin: 20px 0; From 7684f63ecdfce560f24475630144f6058df15ca9 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 15 Mar 2012 16:38:26 -0700 Subject: [PATCH 109/153] track whether contact is a community page or not --- boot.php | 4 ++-- database.sql | 2 ++ include/items.php | 5 +++++ mod/dfrn_confirm.php | 6 ++++++ mod/dfrn_notify.php | 12 ++++++++---- update.php | 7 ++++++- 6 files changed, 29 insertions(+), 7 deletions(-) diff --git a/boot.php b/boot.php index 04f36093b..86da3cd2e 100755 --- a/boot.php +++ b/boot.php @@ -9,9 +9,9 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '2.3.1281' ); +define ( 'FRIENDICA_VERSION', '2.3.1282' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); -define ( 'DB_UPDATE_VERSION', 1131 ); +define ( 'DB_UPDATE_VERSION', 1132 ); define ( 'EOL', "
    \r\n" ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); diff --git a/database.sql b/database.sql index 35c257f02..5f69a1d00 100755 --- a/database.sql +++ b/database.sql @@ -92,6 +92,7 @@ CREATE TABLE IF NOT EXISTS `contact` ( `blocked` tinyint(1) NOT NULL DEFAULT '1', `readonly` tinyint(1) NOT NULL DEFAULT '0', `writable` tinyint(1) NOT NULL DEFAULT '0', + `forum` tinyint(1) NOT NULL DEFAULT '0', `hidden` tinyint(1) NOT NULL DEFAULT '0', `pending` tinyint(1) NOT NULL DEFAULT '1', `rating` tinyint(1) NOT NULL DEFAULT '0', @@ -116,6 +117,7 @@ CREATE TABLE IF NOT EXISTS `contact` ( KEY `dfrn-id` (`dfrn-id`), KEY `blocked` (`blocked`), KEY `readonly` (`readonly`), + KEY `forum` (`forum`), KEY `hidden` (`hidden`), KEY `pending` (`pending`), KEY `closeness` (`closeness`) diff --git a/include/items.php b/include/items.php index 4b1523ff6..68acb45f9 100755 --- a/include/items.php +++ b/include/items.php @@ -1048,6 +1048,7 @@ function dfrn_deliver($owner,$contact,$atom, $dissolve = false) { $ssl_val = intval(get_config('system','ssl_policy')); $ssl_policy = ''; + switch($ssl_val){ case SSL_POLICY_FULL: $ssl_policy = 'full'; @@ -1092,6 +1093,7 @@ function dfrn_deliver($owner,$contact,$atom, $dissolve = false) { $challenge = hex2bin((string) $res->challenge); $dfrn_version = (float) (($res->dfrn_version) ? $res->dfrn_version : 2.0); $rino_allowed = ((intval($res->rino) === 1) ? 1 : 0); + $page = (($owner['page-flags'] == PAGE_COMMUNITY) ? 1 : 0); $final_dfrn_id = ''; @@ -1135,6 +1137,9 @@ function dfrn_deliver($owner,$contact,$atom, $dissolve = false) { $postvars['ssl_policy'] = $ssl_policy; + if($page) + $postvars['page'] = '1'; + if($rino && $rino_allowed && (! $dissolve)) { $key = substr(random_string(),0,16); $data = bin2hex(aes_encrypt($postvars['data'],$key)); diff --git a/mod/dfrn_confirm.php b/mod/dfrn_confirm.php index 0bc3ea7df..2f4fb7045 100644 --- a/mod/dfrn_confirm.php +++ b/mod/dfrn_confirm.php @@ -207,6 +207,9 @@ function dfrn_confirm_post(&$a,$handsfree = null) { if($duplex == 1) $params['duplex'] = 1; + if($user['page-flags'] == PAGE_COMMUNITY) + $params['page'] = 1; + logger('dfrn_confirm: Confirm: posting data to ' . $dfrn_confirm . ': ' . print_r($params,true), LOGGER_DATA); /** @@ -522,6 +525,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) { $source_url = ((x($_POST,'source_url')) ? hex2bin($_POST['source_url']) : ''); $aes_key = ((x($_POST,'aes_key')) ? $_POST['aes_key'] : ''); $duplex = ((x($_POST,'duplex')) ? intval($_POST['duplex']) : 0 ); + $page = ((x($_POST,'page')) ? intval($_POST['page']) : 0 ); $version_id = ((x($_POST,'dfrn_version')) ? (float) $_POST['dfrn_version'] : 2.0); logger('dfrn_confirm: requestee contacted: ' . $node); @@ -677,6 +681,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) { `blocked` = 0, `pending` = 0, `duplex` = %d, + `forum` = %d, `network` = '%s' WHERE `id` = %d LIMIT 1 ", dbesc($photos[0]), @@ -687,6 +692,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) { dbesc(datetime_convert()), dbesc(datetime_convert()), intval($duplex), + intval($page), dbesc(NETWORK_DFRN), intval($dfrn_record) ); diff --git a/mod/dfrn_notify.php b/mod/dfrn_notify.php index 3dbdc5b32..71860ac3b 100755 --- a/mod/dfrn_notify.php +++ b/mod/dfrn_notify.php @@ -15,6 +15,7 @@ function dfrn_notify_post(&$a) { $dissolve = ((x($_POST,'dissolve')) ? intval($_POST['dissolve']) : 0); $perm = ((x($_POST,'perm')) ? notags(trim($_POST['perm'])) : 'r'); $ssl_policy = ((x($_POST,'ssl_policy')) ? notags(trim($_POST['ssl_policy'])): 'none'); + $page = ((x($_POST,'page')) ? intval($_POST['page']) : 0); $writable = (-1); if($dfrn_version >= 2.21) { @@ -87,12 +88,15 @@ function dfrn_notify_post(&$a) { $importer = $r[0]; - if(($writable != (-1)) && ($writable != $importer['writable'])) { - q("UPDATE `contact` SET `writable` = %d WHERE `id` = %d LIMIT 1", - intval($writable), + if((($writable != (-1)) && ($writable != $importer['writable'])) || ($importer['forum'] != $page)) { + q("UPDATE `contact` SET `writable` = %d, forum = %d WHERE `id` = %d LIMIT 1", + intval(($writable == (-1)) ? $importer['writable'] : $writable), + intval($page), intval($importer['id']) ); - $importer['writable'] = $writable; + if($writable != (-1)) + $importer['writable'] = $writable; + $importer['forum'] = $page; } // if contact's ssl policy changed, update our links diff --git a/update.php b/update.php index c29394b48..6a685a6ff 100755 --- a/update.php +++ b/update.php @@ -1,6 +1,6 @@ Date: Fri, 16 Mar 2012 03:49:43 +0100 Subject: [PATCH 110/153] added icons to profile_side, fixes in css --- view/theme/diabook-blue/icons/com_side.png | Bin 0 -> 680 bytes view/theme/diabook-blue/icons/events.png | Bin 0 -> 663 bytes view/theme/diabook-blue/icons/home.png | Bin 0 -> 722 bytes view/theme/diabook-blue/icons/mess_side.png | Bin 0 -> 664 bytes view/theme/diabook-blue/icons/notes.png | Bin 0 -> 739 bytes view/theme/diabook-blue/icons/pubgroups.png | Bin 0 -> 710 bytes view/theme/diabook-blue/photo_album.tpl | 7 +++ view/theme/diabook-blue/photo_top.tpl | 7 +++ view/theme/diabook-blue/photo_view.tpl | 2 +- view/theme/diabook-blue/profile_side.tpl | 12 ++--- view/theme/diabook-blue/style.css | 52 ++++++++++++++++++-- view/theme/diabook-blue/theme.php | 13 +++-- view/theme/diabook/style.css | 7 +-- view/theme/diabook/wall_item.tpl | 7 +-- view/theme/diabook/wallwall_item.tpl | 11 ++--- 15 files changed, 86 insertions(+), 32 deletions(-) create mode 100644 view/theme/diabook-blue/icons/com_side.png create mode 100644 view/theme/diabook-blue/icons/events.png create mode 100644 view/theme/diabook-blue/icons/home.png create mode 100644 view/theme/diabook-blue/icons/mess_side.png create mode 100644 view/theme/diabook-blue/icons/notes.png create mode 100644 view/theme/diabook-blue/icons/pubgroups.png create mode 100755 view/theme/diabook-blue/photo_album.tpl create mode 100755 view/theme/diabook-blue/photo_top.tpl diff --git a/view/theme/diabook-blue/icons/com_side.png b/view/theme/diabook-blue/icons/com_side.png new file mode 100644 index 0000000000000000000000000000000000000000..bc5969ef1afd41f0cfba08f51a0ac17356e60c3f GIT binary patch literal 680 zcmV;Z0$2TsP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyY? z0Rkbx3`0-=00JmUL_t(I%k9#=Z&Fbh2Jq)S_k-KZ1#T4r@^xEjWNEvYK;oo}sYAEM zq3K3oHHI`Dn;1778dLuQ{WDD6YBZ7>gG~UVKm(>GG`&!IODX5LD-CpTF@469_x$qa zJO{YWzYa}0SO#PPD2yS)3@ry>7N9BaIPA^G~#Tg@6?w7#SGGYWL(F?X~!*~Yxj6(t_byC0;WYDIx*FHs_d z>adTk)(4Dl9yubC_du#c$gS6%b&u*`|91x z$4@RRpN%-1CB*@C>%{$Ta1z)#K7_E7NQKj4zt*O4=q0~`rsPNrvfl%4g&-LkJU$cm zX&$EJrE;T%ap>ss9EUpF1!&7d49o=#&NLKCyO=v#L#!RW^i8kxALTa>E5j@Pn;_Hx O0000 literal 0 HcmV?d00001 diff --git a/view/theme/diabook-blue/icons/events.png b/view/theme/diabook-blue/icons/events.png new file mode 100644 index 0000000000000000000000000000000000000000..4a0b3f3f11316265ad45472244094c3fbc27147d GIT binary patch literal 663 zcmV;I0%-k-P)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyY? z067OPaYLd200I|DL_t(I%k7j+OB+!XhMzl`8BGSXGpW?p)x_=se$Z*9BgdJX%NV_=NVB&JC#O|bzxpT`0kaZKN~>1mC5 zGbeX}|FE$Sj~^LE^Q>HE-*tH!hP-MvQCgEk5kFj)Q_JFQqrtPwODx&R43Es#EIpBK`&^S4Pxw-o@HaZ<>w-FJ@GLEZN_O`YN&(En>tL$uUl7pLmyN$ZK zVyNTYmWWU+7U_1oc%DbE*JEa8hJL?K6h-JeBKT_*gJ8#T07#OAcDv2^_&Bv%4G|%V zB9v0Yft6Cfhebpbfa5s$zR%Ru6k2Oar4pS^hitP=_j5V0w84ZHw6Fy002ovPDHLkV1n4c9mD_t literal 0 HcmV?d00001 diff --git a/view/theme/diabook-blue/icons/home.png b/view/theme/diabook-blue/icons/home.png new file mode 100644 index 0000000000000000000000000000000000000000..be47a48fc3638b94385eec044d6373e056890b09 GIT binary patch literal 722 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 + + $imgalt +

    $desc

    +
    +
    +
    diff --git a/view/theme/diabook-blue/photo_top.tpl b/view/theme/diabook-blue/photo_top.tpl new file mode 100755 index 000000000..98ac9c457 --- /dev/null +++ b/view/theme/diabook-blue/photo_top.tpl @@ -0,0 +1,7 @@ + + diff --git a/view/theme/diabook-blue/photo_view.tpl b/view/theme/diabook-blue/photo_view.tpl index 511fc73ac..902c2a0ed 100755 --- a/view/theme/diabook-blue/photo_view.tpl +++ b/view/theme/diabook-blue/photo_view.tpl @@ -12,7 +12,7 @@
    {{ if $prevlink }}{{ endif }} - + {{ if $nextlink }}{{ endif }}
    diff --git a/view/theme/diabook-blue/profile_side.tpl b/view/theme/diabook-blue/profile_side.tpl index 01da55ce1..a65677696 100644 --- a/view/theme/diabook-blue/profile_side.tpl +++ b/view/theme/diabook-blue/profile_side.tpl @@ -7,12 +7,12 @@
    diff --git a/view/theme/diabook-blue/style.css b/view/theme/diabook-blue/style.css index bdc79a350..738dde0e5 100644 --- a/view/theme/diabook-blue/style.css +++ b/view/theme/diabook-blue/style.css @@ -891,22 +891,47 @@ ul.menu-popup .empty { text-decoration: none; } .menu-profile-side{ - list-style: none; - padding-left: 16px; - min-height: 16px; + list-style: none; + padding-left: 0px; + min-height: 0px; } .menu-profile-list{ height: auto; overflow: auto; padding-top: 3px; padding-bottom: 3px; + padding-left: 16px; + min-height: 16px; + list-style: none; } .menu-profile-list:hover{ background: #EEE; } +.menu-profile-list-item{ + padding-left: 5px; + } .menu-profile-list-item:hover{ - text-decoration: none; + text-decoration: none; } +/*http://prothemedesign.com/circular-icons/*/ +.menu-profile-list.home{ + background: url("../../../view/theme/diabook-blue/icons/home.png") no-repeat; + } +.menu-profile-list.photos{ + background: url("../../../view/theme/diabook-blue/icons/mess_side.png") no-repeat; + } +.menu-profile-list.events{ + background: url("../../../view/theme/diabook-blue/icons/events.png") no-repeat; + } +.menu-profile-list.notes{ + background: url("../../../view/theme/diabook-blue/icons/notes.png") no-repeat; + } +.menu-profile-list.foren{ + background: url("../../../view/theme/diabook-blue/icons/pubgroups.png") no-repeat; + } +.menu-profile-list.com_side{ + background: url("../../../view/theme/diabook-blue/icons/com_side.png") no-repeat; + } /* aside */ aside { display: table-cell; @@ -1066,6 +1091,16 @@ aside #side-peoplefind-url { min-height: 16px; list-style: none; } +#side-bar-photos-albums li{ +list-style-type: disc; +} +#side-bar-photos-albums ul li{ + margin-left: 30px; + padding-left: 0px; + } +#side-bar-photos-albums ul li a{ + color: #1872A2; +} .widget .tool.selected { background: url("../../../view/theme/diabook-blue/icons/selected.png") no-repeat left center; } @@ -2207,6 +2242,9 @@ a.mail-list-link { .calendar { font-family: Courier, monospace; } +.calendar.eventcal a { + color: #1872A2; + } .today { font-weight: bold; color: #FF0000; @@ -2380,6 +2418,9 @@ float: left; padding-bottom: 20px; position: relative; margin: 0 10px 10px 0; + overflow: hidden; + float: left; + position: relative; } .photo-top-album-name { position: absolute; @@ -2388,6 +2429,9 @@ float: left; } .photo-top-album-link{ color: #1872A2; + } +.photo-top-album-img{ + } /*.photo-top-image-wrapper { position: relative; diff --git a/view/theme/diabook-blue/theme.php b/view/theme/diabook-blue/theme.php index 9093ac2ca..f9128ea1f 100755 --- a/view/theme/diabook-blue/theme.php +++ b/view/theme/diabook-blue/theme.php @@ -11,10 +11,10 @@ $a->theme_info = array( 'extends' => 'diabook', ); +//fancybox: provide $photo.href to photo_top.tpl to img in org. scale + //profile_side - - $nav['usermenu']=array(); $userinfo = null; @@ -110,10 +110,15 @@ $('html').click(function() { event.stopPropagation(); }); - $(function() { - $('a.lightbox').fancybox(); // Select all links with lightbox class + + + $(document).ready(function() { + $("a.fancy-photo").fancybox(); // Select all links with lightbox class + $("a.fancy-album").fancybox(); }); + + EOT; diff --git a/view/theme/diabook/style.css b/view/theme/diabook/style.css index b7568631f..437f323fa 100644 --- a/view/theme/diabook/style.css +++ b/view/theme/diabook/style.css @@ -485,9 +485,6 @@ code { #sidebar-group-list .tool:hover { background: #EEE; } -#sidebar-pages-list .tool:hover { - background: #EEE; -} .tool .label { float: left; } @@ -1337,14 +1334,14 @@ body .pageheader{ } .tag { /*background: url("../../../images/tag_b.png") repeat-x center left;*/ - color: #999; + color: #3465A4; padding-left: 3px; font-size: 12px; } .tag a { padding-right: 5px; /*background: url("../../../images/tag.png") no-repeat center right;*/ - color: #999; + color: #3465A4; } .wwto { position: absolute !important; diff --git a/view/theme/diabook/wall_item.tpl b/view/theme/diabook/wall_item.tpl index 321bbbe9e..ebe40fd4e 100644 --- a/view/theme/diabook/wall_item.tpl +++ b/view/theme/diabook/wall_item.tpl @@ -13,8 +13,7 @@ $item.name - menu + menu @@ -22,8 +21,7 @@ id="wall-item-photo-menu-button-$item.id">menu
    - $item.name + $item.name - {{ if $item.plink }}$item.ago{{ else }} $item.ago {{ endif }} {{ if $item.lock }} - $item.lock {{ endif }} @@ -97,4 +95,3 @@ class="wall-item-name$item.sparkle">$item.name
    $item.comment
    - diff --git a/view/theme/diabook/wallwall_item.tpl b/view/theme/diabook/wallwall_item.tpl index 05ed4cc82..e02e5a8be 100644 --- a/view/theme/diabook/wallwall_item.tpl +++ b/view/theme/diabook/wallwall_item.tpl @@ -18,8 +18,7 @@ $item.name - menu + menu @@ -27,10 +26,8 @@ id="wall-item-photo-menu-button-$item.id">menu
    - $item.name - $item.to $item.owner_name + $item.name + $item.to $item.owner_name $item.vwall -   {{ if $item.plink }}$item.ago{{ else }} $item.ago {{ endif }} {{ if $item.lock }} - $item.lock {{ endif }} @@ -103,4 +100,4 @@ id="wall-item-ownername-$item.id">$item.owner_name
    $item.comment -
    +
    \ No newline at end of file From 5a12383b78980d873f54ccbac2733d7267f7da36 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 15 Mar 2012 19:55:58 -0700 Subject: [PATCH 111/153] undo git stuffup --- view/theme/duepuntozero/style.css | 4 ++-- view/theme/duepuntozero/wall_item.tpl | 5 +++-- view/theme/duepuntozero/wallwall_item.tpl | 3 +++ 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/view/theme/duepuntozero/style.css b/view/theme/duepuntozero/style.css index 10ddb0090..b79b00ef4 100755 --- a/view/theme/duepuntozero/style.css +++ b/view/theme/duepuntozero/style.css @@ -2615,12 +2615,12 @@ aside input[type='text'] { margin-top: 10px; } -.body-tag { +.body-tag, .filesavetags { opacity: 0.5; filter:alpha(opacity=50); } -.body-tag:hover { +.body-tag:hover, .filesavetags:hover { opacity: 1.0 !important; filter:alpha(opacity=100) !important; } diff --git a/view/theme/duepuntozero/wall_item.tpl b/view/theme/duepuntozero/wall_item.tpl index 2c88fc598..e2db70a14 100755 --- a/view/theme/duepuntozero/wall_item.tpl +++ b/view/theme/duepuntozero/wall_item.tpl @@ -56,9 +56,10 @@ {{ if $item.star }} - {{ endif }} - + {{ if $item.filer }} + + {{ endif }}
    {{ if $item.drop.dropping }}{{ endif }}
    diff --git a/view/theme/duepuntozero/wallwall_item.tpl b/view/theme/duepuntozero/wallwall_item.tpl index 211906c93..420c0e08b 100755 --- a/view/theme/duepuntozero/wallwall_item.tpl +++ b/view/theme/duepuntozero/wallwall_item.tpl @@ -61,6 +61,9 @@ {{ endif }} + {{ if $item.filer }} + + {{ endif }}
    {{ if $item.drop.dropping }}{{ endif }} From be4e4dfb0d552857c683ee7f7bf5cf0a4bdfb686 Mon Sep 17 00:00:00 2001 From: friendica Date: Thu, 15 Mar 2012 20:07:30 -0700 Subject: [PATCH 112/153] turn indexes back off (this is from an errant checkin a year or more ago) --- .htaccess | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.htaccess b/.htaccess index 5f9531a7e..28ac3dd80 100755 --- a/.htaccess +++ b/.htaccess @@ -1,4 +1,4 @@ -#Options -Indexes +Options -Indexes AddType application/x-java-archive .jar AddType audio/ogg .oga From f727b44c08b4c6051cd8b81e1b3076af5878a921 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 16 Mar 2012 01:51:25 -0400 Subject: [PATCH 113/153] Merge branch 'master', remote-tracking branch 'remotes/upstream/master' * remotes/upstream/master: (21 commits) turn indexes back off (this is from an errant checkin a year or more ago) undo git stuffup added icons to profile_side, fixes in css track whether contact is a community page or not html2bbcode: Disabled size conversion Mail: Subject are now with working "Re:" Removing test exports Missing field in database.sql Removed changes Added config options for the item cache and the ostatus priority Item cache now is one day. Corrected some git problems Cache: item cache now has an autodelete of old files. The pages plugin now sets a link via redirection. So posting works. Pages: Show every community page - even from foreign servers (with caching) New plugin that shows community pages in the sidebar Caching improved. Enabled Caching for items. Changed color of tags in diabook. New config options if ostatus polling should use the priority in the contacts Mail: Removing signatures, gpg, unnecessary line breaks diabook: Moving the location between the icons ... * master: From 6bdb71f01c93c691a43caaf9686ce5ac0b687701 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 16 Mar 2012 01:55:34 -0400 Subject: [PATCH 114/153] more changes in dispy-dark Signed-off-by: Simon L'nu --- view/theme/dispy-dark/style.css | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/view/theme/dispy-dark/style.css b/view/theme/dispy-dark/style.css index 6ab0c7921..d1ec4efd7 100644 --- a/view/theme/dispy-dark/style.css +++ b/view/theme/dispy-dark/style.css @@ -1490,6 +1490,8 @@ div[id$="wrapper"] br { } #prvmail-subject { width: 100%; + color: #2e2f2e; + background: #eec; } #prvmail-submit-wrapper { margin-top: 10px; @@ -1803,6 +1805,10 @@ div[id$="wrapper"] br { background: #2e2f2e; color: #eec; } +#id_ssl_policy { + width: 374px; +} + /** * contacts selector From d965f73ef149e6baaf058987c146901e3cc16fa0 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 16 Mar 2012 01:57:27 -0400 Subject: [PATCH 115/153] missing close double quote in mail_list.tpl Signed-off-by: Simon L'nu --- view/mail_list.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) mode change 100755 => 100644 view/mail_list.tpl diff --git a/view/mail_list.tpl b/view/mail_list.tpl old mode 100755 new mode 100644 index b284ffb0e..22e35dec8 --- a/view/mail_list.tpl +++ b/view/mail_list.tpl @@ -1,6 +1,6 @@
    - $from_name + $from_name
    $from_name
    From be1bd9ff4e725f7e60b05acd415aee892e97f956 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Mar 2012 05:19:29 -0700 Subject: [PATCH 116/153] notification for disapora comments --- include/diaspora.php | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/include/diaspora.php b/include/diaspora.php index dca857a19..19bba5216 100755 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -1159,6 +1159,48 @@ function diaspora_comment($importer,$xml,$msg) { proc_run('php','include/notifier.php','comment',$message_id); } + + $myconv = q("SELECT `author-link`, `author-avatar`, `parent` FROM `item` WHERE `parent-uri` = '%s' AND `uid` = %d AND `parent` != 0 ", + dbesc($parent_item['uri']), + intval($importer['uid']) + ); + + if(count($myconv)) { + $importer_url = $a->get_baseurl() . '/profile/' . $importer['nickname']; + + foreach($myconv as $conv) { + + // now if we find a match, it means we're in this conversation + + if(! link_compare($conv['author-link'],$importer_url)) + continue; + + require_once('include/enotify.php'); + + $conv_parent = $conv['parent']; + + notification(array( + 'type' => NOTIFY_COMMENT, + 'notify_flags' => $importer['notify-flags'], + 'language' => $importer['language'], + 'to_name' => $importer['username'], + 'to_email' => $importer['email'], + 'uid' => $importer['uid'], + 'item' => $datarray, + 'link' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id, + 'source_name' => $datarray['author-name'], + 'source_link' => $datarray['author-link'], + 'source_photo' => $datarray['author-avatar'], + 'verb' => ACTIVITY_POST, + 'otype' => 'item', + 'parent' => $conv_parent, + + )); + + // only send one notification + break; + } + } return; } From 805087af678f922ad75535fa8dbe0fc86d9cd566 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Mar 2012 05:41:29 -0700 Subject: [PATCH 117/153] whitespace --- include/items.php | 1 + 1 file changed, 1 insertion(+) diff --git a/include/items.php b/include/items.php index 68acb45f9..5e1fec557 100755 --- a/include/items.php +++ b/include/items.php @@ -2026,6 +2026,7 @@ function local_delivery($importer,$data) { if(($item['verb'] === ACTIVITY_TAG) && ($item['object-type'] === ACTVITY_OBJ_TAGTERM)) { $xo = parse_xml_string($item['object'],false); $xt = parse_xml_string($item['target'],false); + if($xt->type === ACTIVITY_OBJ_NOTE) { $i = q("select * from `item` where uri = '%s' and uid = %d limit 1", dbesc($xt->id), From 224dfa848bf2659ba038b6e519692d3755eb7bed Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Mar 2012 05:51:04 -0700 Subject: [PATCH 118/153] bug #335 network search broken after new ssl policy settings --- include/text.php | 2 +- mod/network.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/text.php b/include/text.php index d34fd7fbe..cdf82ca87 100644 --- a/include/text.php +++ b/include/text.php @@ -638,7 +638,7 @@ if(! function_exists('search')) { function search($s,$id='search-box',$url='/search',$save = false) { $a = get_app(); $o = '
    '; - $o .= ''; + $o .= ''; $o .= ''; $o .= ''; if($save) diff --git a/mod/network.php b/mod/network.php index d0f1733f4..9ec8c23b5 100755 --- a/mod/network.php +++ b/mod/network.php @@ -90,7 +90,7 @@ function saved_searches($search) { $o = replace_macros($tpl, array( '$title' => t('Saved Searches'), '$add' => t('add'), - '$searchbox' => search($search,'netsearch-box',$a->get_baseurl(true) . $srchurl,true), + '$searchbox' => search($search,'netsearch-box',$srchurl,true), '$saved' => $saved, )); From 28f941193d75ca12f4cb2a38a1c60e60ad10f2a6 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Mar 2012 06:02:26 -0700 Subject: [PATCH 119/153] syntax error from pasted text, remove ^M's --- mod/item.php | 192 +++++++++++++++++++++++++-------------------------- 1 file changed, 96 insertions(+), 96 deletions(-) diff --git a/mod/item.php b/mod/item.php index 98cfb4338..07b4bfef7 100755 --- a/mod/item.php +++ b/mod/item.php @@ -832,129 +832,129 @@ function item_content(&$a) { */ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) { //is it a hash tag? - if(strpos($tag,'#') === 0) { + if(strpos($tag,'#') === 0) { //if the tag is replaced... if(strpos($tag,'[url=')) - //...do nothing - continue; - //base tag has the tags name only - $basetag = str_replace('_',' ',substr($tag,1)); + //...do nothing + return; + //base tag has the tags name only + $basetag = str_replace('_',' ',substr($tag,1)); //create text for link $newtag = '#[url=' . $a->get_baseurl() . '/search?search=' . rawurlencode($basetag) . ']' . $basetag . '[/url]'; - //replace tag by the link - $body = str_replace($tag, $newtag, $body); + //replace tag by the link + $body = str_replace($tag, $newtag, $body); - //is the link already in str_tags? - if(! stristr($str_tags,$newtag)) { + //is the link already in str_tags? + if(! stristr($str_tags,$newtag)) { //append or set str_tags - if(strlen($str_tags)) - $str_tags .= ','; - $str_tags .= $newtag; - } - return; + if(strlen($str_tags)) + $str_tags .= ','; + $str_tags .= $newtag; + } + return; } - //is it a person tag? - if(strpos($tag,'@') === 0) { + //is it a person tag? + if(strpos($tag,'@') === 0) { //is it already replaced? - if(strpos($tag,'[url=')) - continue; - $stat = false; + if(strpos($tag,'[url=')) + continue; + $stat = false; //get the person's name $name = substr($tag,1); - //is it a link or a full dfrn address? - if((strpos($name,'@')) || (strpos($name,'http://'))) { - $newname = $name; + //is it a link or a full dfrn address? + if((strpos($name,'@')) || (strpos($name,'http://'))) { + $newname = $name; //get the profile links - $links = @lrdd($name); - if(count($links)) { + $links = @lrdd($name); + if(count($links)) { //for all links, collect how is to inform and how's profile is to link - foreach($links as $link) { - if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page') - $profile = $link['@attributes']['href']; - if($link['@attributes']['rel'] === 'salmon') { - if(strlen($inform)) - $inform .= ','; - $inform .= 'url:' . str_replace(',','%2c',$link['@attributes']['href']); - } - } - } - } else { //if it is a name rather than an address - $newname = $name; - $alias = ''; + foreach($links as $link) { + if($link['@attributes']['rel'] === 'http://webfinger.net/rel/profile-page') + $profile = $link['@attributes']['href']; + if($link['@attributes']['rel'] === 'salmon') { + if(strlen($inform)) + $inform .= ','; + $inform .= 'url:' . str_replace(',','%2c',$link['@attributes']['href']); + } + } + } + } else { //if it is a name rather than an address + $newname = $name; + $alias = ''; $tagcid = 0; - //is it some generated name? - if(strrpos($newname,'+')) { + //is it some generated name? + if(strrpos($newname,'+')) { //get the id - $tagcid = intval(substr($newname,strrpos($newname,'+') + 1)); + $tagcid = intval(substr($newname,strrpos($newname,'+') + 1)); //remove the next word from tag's name - if(strpos($name,' ')) { + if(strpos($name,' ')) { $name = substr($name,0,strpos($name,' ')); - } + } } if($tagcid) { //if there was an id - //select contact with that id from the logged in user's contact list - $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", - intval($tagcid), + //select contact with that id from the logged in user's contact list + $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1", + intval($tagcid), intval($profile_uid) - ); + ); } elseif(strstr($name,'_') || strstr($name,' ')) { //no id - //get the real name - $newname = str_replace('_',' ',$name); + //get the real name + $newname = str_replace('_',' ',$name); //select someone from this user's contacts by name - $r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1", - dbesc($newname), - intval($profile_uid) - ); + $r = q("SELECT * FROM `contact` WHERE `name` = '%s' AND `uid` = %d LIMIT 1", + dbesc($newname), + intval($profile_uid) + ); } else { - //select someone by attag or nick and the name passed in - $r = q("SELECT * FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1", - dbesc($name), - dbesc($name), - intval($profile_uid) - ); + //select someone by attag or nick and the name passed in + $r = q("SELECT * FROM `contact` WHERE `attag` = '%s' OR `nick` = '%s' AND `uid` = %d ORDER BY `attag` DESC LIMIT 1", + dbesc($name), + dbesc($name), + intval($profile_uid) + ); } - //$r is set, if someone could be selected - if(count($r)) { + //$r is set, if someone could be selected + if(count($r)) { $profile = $r[0]['url']; - //set newname to nick, find alias - if($r[0]['network'] === 'stat') { - $newname = $r[0]['nick']; - $stat = true; - if($r[0]['alias']) - $alias = $r[0]['alias']; - } - else - $newname = $r[0]['name']; + //set newname to nick, find alias + if($r[0]['network'] === 'stat') { + $newname = $r[0]['nick']; + $stat = true; + if($r[0]['alias']) + $alias = $r[0]['alias']; + } + else + $newname = $r[0]['name']; //add person's id to $inform - if(strlen($inform)) - $inform .= ','; - $inform .= 'cid:' . $r[0]['id']; - } + if(strlen($inform)) + $inform .= ','; + $inform .= 'cid:' . $r[0]['id']; + } } - //if there is an url for this persons profile - if(isset($profile)) { + //if there is an url for this persons profile + if(isset($profile)) { //create profile link - $profile = str_replace(',','%2c',$profile); - $newtag = '@[url=' . $profile . ']' . $newname . '[/url]'; - $body = str_replace('@' . $name, $newtag, $body); + $profile = str_replace(',','%2c',$profile); + $newtag = '@[url=' . $profile . ']' . $newname . '[/url]'; + $body = str_replace('@' . $name, $newtag, $body); //append tag to str_tags - if(! stristr($str_tags,$newtag)) { - if(strlen($str_tags)) - $str_tags .= ','; - $str_tags .= $newtag; - } - - // Status.Net seems to require the numeric ID URL in a mention if the person isn't - // subscribed to you. But the nickname URL is OK if they are. Grrr. We'll tag both. - - if(strlen($alias)) { - $newtag = '@[url=' . $alias . ']' . $newname . '[/url]'; - if(! stristr($str_tags,$newtag)) { - if(strlen($str_tags)) - $str_tags .= ','; - $str_tags .= $newtag; - } - } - } + if(! stristr($str_tags,$newtag)) { + if(strlen($str_tags)) + $str_tags .= ','; + $str_tags .= $newtag; + } + + // Status.Net seems to require the numeric ID URL in a mention if the person isn't + // subscribed to you. But the nickname URL is OK if they are. Grrr. We'll tag both. + + if(strlen($alias)) { + $newtag = '@[url=' . $alias . ']' . $newname . '[/url]'; + if(! stristr($str_tags,$newtag)) { + if(strlen($str_tags)) + $str_tags .= ','; + $str_tags .= $newtag; + } + } + } } } From 7b15f27ba48f5a1b0e24290379e2524796776803 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 16 Mar 2012 13:31:59 -0400 Subject: [PATCH 120/153] weee, dispys get another update Signed-off-by: Simon L'nu --- view/theme/dispy-dark/style.css | 51 ++-- view/theme/dispy-dark/theme.php | 8 +- view/theme/dispy/contact_template.tpl | 2 + view/theme/dispy/group_side.tpl | 6 +- view/theme/dispy/head.tpl | 19 -- view/theme/dispy/jot-header.tpl | 14 ++ view/theme/dispy/nav.tpl | 16 +- view/theme/dispy/nets.tpl | 2 +- view/theme/dispy/photo_view.tpl | 2 +- view/theme/dispy/profile_vcard.tpl | 30 ++- view/theme/dispy/saved_searches_aside.tpl | 2 +- view/theme/dispy/style.css | 282 +++++++++++++--------- view/theme/dispy/theme.php | 41 ++-- view/theme/dispy/wall_item.tpl | 5 +- view/theme/dispy/wallwall_item.tpl | 7 +- 15 files changed, 293 insertions(+), 194 deletions(-) mode change 100755 => 100644 view/theme/dispy/nets.tpl mode change 100755 => 100644 view/theme/dispy/photo_view.tpl mode change 100755 => 100644 view/theme/dispy/saved_searches_aside.tpl diff --git a/view/theme/dispy-dark/style.css b/view/theme/dispy-dark/style.css index d1ec4efd7..b4aefbbf2 100644 --- a/view/theme/dispy-dark/style.css +++ b/view/theme/dispy-dark/style.css @@ -123,9 +123,6 @@ a { text-decoration: none; margin-bottom: 1px; } -/*a:hover { */ -/* text-decoration: none;*/ -/*}*/ a:hover img { text-decoration: none; } @@ -778,6 +775,15 @@ aside #viewcontacts { #profile-jot-text_ifr { width:99.900002% !important; } +[id$="jot-text_ifr"] { + width: 99.900002% !important; + color: #2e2f2e; + background: #eec; +} +[id$="jot-text_ifr"] .mceContentBody { + color: #2e2f2e; + background: #eec; +} #profile-attach-wrapper, #profile-audio-wrapper, #profile-link-wrapper, @@ -1527,7 +1533,6 @@ div[id$="wrapper"] br { } .mail-list-subject { font-size: 1.2em; - font-weight: bold; } .mail-list-delete-wrapper { float: right; @@ -1751,23 +1756,23 @@ div[id$="wrapper"] br { margin: 30px 0px; } .profile-edit-side-div { - /*background: #111;*/ - /*border-radius: 5px 5px 0px 0px;*/ - /*margin: 0px 0px 0px 0px;*/ - /*width: 100px;*/ - /*height: 25px;*/ - /*position: absolute;*/ + /*background: #111; + border-radius: 5px 5px 0px 0px; + margin: 0px 0px 0px 0px; + width: 100px; + height: 25px; + position: absolute;*/ display: none; - /*left: 35%;*/ - /*top: 41%;*/ - /*cursor: pointer;*/ + /*left: 35%; + top: 41%; + cursor: pointer;*/ } -/*.profile-edit-side-div:hover {*/ - /*display: block;*/ -/*}*/ -/*.profile-edit-side-link {*/ - /*margin: 3px 0px 0px 70px;*/ -/*}*/ +/*.profile-edit-side-div:hover { + display: block; +} +.profile-edit-side-link { + margin: 3px 0px 0px 70px; +}*/ #profiles-menu-trigger { margin: 0px 0px 0px 25px; } @@ -2123,12 +2128,12 @@ div[id$="wrapper"] br { border-bottom: 1px solid #000; } #adminpage dt { - width: 200px; + width: 250px; float: left; font-weight: bold; } #adminpage dd { - margin-left: 200px; + margin-left: 250px; } #adminpage h3 { border-bottom:1px solid #ccc; @@ -2590,8 +2595,8 @@ footer { margin-top: 30px; overflow: auto; } -/*#acl-list-content {*/ -/*}*/ +/*#acl-list-content { +}*/ .acl-list-item { border: 1px solid #eec; display: block; diff --git a/view/theme/dispy-dark/theme.php b/view/theme/dispy-dark/theme.php index c0611ce83..0134b1f91 100644 --- a/view/theme/dispy-dark/theme.php +++ b/view/theme/dispy-dark/theme.php @@ -64,7 +64,7 @@ $(document).ready(function() { $('#drop-' + id).addClass('iconspacer'); } ); - // notifications + // click outside notifications menu closes it $('html').click(function() { $('#nav-notifications-linkmenu').removeClass('selected'); document.getElementById("nav-notifications-menu").style.display = "none"; @@ -74,6 +74,7 @@ $(document).ready(function() { event.stopPropagation(); }); + // main function in toolbar functioning function toggleToolbar() { if ( $('#nav-floater').is(':visible') ) { $('#nav-floater').slideUp('fast'); @@ -87,15 +88,20 @@ $(document).ready(function() { }); } }; + // our trigger for the toolbar button $('.floaterflip').click(function() { toggleToolbar(); return false; }); + // (attempt) to change the text colour in a top post $('#profile-jot-text').focusin(function() { $(this).css({color: '#eec'}); }); + // make auto-complete work in more places + $(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl"); + /* $('#profile-photo-wrapper').mouseover(function() { $('.profile-edit-side-div').css({display: 'block'}); }).mouseout(function() { diff --git a/view/theme/dispy/contact_template.tpl b/view/theme/dispy/contact_template.tpl index fbf354b47..04968bd07 100644 --- a/view/theme/dispy/contact_template.tpl +++ b/view/theme/dispy/contact_template.tpl @@ -20,9 +20,11 @@
    $contact.name
    +{{ if $contact.alt_text }}
    $contact.alt_text
    {{ endif }}
    Profile URL
    $contact.network
    + diff --git a/view/theme/dispy/group_side.tpl b/view/theme/dispy/group_side.tpl index 516d70d5b..10ecec2e8 100644 --- a/view/theme/dispy/group_side.tpl +++ b/view/theme/dispy/group_side.tpl @@ -1,5 +1,5 @@ -
    -

    $title

    +
    +

    $title

    +
    $item.name From 75823c23539fd009a6575dc125258afa7ce2bbc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Fri, 16 Mar 2012 17:45:07 +0000 Subject: [PATCH 121/153] Use tabindex to enable easy navigation in the dialog to write private mails; Recipient -> Subject -> Text field (tabindex has to be set to the IFRAME element after TinyMCE started) -> Send button --- include/acl_selectors.php | 14 ++++++++------ mod/message.php | 2 +- view/msg-header.tpl | 9 ++++++++- view/prv_message.tpl | 6 +++--- 4 files changed, 20 insertions(+), 11 deletions(-) diff --git a/include/acl_selectors.php b/include/acl_selectors.php index 67d8cebde..a5f5aff53 100755 --- a/include/acl_selectors.php +++ b/include/acl_selectors.php @@ -113,11 +113,13 @@ function contact_selector($selname, $selclass, $preselected = false, $options) { $str_nets = implode(',',$x['networks']); $sql_extra .= " AND `network` IN ( $str_nets ) "; } + + $tabindex = (x($options, 'tabindex') ? "tabindex=\"" . $options["tabindex"] . "\"" : ""); if($x['single']) - $o .= "\r\n"; else - $o .= "\r\n"; $r = q("SELECT `id`, `name`, `url`, `network` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `notify` != '' @@ -156,7 +158,7 @@ function contact_selector($selname, $selclass, $preselected = false, $options) { -function contact_select($selname, $selclass, $preselected = false, $size = 4, $privmail = false, $celeb = false, $privatenet = false) { +function contact_select($selname, $selclass, $preselected = false, $size = 4, $privmail = false, $celeb = false, $privatenet = false, $tabindex = null) { $a = get_app(); @@ -178,12 +180,12 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p $sql_extra .= " AND `network` IN ( 'dfrn', 'mail', 'face', 'dspr' ) "; } - + $tabindex = ($tabindex > 0 ? "tabindex=\"$tabindex\"" : ""); if($privmail) - $o .= "\r\n"; else - $o .= "\r\n"; $r = q("SELECT `id`, `name`, `url`, `network` FROM `contact` WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `notify` != '' diff --git a/mod/message.php b/mod/message.php index 55e313776..0907abd77 100755 --- a/mod/message.php +++ b/mod/message.php @@ -154,7 +154,7 @@ function message_content(&$a) { $preselect = (isset($a->argv[2])?array($a->argv[2]):false); - $select = contact_select('messageto','message-to-select', $preselect, 4, true); + $select = contact_select('messageto','message-to-select', $preselect, 4, true, false, false, 10); $tpl = get_markup_template('prv_message.tpl'); $o .= replace_macros($tpl,array( '$header' => t('Send Private Message'), diff --git a/view/msg-header.tpl b/view/msg-header.tpl index b5c78345a..1f8650bfe 100755 --- a/view/msg-header.tpl +++ b/view/msg-header.tpl @@ -30,8 +30,15 @@ if(plaintext != 'none') { setup : function(ed) { ed.onInit.add(function(ed) { ed.pasteAsPlainText = true; + var editorId = ed.editorId; + var textarea = $('#'+editorId); + console.log(textarea); + if (typeof(textarea.attr('tabindex')) != "undefined") { + $('#'+editorId+'_ifr').attr('tabindex', textarea.attr('tabindex')); + textarea.attr('tabindex', null); + } }); - } + }, }); } diff --git a/view/prv_message.tpl b/view/prv_message.tpl index 4b904cbcd..2ce07ce6f 100755 --- a/view/prv_message.tpl +++ b/view/prv_message.tpl @@ -10,14 +10,14 @@ $parent $select
    $subject
    - +
    $yourmessage
    - +
    - +
    From 27054964feba44e82589fb6b8c464c59b9420feb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Fri, 16 Mar 2012 17:46:26 +0000 Subject: [PATCH 122/153] Forgot to remove a debug line --- view/msg-header.tpl | 1 - 1 file changed, 1 deletion(-) diff --git a/view/msg-header.tpl b/view/msg-header.tpl index 1f8650bfe..b1fcefd24 100755 --- a/view/msg-header.tpl +++ b/view/msg-header.tpl @@ -32,7 +32,6 @@ if(plaintext != 'none') { ed.pasteAsPlainText = true; var editorId = ed.editorId; var textarea = $('#'+editorId); - console.log(textarea); if (typeof(textarea.attr('tabindex')) != "undefined") { $('#'+editorId+'_ifr').attr('tabindex', textarea.attr('tabindex')); textarea.attr('tabindex', null); From 90bb32ab7393687d46e198f94d181c830f881def Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tobias=20H=C3=B6=C3=9Fl?= Date: Fri, 16 Mar 2012 17:47:40 +0000 Subject: [PATCH 123/153] Bugfix of old IEs --- view/msg-header.tpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/view/msg-header.tpl b/view/msg-header.tpl index b1fcefd24..098333893 100755 --- a/view/msg-header.tpl +++ b/view/msg-header.tpl @@ -37,7 +37,7 @@ if(plaintext != 'none') { textarea.attr('tabindex', null); } }); - }, + } }); } From 01f87108324eb6b45f3649400557ada4e54502f7 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 16 Mar 2012 16:41:19 -0400 Subject: [PATCH 124/153] Merge branch 'master', remote-tracking branch 'remotes/upstream/master' * remotes/upstream/master: Bugfix of old IEs Forgot to remove a debug line Use tabindex to enable easy navigation in the dialog to write private mails; Recipient -> Subject -> Text field (tabindex has to be set to the IFRAME element after TinyMCE started) -> Send button * master: From 91fee866b7f870b66d770c7c4e6db0afd874de33 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 16 Mar 2012 16:43:34 -0400 Subject: [PATCH 125/153] make profiles-menu disappear when clicked outside it Signed-off-by: Simon L'nu --- view/theme/dispy-dark/theme.php | 9 +++++++++ view/theme/dispy/theme.php | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/view/theme/dispy-dark/theme.php b/view/theme/dispy-dark/theme.php index 0134b1f91..b57971db9 100644 --- a/view/theme/dispy-dark/theme.php +++ b/view/theme/dispy-dark/theme.php @@ -73,6 +73,15 @@ $(document).ready(function() { $('#nav-notifications-linkmenu').click(function(event) { event.stopPropagation(); }); + // click outside profiles menu closes it + $('html').click(function() { + $('#profiles-menu-trigger').removeClass('selected'); + document.getElementById("profiles-menu").style.display = "none"; + }); + + $('#profiles-menu').click(function(event) { + event.stopPropagation(); + }); // main function in toolbar functioning function toggleToolbar() { diff --git a/view/theme/dispy/theme.php b/view/theme/dispy/theme.php index ac97948a3..9f0fcba82 100644 --- a/view/theme/dispy/theme.php +++ b/view/theme/dispy/theme.php @@ -73,6 +73,15 @@ $(document).ready(function() { $('#nav-notifications-linkmenu').click(function(event) { event.stopPropagation(); }); + // click outside profiles menu closes it + $('html').click(function() { + $('#profiles-menu-trigger').removeClass('selected'); + document.getElementById("profiles-menu").style.display = "none"; + }); + + $('#profiles-menu').click(function(event) { + event.stopPropagation(); + }); // main function in toolbar functioning function toggleToolbar() { From 58940175e173c04c9bfa3498af40c65f6514a9ce Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Mar 2012 15:07:45 -0700 Subject: [PATCH 126/153] wrong link in d* comment notifications --- boot.php | 2 +- include/diaspora.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/boot.php b/boot.php index 86da3cd2e..322340e5d 100755 --- a/boot.php +++ b/boot.php @@ -9,7 +9,7 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '2.3.1282' ); +define ( 'FRIENDICA_VERSION', '2.3.1283' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); define ( 'DB_UPDATE_VERSION', 1132 ); diff --git a/include/diaspora.php b/include/diaspora.php index 19bba5216..1b5af42cd 100755 --- a/include/diaspora.php +++ b/include/diaspora.php @@ -1187,7 +1187,7 @@ function diaspora_comment($importer,$xml,$msg) { 'to_email' => $importer['email'], 'uid' => $importer['uid'], 'item' => $datarray, - 'link' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $posted_id, + 'link' => $a->get_baseurl() . '/display/' . $importer['nickname'] . '/' . $message_id, 'source_name' => $datarray['author-name'], 'source_link' => $datarray['author-link'], 'source_photo' => $datarray['author-avatar'], From 949c6d47b5b9a3e796cdf6dff79d6d532f4a3159 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Mar 2012 15:19:38 -0700 Subject: [PATCH 127/153] add "send pm" link to photo dropdown for Diaspora contacts --- include/conversation.php | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/include/conversation.php b/include/conversation.php index 88ecf502b..8ca484c9e 100755 --- a/include/conversation.php +++ b/include/conversation.php @@ -779,6 +779,17 @@ function item_photo_menu($item){ if(($cid) && (! $item['self'])) { $contact_url = $a->get_baseurl($ssl_state) . '/contacts/' . $cid; $posts_link = $a->get_baseurl($ssl_state) . '/network/?cid=' . $cid; + + $clean_url = normalise_link($item['author-link']); + + if((local_user()) && (local_user() == $item['uid'])) { + if(isset($a->contacts) && x($a->contacts,$clean_url)) { + if($a->contacts[$clean_url]['network'] === NETWORK_DIASPORA) { + $pm_url = $a->get_baseurl($ssl_state) . '/message/new/' . $cid; + } + } + } + } $menu = Array( From 0e9d5e0ce869a75498e1f5eff847b6037d6c1f67 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 16 Mar 2012 18:35:50 -0400 Subject: [PATCH 128/153] Merge branch 'master', remote-tracking branch 'remotes/upstream/master' * remotes/upstream/master: wrong link in d* comment notifications * master: From 82f2bfea5bbf7c35450eb8fe9ee119e0b00d3d61 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Mar 2012 16:05:16 -0700 Subject: [PATCH 129/153] convert boolean or int settings to strings to work around issues with template processing --- mod/settings.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/mod/settings.php b/mod/settings.php index f694b5840..3a8ad29d2 100755 --- a/mod/settings.php +++ b/mod/settings.php @@ -652,20 +652,20 @@ function settings_content(&$a) { $blocktags = $a->user['blocktags']; $expire_items = get_pconfig(local_user(), 'expire','items'); - $expire_items = (($expire_items===false)?1:$expire_items); // default if not set: 1 + $expire_items = (($expire_items===false)? '1' : $expire_items); // default if not set: 1 $expire_notes = get_pconfig(local_user(), 'expire','notes'); - $expire_notes = (($expire_notes===false)?1:$expire_notes); // default if not set: 1 + $expire_notes = (($expire_notes===false)? '1' : $expire_notes); // default if not set: 1 $expire_starred = get_pconfig(local_user(), 'expire','starred'); - $expire_starred = (($expire_starred===false)?1:$expire_starred); // default if not set: 1 + $expire_starred = (($expire_starred===false)? '1' : $expire_starred); // default if not set: 1 $expire_photos = get_pconfig(local_user(), 'expire','photos'); - $expire_photos = (($expire_photos===false)?0:$expire_photos); // default if not set: 0 + $expire_photos = (($expire_photos===false)? '0' : $expire_photos); // default if not set: 0 $suggestme = get_pconfig(local_user(), 'system','suggestme'); - $suggestme = (($suggestme===false)?0:$suggestme); // default if not set: 0 + $suggestme = (($suggestme===false)? '0': $suggestme); // default if not set: 0 $browser_update = intval(get_pconfig(local_user(), 'system','update_interval')); $browser_update = (($browser_update == 0) ? 40 : $browser_update / 1000); // default if not set: 40 seconds @@ -736,13 +736,13 @@ function settings_content(&$a) { )); $blockwall = replace_macros($opt_tpl,array( - '$field' => array('blockwall', t('Allow friends to post to your profile page?'), ! $a->user['blockwall'], '', array(t('No'),t('Yes'))), + '$field' => array('blockwall', t('Allow friends to post to your profile page?'), (intval($a->user['blockwall']) ? '0' : '1'), '', array(t('No'),t('Yes'))), )); $blocktags = replace_macros($opt_tpl,array( - '$field' => array('blocktags', t('Allow friends to tag your posts?'), ! $a->user['blocktags'], '', array(t('No'),t('Yes'))), + '$field' => array('blocktags', t('Allow friends to tag your posts?'), (intval($a->user['blocktags']) ? '0' : '1'), '', array(t('No'),t('Yes'))), )); From 368d93625dc7ac206b3dbb85af15dc90f593fcd7 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 16 Mar 2012 20:29:02 -0400 Subject: [PATCH 130/153] make auto-complete in darkzero-NS. other themes can use this easily. might need to edit the id it hooks into Signed-off-by: Simon L'nu --- view/theme/darkzero-NS/theme.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/view/theme/darkzero-NS/theme.php b/view/theme/darkzero-NS/theme.php index 2d3e4fd56..3598e34f2 100755 --- a/view/theme/darkzero-NS/theme.php +++ b/view/theme/darkzero-NS/theme.php @@ -52,6 +52,9 @@ $('.savedsearchterm').hover( $('#drop-' + id).removeClass('icon');$('#drop-' + id).removeClass('drophide'); $('#drop-' + id).addClass('iconspacer');} ); + // make auto-complete work in more places + $(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl"); + }); From 030c8a089a7b5757d8ec2faf61d1021138eb9de4 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 16 Mar 2012 21:19:17 -0400 Subject: [PATCH 131/153] Merge branch 'master', remote-tracking branch 'remotes/upstream/master' * remotes/upstream/master: * master: From 49540fb958376d067f44a9274f8edeb80f10da3a Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 16 Mar 2012 21:20:23 -0400 Subject: [PATCH 132/153] make auto-complete work in more places Signed-off-by: Simon L'nu --- mod/display.php | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/mod/display.php b/mod/display.php index f428149e8..81ed174ac 100755 --- a/mod/display.php +++ b/mod/display.php @@ -16,7 +16,15 @@ function display_content(&$a) { $o = '
    ' . "\r\n"; - $a->page['htmlhead'] .= ''; + $a->page['htmlhead'] .= << +$(document).ready(function() { + $(".comment-edit-wrapper textarea").contact_autocomplete(baseurl+"/acl"); + // make auto-complete work in more places + $(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl"); +}); + +EOT; $nick = (($a->argc > 1) ? $a->argv[1] : ''); From 75883b196ed222b9972c87ce00b8e7c2ab29c05e Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Fri, 16 Mar 2012 21:23:24 -0400 Subject: [PATCH 133/153] remove auto-complete from darkzero-NS, dispys, since the comment one is now global Signed-off-by: Simon L'nu --- view/theme/darkzero-NS/theme.php | 3 --- view/theme/dispy/theme.php | 3 --- 2 files changed, 6 deletions(-) diff --git a/view/theme/darkzero-NS/theme.php b/view/theme/darkzero-NS/theme.php index 3598e34f2..2d3e4fd56 100755 --- a/view/theme/darkzero-NS/theme.php +++ b/view/theme/darkzero-NS/theme.php @@ -52,9 +52,6 @@ $('.savedsearchterm').hover( $('#drop-' + id).removeClass('icon');$('#drop-' + id).removeClass('drophide'); $('#drop-' + id).addClass('iconspacer');} ); - // make auto-complete work in more places - $(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl"); - }); diff --git a/view/theme/dispy/theme.php b/view/theme/dispy/theme.php index 9f0fcba82..26e07b1f7 100644 --- a/view/theme/dispy/theme.php +++ b/view/theme/dispy/theme.php @@ -108,9 +108,6 @@ $(document).ready(function() { $(this).css({color: '#eec'}); }); - // make auto-complete work in more places - $(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl"); - /* $('#profile-photo-wrapper').mouseover(function() { $('.profile-edit-side-div').css({display: 'block'}); }).mouseout(function() { From 2b06b081d32666ed62e47e7e224c8b4b27d4e9d5 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Sat, 17 Mar 2012 01:47:53 -0400 Subject: [PATCH 134/153] Merge branch 'master', remote-tracking branch 'remotes/upstream/master' * remotes/upstream/master: * master: From 87fdae2dd8bdb9e01ce3d98f6ea94d83664cb4c2 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Sat, 17 Mar 2012 01:55:40 -0400 Subject: [PATCH 135/153] [fix] whitespace in photo_view and like_noshare. dispy-dark clean up Signed-off-by: Simon L'nu --- view/like_noshare.tpl | 8 ++++---- view/photo_view.tpl | 2 +- view/theme/dispy-dark/photo_view.tpl | 13 +++++-------- view/theme/dispy-dark/theme.php | 3 --- 4 files changed, 10 insertions(+), 16 deletions(-) diff --git a/view/like_noshare.tpl b/view/like_noshare.tpl index 2c467c3c2..2651ea1f8 100755 --- a/view/like_noshare.tpl +++ b/view/like_noshare.tpl @@ -1,5 +1,5 @@ + + + +
    diff --git a/view/photo_view.tpl b/view/photo_view.tpl index 5dbcabadf..732caf690 100755 --- a/view/photo_view.tpl +++ b/view/photo_view.tpl @@ -14,7 +14,7 @@
    {{ if $nextlink }}{{ endif }}
    -
    $desc
    +
    $desc
    {{ if $tags }}
    $tags.0
    $tags.1
    diff --git a/view/theme/dispy-dark/photo_view.tpl b/view/theme/dispy-dark/photo_view.tpl index f1209ec58..732caf690 100644 --- a/view/theme/dispy-dark/photo_view.tpl +++ b/view/theme/dispy-dark/photo_view.tpl @@ -4,18 +4,15 @@ - -
    - {{ if $prevlink }}{{ endif }} - - {{ if $nextlink }}{{ endif }} +{{ if $lock }} | $lock {{ endif }}
    +{{ if $prevlink }}{{ endif }} +
    +{{ if $nextlink }}{{ endif }}
    $desc
    {{ if $tags }} diff --git a/view/theme/dispy-dark/theme.php b/view/theme/dispy-dark/theme.php index b57971db9..700136173 100644 --- a/view/theme/dispy-dark/theme.php +++ b/view/theme/dispy-dark/theme.php @@ -108,9 +108,6 @@ $(document).ready(function() { $(this).css({color: '#eec'}); }); - // make auto-complete work in more places - $(".wall-item-comment-wrapper textarea").contact_autocomplete(baseurl+"/acl"); - /* $('#profile-photo-wrapper').mouseover(function() { $('.profile-edit-side-div').css({display: 'block'}); }).mouseout(function() { From 511d8a30a05f76a08582f2d7a9ccd78dbd744c57 Mon Sep 17 00:00:00 2001 From: friendica Date: Fri, 16 Mar 2012 23:51:49 -0700 Subject: [PATCH 136/153] scheme checking for webservers without $_SERVER['HTTPS'] --- boot.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/boot.php b/boot.php index 322340e5d..836900fc4 100755 --- a/boot.php +++ b/boot.php @@ -286,7 +286,12 @@ class App { startup(); - $this->scheme = ((isset($_SERVER['HTTPS']) && ($_SERVER['HTTPS'])) ? 'https' : 'http' ); + $this->scheme = 'http'; + if(x($_SERVER,'HTTPS') && $_SERVER['HTTPS']) + $this->scheme = 'https'; + elseif(x($_SERVER,'SERVER_PORT') && (intval($_SERVER['SERVER_PORT']) == 443)) + $this->scheme = 'https'; + if(x($_SERVER,'SERVER_NAME')) { $this->hostname = $_SERVER['SERVER_NAME']; From 057a142b8cd01cd8ab6212e9d958989c82dfccc3 Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 17 Mar 2012 00:08:52 -0700 Subject: [PATCH 137/153] cut/paste error --- mod/item.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mod/item.php b/mod/item.php index 07b4bfef7..fe570075f 100755 --- a/mod/item.php +++ b/mod/item.php @@ -857,7 +857,7 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) { if(strpos($tag,'@') === 0) { //is it already replaced? if(strpos($tag,'[url=')) - continue; + return; $stat = false; //get the person's name $name = substr($tag,1); From c7759af8c5375d3201b8185b61b6fc6feef98df0 Mon Sep 17 00:00:00 2001 From: Simon L'nu Date: Sat, 17 Mar 2012 03:23:46 -0400 Subject: [PATCH 138/153] Merge branch 'master', remote-tracking branch 'remotes/upstream/master' * remotes/upstream/master: cut/paste error scheme checking for webservers without $_SERVER['HTTPS'] * master: From e0e008fb8d894c7fe56fbb88fa96224c0796ea75 Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 17 Mar 2012 02:26:52 -0700 Subject: [PATCH 139/153] template processor broken with foreach k=>v and k is integer 0 --- include/template_processor.php | 2 +- mod/admin.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/include/template_processor.php b/include/template_processor.php index 7f7b0b55b..93bf391c5 100755 --- a/include/template_processor.php +++ b/include/template_processor.php @@ -96,7 +96,7 @@ $this->_push_stack(); $r = $this->r; $r[$varname] = $v; - if ($keyname!='') $r[$keyname] = $k; + if ($keyname!='') $r[$keyname] = (($k === 0) ? '0' : $k); $ret .= $this->replace($args[3], $r); $this->_pop_stack(); } diff --git a/mod/admin.php b/mod/admin.php index 88ccad6d3..a64b26903 100755 --- a/mod/admin.php +++ b/mod/admin.php @@ -308,7 +308,7 @@ function admin_page_site(&$a) { SSL_POLICY_FULL => t("Force all links to use SSL"), SSL_POLICY_SELFSIGN => t("Self-signed certificate, use SSL for local links only (discouraged)") ); - + $t = get_markup_template("admin_site.tpl"); return replace_macros($t, array( '$title' => t('Administration'), @@ -325,7 +325,7 @@ function admin_page_site(&$a) { '$banner' => array('banner', t("Banner/Logo"), $banner, ""), '$language' => array('language', t("System language"), get_config('system','language'), "", $lang_choices), '$theme' => array('theme', t("System theme"), get_config('system','theme'), t("Default system theme - may be over-ridden by user profiles"), $theme_choices), - '$ssl_policy' => array('ssl_policy', t("SSL link policy"), get_config('system','ssl_policy'), t("Determines whether generated links should be forced to use SSL"), $ssl_choices), + '$ssl_policy' => array('ssl_policy', t("SSL link policy"), (string) intval(get_config('system','ssl_policy')), t("Determines whether generated links should be forced to use SSL"), $ssl_choices), '$maximagesize' => array('maximagesize', t("Maximum image size"), get_config('system','maximagesize'), t("Maximum size in bytes of uploaded images. Default is 0, which means no limits.")), '$register_policy' => array('register_policy', t("Register policy"), $a->config['register_policy'], "", $register_choices), From 26258bca77aa3385dacf36874f7f5603eaef9a6b Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 17 Mar 2012 02:36:59 -0700 Subject: [PATCH 140/153] compare ssl_policy precisely in case somebody was bitten by template processor bug --- boot.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boot.php b/boot.php index 836900fc4..b0a631170 100755 --- a/boot.php +++ b/boot.php @@ -385,7 +385,7 @@ class App { $scheme = $this->scheme; if((x($this->config,'system')) && (x($this->config['system'],'ssl_policy'))) { - if($this->config['system']['ssl_policy'] == SSL_POLICY_FULL) + if(intval($this->config['system']['ssl_policy']) === intval(SSL_POLICY_FULL)) $scheme = 'https'; // We need to populate the $ssl flag across the entire program before turning this on. From 94fac6d76725042fc176aaebd2af721ab1540ff7 Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 17 Mar 2012 03:43:02 -0700 Subject: [PATCH 141/153] queue optimisation - back off delivery attempts to once per hour after the first 12 hours. --- include/queue.php | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/include/queue.php b/include/queue.php index d312b50f5..7e92705be 100755 --- a/include/queue.php +++ b/include/queue.php @@ -61,13 +61,18 @@ function queue_run($argv, $argc){ q("DELETE FROM `queue` WHERE `created` < UTC_TIMESTAMP() - INTERVAL 3 DAY"); } - if($queue_id) + if($queue_id) { $r = q("SELECT `id` FROM `queue` WHERE `id` = %d LIMIT 1", intval($queue_id) ); - else - $r = q("SELECT `id` FROM `queue` WHERE `last` < UTC_TIMESTAMP() - INTERVAL 15 MINUTE "); + } + else { + // For the first 12 hours we'll try to deliver every 15 minutes + // After that, we'll only attempt delivery once per hour. + + $r = q("SELECT `id` FROM `queue` WHERE (( `created` > UTC_TIMESTAMP() - INTERVAL 12 HOUR && `last` < UTC_TIMESTAMP() - INTERVAL 15 MINUTE ) OR ( `last` < UTC_TIMESTAMP() - INTERVAL 1 HOUR ))"); + } if(! count($r)){ return; } From 67fd539f53756723d844dd204639146587f5bb76 Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 17 Mar 2012 18:15:36 -0700 Subject: [PATCH 142/153] bug #337, call template_unescape() only at the end of template processing --- boot.php | 2 +- include/network.php | 4 ++-- include/template_processor.php | 2 +- include/text.php | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/boot.php b/boot.php index b0a631170..b3c79079a 100755 --- a/boot.php +++ b/boot.php @@ -9,7 +9,7 @@ require_once('include/nav.php'); require_once('include/cache.php'); define ( 'FRIENDICA_PLATFORM', 'Friendica'); -define ( 'FRIENDICA_VERSION', '2.3.1283' ); +define ( 'FRIENDICA_VERSION', '2.3.1284' ); define ( 'DFRN_PROTOCOL_VERSION', '2.23' ); define ( 'DB_UPDATE_VERSION', 1132 ); diff --git a/include/network.php b/include/network.php index c72919dd8..22157ff18 100755 --- a/include/network.php +++ b/include/network.php @@ -303,7 +303,7 @@ function webfinger_dfrn($s,&$hcard) { if(! function_exists('webfinger')) { -function webfinger($s) { +function webfinger($s, $debug = false) { $host = ''; if(strstr($s,'@')) { $host = substr($s,strpos($s,'@') + 1); @@ -328,7 +328,7 @@ function webfinger($s) { }} if(! function_exists('lrdd')) { -function lrdd($uri) { +function lrdd($uri, $debug = false) { $a = get_app(); diff --git a/include/template_processor.php b/include/template_processor.php index 93bf391c5..4c317efe1 100755 --- a/include/template_processor.php +++ b/include/template_processor.php @@ -203,7 +203,7 @@ $os=$s; $count++; $s = $this->var_replace($s); } - return template_unescape($s); + return $s; } } diff --git a/include/text.php b/include/text.php index cdf82ca87..89acbf9fa 100644 --- a/include/text.php +++ b/include/text.php @@ -20,7 +20,7 @@ function replace_macros($s,$r) { //$a = get_app(); //$a->page['debug'] .= "$tt
    \n"; - return $r; + return template_unescape($r); }} From 9e731506c2ccc05cf1eab98868d5c1bdbd0967ba Mon Sep 17 00:00:00 2001 From: friendica Date: Sat, 17 Mar 2012 22:14:17 -0700 Subject: [PATCH 143/153] remove admin view of local directory --- .../plugins/bbcode/editor_plugin_src.js | 197 ++++++------------ mod/directory.php | 17 +- 2 files changed, 63 insertions(+), 151 deletions(-) diff --git a/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js b/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js index 183f2bc68..e5f716b29 100755 --- a/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js +++ b/library/tinymce/jscripts/tiny_mce/plugins/bbcode/editor_plugin_src.js @@ -45,78 +45,34 @@ s = tinymce.trim(s); function rep(re, str) { - - //modify code to keep stuff intact within [code][/code] blocks - //Waitman Gobble NO WARRANTY - - - var o = new Array(); - var x = s.split("[code]"); - var i = 0; - - var si = ""; - si = x.shift(); - si = si.replace(re,str); - o.push(si); - - for (i = 0; i < x.length; i++) { - var no = new Array(); - var j = x.shift(); - var g = j.split("[/code]"); - no.push(g.shift()); - si = g.shift(); - si = si.replace(re,str); - no.push(si); - o.push(no.join("[/code]")); - } - - s = o.join("[code]"); - + s = s.replace(re, str); }; - - - - - /* oembed */ - function _h2b_cb(match) { - /* - function s_h2b(data) { - match = data; + + + + + /* oembed */ + function _h2b_cb(match) { + function s_h2b(data) { + match = data; } $.ajax({ - type:"POST", + type:"POST", url: 'oembed/h2b', - data: {text: match}, - async: false, - success: s_h2b, - dataType: 'html' - }); - */ - - var f, g, tof = [], tor = []; - var find_spanc = /]*class *= *[\"'](?:[^\"']* )*oembed(?: [^\"']*)*[\"'][^>]*>(.*?(?:]*>(.*?)<\/span *>)*.*?)<\/span *>/ig; - while (f = find_spanc.exec(match)) { - var find_a = /]* rel=[\"']oembed[\"'][^>]*)>.*?<\/a *>/ig; - if (g = find_a.exec(f[1])) { - var find_href = /href=[\"']([^\"']*)[\"']/ig; - var m2 = find_href.exec(g[1]); - if (m2[1]) { - tof.push(f[0]); - tor.push("[EMBED]" + m2[1] + "[/EMBED]"); - } - } - } - for (var i = 0; i < tof.length; i++) match = match.replace(tof[i], tor[i]); - - return match; - } + data: {text: match}, + async: false, + success: s_h2b, + dataType: 'html' + }); + return match; + } if (s.indexOf('class="oembed')>=0){ //alert("request oembed html2bbcode"); s = _h2b_cb(s); } - - /* /oembed */ - + + /* /oembed */ + // example: to [b] rep(/(.*?)<\/a>/gi,"[bookmark=$1]$2[/bookmark]"); @@ -129,16 +85,16 @@ rep(//gi,"[img=$3x$2]$1[/img]"); rep(//gi,"[img=$2x$3]$1[/img]"); rep(//gi,"[img]$1[/img]"); - - rep(/