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 4a9a9a0041..29202baddf 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 7d52571c25..5452dfbdab 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 54f318e5e9..c89dae27cc 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 5452dfbdab..5268dfc1d8 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 53369cf20f..6f0dc3687e 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 4b494e906f..e293d62d9d 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 c89dae27cc..e39504e11c 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 bc159137df..452fec1669 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 9f564843e9..bd9b11bee6 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 5c3c595f57..52068efc76 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 28c3f07ddd..7a4cba64e9 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 03a671b615..26265f5a0f 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 65920380b5..442e386911 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 e0b378f685..27dac4d5d3 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 0000000000..2d29e390a2 --- /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 284c87f2fa..2d29f69e28 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 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 83c5300264..0f57450726 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 0000000000..e480ef7ec0 --- /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 2d29e390a2..0000000000 --- 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 6302bc1c8b..2531fe4cdd 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 1df5096702..5f9531a7eb 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 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 diff --git a/view/theme/dispy/icons.svg b/view/theme/dispy/icons.svg index 40899c0a54..998e2641f3 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 867751310d..4a030e7ae1 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 zcmViBL{Q4GJ0x0000DNk~Le0001#0000J2nGNE0CtHaw2>i9e+#Hd zL_t(&f$f@Wa9rhi$A9m+>`mHTNxNEIY)K9d1{+8w<5)4cCB`NprOqUi1O;$2AqHfV z+Qbg&2wQSlg3XY&lN2aPO&gdt@wic9G7~0~NgSZVOrgGzGBp=p0Atx$*3HstrM;cq z^Ynv+t(DFmt&Pp}1OG3Y+4p(hf8X=G=Q+=NIf9S$k^a9);&Dv`^O*_%OL2$z8?==`7EFF)*G@-965Wo8+05--G9Vb+H^PrS=^M0;Uu;Sc<;^B3`j; zfd?)%7hp&G4zs$hay24%V|i|F`$1dc!{7pJd?m6FTWuCp%cDyMKKo&De*v;xcP&(6 zZ&uJ^Zhy*^eL+=aWapn%>mJW{l;Yb!?c~o#DkAn(>W2T!U&xrV>5ivg@Kt03-%*PD zKxzvGLDw~aw4GO1{P?e1Ph1KvKzB!XSWIh^f_s1%0E!>BJ+%71OT~O&8~4Vp6(w6x z+ze;{XzB}(F7E&RrDj{3f7e`##uk{u7Wsnt@Y5yP=T)J`cmH{Vi06KgZvnw+%?ri{ zwQm4VpP$?A+VI#>ulR=6kyG~pO{sL2#AphDhPo<1`887>0Peb&T!8L)ca7w&d%;?- zAX3yQtnZHh>?dvUZ@hJ}xd>|0{^%-OsSZJw&1f%39JnM2C7=qOe|N4DB^?Me*$P*7 zSrsbXePeT8lTL+v6Y$zr7EL!m)2EyER0O;W)Xl%kmLGz%;_(-Z!3O^tP+JgM(wQ8| zu{0i!fn^m?3jBUA6#*|m0Sce`r?uA|{GeQbUGZIwM#1h7VGU5}V)~1=ZL4p+7)*fn z1DJk^-3IbK;2Jkue_N@W9{+UzA1)SK+S|=SG=G~YW@V$e$=vpoBipq?C7-!*p|b7G z1?*cDm;i;b5i;+-fo7Wc7A!_7ZEBb1u~cR)@Ys1pGex&_ckA_MT2>D#*^H`8kin~fx%G%eh*41U7`OS@D~@#1=!WOf2&Ey?jmo0Q@~qBm$qMa z?t1K&?YF)3LAV_Us>2zKbxPzOL0Zb`qlv_U51dfa(H_q0g>{z7-=m-`Hc*o7SfR#u zuUsM`f6LUhb5i+{0kS8LpfsJpl}nte)Ii$I&aeH_ev+0x#SSNZ#4f^FyXoOu0z$!9Xm`*bV1e?H4@NVLzJ5C7{7c2TeKU#<8e z&>`ZmZol85s+L0X3`TX#DVYFj1D5w*VEe35O=|s)y|<_*_jL(;B9)#P^Cx5#yR}% zaeQ7cS6_Y^YPPMW;>d8{*wt&FTx+?RZQ37cwME-nbYh#L-a}a;%_fOn3o9#xVg{8_ ze}mpPGc+vpIgY8JeeOp~`u^zdAmlplY*ols99A8GGw+>X@c1$Ol|iZ+=Kv6l#@q*0 ze9qkVR1sSn-@Wo51%6X*G69HPa7!kDu%@g{ZU*aj?A<0}??JH?CXz*03fs0xB+?|u z(&Ta$OfDn>WOF&Zp5js*4pxvHPh;CMe;FeW-tqJc&a)46Z~gg$no=(Tt0=MLhbk+m z4hP9(vkVTGan&R&sEGyFxS4F+AB)>)FQZt6!vjqY?jIqY z&Jl}+@cYjl%51p*+fVGPcjA71`)bE{r_1Z{P#38oo69jgIy##j0M`_WL)l+os!zl>s{se+b#r$H?>?CUf%WW=?=vx`MZZXm3aN|c_@P`yc_ujCf(x{a?yR=7GRT3IpIef$b8f4}Z}7GA%Snz?fs z8ycej?W6P@e3kcJf6b9?b$#nBTLY;4%5!@Z6y2rh6(KzJEtt_c1TMPYHIub?R!9Gy*tu0jRh^uG{mBerBbt*1NbDbKUAu5@`zuO zTUnzser9GBDpC~np#jwO|X<;`hA4z8<@N36D4}7 zv+Su)gS!^fGefpo41I-m92Q|=izHv1iDH3fAA}$4(-Dl?sKB89((47 zPnHTm6IH|whXRa_oqKrcOpen7BcxI}A~iuGH9<_HtS?3entHfYqlorMskW)|d%e8V z^B!-$^DgU8%*EsRotGxI6K@xqZsA+1Vs$tIb zFCnF+@zBJdDH59>l-Ijh-sXk)K6W)mt@EKy!Ix9JmoIf0qKF#``ALkX2nGGr)mGv2 zI$i3OeX!pr+YGGcN4^6$Rz`zhS!BtcZ{OL}#qS=|L*4Qm-tsTbYc&s|o z^ylkL&n$PzEGT%U$12C%`O^p3l%3%<{JqPkTjmeKolw(sC92Z6GSsd1c7*Czw%DNf z=oJV+R%z@_(^s(_8Rj}&I|B7{;082(`MT0GDqOO51nTF&4X7#hfK55`a4T-`8nZm^ z!!N^=L-WCV@^7Jly>3SM|c~=HYS3t#+@f zc{rwVO?%tt;WpfW@(6$p$ZKSbvCVfhZC=HQtN|f<1i%L5Ro#*=dtAUXSn| z5r`h$QWh?er}+(-RK>k3b+JfvPlqc-t+mx7z()k)mV*~zb!|Uef4O=4&q8VAHCX@U z&%r7#*E(Vnw{K5Jiit7QBfLjpz;YFvd|k;YYFB!_+9i7w2JD1Jq`Kz=eD?hWzgb?5 z&>r$3=78tK>+t00tKjW=7X-HHryg_mk}3C`HfI7>WHmy2NWg9T&n5UrT|X2Z8e~C| zs?9&}6Z?Mc7iVGDe~F<07Y?@436$>hzyv~KQ-6r zmpn(0O+W)xjnE#J4yHnZDG|0e!6QO7z8A>muf^tYI1o^4@rff;{fQ^f0`g>L? z5Y&AEc&xmq-U3hSVxZke!_^nH{Wsp4S+2Dy5Y&AFY{!pRe_%C&E&T3Rm@rg!*znbP zC~LgVzE>dJJcJzV#aesRadC^CX{yyL5Y+tuw5HvSP`SDq_N=V|!@g4@ARD63_tv7B zScM7%bw2=YizN}%jtQ8%uBX9{^K)R0_K&dbT(SV<^gi)`8OaQE#f4a*cc|b3fZLXU zxBboVYfL#Sf5gqPFau3eAp*KXAe9`u4r`bJ*!ax_1ZLyGB_j8@pVwhEmp%hdq-?c| zjLXdEt~C@Q*gHbd_7{A~LjHdH4IJ9oISl(sb3+BcgAaQiQF zpr9)OO0bGIBYdH)y7H!MMMS^|HV^06(MVte@@O-`f7khT_;qIa#Yo9w-^@efG)lmf zHQj(b<}7?te;$ZS4h2iJ9jlu3V(zuw%|mRZbFN(!G4kXg*wJvn+N!irwR#_Xwx$Mj zpSOvD968?+Szd)pIw}Ne+rVs4T${_jC)@G{vuwXe^Tbv!sp4<89Tc_R%yd%Y;>goaHB3$!Z0bpbT{qHTBlchdQ|;uh zAzL?DBlLZhQ%a31@tbohCxPi+0q(}v&`7<4f3A5Mrz&&c$+3)a7mcqzTo(?ozejGv z7;%Dgp4MK;g+$EKS_B*TTzc#pZ2I;BdyRly_pfuTLgDT>a+P)0q`HIGHFg^Y5sZsQ zs!}ZAu9{BRm(Q?}Pkq)Z#&Fp%N}RBnl2y_G7hjkI>)PX4bEUFNsm_^f*(JZG2;IYc ze}(_gXsX_cM;P~bfKM(CjzaDq5pv64!L3<@&=&@;vvV+-EfE#JUJ$VHay-Jg$Av}4 zo-$59&f1aVIYoZ?y<>z+faHdN&PhVBHxe|r@p()H9H?C+Hq^8j;ZU3c?ez-w5}Rx%en zd++!{w%WsP(>?OrV9b9>aGTaRig^$bU|xuc3f0czH`wurY|FG>{YjYh$^=$ebg z0w!v$Y+@s7u+om+zq81b5Ry)=B$1-U2sn)x>mpP1)cvW+CuwA<#v%CqX##j)jgv zpB}wB2^cX`Wd0@E)jS;bM=(*vwj$b-AOtZc7H}t;tm^za)^K(1ZIAq&T3r$CNf3e< zqe0x-fGb}fk3Z1JEU`SW;HA9;oC)gf!{!kG_e zQF?I!4+@Iwipkde30CV`JiQ{-D+cU@YZ#E7u>0QOxf?1S<4oMuIe_T1I3fX=9 z^>M(5=L?>2`FnFzlpYa>P@P;bn{gB>I&_J3(q!%}!G0SZ*a_j|M8UYk3?U4sSit(~ z4j?C7V%M8%b(DN1aR|dngH(7r3AUb@&A#p)5(}1h_@SbnWcke5tELLr*Y(bLzos96 zJOImzBuXz{#RG$;iJUj@aNs)Qsp~;i%Wp}Pd3aScRUDNV{R2ytML6G)^i?!KN}Dt| z4^Krnjy + + + + + + + image/svg+xml + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/view/theme/dispy/style.css b/view/theme/dispy/style.css index 472fd875c7..f7a1b295c9 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 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 e272191c2e..5b7a3f3d67 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 0a02ba8129..b1a0149490 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 effb7273fb..603a908c5a 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 768ce13705..bccfea149e 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 0a02ba8129..b1a0149490 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 effb7273fb..603a908c5a 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 0000000000..4bfbaef7fc --- /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 4bfbaef7fc..0000000000 --- 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 e69de29bb2..0000000000 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 423d5d369f..f52aed2b10 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 b458923e5f..f1134975a0 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 f1134975a0..526c6ea005 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 f469dad66f..8c536b656a 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 4b494e906f..91db5baef1 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 a74154c19c..b5c78345a3 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 c99ac14520..001bf12af4 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 0f57450726..a61a5123d7 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 e480ef7ec0..00e97cf98e 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 a6177324ac..35620e80b7 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 00e97cf98e..35d3b1be9e 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 81d7c753b4..a9edf0da66 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 0000000000..a458f0fbc5 --- /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 35d3b1be9e..fe944c2a74 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 85176732b7..0000000000 --- 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 d0ff066737..289581c36a 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 5b7a3f3d67..7f5fe1fecf 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 85176732b7..0000000000 --- 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 d0ff066737..289581c36a 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 bccfea149e..6e3909ab4f 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 0000000000..0a20c9fbca --- /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 289581c36a..5776b6cf75 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 0000000000..0a20c9fbca --- /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 76d2f9326c..45f728999d 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 bccfea149e..2d4670dca4 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 b1a0149490..8c892fd2a9 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 603a908c5a..3b103745bb 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 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 27c6e315b8..b04a7b4890 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 a9d00bc981..2ef582fdfe 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 b7f427b324..46c737b23a 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 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
    -
    $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 603a908c5a..e02e5a8bec 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 6e3909ab4f..ad7119c2aa 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 0a20c9fbca..5a1828ad75 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 b1a0149490..ebe40fd4ea 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 603a908c5a..e02e5a8bec 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 5ad0154d7a..38736d8364 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 2d4670dca4..0504ce96a9 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 38736d8364..5bf815105b 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 45f728999d..1414adb069 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 91db5baef1..dcaaf69753 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 25bf93b99c..4b904cbcd6 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 dcaaf69753..57d45ee3c7 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 cff26f5c8e..d69cb263f8 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 0000000000..85176732b7 --- /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 0000000000..fbf354b475 --- /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 0000000000..41b6aeadff --- /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 0000000000..e69de29bb2 diff --git a/view/theme/dispy-dark/group_side.tpl b/view/theme/dispy-dark/group_side.tpl new file mode 100644 index 0000000000..516d70d5b4 --- /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 0000000000..793af6fd2d --- /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 0000000000..05a00d93c4 --- /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 0000000000..43dcdbb841 --- /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 0000000000..94c31da23b --- /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 0000000000..d49d7c1af9 --- /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 0000000000..4a030e7ae1 --- /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 0000000000..b0cb8890c5 --- /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 0000000000..0ec2c05699 --- /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 0000000000..4582751c60 --- /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 0000000000..e2aae1e77c --- /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 0000000000..54c3e389c0 --- /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 0000000000..b013cfeef4 --- /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 0000000000..86453fad21 --- /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 0977d5fcbf..1bee0396cd 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 d5e6826a8f..1e28a87406 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 0000000000..6ec314b702 --- /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 0000000000..13e6c4b593 --- /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 1e28a87406..5a07218bf2 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 5a07218bf2..8e59b151dc 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 1bee0396cd..8081bfc281 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 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 8e59b151dc..805749b1c5 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 13e6c4b593..6b242be316 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 0504ce96a9..ce33076451 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 6b242be316..9e90cc24dd 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 f165ad5905..65fafda4c8 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 5bf815105b..08c5a54246 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 6ec314b702..0000000000 --- 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 9e90cc24dd..0000000000 --- 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 65fafda4c8..3bc98e36ff 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 f52aed2b10..9d9c8a2c79 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 6cbab0a715..321bbbe9ea 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 4f0a2e25fd..05ed4cc82c 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 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 35c257f021..2add8bd856 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 c1ff07bd54..41869988dc 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 5b23406fce..c0a98c8eb3 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 1414adb069..b30f02c9f6 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 19e649dcb6..6d2d9e2ebf 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 1a701f4077..428679ffc5 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 41869988dc..44a482ca28 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 c0a98c8eb3..07edc70465 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 zcmXtg2RN1Q|Nn!m?9A*HDtnVr93(5{AbaH4dv8A0L1u+xMum=SvUjK)D|?f@SF-uv ze*f$1x=!cP`@`Zq^w)GV~C{3aP@L==fxA8T$rMT3rP-i>MA!u4SRBLRf#X)y_xPn;>fni&&5I zSfh|UtWgBv40X3)R93W9F1YWH9_#7BXm<^%$a!AaB%}UDzOWg3J-fS`@JY<^ttj7- ze(-sK+$A|;_86u5sK0US_`Gp=d)ny@#Hp%aWW-2Mgy{P6vYZ}Naz%if|tkAsGgj3Xzd@UO|gbU z5GN<6+26InwX1@iAQLCXO5UEQ&z`mSWj)%z=vpDxG%Ki zr`#Fhj?d2egRdwnFrQORV$3@tvtF;rPdR*Z=GeDQrx8&7-KksTY5mC!!;3=>quM94 zsF_;CGIFSy;y7@esfX`O)i{R*47P83kx?mp#dD!+U2aJkcXxNUw6w7BBiDX}i2s5{ z`z^c?=__>TvtL?WtvNgm@W$r(cN#D?S!MfjGV>ydRW&)h@==o^!)pQx02op^eF;F4E^ zyq9#Ab;M%EBX1{e$P~+`->Jsgu-3)=X|wO)O7%pI^PEbhb^q14Q%%%zEKPk$fym)D z#(^!*3G%W{A3YH=ZDsZOF7yk08CKaOtsS0*cUlO2K^rW&)$MTQNnj9_Qha>9Gvg^g1>e+Q zHS($cexWhcrw2dUf4b~x+!BJCGi(V8{PWFm%1js~7uXCtj#w1q2 zU}<^z3q~fls>M~7zsL<2N(1-S#)ai z2>WpaZ;up&m;dQgKtJYw1#h=dC0XkXY&aXabLiJ(RbR4-HBPf#?dImj%k|c_g1p_l za-yr=sAM8Nf2Ih%QJMQ|vpy))oNl-HRVCMYmiKJvghSWg^&!_;-_?TC#ckAm*Sk-*$|M z%>dGeM;@PQkNaZ!Y0HPY|HLWzhFCnNvecQ!{({ z@Ra6h^4~CWi~oMU_G4Gi5--rqqJIXU_pY1giuQUo+vI`1TzCeYy=Ul z#m4X#^Um163E(Y70;Oa#Pol<+Z6@Qr^sC{o%$ovy~M7 z)JD(?m|y*cJND&Q3lw8Xful`*(-G zJ~Hy;+PV3*3595BwV|rj!^6Y59t=i?F>j-YLBdJhZ#B#NW_#QI{*=gGs(idNBV_f9 zir1iuptR{9{h!6fMSN1m6KTlaMXE!PInk<)JH+crlx3Q4SjlFM;9)U@@mynyG?$@U z`Ar5DcH^6c%{aB-K7J|(Eu6IHm6bi;_iK8qnJpuAkB!YdpWNc1NY1Uq4`@4Sijj=a z-kzS#MGtAc`k9??uv=`mo~fxV?EBdL(kW$y>*%oFzi;bO<219w$HP<0&%x2bgn`51 zo)i?+6As_THcYrhL=L$jdH8h>N~6BS8G-mx?kLR-r zU)`Rc1*^}omtf_b%DFD0F@%@VyK>*8)LSTojSbBebY2{+=?E%G?NYKDedDMSt#SDI zZVSsp-LI{yIl=LvIQXLs9j~peQ)`V%7^2rKPfQI)SP{)4x3*O~1fBZ&`uGVwH9%Pq z_THIhAn5>W&dSLWl5w-On_UWN>be(E*@=mQLxOMkAWf8dJ_YDRemqGyt>u>8E33=P z)idRm_{|pwYBvqGJ)H0dnT!Y;-7ZMXDC0x!IQ31*!h${U>U4F+@84FPH0Dx8Y(WJk zXFL`ws!`c?Z4pafUn2h)rW%tc(~GGn*|dYh-!p&FR8>{&k@f#KZB5rz*VY|De$Up{ zwlvd!r*0Rk^>{8gSnH~C9&si!^H+8SYJ zk#c+e5oQt>hVNDupc+`N7aMSusiZ;U`!W~3F*TSnBD(DbNkDWRm{=+$sT#2Gib_hI zS+L>e#>NY)*iJWvp(=4Snwg}8VY*Xh@r_7cbBoQdNr!JZ^(Awym|bj}ySar=VBXf& z*1;^%&RuWr;)Am59!Adop!roLLTRZe)+`BhrMrVMMq@{Raqvk$WlOqZj~RP2mDF!M zc$yp@b33?HMof%)F7TMiB=Be?T^ii=ch527sFwwrR#6{hlwgAz5SH0W0@h!=yskmq%7j1*aSb$7>BRaG5q2)}>-{y<_bz`c70l#YiXJsf>!Bh(Ff zJapm?bjoq`Bb-TkA4|rEhJIhL=lJ`vTO)pgCPX@q9I@-Q-&(!6xZnrfD$3=8G>QYa z^)1Y!bj0ow)Xk5c#=E8H4I=*3qD<7>o4B}bOS-OypfyAD>(W#@vQn>PJ#2oB5qm3W zzY`GCXoy6~bLFK8da68(Id~yTn=a+Pl6tt(+t9Uo7)TsECd)bZ^;KowpCV;*^V~m& zr_5M_pAD8Oc>S^7lp7Sk?TBWCEG#W41LSh*(CFK^xVT4s-JP8a)nj(Y?edp@UmCgh ziU|^bob@JGpt_S3hgyC*h6~k9&AdmEKyPQ9j%kWU{DgI+5GeEyx4J(WE5-St(nRyL-f*D2VY<1-24s+T~qtj zzAQyh`p(A}I-*48g3h;>p~SQ_x}5j#m*vj4Dsvjw^D}6$uNIc=K~?l}a&n>}&);Nz zV^>~k(nJr6(#^^<#w#BgDC8Mzy=3vFgTqb6tudiffqr~-9SddY>iO%KMu18k9NJgE z6v`69aR2~&z0wUemh$|{2(>&!`I3q_|Lo~GubFUYzWuo1@R z;}*iG0E`UyypZe(cnZkGhq5D2j69RT8y9V!fivxGn=VezSG)K7pFAN{2YPwmqf%nK|18%tgomPKL3zGetM_stVDhSZ7<6;vMc30f$O0Yr}yA$4m{{4=a9KwTVKX_U}Tx22Zm&jI4gu-RuFS=#N)J6lm=T(2rCh$$R&fYfCnxJ?qjZWAKS&r`@bHHRF|1mK~uI zvTj9~Dr7Pwy8Sy6TU)o-!0P_}`_VtTG2lNdr?yikxBuaF*MWVg+aZ`AMRD3u@X)PQ zp3u75V8QEJW;F$Xkn!>H#O0fpNUYb(k+(WPGh!NVIaTXN?W%V$y}fb8U%yV1&U1r0 zq-$qq_e$~jF|2*vWAdJ=pRV@1fx+k1J(c;kQCOe!SbF;UN_;kpYyLS-R;{A}$FPXv zR25r(_~5}nlfUxx*5Nh$MqG*LZC7Cl9DY86to=7>@6uB&(I)54Z}817I*KcV&U){js8}uc+Nwy>@Sm@v7!8of}+8w1O@4WiH0KGk~mOgc1YY}fwDn5TN0AlBwssfwm1 zDF9bOZc9(s>f^tD{koXDaSJgZfgAL}c9NoWY!iZFJ1a6#VsQAbllq&8Uc|Z4m}kb& zx_a-gUoi-;CdS9b^B)+TY8Se8W*Tz1!wbb!*n29>R#>Q%?%xXe@4x@Dz-cuu)KpV| zeU8Zsz!7Er+Z=d4`sODSDLx}9K9^>u&!olfOarY`-4WMy+H@9K%_Eis0b}1u3q80P zSv5;L*ozO{2-s2pN~{4TKf1N!Ob_CS=JE0U5@${q=pa5N?_un1lb)gkJNl0(?Q|G4 z_;+a;8L`~iKG@OG(Y1T+L>xf{T5_kiz=IQ-*9tzPL>4wW-8CM|x#gmU++YzrG+>_$ znY90QY?uBI&`vf>JobGoeWDM{IRLj#0o)q*WWY0!m0|+xt0=K$@z2)>cO!)~;UoLv z8GIWljfzpE*`Rd=(6F$~{Tu%B^2j7V(wtR7f;RB{Uqq+H6F8hYQ+xhDxvTdBi)h*E7{-E^HPIrNE~uL31~jj zIB8UXj|8=4zIyd)*EZdYQ%cJB^VD{8IFb{Q-H%afTLxRc85>g4{)g2%+vHy`(j<>) z4jB0GB&Vyhv)Z5~NVYdeo`sTI^E;pd%m?R<*H`EI+Y@HQ(^ zjSRf`S!sA6v=x)b%g)}h?Uf4H05p-72tunpx6(8)Kz8 z<~372Si_5e$1a=$T2VyX(u)xSaPkv+<3nCv9vh}H9@PV|tZ(qk`b{Arp<^SDK_%{Z z7Wp7His~30U4k}nV@kya)sy3ZQzeF~xAEM+uZlgt{`<4q`+Qqk!NY$x^_%7&GSu_c zJdL$z6!fDDpCy0V{i8V!<0}L8=yD%gLs` z%hWPgCyRo_I1>}qdO`7wQvZQMbVq^UVp$-#?ZcC>XW`_sl@%4Fqq)TydYKPZe?Kl7 zIeT@4RWwp>Ja)8+I`ur^7>DMcZjKgjdRn3Cm{~$XL3KhefU+?K*sgmMc^*wp_afnh z*r=%EM^4qiX{Y12m@W1^CV(roVA;=?85GP2#L)LW8U7pF6oYF~3k zF^FhkKUamFLVv(@h-pma^ZZ)-u*yRj0{DNhNI=BE@$bXrY#GP1*KeA=9eUfgwj2N% znlH#U{ zdWfL^kh5>1qwi9e;JVcrSyK*jL90)bJWvPMZpHKoJmt{zDNV3p0S8)j`V;4U`WW<^*dZh*E@w zGp`cLBr?lGqZu+br9I8DH~R5Z9u-~nN*oP+3j0D(?fWqcK6kwsde(SSI_6EH1D`3i zofHGNdW_HY_Wu3hT?&Z5aZiC+(5%%}HM!(DT8*VWMyrKB!URM5Smn&wX1RkL6uvG&<;`?c{sKNMc{lz4tK1tAKr?8eF^~?u%q5{)6R33p)&&&y-)V0```9d zhR*fzn-F*P&ABtVD*`jbOKoj!BR{{h=(#hKpoAN>(emxj@Qm|mB#}TPR9>#pllf3U zKKj@@DCF4tijf5{ZWll*7An*Ph#1NS$Ti>Pv>G}$Mbymwi~4v?(Y1E1c&Ip36@dwe z>a?hPz{kf|-?)CQ^1;mg$2HzXQUtR;v*`VpKMoG`ODwoII8aSpJ-{Gk**c1hg?VJM zxMz8Tucv}sK^@w&a96jZrlEPDfJ|q5KjHB29yj-+^d8~OF}%w`W3wzxYc!{-;zGZq zJR0Z#x16|j@NG|CwQ*|>ZEkAL; z2`PBj87(4h@IuCrYjDIBVJi{`8`z&gcI4kGGr}sXbl@~ar$M?bL$|}K6x5| zW;NJ;GG`VR1Y08XDu@nmZ*Tu(>fd<&cS!3x0x8{|^BZ+*KFyrYdlsA_w#81cgaVZl z4tErMh&u+_`Q(*j!STEo>bYyzh;=>pgjD)pBd01ECpUL$mgZ)5Mh3$})fbEqs7F=r zI8}ju#ML2q`=e0YYsA~BZMk2V2NdhNMb#Rg2q)yf5`E3L?T6ObdfZyfYG_k?thn~4*fnm&~S zoQEy^ges&Rv#0|%Ha%9NB zoBxp~hVPDwn5c$7A;b{5|D&{=_a8>2f4UFzAjC15laEGW`W9<6swR$E_N=6SnTfRf zXfGp!nLF6Agx1&B{cLU5kDxoA#x+rk8KAFALNk zYBBPs zXEyCMoklYgd zwe2;g#tmAsEk@>L%JS8X+VB*x!W!K7r7@s;5tt2w=CrwAXH+5wm2l>%0(g@Xc}9A3 zhS}H_NZ9L>kUMO7=9p=Xu_HgS%Th=rB*~=oII(0i*3I3Wqbo&%Mhj4Rh~3VLuFJ53 zSKh$HM2=rh?y3~_PQvf+TIfgRIP@_@Ij9Wj0f5LZ9IVW!00SaeHIWugMYmM8LKo3-2p2ZciEUyNI1298doiF?xfdF)bb9~Z|yfo5;hosWd& z@i4PX*YuSuAZA&^3o|fS?DV(hi|>jc!k0Fu>nicD$h+ue4t{V%K;m?f+6h|8pB5lS z-6FBqg8*`PiOoe@5K)j5H|h8x21;*8$T;#UTDAj0@`dr^_vwJ$v-hMG0c1q9y}nt2*^rLPk)=7 z?51R3Fi8VFRZ}~c;o~cIG%%pY4WdbT_ip;Rklc76eF>@CVJ14Ijfwq;%wit;6l?rhe!IS-`%z*DrvJGd4I=$y0HXUHAbr>6_j-RaoHME@wPEt5t&)unDd-nfu|j^w6_s&myt)O#|i1{;MFU=H7*Z|0ICDNm)Wmn}%_8c%g=1eU<-Y zn6jQ6+t-)$;%J8rY*lgvvx(&H{f=Y*MBCo)7ZH_Mc!nAlkJa($O6 z#~LU1n$XNY)H~(rQY)_yC*HnV~u?*1Inc_L!AaVspR`#EZ z`>%8VrR~@JN75Rzw6sJ4m`yR-Zb<|BkDRu&_vc_YTPx z%oLuTYVte|V{+go_pA zodPiUapWA%nw>)_W0pQ*A=0FeDi!6htj?6;eBg>vP=vL#_z-7DqqmjfY|XtS4)Sd z{3NL`U^zx^);GtZ8gL55fDm1gZ@c>}d1*j&n+Z|kn+?d1JWkR5Ffk2#L8}_w*xBXG zzFO~L7xjz_o`b_n(hR+$`aABln68H1#@OuCf8k@Bonebyd7nN}!NLulTW}9)`r0}u z^V?U6F5T)b4tiV{NhEGhQL+9n3t$0sez7kFIC#XZ6;?fagDNZw=%SMUN;YecXZ>9d zmQ;UKykS#}GW+%Jewu`{iQ-%?KPiqRS9sZaeaWrg65K>=9_;k@RDaub2=1VP$o18B z@@;y4C;4C)tSTOL*uGDZ-d>mNbIm4c^cvo@6qgaKV zKuwGFFfRSn>LmP_FUhn6!vXjR`G%U1J3eHjtv%>*KC`08PoV)6;!;trwABggoTirq zNdW2jkFX~sB(#Jfe+BiXG}43Iz|`B!%!~UM8SoHPsx<SucL|S!W_w3oPV{mX8 zu!xB=&;Fh4FIIp1aXWIvZsv>aq{XY0v89z26G{gq8oI9Dh`H-)L-u;=*75nX`Vwz^ z7mfLrF}w6{YD1!N$UkYPE3K~VdF6YLuEUjzX{?9S{L4M|59pI}d=dV{%)*dq;Hj8q zCQmo;Y|Or%!4y@3|I|5z{3V`_|X?m zRZVCP^hp?dI??z5Piz z&j3X$AnTxPji*mf2ApbIoNA^@@dgN6TQ*&UF1*xh1S@s)mc%n0W!pcJg*f+1F20!) zeozFp7J@byACuQOOqWz@Si`SGAQXaxRsW!*q`by%edMmjt6bX{fLMNj_5UlkW#DwRahyWWIK?fRgga@fDL5i8Jh_J z@upWp4NmRI>fsSDAKy0qJd={PU0fKr{wKFgq+y@bl0|Bwoxyqkh1)UJmLq48YH0v6t-LAOew7} zjjayi@~EUF?fy!Bdb&sb}*pJMPlw0{*h z;SJ#1@gSH$7J>`)eVF8L{13Tfi_Aeva&uejD=4%#r04TV1Hh$FIdSno#8eYjiB>Fg zcXM+pW|&AxPdCuj*B_r*Jv8R(If!~PrMg@@v$Gjaz6iZT^{%{^%h`1@9%C8w45Xk~ zCS*$vli>PdJNU?ZJ$z>FvT>s8gm7^Ww10b08xLkq^(CE!m@@@QE4FfsWOV(AxivE% zBM_Il8U^uLW!4GuS(C4Y%>e|^uXwG>mxL3fHw^kSo@Mvdw7*oqiJ%TV;wM#L=F|Dq z@^`2j(58kBzt$KO`|H4q<2A8G)DV@vlp(#jqp!EU8W>t%K!!lbhbI8?vkTT3a9Yy? zADIluAzR2&Sym2+Qotp|Z#og|t9?vHGUE))A}VD^b&}){ zF(Sd(f~}iJ2=YNn1*9Bo=`KK7&JWz6r&?OqP%F_wA2&C50&CuLuO($1lLHqea6wsZwt}7)Hs8_Gqgwu4@81PjX+Ip!^cB4k2sjEpl@jW%YRd@6IQ7U6+Qf6{i}+g zz$m1U;VWq~zvW!-2FNE1_y=}-QmH*hktLgsSl4|I0SV(~&&lI?*}mVKF19HI$pe76 zRW-F;eX`|s&fwM1G1laZ-sD1=y(cO!8$Nn~ukip@>uUEuQ zCMIgTkY)K_rjOd9#PTW88lCap-pZVT!K=XorPoZ4KRi6#9-Cv^wFx9bZ%@@MekHZW zf+lO66C`GRIM{cAJUg)1$SmnIARq4I-Q6JRn&(_w)(*j%QRJG1%9j90@Yu4=MLiq+`{;B4U}TGdQ-x5}#? z1_16|5E<)^AA-SPIy4I^aVVN#unb^ZQh|4l3TApAT_`IuhkZ@c;7{C9E1T|f_&CQEmMU@d)R&T5dJ4+Q%D#Z@jzpSc@LhC|_JLv^ z^XAQ)X`oN9rq$t4tV5(kY`Vja<{zK1GM?`PTAz;+fnmYnrd|y*BB(km2ZycS8;fE< zPZ6y(x+3lYT2-f3l*0Dexdk4>f9aUD?%e`LeGwkH>M zgA?q?8p;UN1A2iR(@#0r1g+eS9K^b+nX!cAM2QzGwzjsA_Di0pE4>-Vjs2?)dIUmR z1lqA$Da$_vXfaEO&>sHiQ>gVSbe=Z!)yZm}@xx151p@PA&h>f# zLYwAX*5^n=hlk2@`%VLzzaT14F+e-i%KPwaSd`D=)~h|?SMD4GX1&G!GE4IkLPA(I zv$Obm$MwRzxf2e`7B8BNquAMn*eJsANNzU}<3k{!fQ%-r8_|0Uhz{e4Z_mvEwsavB5CNhs)b=NxjHz z4WCO5b*MANWivJ#lRM)5{aazj=OvM$$=8->1SjpdQUaes?5D`?DgNRhfc`Xpr?2(N~UsLKTz6MPYikP{$wKa*S6<{<3S9#P{z# zbIJcaK{#o_w7EkdNQ43Qmr_IkMEHtK|0}Jd7a#HipZuqi|#r2pnWI2wIJD%ny zj5!@_CjY&&EBhPK)~BCj3quL=9VNzBjirf!8Z1zg|e+>)M`a zkjTGJc=uYd<2k$r9L;MlugfN!@g?tj-;ud*O zV+ZDuhp{up&F~{R!SbcO$Y60)a9+j4i73FnL#voIADgrbR2t@PHItH8wPvbEa{O>_{5J&=s zA`?-lXxGIqHnz51A=kA5HcYlGLq{ZuB1j|HokWlm%%01*l*XMk4}Q?S{?pQi`_IFi zu8SNx1tBCW5M9knpBNS0mhKQ##`cLv*>8|*>%!q9MF6PPh!u>38pXwaWImo}jUK}y_L$2V!l_v~Q@cDziJyl~fXb}O;%~kdtKe@OH5laAhW_x=z8X;F*G~d;Jtf*w?bnPK_1DeD!kz_cTZIq%jRA4%#M$XV{-ZPJ^B&Y{7RD9cEpU5 z5HL9vtgNh>+_|-~6>{Wi=2@<7vKv#}`=szS3y3zyoD02oK=o>$tkyCg%I_s1y#|o< z8O&Pv5D)6n;Ch*}!Fsn~Xrkw}@OzQU0-=5nU@SE`V1EC8p`IfrYnQuOFBgmIe@^u| zMG>$oX9BiaH|eaJkzQkbYy}ptWAY1+H9?v_|F0=@Kt`Gep}d1Gj@(Jye=BklqqVK^ zOpj?5ZOA01r%OvnN!2L#;y|mqNslTB)wUY2^b*OkvhN;(>stVLavx zr&@lx=limnXsdC8s0|~S(Mu=%nqa4Pku+1<^R}z2>v&7ByzWTc5A{mSZ`hZ>tUlwX=o7^+F}D$An82DJIV`?d#BQ)z$Q!!j2ZAgh zL%9Gvx)fkFwtd``2A?=IkE5g=MBowldov~zb+2ZMsnpisN3r`o)e79*H3|~!jAvCO z?)9=4O{DjA=nKv1f<;j36qfy{iDxi*?84>v^pup8TV@YMdSE)cN`n9wWq_pA%F+4| z_m`?FDsa?sAu4KWV2>@@jFm9mC{wsZG-iW&Nj{r_D zqVw9QzoHYdj=bY5R#8zQ=P8}_5d>#uw!P-)9mt$+dxgHYx~rDTujK111tgfn?CkiM znA;#wLR_R*+I4w6$D+NpU}UDsE+e{tmHAaN+VXREQs(q+<^=p@?q5Q_lbpP-%7}L^ z_D1#MTti7B09#T6#oUeEz@ge80RpLPcc8}^g0^DvW%JAw$pe(cTVp*S)idH5NE^Zo zqpHXd2v0=vjIMhGrM`bpEp*BPiE1$PV-nhO243vSh-Bc5DtHSY!aZNoa_}{P1ZNRo zPN0I*w+68bgV})eEafyQkwo>kXj_9~CMzBIc3NU$+5VS;>}TnM=GeNWCM2yn{(>NW z3)cHR2z$K=dIw5A1Gzm%H7%d3t(U zqdS!~mj0#zkc~FX+V9Uq`C2*g;0)%0n(y;>P{nn=6>EIk>kXYy-k`+fW_nR8#%8RU zX;fxkG)UTmPBl83PH2OfQPz!$qx(%OkNrk5tv zugAPYkgIh!vJ$g-G`hst{rx*&9XmZ+n2wJ;aC!>bW3s>j6D$2@uH|yUKMP_;ScRl*@?C87*M2@0*meJI|ZG}-FM`)*C zj4Cq_;g~%KL9DoHdxk6YN0o&3A4x|T&rS2*bZ*xn4GD>SLm4%KB+_esnL~DDfQ(4Z zc{QwL^Gp!2Q^NC$WRN}(%qj$;Z6`T91ZOQ)G+{cAYOlH&oM8?Qyes`V31DTh_iFMJ zx!-O;zO+&i|G80PHB zY>51sMdgHyfc_FtxDYFYAP$@k$es>7i%KT!Zg>#{o8l`K&geDfpa#l@F&2#B1Em(M ziJpH&#lXNInLJO1TnOj``fDXu6bj!V$)A|+1yg#Wqrbr*B%Gr+ETk8LzRG-`k(Q?a zR@ms(t7s6Mv`LQyVL$&sIn$;mrFr`HBMIR|{I#rTx78dLw_9+sVnb^V4vtSphO)3b zb@{e66oa2wlWNGSzEUVT(cz`t1zXHTI*UT@GyVL;6WCpVCo60=Zw1hG;piJO)f*Nm z_5b(*i7ZYz+ZU|($uMutwXgv0TV_!FBVnMIG~(SbRfzVY$x9OF_p~Z*39S75G+%7* z^8nwO%9-<4GK}U|MdJrQ)mwY9jIE}{x|>xzvx#vr2j(ltL1i$%Anvxzwy_CP+iK7| z>{^gNKv-oBjbRO->WClzQ2%sra3Ew@uPr1YB^RrZ5Cyn+ zIvF29pk23NPPQuhUCy^_EHP<9pFuyrJS@8G{?Du&cD-4tpGV|luipMrw9Pb>rZS7S zr=O550Ui#a&Z{G=&oAZJ)!d}MN6E@Y>(qZ0!vOJnz z$H`vhG(&GvTBB+qW8%k19GUmPW$7}rQWIA8K=-84gi(GrfV2xMNg&b6*SvL$?D0pX zE7OQpURQgB7n79Rr!GDIhYx$W!X;IbKV8b@^n)oBQ{>uW{SolPmAt&Xc0r#AcocB5 z_jkD`btqlT9t3J{R%rOaIjCieU|m4^T0}Eb($ylqXW4I8?zB^($u9aG&ng z!x;i^G&P*8ySC!d~ zJZJ>r%>PTwNoV!p0y1H+9~)F;N)Do@(Xe;q1j75c(HG)SLRVLpi3-dzt*&Uqj>$*5 z8RB|N2=1Kek=OT&(?i#O*<&-1EaTzfY3(4BpEkP$HyrRP#hF|IGw6AlU%xuz2z`GhWGOBV;UK*m@FU&xXH5N+oq~dbzB9eb(p=328Uj$kE{{e*-@CM3XpbNS6D^5Wcfsw0p#qcC9?w5ZKi?jM z#Y5gl0ipj2p33uejp%l}K>6s(n-Z1#;g8MDU*q%U^n2eA*~n5;6Vu2byMA+V1oL=l zWwq=AWl<^Jon(v)<5XQ6Dj)-uedyB}@Oe)G^wWi$r7s(#w@T!=!^eRL&l7X!_uWF> zSQ9ur;$}+Y{PH(v2Ze4#G`otpZRLIn|?IJn9TljTs9Qh5dT0qdRQ2f`e(S>05XS`}^6PF8Sx{ zmf+#}chYzhltV})zJB0VXfPj1v+y5T~DYNPs#Vhp& z@hX|?01qcUu$hd;=QGS4CadnJ6AI$F0BT~M+`YIC5P40d@VN;mctSI_QR1!>%y#A{M*d-P|?i zS1ByEKQcp*ZyFmL)j$dr`y_C#BbTam5sel{9MBxL0#O{K5hHel}=h#_U^r+9v{&;%OQ##Oa>{)$BcOwsYI4TK|;;bZ* zX!P}{C|~d9k&~9XdZU!AY+w`!Y_s+pz#vB)_Uq2n0s2_*N&3yC*C)AnQV7|8^XtHc zPC%qc$Z=Bif7$K8J96T++6)#VU*xyC9{hgyZI00@jZnGT4? zHJa>pr{}}5T<#3EfIf*)j%i#u&*n!K+LH273>0piumoRFkjb5}-q3Au0RDhcmJT$$ z2>7|-j#KG7AKv<(5Tx)0F;a5HcOUjUcKuhEV17^)jZ8@B?mMR6y>C-F(d;S7cn-p( zGQk7UHGTu4#RRRk6T%WAx>$4}D?%~))PmVI;?46oXtWbhEfkfsjS2?;E5#OMm6er6 zfZ%1^Hy*NP`3^yaofSW6n<|nnkWk;74%)j z{kt>4vb}@sPeh!+pYjMbA*)Hw8!9muFmqz;hQsV|-Qj#oW2pJ(uV3|#3HG6ltp`&C zjPHS501g%wl%63#2R704SOQq57FS6|T3-D!vj7k+pQ^2`%@-9^xund+>zM|`iS#?napqo=wa8{_ zt{y}5EFzZ=_r)ZD#?pc>cu~`w@H{c(jK6H~!-o$LP$=7|^^8LKjqA-eb+5PVfc9wf z{DskfAPwAcN}CxaGMN<`+;Zsjw(crwB?62@D%B02Wb9p%El~W%6*suKc$mMydzE3O0wsD`Wo`ZT*RBxF%*Sy20d(c0g+}~RAy#CUb#Cl zhWC9+3fJdPpF~Xy*&vOfKLBfR8IR%T_VJf%EL*N17SCDOJ2=Bz3vvSD@wwkTa-A0XCiBhN`Qm#`&oaFVOk`e5SN|tQo{%k^Q`PaF zYCQ_+1^n}0cGZ0e%FlayX&0me!RScMT75Itm9bG?WWKEy`JfA!wZjYO%D{~@e*>mq z?t{_I^k@V*7e$=a3Kbiyat|xWR6e0w1WZ=^VhosmEqn^*8&j1hmA}}Jl~~?WO-Bf$ z^a-@Lj{L4)y?9Y!GE_B0-!P^GD&Y$N-EK@xwn+0T{6um}%E}gak*+tw+WOiednH(( zR$pT%8*4x@WjSa>sxG9Zvxo+~D)-Nkp9GF1fcRNS2&0aD+>b&53-ewL0yGMZ_^iyW zO(4r>uO0{*nmmOp)`vTfo#AkKyFyK><9E-swR1JHW$HTrbjHd8K~0uQiE#ZnC0~v? zodIZqu}e#@6F5~1I`L1uvyOaZoNwaVs-R6yw5@^}hO`_MYGTT+Ix=$!K#q;cW)h6< zt^Z{K0?*0B9mW$u!pLQ7Tqt0_leSAuph@Qsh#P?+ATlr^xGkA=J|tSK;p(~{0GjCb zW@(F)F95NIjItYK0b4T-H9}xqRN`hApRXHn+$jVp&Gf;!#Z(nh1+uC}Meuq3wyVze zs58Pr+T0Ft+Vd~GBrtmqrX`QJr>r$KHG?QytKVIg14RRmEFi5h6li3KuYqI)`q;rXJ+dI%5B(SX0RR^oDk@?CCKK$6mh8ZF zz61IMH2@xCrC?zB2&iz$8wkNW6yKcZOol;L_}`Z=Uo8Ic9;!ROas8 zyUZY@(hmge3Ba68U-EZZd{MhibsN_vJ)aKesExSe@7j3z$36xmjJ*xSRTu%7{!;CM0K3-mag>8iUGhP}pK_M0sfn@}Z zES8MlkkshBh#46DVhuTj988)6UL_|bWEiY_|sio%H~#9@b(3l zuOLY%O#Jq-_Am)Z?0(iu0@of1R&*SQbhyB1`2#xM<`$a^_|pU}Gt<*@cVauKH=%hj z1hKfVuzw6(pg8FqLEWkl=%uKYjHRs?@Y&3y!<_Chy2r(d= zk6=(Dv_5`*^i>BX5A0~i2Xol&uitGpV7BrSOlezo6Ldt-;Sp~obVLoq6W?-cDBBrW z(dr+1jPRE|$-!Gl4Qxp}NHT%GVS%|GH2}9}Q%XTv0^DE_;ku zY)s6*U{J;yqsTnv#hs_V#Z@{^iIZv!*$fv__yb}XWW;}L<$I1k@B?W39K;@c&b&;4 z6fXrJ0V6c;BIywNc)nXu{a(`n;6=W))YMFjVs`IZJ3IehRo@*?<9Y7qe%|AH zU)OcZGf-3G3#E~wq=SBMR$uFx6^I=;C9s8#5jtEUyM;G7TrZgiUAvW= zoNH6QBQ^(~3*(<&+?uR*A(r+Rb{_pm8*sXe3_-&UpV%+!t&LQrFqu>nJFfoVD4=M- z2)ys&C28k6GJWQr*-FQ?{zTRn)eOa0dh%T&OG_>iBEzK%rhG7CGW=Ss7X zmmAk>VJ=w@7izv0KXpnw0MP1`K%9}0aaG&z zE`SPu05S0Iz2b&=DsLK2R8WlX^z><1@OiMxw-eK;(eb($j0&;3@~^LwSxv9ySWiPN-qz!wvg)=b>RGAeAFz-&0v(sL&9c(8>CGD| zWSGppjgnI2_~_{9_LR$4*mXw_2VppMnVFdxKp3&-AfAYKbaX_o|GD&(CcIdsF4y8P@yUg!WYLPY06J$pBjXX}~{UhaM8ozg=RPur)=9nlF zV))#TJUliWO?PozTwK6p0N2k~Qmk?A5-FX4G-xX!6j`{q#OJ9dFUGtx%d%2TY}(^~ zougIMcr)6PCR|zI=lx_5$Ku)*rCnX@Dy$p*qF*764^+u5tR??G7 zerC9~&)&hI1d5N8cFW2K5<+Pb$3SoX1e|YbP}A!r1si8;m;;s2)z#Jecc1VayMd9> z@sQ4_LEIRuo3(`A>=*yEiBC^e?E?b-6-V!032V7+WHj{@^1zFy4=bi7CxiQ}ZPM{76j@}!O|>i&g@+ffA4+JDpIcE4!5XyzH4gW?R|m)0ObgZM6v2L0lQCSz@;d8 zzB~K(yEf7|N-n3Ox;j=kzsOnYE zPyJ7}wE61qu2jn5Nd-z7i@1n0w+;q4h?H$TwJ&@kK&Uj z>>y*q&DJ0^Gn?Z^cEQ_jhVV;=h^@hzu%%n1O+Zc5zWFPj{3W`6#vwZAM~qyKOQuxd z4#GTLC2!JMsehP{W(X6OmS$85;RNsgOtlr97>W8VkVIjMsN|W&;6rx6AZDGN`Pi*Mr%@FHlX0 zDzI5+Q?F&1GIjOzwJwHHa3v(orwMLq9HM`*It^~Jc0F-}PqJEkbA^ymm`(=w^4|=m zjIO>ud00p6J}oyZcMm-Oy*c)(XBir=Z*3Q9a<;aG6OzANh8V_pNe&z=Epx);SZPVk zi?xdUI6xuKVHy+tB4ft_|oE{);h8}C!=!n9*Hdd5GJCeWK%UY z|IekaCp6a5z$!{g72+q6-S=+X*0{U(bVy)kY}`a032_<)IGsFL9_WJ^(l@wwVp&<) zenzQ)#uLmVDV?WJo&@zQr=BnAfwrJft0-Fk_H{@wKwl>%dLce5nxLfJyR@$jpOeM) zon0bIP74NO!q~zzaCK$nI@lnQgD?~)vp=xTV||DOt|%?hyJgv}yuD*%hXuxZfmXAP zFX|uXtJO2o(@$X+KYMvfgTAG;b%`jm-{lZy5am*?^Fg1@z6KDPI8Z_LKuALJ1Y3ML zJWVx3{aahGYMX5g({a#cxhs6tuIS7ug2xOU9PupP^{{_QNm*HT%=t{OomnCvbbMSN zi^Tv#u5f@iF~uLxK@%3Ge|whadQ8(3 zep=?BTshWfNlNSvj~_o~}o40sFpM1+Oi z@PkI|2Ha#ExEF9d)gKg?d7Zu}B25%SR~??5}`U=pa?VF6V_f zBcG*Q6uiz(A7q`Y3k5RkTqQ5_*E6tI?u?B7`nkGn(b86_kyKo9>f5^Q!DHG;Sg%G_ zssD9Mj}|a+!Yfx$pR}Xy7^&?jeOTy|F}77u=PuuR#FLiI!rFt_Z|ib*+{vZ5*ID6K>Pu^AcOiH4d20T#Cc{+3{37` zE|7kqk}q9#tH1Rfos0;QW3BJveHjQzzNdK+PYy6CrXUu{UF|SNRxlWKJ@v~EQFTHv5=9@|${{#keZ|sEA!yPE>)d>5U z+<&pTjz5oRCHcReGjl zg8_=^2KTEn+4n%|;~}KIcXT8(_s{>;xj5|s@`t>PAFG?$dZwUqo)+k@@W6ZtrNkAi z#t~9r^VHc4TXi&N#MaDa2GwNl(-Bi$=%5?oD;MrLlJQeu( zA^|OaNPQgCUh;)9_TQ{n-K;TT91C~LgI=`S(5e5qn-Pdgu8TDz`=U)!@iP= zkM%Ii5cyM{3emgn0z4J&*8LCc4U08Hlv>fyJ|BMeh$VLPr@LF9du;=UqoJ8Dx0t7* z!?W7Nd~?eCN+>$W6gggO9!>0+M`JBt4g$W7+p8)r>WAd@W(WWT+| zupbKaG`}afLc>$%`c1PnSZwt*syEiIgidCCM>#t<5c~T2LY>mJEVvrfy0mZZU=@SFUBv%CpSKQ@<1N#*6Jup%#i5{} z@c#8P$}p&}qb=$h_Cg&2W>E>LsHz2e{k6T;W21!B*F@4yB1h{L@e~4E*S7w&SFrVg z-UFn7s91VoOJFwD1ztGOJErFIxy*_yu~Yg1&4G(YsL0?7Vjfal*Z1!&dbhr|6c_4v zpPy7FJC6_Z63WYjsuRm9M;SPO$7_*_<`|f86apkLe}B7-P+k)}3Q57mBO5we4elf` zox>G!nI%CYQ&cjoD)ntKHG%L5h@{igxR|=_ z&Pu4Ii%cVF1;!K?;xDo>Je)%|aGw zM^Ct0TN$+Ri`>7T3z4kOYnu+b3%xrgI18CFR^r*(+!l6rQP3ApH@>)5Q&Us-e3uCV z$HL+wPNhBxTo<67?`8ZXnep+H)SEdw>F?jO zBuDnZ&z}Y0AqMqXFF}1<7w}h1 z$Z0YZK%`t4DAQe{r>B>blbZ)Kn693Zt>F@_qP?|2s{uzk24b=gLyi^ojura1!8By? zTZqVc%`O7%xf?v{WN0U88Tqm3V5b1fT=G)fR=#J zKq7dhGSbHlm>9+N>*30Y92S5bK*Mn=Gl4>a~TX@2dqbS?Ai8yYNhE#%g@of_T=@P`nK(#^V+q|%#qTyw9t z)F>(K{>sXVWqUNWwTWDw)Pzj$ET)r43xMiEmuCSr{3X*80Q}NzIFKKV+$KSQj=_QOiTU(5b5b= z&IC+xvUxOijm>*JHha9IT1o!*f1C8|16MpRmFgUy%@-SL)=I{vNPFv%BlQPz*<*OG zP?z=&fdIE3nq2mdr{c?(FIje;O%J`iYG#|f+)d1HP+svCuSO|6d&Z~rI5s{-x{#Pg z4dn@e9u)ov5O$X?6+Fu900~R6V`kgxl$F;Ba&OOdOe|pOOxGLl3hE|G`W)JN?0oq0c&^D8>E60J8p(swm>LM51vY1BW+t;XH+4>KuHX(obHK@e z*8LeK%Q118yw{nSb^suWY!fcsSs&OMxJ#rVfL&gVl+PxXvRG=77pTg=B3u@MD&&4+j^4@I5|{b{YLBJFMrh zH&#!K2r8RFuX(2NB?Yn$c>ea~B;Vln!JV0zF*!*0JwGvufN2m7A}BBK28bsokW^8j zbTcI><@RxN4JBVn-0O|U$Jc~j3nWbv9sc^JzOxp37CLLR3UBAY2jxVS&ifu~2x%u7 zP2Ee@WLNg1PQK3f-(tLKyK@!$O$`kRMOuDOPV&!uFXGfRsjx)ItSlBpGZdLw+T0}) zi0B-0NHiY1v(yOJlYz{UhXOa5rv+(WEmzzBA_$c(bW$Tb#NIAQbRi0Zr%-3S)IWVT z+!OCLa}tJg3fKhS{szvkWviv-9>EP4Mrj7q42nj}OS#go{*2R$LK#?*cKO+#Q>)ieA# zD*jUp=s-?go%POZB#-gH*6G+!A${Os0mtkz;)8jZMmg`zfw{m7e>r*iO9;u+pV!2_ z_p%gtcIJAS6FD9s5VzC6;wdYmr-a`1fQokh=TAHY=$`HbK+>ffd@uHt8&r#z5OpsO zIG_l48oNeGSRMPVR|JZ(uP9}n3cWI8Y{7t-ht^ieyG)d);@R<1gzXP5;s1YcumdgSS}0n&={c(O5gMrf*mYn);rOVEgS z8tdsGY$rb5z`?~O-PCnO^+6%8%bUEvF>))mq@-v`5FdW6(1E7U(`B|%ltVo=bhSS- zB;PJHJRD0%fO03GnrCZuHDWL`9)>sEw$UAt3v3nsonGPr=XHi?Je+KPAKWIuz~2hk zQNk3Q7Yd_Tr#HE|Y(U`)!R}oM64nHM=H@I4@l3HNC*E>pk#eRPV)x?uSJ^~FX#TU3 zsc`yJ!;RlqT`h?H9jFd-03v$T{X|JktqsZp!4XHDZ{NQYef#!pZLo;|59iWPH__J_ zH!OhQ0TqN{lINAsz-SfJ&cXr;sKU+TN}N$IlOWd3H^i;KbLLCfqvGPQ9?O;Jv?yU*j|v4oFVom&o$+ zyFkK@1=`+M?44>oehl#HV7@v%$R@L(U51ee@6^BVot*^4UyUOnHUB3r&ah6q4#5c^ zr#8sXgL$e*KcLq<345>cI|q?Z;bXU(t4G`DR_q(rsA>z4$?j$1qcO>8g)CqO|e@RUd z8gQxrc^CGK02RK#S-&a|SX;VM=|@UR&0Ps>SV2)DJ`Bdg!2CelWr_{q4f9HlNAF%< z<9zh?V*_lLmyE)rg|Z~-7+8^Jz(WpoNBKxXV1r}>D+Q20{`E5fbt^#e^()=NW|_qS zo3`pC186SiQKlrvIcXC4iY+n!pT@p!qCZ_S%R}y|H)R^^fQ%O0q`mZuRfr@3(L!SqNd>E57KvAV@r}j zkf318y;7?_oK%aGy#*RRKfLLgxue*`?k8aG7o1;3iqaS>978$7U14ei69WG=bsHM#8P5)VX&3^_@FcR`y>KdREG@nB@x|x~*bi15r!?*D?+*^e z#>FW#)NI@DO;HdEDmIaM1O{HH{PVnH_<7)SEY7e(0$k{D$Gf&URzfcHiuy()W=tCY*tlvbvp5r`&V1X#*jED>4>tL5_^C5 zQfw}8d~9M44~3k90tLu1tOo;(Mj~TkFk%JVJQV=izP)e5voqU3{53ydyw1)lZ}L|( zPepjgA8@|0077_If4{Kz4A@q(u(P-Q+^?}6#KF>-A3Q)kFafc7Z@OqA^#G~@ zhuG)96t-UfG~u{);RIauA)aS&Fb6v&C8a>QjXz%rQ7#9$Ju(;N48uVfzB&XqLIbom zT1pS1UCmPBsfh^-=M&@G2A}Y>il`tJwG%M=1+~W@^;D4>k6Kk#R9pehBMg&)hr6m(&d8!hB(>byr~|uSr2fh8=hYUbhV8m?oG1?M$bmlkaga2VJ`Qn#SdzI+Bk3oy z(yvD^tlL{&{!p5XNt_0FSN0~leGp`-!wfpE!JHl-fh&+rVAhL`?yxJ_AZ)|%S%)b! z7KYt_|ElGJ#ENw~(3Sad{=*_SvEr{^rHqY@5eP6*{YbTzPc^#MQd@afj+FwDbsW+3 z;4wAMdk)mYLSLG{4gez?mcwVp10ZWTR%RmNbI1jk5eZ2UX2q$V3(@FOqiO{?IlM1M z7mN=xMPtEjVqrb8AT?Qeg_4Gb5RA?c(yp$&AgdkyqtkS7c6$1NH35OZx|yEFJ^VgO z=t&;ZzXnwVII}Q8Re2eqq^{l$$jt+cz#EktpoPLlEAWect5dqXwia1YWO3rPU5gmb zE6cW$6+}a+XZsUF2vf6EGCu0TTC}NGf#matCdO=3MA%qA-Q=scDejM&{Uoo7M?j!w zXmS_R7|~<+;85SP}Oem)C1czn3(#yCaIv8x7;elEbhz$EciLQ#5U-4_spM?17>^~;)Pd3&ru*u6V}ux5 zqp`;8gm`Zy{n3LGoBW{jg?t(MdvnwQ{{_J8g8+fljy-p6Ymq08-7!e}gf7$OuC#0? zO6<@x)#FH90HTYlo12WEpZN65Of^mu2;Lxo39Di|G;JaeNW6XreZrA1Uk*?9!-*|- z&%p2&Hob#e9Z*ixcAkRKd8J3U)<>hS4@+*!K*}Bj(=fTxxS^lvNF*|Cgv|+Z4;Eff zcuAv~Te1n;Nv_Z5K)}F?8aBTg z#Y3lNAD4oE`Z`awSbX{S@$uN94ZVn~dES$>;<7SePwH1C4wUHKWxsJ_1e&rvo`Exm z-+Oz_AkVWG=(^;|IdamuFUa&$db_kt*lAL`3N2~gjG!D3^@$y2G~r3fg~|eOIFi<3 zrB^BID#q+|GpR&wVKSQQr&Gftp0dC~a-6Qy+#JtUoFrxJ8h)>lIpBs;hq4X+LWTS4 zL$K2UTpxlJ=A-%WGR~i^iF<8Qah+$Ln+chjSEF+(AUGWaHwHUH$pZ$=+%G<-p}}&Z z@f81*M!;3$M!XkL6{zOL(>7hA}g^}6X=O>qotut?5kK(giWXJXjWMpJM9wpYtj#gG7Sa)b}qbaJ~ z$JuE73%V~t6bi)w&;fMv)xI^AmEW+PJiuk)76X-5ig@_=>*>ju$}V+#wpfZ2#3 zY0Wa3@}dzANdF;6=f0KEgH;or{oW)145MG_qEU;eq<-m+)%Tw_*T9wt`uBYG%zPbm zu|p%Cj7jra@%{MDkm~Ac4g_HH-xgep{VhOA3EgIFSzaFWVab|8vRQU$!|kM7TDpS@ z7?0}7Th|CL*cEUkZrvhIxog$|ZpB!Y1ZadeJ^lG2ptHdOe*KA=Y?A*m0q&;rLji+5 z*dQS_H5wQVq)=d&^3ABvxq!#T<$vP8IGy33Br7zYjFaW?*bHP}Y_F%LMgk4UK(WrP zIy4&e|J8=bqy7DFedB3Z)NJwEA_X})tP7wLFYVWp6VlUP0?-IpR<7ZlWbW6=$>9J| zpC3)R2o|fd409;#u3=AafQCY#{Ly={Fj&-zN#xFOQDR3k1>)b?=3Nh<=1iiOpLux5 zK?IJq$FZ+XhvDb{KzPIrx-VspC0PG0kG8n&nYss+}T?rCHm?4XAEdd*& z8H~#kyPI=L3XCYgXes%|NW&;#fW#q>kD(-5f}(r;(^FzPVP_I}IH3N*p4zlFQN;<+ zn{Hmr(bnL#g8uZ5)DegIO1UlXA035 z^N8I<81@{!=cf(^>z-KwXREcNe?(sT?07eC} zK0ac=f*h!@kOfjA&?~b+r54XD6%McxV7`TqWH@KgUajES28@rW)$aaWwbWE<|RS{9q1&G}o@z2&eH#n$C z)9L3+lFSy?F$Lz$S?Zg$-NK-&`dBT9z{$=Zq+gSiloWCMNvIIV5CuPitKnNDXg^E{ z0#NKg1T4Art8iy9nE!b!kclg82U!vJ@g6V+gcHkfA@{UKQn0BJ9o~PwlLfPLt~++Ra?j|57;RVVYqZ(v>1W=o+ zxLV8dyBw9 zEC_hX&q4jV_v;t-w6$mFC(q;*71>x=5O7}@`m9^JWzr?Or7V4~S=T3w(pI~u6HXj| z+5q*prE;lres+LybF5U+!$ZK5r@a}=y7tLHQM z)raq&?JvqRhr?`09h zw?Oke9v!D_C6EG72uosSoi!x04NbfYPPEQ+iQ4y6U zcfhQgmpezBTM*-D;?@7+^aYHLQjNVXlgv6CWH?v4bzA3sAF9PXXGE|30;K0Q5NQCh z>;QE9cifmUXjCh>?Wt3R9pa!X(xbbJ+AACUNcbMF`AdRPMSEAjLd)cLI-A`7MR*m& zwljJhKlCjFvLNEVLV{>L8eVZ*Xu2q6hpHV`JjiJqO zG|bC-Q}5yG@tC!T9q=K71_m_7rzWg69~r6d)EO%4akcf*-g_o=_K`yx8nvi>ylfsw qtWh)f04cBZE&Jbu3;7ii?%qYe6%zr`O=orld@0L6lq-`l5B`7Hm;1i} diff --git a/view/theme/dispy-dark/nav.tpl b/view/theme/dispy-dark/nav.tpl index 4a030e7ae1..f6e399ef52 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 805749b1c5..7d7ff7f183 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 c72884f1a5..a7aec1c1a4 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 8081bfc281..24fa39f77f 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 c72884f1a5..a7aec1c1a4 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: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 7d7ff7f183..7a57628b94 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 5ad0154d7a..08b2b84876 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 b04a7b4890..861b5ab73d 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 08b2b84876..011006b764 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 a9edf0da66..0ff7f6a7c8 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 a458f0fbc5..ee2daced10 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 e69de29bb2..0000000000 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 0000000000..c7c3d1cb1c --- /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 0000000000..3747929d8b --- /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 0000000000..eef6425e0f --- /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 0000000000..5f13b0bf60 --- /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 0000000000..511fc73acb --- /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 51b173f2a9..81c056bf3c 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 0a20c9fbca..1617dd7f0a 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 e69de29bb2..0000000000 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 0000000000..c7c3d1cb1c --- /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 0000000000..3747929d8b --- /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 0000000000..eef6425e0f --- /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 0000000000..5f13b0bf60 --- /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.1A}7(rIKtKSb{vCkNEr2Kh5e^Ox9u5c(4@5;oKt#p(3Iu+| zz()HI*f{7I|A3Bzg@+Hq$HO8eB_}5(W%v(F|BL@fAb>z13JMA~Dk?S(208`~AwCF% zPe@KkNJL0TPD4ig4`eiy)a2yk)Rc5|G&FQ{|2zHvpM3TMP~jlJ5D8Ear~pV*2q;vD z&tU)v0Dy%0mn{U~e*pCb0umYk0}JMOn*I^sK>+?Q`#*+%1kf=5#@PR* z0r?+2G!zun7pVX44*`h^g+{{sMOYc#7@CyDIT$0cP^57IlWai6#O0p#;Nf!<0Q{H6 zzc5sQAmD9@3XG*!$Du9Jd)KKc!cRaT2mVIkqQEeo1g$)rXOgmN523vrKY5}Sq%Eh)KL_4GYO+1Y*Gnv(Sc5Gr@dZBSWGJ6V$oa?rWob~&d$8# z3q&hVLTG1-O|OmImS1Yopp^04t|Kq?2wU3IVYhKd+E>EsYi)2Da_8Cu_o=-K*QWaR|D))EEVk zkOZzRP~7}+HoNF{mJOCGo}Vn%38yGa&-*jx7dPGCGR!cQNNum$I9bZ*g|_G{qr}f{ zDlA?J{+#he0lC>nOjWLXS*(NEt*vTtj4NFIEc{1%3B3R$msaEv9t6$ z@@U-BP==?f#FU-a!D%+5@NLqWn8)su=e`&r0$Vhq1)6Hm+-)vZ=*EP9qAR7os`u-Y zRSvj3^7K`ljlc3kf2G?sJ?)nBeCTe_bFS7Lh>h|!RUFz;oj%y5?#IjD{>`X?7X6!x z$C(u}jzxTYFf&)i*dm05p@_wz1?<*r)Ow7_Q35Czx;Buw;z^5~53Qo1OhKP#$Z?TC zZx-M-3x0JJZ;nc0v3dgWMsiqOcu)RpHd^Z9K7$f#almHJOg-7*#ql~AS=OdBM2~UP z@6cXAr!S`SV6Mn&GGlHV9*IsSZYOt>C;)3M*GOWue9@YG`~)C)z`E3S>4XZ;!}U%S zW~CfvPU8`zO2{*ZtZqPxup;Krn8QnllFk>OoaD-i)vS^(J;2JjLAJ)>Z7+x|794ya zo2GNT%@er+rWcPfa=HGWQszLYcs*pxkoyEirwNAuV}VYm?_L!fe33ei`+E4 z--%}(5II`cfXyM2e0ASZb!DmmwqC$%C4-0k0?!;Y)SqF7jLMPADY6fBU+yp zCb*a1eh|Hol4`sva?Q4(T{W6^eu=6YX`)Llvc$QfvTc0vn+(MJscMsenm)<8mvUyl zRg-tiJzj-Kaqxs9BXc+O51(9_=$IMmt74S%jR6-vMfI%R;l)+`-!g0Rpk^ZHK?@=7 zG&$(fWSaHqu2c41ie7F4ob?0;tg1fQj<(3il4Q{U^v0!{eby3QRFx6GIuPeNcS zkrk1X%W-FODw&hQ2AlEX!fn^9m>JkXL#4?iMUEHw* z=NkQzq?!tyBV?tQE7QrPR7e`CyxJ^S?4bpjOg^<%Ta_{<>T=BW2VFCvV9I&Ox(&jN z-GtU00aFq(9Teo$QZoT@zMjm237xRA#$mP4(|2>#@Jo<*$y&kp4DPrMmt!{?JkWZv zmV;1_xSoPF!Vwk^6RpmU_>6vn#W;q8)41AL$$UuXrrk4mP#J6vOA8PAN-K&|?HOzz zpR5HxMzMNB03o4*!;QP4V?t&WL}^DJq}7cuEM_qRgvq$A!Zlrf4(p)96-$dqYdWET zP^yVvZj~yu)?Kj*WvG$V2T0LC6c6^ko2Ca@wv`sL3h8gSpddt{Q3*uTWR7n#Uqu9O zm`YI1Rp+hS9z%N$=qXIgsa(6I>)c6{_0U1s9A|S%S+@jrUGbaG_hA-;8tj{vkmaYF z#*Aq_gLdeo^W4TvW;MXm^F@`UN>fHPyPOQ1rlPG+&uHz@y%B*4*$J| zjDLU6JlvgrK*r>xtRfxs>&gAl1Y+jg3z+^SO^G>O>M3v3TT~yvzNobHRVz!N4E1J5 zuuN)}nbv!zvEI^BjT+o1pSdAOoWrx>2&hZkGnE(aGyiwg?|2>++HZ06_0aw9ryJ(fu#@MW^}~a8ma}nWwWUV! zU{bTGzl4vdpw74yg02gocem)og5}_C02c5uipYrEbWmGP1{@Q_Cw{WwPS%;K?EA3= zm$!|H*=+c%ron?7Bo-U6)4#@741Qkr0EvVbkfDdawhs14L@X5B-8f8TlSLLyNTguK zST9~l{GMC8tl6K(A-Z?#IdYukc@v&$wH*K4V zF6|1xo=<<>x~Zqa||Xn0?gf*`=i+jHFzH)#vx{1$-!)S zdAQ^hhQ+XXV|z{nphnmA7GovO2Bs~HK3;+(NB@)^6fY<#ayxSB;}|hoUYT?L$+CeM`bBTnq~Dk{8@@jJ zrkYM$*jenufJ*IK`<4Wu4A``Pc`i+1025oeIFT!B#BrMvt?brtH z4&5CVmb3Eatr8J6NvbeAs;uq`_oz;l6%0^1=`{bWjF8_>^hHZ$vyvTFeJn2Lg z-CVOzK-QSA--LXTu&rw?ignN9UHVkhijxkQ24KCmd3N!;&NJCRQkAJ{oq#^WsoUs+ zfEmM`_0Fh8Rs35ZFyoj`JK-7Ao;>ju(^jrz_DN`ReGeg&T~=C^tap}^_ZZ7{0_SlN zJxQ|UW%Y3avBnSjX6DYs*>|hy@O&w@d^dAu@s-cDc=Ab==NlVfg@T}hG^ni_nhgtj zLnG8_(3HFr03)fdLJmP2lvV=02&EXZ3}=(=A2mg851%hwo}K}ddNxT3_DpzXs?lLB zKFcv+*(Kfgt-Cf9Zt=nmhbRH(w6jH)imYDFi=0gzt6&|e34hC&rswfXZ>D5nF+FTz zVa0Fi%EQ>nu4y5CbMI5xkTm7yW$UolinH22s9>LQCb)Jq&$UiU4>uE}eR-dOllWOe? z6tLZxb=6^jaGl9o_!SjZgmoM9TP96IokxOKSI1!W6Hv1G3D7mR=eh{ltfBMa2iap` zVGZuvokwBS<)|*JJe~C{C|IwY;~3RvauI>WE}Vj7}y2sRfUvmwT7IVLlw? z198p$%T6{CHbhXh``9aiNcBbzK8#e=Ll?as*DMPIvWS9r6Q6+Z^X|XvIrZ<)XJ;$3 zvr8sXpfXtUP*$9YOF;s)PWD;<$u?#zbT~atH;5aKk`V=ee8u`oN4~ebzWJV( zrI}P=pq%6tNvBm!$c&d^5io@}Xc$u%K?dh$w^-m*c z*O?>g6VSU#fa%l|g@h@{IDClM^$ECeouarl+eu_=gDtC}g1c2C-P;#Z8Ci1gZF8*1 z_p}m^o9LG^C%`xCP%9N}R3134sX7J zPP#ki1+!Qrzx)Ad^F#`8NHkwm_S@nuSh!uprVC7u1)R-x^kG*YVb<4FaeLqmoY?xX zF{;oeUJWA9#%zEwN&9!SBIJZ26TbzZi$GT@#W4y&ktku30Bn8Pp)8NwoPX&5m`b#L z6ZX7sn&Ia<{!40cNuRgbw-JENFS^6`wLJBe=ZGxbFUjrp$GJQ1C*USG;0)|4o$*XK zr~&h53@Jmcg@_`We6R6l#Z9z2deeHKPw;rfQvZeD60yLapUgWm#b^)rcg@*&jr-5u z-0vBji0~U!GryYOen`&}tSJZ5Jgc${n*w!cS4q0^@;akiu{PT3nH`%(LZqb?Ob*WoKDbg5$@1(P{3u2RYn&NYcGCPQ8OC z0BmE71-5L8kOavESHoQ$73#a8&1jYD&D` zz5l_iuQa!z>IA3ZLGodiVY97aOjK+QPPE-MH#*;N!)*wC3^q_Lrdi>Ijk3zlsAHd2 zsX60u+oH^KX-vax1xk@ozP7ZxWv|YmqnB!-QdH%XH|3QT-m3W)>E#oUX~?$1W99_c zdOLwj_2pwqyosJLJSsIs?Ki8a_mu(&NyoJcG-@O1sp7Mw* z=N$bBKqN!}8%%mV4ZHWOGxlUH^@ab*SFhu4H=RhoV(m}et$x|*H<0N8dNlPJ%b8(5k;{^GTGPvBOW^^Kk-w$q zC)4NrbdX5M@}UtWe_;B(_o%>P;l@4Vn)9-5ZNXwEQ)%XW)AR{Q5Kuw*#|j~Js7?+| zA0|S|m%{XQszKQtaU8Qq3#~$26>^pFKV=4Ws-sDy{|Ojk9D8M%dtyC5 zZqwKpvi}4G9(XY)N1jnh`qqWJ>YO2(p@1aQU zu!`e+?!W6QPSw=|^RIOh`mocK6)y51B8>RU_K)1Csza8V`?*|gTAwJ~oY4#Mog1tW zBNNSda?mU3&9$zy>(H?LhrM|war1S{ICigAhuDjqFC|`)Uu;ko=xrN+X{cWM;Y^WS z@aLC>2asT3*e~G|f?fl|IywIKsrSj`lvXCimm=B+7Cj*)9`paGGK$Jd@gC|dpEoc5 zIr$_&M6mtG$ufE1n7IB#0%tVWum6m(@56U$;SXKwB*n> z#i@)C5*L-}L%@ask@Au(#?w^T-y}|DlH?Ib&ZQ+6UTtG4|KX9+Kvp?$ObZ&~iO0X~ z1=;6S>u{`eyYiRFet&I!g}vJHHAn1RKS2++TybN&8PZQF{1*>v(zTE5Ewh8iS91{^ zaZy{tbeX`Vw-<%NeO(OiYNS6iqFpjf2*T%9lmb+@e{}nbSmvap7tRk0qw>?d03>!*B#10@rir9WXZR?2knOSD~=Sn>Pdbh^F7&Nw|PC$g4307XG91_ zVw5A4aNwo`5m7tk*{fcx?I(r7g+=z8*o6*|D3N%TV1y-o;jNno857jaQ?X z6n|jjU-|@b3R9T!&fpl&`plu94Zj(SE)H-^)$Y`_Ta+&=t+&1i_gdzR|Lo53q_F3< z3D}9N7=Bx8!%S3nmIf*;kFrUCI4H8WF70|8l6ai`U%6fUCG$cryacL?CM+9^YGa1C zFk=pUGn&Zjd<&A4=s^;*o>k5vD~bulq&|m!0)1IG;XLGP2OvtFd|r2{>&stS$PR)0 z>DbE4)DMFnvZ1;gBp)=Y(gS&$QsO6m;3L+FVH{ zo{wLTKLO&K+s1ej;H^WpSkxBrLnNzi$E~VIR^#XWrA__(zgP=FuNNGgWVV4slW#R0 zdED$2W2P)Ip3(Qgr({dCCahz4iS&MR9_}E_H7*q%ymg1y?fthjEMZHozUy`9=HN?z zK{LB{h$tPdoy^?wj>|@GvGreB2v+bhp8zlKPrxJO?4MVZcK+D}T%@O)M-?&&+C)A_ zZyud(eQPZBj8;~tlOf&kP;xT*6&;7&GrCftRc0P+?Cu41q*%DdifeSK5H4d(kO5ry zz^fohikUiE-U5F++xYe7Sh=kmUA%tRy$jro#8$f44Pka=iYhfab=Fdqq)mHj4{9k! zroRutCxCH7X#6m5R#i|Ve8Urbx-dOQr+qzL!)c-MaEaPA9ix*+z^2=3530_TfC&%wL{F_bJ{>PG)mFm8>i|2x-dQBm@q9 zWbOF@^b3*L5HG^jzS&hkgy7QMhG}?WW*UHDoI~?AZGRG}!31 zm^eqxGVGD(n}491KJ%7G;q1{lk9LQYM`@Xu#$=T?Byiy;1{%EXRqY1St=k3Wf@V;c zyY5J5yxZRIVpARlTmA%wvu(0gU08(62EUkN;sklzcr`d{#eO++cxI*MM z9lZEryjxE7h^zn3C=Jf%eA$U_#?L@NcWfa&r3~9#idVx+SD6Jv{n?t%#^3bCvHo(?|9r{tGK*h|8-}_;czCOEahE4^$pRUD0em03FbmDv{NfZ` zj_}z#VNHAR*3Ue_lZP>6iMwhWT8}ckWHZW35Aav|>MF94eVZM-XI-~G#sqZna1?ax zn|OO)bn>YVds_0Yh>Lvm7c7$q4&kGnX^|98MHqi&3CjA^^HyJI zDii%#d*nn%j8J#6E+g$vL#?ol&+e$<94Fchn8 zm6IRVeEgCx&DZD)D1<`)j79-%n#d#LQs&H7cG6?$ z1voqjQj)OKcdWnoUqvS^P6sGDK~WC^;Prtha9xHeTMXQbgspS9s{rxchWSc;(qE<- zqLkklsVE#DB<^S2WWi8L8i@yjN!d7s$njqYEY7rM>&uHG4ITVq3eor=@7VuRRTX9< zS1lj8a|j!)=dqwxcu=VhUL5}tDNW1*$Ktx{K@tdHRcmJ!O;2B^1 z!ZqHhcJD0OmRq$tZ+WVz0`Jn7GA^yRggb(iehXV6a6KRhO5h;|zL285qgdg5-*g!S zF^QxvATII8L%)P0RLCVl9`TKtp zwI;bwo@G@&0psa30{S1~orx2kEG&3FAQH+>RG8de4`7TB>bpkd8+EDfFW)JAbg5)( zc220ZD!HMnl=xUFhKg;?ET18(nQ+$9wzvv=h! z?IUmD?+}RfZI!)PC?>C|t;*0KVN$SGW_<#Ht!QZ*g}Wy6gNJAM2j0wME^FLW*L|<1 z_D;$bkLK!qnY_jkwnjWsJvFPl$B34#6Il9A8@kK|agOxat_1OjK5n0Y(9*yl^fV2L zGcWHXwhLF``_`R0&foM!b?w!fuR>&ZE2RF45iA^D1_$@QQ|lts^^^5yHf_E+FS~cP zAMf^H6H4KUUmO2X9Edf;EA)sy87kEN$iwvvG|Z=D)RXi z%S*hohB^Zld=I>mySb0A+iDHfF-W0U%0{)=Nidumbg^|Ha#e z?Yg<10=vnFiZU)$12WgIs0mh;UO%Sk9I;*J7mEG6T%MMo#HxQv>B{4>puXy3!%YrKN+#Wg_ zU$tU@FM8J@bv2PSuRg}pzB6+czw^&a#edQ#;mWt})G|0NB)01w*kwv7roCqC%-Ub? z%wj4{tddXJZDcR?&2{NymAu9qYa6!HM!LA11lWwKyz5iaAk!E)ol}uD zS=Jidl8u_Vh`dVU0pBj!H?smip45g>#zTe)*RJQQq)P12dh^)%(5>4X z?s})vB;ll8S<&{{bum6b45%aa$}yjnc{z+>G{fUT6j zwIKw3!XCi8s?0Tj$J5GHfxsdABZ_6l1`{upd8f^(VdO*D5_Z3s`v+xQk%hSSD-=&y z-5OEehK@zY_v+Jw2ZJ6*UVCe%o3D00F zqrNPQ#htBfbOXyk!XcSKz+_Q>I+)AcnI%!>z)Wenj%0WXWpNHY-2jBFcW)n$Z^7CT zI@M_`saO_PQj|*X zH;1!vo(b%pSR$?S3qJvcPjt8gW@^7Mib^W;MfUR+RGg)>6%NTNJ^^i>{7-pPV{?l# zgb#dwJ951CH&C&p)>>>hA7c!z5|4Uflv+Z^U!`7fzD4pV9JP*1`*pjp5RqvU`)Lsa z@3Jk=>n&fXl}75Sm?_I`ef^xHvGtDG7^ZQKXh!^%dl5>wN9b^;{lS8+P&f9Y%`SeD zZBw^hgn3+rP1PR*^e=k2IqUT=T{U<&@e#ed_)o2mntJ))KfV;1r{izmHaNP<(3u=v zYB-4EzDj2eROn$wXX8rqx*=-S?W4tIE=e0VY}aMjiDh2i5{JwJtp8OzU$x#<{$^_B zVwU7g^a&{h{%wDwv&)v~_yp|k$BugoZ60awk<7khW7OX>M{+DWny#5Ni$abcMe8L` zt`2fI8dmO%@ZT2I1_zH+cix?->@*@x;Me`d!FwzHgF6v*UwKJw!(D@owfN#mSl(w| zW~V$}-9hPN%J#25_UsO|*7WnKwb4ZVxlu(`w(3wCh=SWbLAA(+k0O$DPOURam3 z22l$EAJ;)kJlKL|Lps>Sp~NB`s`_LlBIky=?^Q2XgI~G#e2kBQbNl5%6yJ_?DnB~^ z^2b>d-y^)UGocEnG%rr7zebu>0|)UX?=#NR#-l*@SG~L|t9wjBesvBmB z7Qz*6Kbb)S+8H7xz|kd$tFd37IfMlR*rH-d8wAcW!?SmzgFuMGS$oTBQ*~yGsTe#2 zAr+vl)@|zxF96G+Dk)+&aP*_3bKwgtIQ3QVVPp@zT%~Qph4I7mBJ;*Ve4UMGezi_X z;PXlZE(@lfxf3AWeO*7ESlWHy-yv^UZq7zUZ&G*<@K~>B(ehQE&5oPVDixena1| zbH(3~-_{QEt0P2;(XGRkK3)eYv>M>%Y^Tx!&JI~3?HBo}(TDs9PsDt3w_6CWzUJGY zF|g(JF~>7(Bf)Ae-!l)q9rF;inB3dhX%`jk2Iw(?kb;DPY0%>*(Suvxgmti|5vQnP zWlT6pY54X;yy1&-n%|^u@3_S^n^G6A&=&83uLJAuRk$`qAd_ZDBcUsvb_q7H<5vV3 zY{1A@2N?*xbyMS>d`8*70@Zp7^1sBIDOwynB=}{nyx|Ip^0=~n167|?Ya5_dh3}Zn z@=X2Y1u9f!9i~gnCI+rXa>?{w1?w}aVhT6g=#)E!uTQ`!#d#nKkB?|zuB^&tMKVwO zM%Tb}9HkeZc=_U#q5(3a|7QKRhZl{5=thHWZ2Fv8m~@%@(4~kbL$b)IFIkZ*jy-)k zLv#KzUTj!)W#cAgQCKQc$Br%T0KZ&p z!W;h>Ld}`bs#L&A2FKp{kC^##{disuewG&y(Dj75WeYD-kZ$Wq>!GQ%-IW~1D!Zah zVrT1Yg?jcCYE_t*z&CYRICnUgNTg-79gkH@Shp$KT7@hph`X3m&Xgy!l#&Ej2eBbb zl=^%dvI_8*Lx_^(pMvh?5yxBMYsT{1L7O3mF&6_g)8(-uGF4fV`j4c0@U__DX0n3> z(_J8M!*zMot_Q1ntF_%p2k&PI7*VQFBt)6?Ui&6jH)iG!x>w{GJF0aR+xR z^15`nYiaXjpMdGJN5mdKQuN=ma+%53KJZ+%a?HT*(*Z2dp8)z)(_ezJ;RdDL(#{sx zjsxG><(4MRGf(dLWp3p0l+ZhcOMTO>ESH4OmBbh*t^v9lwG!U zKfpErCZdqKz$#|9$oyh<`IcQ5hQHG{5!|%Pr7N~>b>Nm7)+HIf(C|UU^)cWiTk3Nw zPaQ}(Kc3=0xzzZyoT$Qd=?fdDsG1&7wZqLVz=v)oDfN~ks_W0)qPMOhMibrS3T6RD?KUGwEJ!vXa9yM?@D`{ z`Vpbj#LFV~(!jfnRVKCVu>=nELhlWvL$svpHEW`K)5nIRobGtfIJh+R$0k8udn8p* z*Ib(w+G2~3w3w=mO}U)QT|_r>;#c7+4PV3VXGm;2G*vSUsW@}fREedJDK$?;O5>Wv zwfIugiXPc5n00vj?yY#^lK2WJpGm8hiB303nI*tv!vsI76qhQ&W|djNH_bB1rNnI5 z+EDn%O%-u1N>q|u`d(;{hZE_iAVgvBFsIwrpg}U|H?;&+LWkeVL8dpfO#(npAy@xu zrxsLIX2H`bFZNv;#;wC7zgENZ-FR0@*_Xl_>*(I;$Px7((f z%sX0F_a{9bFMWHZ^2H+Y={LU9AMLu2>NtMC<@Wu{r^Hr?u`yY6a!y|zsCZYq)De!H zY(4E3FU-U34O|ea=$z}!l%p-ga%vlb{6r6>x2jFrsk|aoVgoM0ew(cBAzc%J=8Rs> z9iq%SAtF15YESbv??+zSwqe7PU-e~iV#(2%kJ;gZ?c&7(oZE3LmuKVH6qy9sAhV7{9mTted+`&Wl*3=SKeEtMuaO%oFWxghD z&OQnxX$)-(n@yrv!f(OZBCs^Sq$(@#VE5RrNbS~lbS|t2VE%aQ(0CFcw9?hqEvE;DeP|2T?S ztuL8MW5SIyvU1t&r!%ypE?}c3jZ)-UgolQ%D~k=e(LOF2w%}eJOkpu`k7}UjyKYUn zh0GbFE%=J5kh_G_e;6BMZm~bHNMbme^^z7+g+q{1VANLhsPAFDzS_o4l5}89#_>&m z2V+!$VLp2F5NWM>!B2c(IZXJt;Zno1Pa>q>Ae%qG+}Gk*l&VxckW}A>*wRIWA|M@1@i1P z7EjSl9Yr(^ORr3q+y-&kdgg=&J4*B286HR{zXTY}Np$O>ajCPDpm2U5 zvc)7j^!LQDqv2)`>3EG9WSxG9CJSp_K*=qGOG%U%`wN_vn<6s?iBFJTB}PnTmasl5 zo6zCUYEzENVh+7z2|4drEfyGjq(zm22A4tY)Qcy7-EX?rhQz@!x#??9?-G2C8fHtP zN~&|LQ`&ZJ?f&UvDX6?zO!w(BJL6U!cJ$SXZ$TVdokRUMSxQbX;tiY#ghI_CSUul} z6MXbdDKlW4lZAnuH#uSW21m@62aC(It9)C^ZT|k)X08<@t^3lt{I&F8wv?N2tnkKf zMGq|UvkHo7J_u|fOq^F&T~Raytmdv?X*P+Lur={|Rti#A$8ru+RVTa%TwdPN3%`Lh zXVwpLj$bUq`BK^Hz)_k)1j*$l-Ih3t-t=mg*wptntt*aJYpSflS5^N!SYif#Cc`DP z=cx&=iy_$WCeocVb1KrZ$`HenO}U~)Z3Fm_4wAma;*}S2`%zLW%OZSk$$O?}1`GFhE_Hrj^097^Cp|azvw@&$yy%Oi1Gf&dtd!o14e~KLbCgfC zQOyaO4goT(c_j4u6$W6S`d%B(!d><`tVALdv8ELqJO70kSqP}SG9k-rW<56IFvXX# zyuxCRuNDwe5jW$$Hq{*T6BB4!g|)ugZ!HQ1#ZV?C$;CzuS+=UsKXf=}1#Ljlv5*SY zin$~n!^5!wiRDBSvs`k}D2-L_pphj;r!Jx;g^0ghOzP!oUX?JyZC=;4B2~?Peu~wo zbxe}g0MlnaIsIMCM`R>IqxBj!wTxplo*&bdwCW*NuIo4QcY*NwZ<+-0`U6!*X-(4W z^iUb2Ozu2BAJykqYV2gVgh2{JZCE;TQ|vRVI|eE)YAxp_g1Y3u;IMozgZb5G;(YAm zt<*UJou2NjzbPZT4`oBYYm->)X56|g@k;2ec6WNPCGyi_N66Mxxn$$co!6RNh`PgMq3+4QilcI57j&P5kcNvI=}4$ z@l#wYTHtG=->AHBEdzbSI^u1)!Lzt^Gml*3NIG-crPr76i`(nEFkS5|R`YCGH_Gf2yeyE9=f;oro&h&DdKfE*jg9L?>YhQrp}^NvoWGK;)jT&e62g!Eqc**V8oA`4t^lB zBg_-kyj|MDA-U_!6{~ngLpP_Z@!l#3OJ9q?9`XQyhD?4QrHI3YBt7P^1x*+%keR7E zT$*SPq`@e%OhSEFX8pdG+l?MUuH$Ea2-$D%xU(C`U73o& z>S+&tgc*|)-~8+D0tmX}2jOLPtS_0GmoT@Hz|qL-{kV*d$bMyeHxoSM$6B1YsAc}$ zJvFvoDz#J{op`&kXzrS^z7=fI(yiVD?j+&YNk5$|A1_BU&YV{P=Kt_qf_l?6cCQKy zW>s!cZp%S>=sJDYwQz~WNmW}EKxM`EY{({j84WP@FwIh^w@~rm9xAb`MMiejw?jQ} zPt#5nKy_YUwhZEGNjfu2a!{PT%1k%g`CiGteNg@cr$HrT5w8m-h`m`oYE;W*R_fk; z9XuzZYw6ID(3K{upyJ}UtC#66)JIfXZh=G|gKhk%wlZy!!`m#ZIB{D6j<^T3=Ny@7 zyD2{}Ut2w3$=@fqB|1LTxF|6H&LvqmxvVy17d=jsl%;$1otbz`>h&eh$+nbJC#}WS zYKrP*1JuMcEwF@bub6`fMerd1F1JJlr&Ebis{^A8kh=iUWw69w3s%@dG$YZ&!Rk$E zsfEUwym?p9K)D5bP@MT~^Lng=zo;SZWXY7sphQxQ>B28v-^wJ4qzU(~0eJ{-l5}?t zI*O(#B5@=w){;X-$PtQ2$cS%crnxTd%EdB3&=`>9T8bxP7vHVu70tvh=0~kvH;;@b zJA$xDlYX@rvnOAz3iZamJ2@9pP4Bk@)sJLg#q+ZJ%wtlIUq*LvhVP!>*9GGX2vfdU z`;5icZY2Eee|Eb&tqomnlyq1K3PpE>UE+4nVm?Do0)9T)q<w+h2@So`dk13t$qq zwQIKL_vl~or4Qz8zx+I~2H<_qFje|;nH<9HRvSyU!{gH1q&Za!DWo+Y$7*|`B6Hrj zuaQ>y7zp~+%Tjp@fn8-~7H~t}Li-cWpMVJL$vH8NzY#ZJ;7R-Bf)PK5;&w8v)-)?t zrTmb`IGlg z`_>oJ$@AzBXu4uYIExIGS6p@#<6#o|R7Y?~w#Iwg3Q)1>1uq9XyFP23=F)ev$A}l% zcGjf4>7PV6;0RFpq|N~26xS;?A#)5Pg+OBVctMMTNk49TZ5gC0-kHyC`J62CZ6gCp zqxUb1Re)jB(?gx<@PL}c&{6QOl`VW=iN4a zydiVBp1W^T4$RDJ%0e-rD9~@?1?`>o#+O|^oH;OgO0o(=i)Q)hbJ8`7XT}Jt5&42z&N_I* zqC*I;5^G(EXmGh1sOqH2VKI}VgkKp!8rW9Au@rzHuY8EXya&>x~uIS!iA&38^!A0l8io^S&Lg%b1Qe-o&tYQ_tRNW+bl;+Ty zN+TLEucxjxdU+f@sjuL=T}#YTO*0xzW|ygenbzxv@$8q5ZfPLWtxt-q!)YY0x_ey` z6a4s&+?mW&6e|In98cticjv!_d3SFs#v4EJg&{5lCf(t2Ub>^*Fl$g>wJM}O;7F^z z%>+%)rBi+aa#D<6no2w+5$H7$_9cj0&d30qF~Bns12yvBb1~Qywezom>WUbWxe}n! zfD!JmzvumI$P-V#U78tAyhYD%qo!iAq88g$fW;HV3c8`3JXh01-r+&O_Oo}bfu2Me zY)hQRc14t|P|yfUpBxXz@{3Sjf<4hlTu`u37J@NED`BI)wB-7w5hcD(8^zNx7J(IJ zT^QArdGe-l`rV=i^#U{heUi)$%tg%q<~0C+dI=_+{j_{!15{; zF(B^tfCs1g3%=vkg4u!;UsIco=h8NOFfg^?a;cFU|EOt{@3J-;*XX3fWhY~tCw$BB zttonC@)&Y?hF&#`ik?1(fNXg`*&QV${Ho*5et@~Lp>ZT~j8Mxs@T zE8eVq>t7v@--bRV{U+J*JtXwk8y&}9BD(RWXH4GGzGU5tKEKn+qXey|{gvN;$=2JNk7Cnl7-K3C) zCvsGf`iQc)5+JV@h=UNWGXdd*2DwiRg$S%L6{tMqba~M8;A>dWYNoSTS!UH3TTe~`MOHg> z09Gc}xN;Euy}UF~%f5{LMU{a9dX2ffb-U>>J$o=2M;7sIAf7lLECG)2ZuOeDF4QnK z>m+!xK^y?xH|1IPnrKvdIdS%l%S2(Slg{EUn`?x|+?0uLNJw-&r`(8sbt|stT|T(h zb1*yPuM|D8RB8>q!#hI@D~h8JKki}+T&i$`(p&w4t;$86P|$fzzJ&2a?@&B{{#ed|C{_6D5rVm zd?BugTMt|X2|I7$dm?7PYqAC|{Q>?6nAhB+H;p8yY5P86`K~PIhDKy%xy;T+By0b3 zQRe#l@cq=Kg5bCVJ2p;~=i4{mGwcuS;_nQ6`C`c^HP5wW^=?UQY%5V(IfuXQxIk^)=aLp|mVKYRL^1g$f0x8htR8^TD@ys%*Dw6wf?=@+PUc{8^I3 z?+s|6-;&Or5X|$j*zJ>UQr)t){WWLYGvEEP{&=uO74k$$Oayn$;!-d0uvnI*!Fq*b z>$%Y2QD!RbM?r%2a{-X*z#lGYDLG;s6w6o&RgwY-O zm_{QTFv1>9@UtlmCxjP=x5%xrvo<$|&HNv__d=|8J|>^K8ZHWUPw_EVf$ESf+!)QC zuCSC_hK!6(+ap>#;SFB( z@#+glc%R~x-P;6;w0_~a8MH^JYvihgKsakZpsh1j=Sl75BHen zBq!)!dg7LYTV;c4^V~a4n0Fvkmf7U!j6=@7b4cTy77_qk4DKvMtCf7{#3DJohknmC zPTa5+p|s4D@&vQTIK;lr+$sn}N;?QqhUg~p6 z0$v!LZj{UF!BIW;U1o%g5iv~^$=BFj?VL5VpQUhA-Wfg$^wZWVDvj=}C6@dy#$Um| zr|94}Yi%2M;P~*V!d10IQdlTsF$^eM#d_W{7v(WUj(8(a@A#GJyRI8Jqw&E}e{9y} z*zCsKfZfyO{xnzGe4gw00yz^FV};kM2le>&yE56f3r52WB68N~0U$;6TZWsnjE7#CdI#8KNY?d%R5abcLx={JxSZm?8|74?rCv-16p3TNloIgGMvNbo zk+j!Om=c?`-g8J`JSb!&7f;LVd?oQo^oUDQxePjnP=g@e02pSZ!i6{lCuCql5QBpl z(4b=Hp?(P9cPndIB&KQjQ!*m0B{;{jFC?U-^=k*W4<4JvAW|5KEw*vZEOis)Dby7R zlp{8SJm`t1xuhckqT+W^icO_z6~Fo^Y$1?m;Q*#8ST?OXHMrU_& z35J1YFjJ^j5Coo2WmKyPm?Dd@r8nss7I@3->q9cYpTA8Fl?!hASsu^?lV}InxyPi9 zT1>!WhT)H;w@jbDdTWkxYtS}JDs6iop(Hb$ijI&(nJt4AJo5{P*5i2C3rF3*aEpZg zo?*!;$gYg50keCYU+z*h$_x>4$i64(;%Tf!TItL^nG*6=#?4x~CuMnjb&%xP)x#BGfxKK~4< zECOQ2$7dNiB*_(N)~r3S{9_B);$>aqYs3tOlEItyL9`2WH(yTu>Z4{orqsF63NRFc z8WJ5+<)5f8K>SV)y$HD`g-pT3VWsnhQ%~EQyNQ3UP;6dLG(BV1=>G+Q4Sw=(j?&=a zO^mbTd^E_U5%G@2;Inh+#5Tum92Em8zDWdIy_GMLIfprvB5X=d)4M42_bMXVYd zmC=t8QHhQvCEAYVb zX5B89l)DOo$2l1oBdSysOKK_wgi_l$y^rpeh`v!YbtD?6e6u*c#ACQ9ym!hwUGCy!Y+$RjKfY zWV;vq{{ZEaV-w=KeZ|hOySC4Z9}!z%`i(L2U`1IYEuEKJ#*Orbb#tW4lzL=n3mt1( zq2g?p0?*>s7GOzq{zd5-)fF<%d}VY(3OpL9qycDACx+}U|r&T(lUCac|AWdkxj$HcCHTB037>qxpOGd@V% z7O2%Tp@f$v#M!G8Y}LynBHYa`!jK<=y}`D+dYJ6H<_9Y~5!~kKLjYRxpjJec3aC~q zEo5xms#w@nnHAhjzrz~p$A`(RU}cixZspQwUN*W%1~+#k1%Nu70lu5w+hG7*gz43= zy}qhi5mS?W$5a8_%~?eNH%XOL1%t>+fa57nfRQl`-4rStjiZtz)#o}cOIS9wO-?*^>fl0 z;$u8ffO(Pu-oy;{N-5XP_#fO15xP)7+qUSOw1Z&ls7#dZYo19SQP3kEYJR~P(>#;d zW01Ao7pk4BI@2tHkz@e{Fe`KcQkW2cI_LwC1fUK;5P&RzBqRl{fG2bSdRAUgqHkhl z!RRBkg7cpzI*p#O=ESckI;yL(^d!T6AmZ5$LgKV(;S4Ce0aCun*G|lZeeD+Q4+` z>TnjZ!iS(t%Or%|*IMaF(IS{k3Y*{2F_uUMz2&Wf&^Jj3F7MowgiKUYx{=j6z3|@X zf4~d4zBY@CJ;wh4AQArn0Yn1PzQ_?ma+njU=n6aFz4AJGAZ0b}{uM)@&`iepw^1mP z(OK$*k~dBRKa}GNUvNx4-g64Xu$i*DcstJ>IE{+Q?VKzsA#hnNpt zHc;@flZfI4|J-u+c+ zMQK1KbfVe5p|@|Eq>7;_XN)^8xGAJEwI1y&8zg5-?Pq$C*)afZ?QGwnK+Xj1l*9?n z7u_+C_nAD#_QC+O8uxhx(riRr-o-JUbbyPdBbhdre6j~iqJYt)uaf89oZ|r>X2F18 zx8xA~0104o`L!;cuF~r?b#=Q0egIY2>u@cfQ~_N{g%#9+(FMlIj*cf5KpnaSTs641 zd!=HsU*Q&6(I=kc1R9)nUWZTg zofx9;dov110VUbiga9TOb9PD?d@9MJ0krO`Nq-OrWAr-yu6G z(jZqIcPfSt#7PIkWkaHEWC3BHl0b8w=e4XpMqfzzrUdG~;UFy#GCV*Vcgl3Psrn#7 z@<${xIyYg>HY3z40swhR(93uSo!>x>`v5a0Y|yHJkm8Wbws$eQM#*U=in>DWkdRS! zyP`}22^7&Z9w{$ojmZ{L(1Mw5=u~MUj2hW>&f>eVDv8qtNLy0Yi#t*%0K0W#Apmj! z+|e@C;)7&d2R;a_4%iy3P}?pk*;r!2OkQ}#)N0_a~sP< zV+G0LTd{#GB0GnlF2lOX*yl8I}`wTweb45 z>I;Ur?C>|=V4c4LD^XodJLHkfbEJ2b=l3BRUy+JDu#dd@Dofa4O}b@Jj?#gaNJQIY z0dmmQAV6?CrU4q;^|Fx{X&~dGl1_V^LAOEr1kwsI9{o1D3}s}IRHWc z;PXHa`P^ z0k`pdOQA}{S+#980mDC{v5m7W@Y?;#qz5}|9sLyy1hEn@PC9f`C14`zO;6P!y}Y3j z*a>(g*6C!x8{>7Z(Q*9{09+jV8=IhDgjauz?3f(T_M5QeBE$%Q6%2xaC}d+s_b8?? zeBs!t(g9yqT?=AtZ5l~By5$;B0eq84*0t^=H_AI*R=`=#)W$Z}EZyB*^GIbh*)Sr= z0suf0rsC;XjtCjZ1G1Qj0U!$2s3fpJ0IrzD0bn+Cz901U{X*Lece3D&h04n8O( zr?}l>r6nU9X_-Nmc?+$*jaxm4rjkh;6}`;{e6QJct_vTEs-i6-PL|Yt6oBC35fkxS)MW!W@dz^8 zfj5cnf-lwxr-~xX4Nn?3FfNq|U1Zyc>yRrr``XR-I3c9onHyHiUq6Izn zBa+j5C#8TRB(}RzKm@u@rC!4$Nhq*8NI({AH$4JEI1~)z454^cLL*p30XMopN(M+K z)q>mW!lW8WRXxC3{EaiA2SZ-6!N-R3(wQgbY1aOsOd-&p^$(& z$N~@qpboMC;D8{Y2?zs_2U!400K9RRxCJfH8&Jf^BfnL}DLF9-)X%KpZwL%aB(1<= zCdqB=7E+=l(R~dHY>Pd&vDC8)Nh+o$&vuyE+wm3U{6#suJ-xV)u8iL4FGl(1AAP0N=l?W{QWpH~1ngAMmSbr*Gw!%dN z5nxr#(wbpprdhxwB5Z&z(4;{?QcDWbMg4H3kb=x;al)P0jEefNd3AyCkJWYJhM&2- zBSKDS3!yVWc1&c3pb2mmNI>kUXCMwh5P&$K2nYh`1Cj!CpbaWGKpKkX%Pztqu6}_S z;4uwEmCysRQ&?+q##8KNDVHh?!IecHQKOBqQBy|DH zvQx%%GGDwP4Ne*Gmv3)HrYy2i(6&;$u1Soa0O4paaXGO5S3F5E{iXXhQx^4*gY+Nn zy-tOFUt@e7%&KE}>B;!oH7d!pm`jn`N_b6F3@z}=Z2tgUl#wQFR83^BXxXkK@+eHP z*oLT?>umhW+@ant!zpw%;1;>94Y=!W=}%%$HuejUp)rDEM=%dnpvK&!D4C;gyE1Qx zoh2bLS=ikP#qI*^7+Nxe44kPD^o(eGoHzdfWs@Y$u(H^&a_j=6GM!TpbF$1u+7e4TRrh{&?W^w9UG-G&-)p~jP>9r_YETqZR8$nzhY!l{T_JiW zUtdoNetvf!J{x-vTNt06hZ}#OjVHe#p8!9Klx(1Dgt6Mu<>P5 zw{d3@5@iw+5O`P#Nq|Kk7N-9!EHZcxH7Rd<2MK*8=zsS4uqDm%pMwhs2;d6<^LcnX z@(YTKi}MQz@e2v@J}7v7g4}&=0(sqifd2~eKjSFDeC)iPJ$;=$+?oD~Yh&x-=PS*^ z@=r(qF8?_=8_$1t^naxI@5m1gr5?~qD0;(ed_BAkJv`tt{~A8j*&7z%;qB_fq-X$^ z`iKAjBKogh|EoPr$;KBZ^A8VRK>=PtAwwasgz&>6YWCmS|4a10HP`a6cXkN+KQ)I) zfCc}v`F|7rXLBk3e?a^T5FtfLlaPaVUv+hM+E*z{MTK7as3g2KNA0S*I!(JMBtCaf8F&L*B=r1 zBk^B%{l)c11pY|;*Ij>c{Skpb690AAUtE7g;E%+A-SrpO9})N?@n3iS#q~!7{z&}S zU4L=?5rIDv|8>`2Tz^F1kHml7^%vJ45%?qVUw8e*^+yE$Nc`7be{ua0fj<)eb=O~9 ze?;Jq#DCrO7uO#V_#^ROcm2inM+E*z{MTK7as3g2KNA0S*I!(JMBtCa|5tb6{nu0v znES*0j(~@W9KSbF6j1;;I5@aC09;%EF#r!hO!f!>ctl1;LPAPHLPbqV{!mD%DQW5G z>1Zi|Kz4Q@P=KHRVS>fK%RfO-2><{hA|gs+VoEAfQc@}g+K0lx%J5HN3&NMV->ts)v$^2XdQW7N#t)6~{hr-_XWD@N%P1l$F< zlmwi#1ekVs=CC#Ep~!4){oLG63rN+70dHpYh-Ns1Y=kSSZ2=8%^jKNM@&&RJFEfV4 zbwv!%o7Umku^|e)OVoE1)h!(ypwdi>v$ehK#Uy9B%{%hK>_dQ|!r{e5Z7Ow0Uzt5m z(e?^fy!1uqu>x^j+V*@)D)=yMRo$Tmum2FW3GKoQFSfiF>pjGPDZ#J94Vh##BNB#=Z3*q@f+ zVj2)&xuyy%xMp?|OVlbC_vo@JFN4C%?7Yl=uGG@B+0yLb(z<1kYEHO=v=QMO9Z=s( zhYmTWFBF+fAL7sQ?C>(cWdY-5Uo{oE5~Mcml|7uI#j-dTlHD$!7%BQ^`h~Z68)`86 zQF{Vr=E0hQc#*b~f%tW_p_It7;vmj8RQ(ZkfBHJpeEIx0Q7twY@?1#PArV$Wc@sUF z#*xP?S(2;W zcsGH2!>G8mmot?-Y)H6H$kY?fTzQ?Dt2BKk*Jjp8{?vez7(zY$F^q3}6YXm`oMa@<)>f`GHl z={Qe1X>y2Z9!N_3e4Be_)*PWRRN<&;tS^?Qmz*$wlKY~!52Auu3>Pu#UZUe7_W@N# zwWH^%Lq@bQ5wUgN{B%%sc=-6^h}G8c{L<-GQYDy^aCkOsGR1_`;W*XL$T~^IH-`y} zili`>K2hEt&S@KV!3TuKZ)qznYp@E_$-{YU%~;sIafe&Ii4MrqB5%vI#nf248 z1ahN9v<*Y#T9Hl#u|~?K4pDdjax!_jA&T4eAfU+dhP+!(8 z^kLf|t_}cwypA4wi?rxBUMQGwHgFCZiX%E_-`i4x81KDO=A<9*exZ(epltDl)36G2 z*4PnF8s8e$kBn+I&$I>zm~i8=oMJ1jD;$3{(n?Q=UECz(?4zxb8&?L5EmzTF0p#tu zO)9eqW|VS;uuS4d^Z8JsYSrj5+4UNb?qusWYL|kvVID++%jOw3tY+ zopCO09J27mmN9bPUzMgxiDJwSUr9+VYO*l0(@dcKje$)Vz5?0$SxCaJh5WVXtsn)y2Ql?NP_~ zq!cINMmnz$E211nisj%DC~wsC;?37arfT4`MW!7k=?c~Ypd>@o1PdS%d_%TO!CGsz zEJ2%Vb#)%~8Qj#x;5fP;L8XF81C^PvsX3g>O`E}`^H9{d} zsu(YQtGTv?^`;8#X}C#nxGR~O<=28tQ%#wRwx#4C+#)%xQQ57frq+v537H0bbZB*8 zDfc1B(Kl(JSoK6j0Tbex40lj> zSdZDQ*gKfVOM#TgJVCg&g$pT3Q$nn76Sg2ONRR^LHDFAb)sbA^TtC(R=FAJc1~I95@h4$Db+FKC5i2&frPa~76S>i9NqLy>2 zCsSWAZ#k~0d8^Or7kIu66B`;z<`0&ZrpF8KO{80_Fjr|XZBIBfcCA4>x@K04TJ+xx zV6&8D1}LlvyvaBwTcpf_-ttz`lx`yn))l@{*oBw*6EEU(GYPmGUsQWNhACo)=#YBtvPLumAk!Hsv#Gca%#KAd|w5yfA)Z4NHRjV@U zGlfzPE5ckXNL$GXtN`Khgs!>g$Jv-2ZA&oq;o#X)%<&Rix6a@znE(WEClc(-QR=fY zF%L;F!Vd9x^VG2hdrm3h9n~CSOC5B4JI6V*W@~t>+j!XUwa>{HoaPEInxa`9riJwr zFzUiJGwdM-sg!k2539-vlmi}SE=^i2Tm@YRG~FEejS+(MIAmpdEC{dR)M>8*a}rqB z{&D9Ll{msEyl6G75szvSj~s*ig|2e)WCAC@AC4f2Vf1K{Qu;8Ji!K3%(~54Dz!>3# zH!;f(S$nkg&mNp#HHHJ1-TO(iXj@J!a;M2233+c?op`Vn01+GK04*H@R5V?o?@T)@ z^dAROL=8cUwWUd{WUN%l@++ty=EMt$I`+>);1xM(ZMliE)|NVD^umVrA(tAso+QnY8}G`LG*VS3m7*cC{~I(!9v41C&4^fbB=p{b1jTc{*0#_@bzW#s zVEjd|fg%<)kGgpr)d-9?KJ~z?QjkPmh`B|J4%0QEa{p29r&k5D*TbOa-i;ZqXTg;V z2=TxJ`(<3awz*~_xUJW7WE;IB#dC;4=Baroma_)L#G!SED6ESCi)r?~@nnGzYzOuR z)~&1LaHcLlT`n@@5}TA0oGrtg=+Y3XZfY4F{8blg;j!v&YbNt7Ti_=Nt`;&x0sFTV zlkGCw)D8>;KRelsgv4-*sbk`yi|=bYV^QH5eDRT)xY1S(qcYlfI6O9+1|k>jtQCi! zlVB=2=rqxkcr-nGy1U+or2}w$l(jcF60g-LXu!LQ4>i*h@1zY zPYO`=&DO@6W9CnU=~-Xa#!wXpslk_U;-=VoE08NV30HpVjPm88n(-?UM!<%9q_ zl)bh>9Nmcoxx_u9;miw>qbNYI>|o5i9VC(Hg}(+7Zq`fS8OIL94`v#$izncN_nWZOA>Zj+UVv4FO!HidH*p2OJ(8JB1pFVD^!{)|S@ zN}BCuBX)C#vnQ<83VzIDYhtm7-k~>|oIqU>*1gTAxpb<#bke@UrJ10I%$%7lVbJm_ ziiq{1hf${(h>~j4@x*R6Tu*yhHK{9f-scFZMvN$RG!$d+opny4&k(Mzm*aN+l8LAJ>uRC;W=EJRA~XvdP83 zOM1h(gk}OoA4!^Cc8>GHW`@4l0LY9Q*x8XTY9KTqP!_Oiwo^P7y?0%NonYp1nLeS2 zma1h~ZS=W;wO3yL+5Esyl3y`jA<(KCcY$?N&-|W)87X&Aj6!WGN-t}=0EzNCKE)`z z+i1G?jSSu``R+xFh~bqRTcZX%jzEB|O-a`tsL$hCV@VED%Ht$OyozmzcL!Mo!sF-x zG{uY%N4=M)qj- z$#+(t)yCkwPCaKE);4ErQ|KDi=YK=ET##iRKM|1-=Rd@oV=wt)@Z#%KGhw{Q!0g(Y zfx(WkW(Xs8k@i=#qu$>r%FZvD%z1;WMu&Ycy9n2Qo%WYi{ep4|*42?Zc1fw3LO!zW zhkN9F`;9W#BO)v3ya^Nzc|CmAGOi(sXsJ5%ccfFmi!q^lZTK5ST~9)+b@k0#hPM)y z4DWk1rdH)0)inl}mIUnG%{{u;t)7!l_kD)1>o%YMd zy>QFS`Dca}izUyd3z#tN+wd7-F9iL)#(HDNZjE$AsBum#ou)3>h1 zt%(ajgwuE3^mbI_*sH|#?&TYzLkmrcLP+YDjKw9DVU1B&r-b(U<5+#HHj?5Sca>>x z?bK(N682`Jr3W;RW()uk!b^5(O~b{U6P~^%M)1n6Eq^V8wxR+p#g|3DQS3*7vIrbQ zSKIPbCoxhk29KSIpwo@)&|C)Exo~ z7mwSXRIm4|EGzGi+WJRweH;zDX|Myc($z^2gWOQ^`burtnZu-5SJwMhpmVr7BlZK7A3$s9uii9oCJ#Q#-uJ7WNGAs-1vPn*o zI`b98H*GGm`U4-qpRgR^BX5(-5wsMH@8zAdLlp%Y ze~*;%e^T9PIG7{Y)qP(@aY%%jnv*WB-e+wn$upGDpS6h&=SP}7R>uFVKFcF%5h>I) z@BDacEoO9S36NN2XLs)1CQbJw+hHnPT--geP=$ml%BL4qXr!rJ1m%xW_T4}XLPwH%61$f+9 zF4zasS>lbBIp+qxl{jVpAs8Sj*Xew-`CbO=Bac>6=v3*gd3kc7TK=bkypd17;xGLI zp&py}x!+_!{v7QSWpWL(Hw~+C``jH4;zM}_rn;sfoOcqzQfk?Qrxte|<~M6U@`VG9 zm#R}1yDEatiqgNq+-qPGc*HFM0~}6u;^lnU_gdZ{XJG$z704f>RgL@^J@uV}2mTv; z*2F?Zoasfmb$-?W+MD&`iHbe_<--gpJ>GN^UtX`Xwn&oxc<&uy5veGcRL!3k$mV|P zK>!8SWX)_F@AM0)^|B)8oeWs`6t8&ogfwAMLW$R@8kR)$QnzM)^S?Bd6YAGl`OMb5obIk2Q)Z%ruK1onZ`>;W#vsD=L=7zVYn)-7FO?#aGS#= zIq`AHUdHWSb$1K`vM%qau~}~=3i*l1Z+>uW&5nI$_*hUvSnmn3X zc|Bhr0hyIi&05gHjcX8c`1&OX>ICSs4uTNGB z+M(op*$s@==o_FqSz)-xS{@kM%UhT>If^qAJwfnJl!3qAVe29{Ife$bc>TQGd+_T!NJiG7Cj zMI{qkoZh_NfQqQ08t_G3lAy$~Wk?UkJ~WBYBx0zV*bwHuR9zBLS!;fE>F@iAFp;?K zSee0GiY7zapd7DfzhlA#b|Kzd_d!wQW1d*IM#Sp~l0xj77O{82JpO=*uXZcWW+#tm zqWkI=eb}%RH)(VI9*5>&vihve5Jt_=yJzK7_}=vNYR*)Su*D6&JZ`C4I#|iT%i(r06FJ(@`OTtZJS02TPRe0FjA`dBunRAnMP z)8y6i2zjy7`*=NHc4=l)acIO$$;3xN>skO3qiZnI1ZY&* z;%L1edKqR@^-cXp{L*q~e(6DgMU!S`fJ%lGj4p^V%Xi#!PEsGAm4!xOe_C4mtNK)@ z@R1=~a7Ne7(5<690WTOx5Z7ZS`}}>Kf_G>O*j#;iv1O)DuNIX$w}b4CyCCO?aY2Il zF!?yvSigT&WSO0v<&o=4G*FAUfz<1s8$j-Prk8qpkwh3iC&e z>BZ(hn&zWSZJb`#nq8XJPUkmIVm8##DI~sppBGwsE*@@4f4)3GZbkU$Qx>tXUzqVwtB?Z1%u(kqZpbi z`DEf{hlGR0x3-xpgtS@FGp_(%$)^o*7$i;nj!fB~;p1v*gg6|)73(X{Oi`&TW&kie0|0@5g z>JpJ97(L8rU&UYAkYJhG$=lNH?4H9;5Dj_5+A`1WtbewGrNLF$6zz^b6hiA~Xy#z# zXC5`Ek}LurMW;|x^Aa^fBr)U$y9_d%3Q`N^H$QH9i^&3guIbfdS+8F~Ky-l0FVtx!zz#hx&YLW&druKUuPl`F;U>XcB2{Ohdf@PX8B6*k55PySK*;}W~fxgBe6 z9HKvxB#|A_7UzL9rw4Tz`{iY?@e;BR7Qe^O+boJltEX$Q`a38|f7P5w3%oiQu2|53 zS7!CMhGgn`Np-_JzsLpqYczhm5OH1H{f!dy8ztgdbT3yqW-|77HaD*wZPh0|-U1(- zYR1K=aw`au&WiHIQc3ORx4@6}6{4GOVP=zBkj$%is%Pea*aBT$QJ;F$_WxYT(w6#>sNbyq#=Kjj zpd89M{u;=_A^J1j975qkc#Ig;<^>Fz*iw4_OslesiM>-MPE92-0`(_ueVV+jc^tSVWayB z6Q_Ab$8by43}ABtG4HEwji-Za4YiyjSmMvOeSt}Ajzx1>oeQ%od9ds^Y_P0L3d{pr z2@NQJ@8rUw0S}OFgt-<~Sc!;~Spu~la(qRBk7hh=nt12A-lwHUnonrmHMl-86CYim zM|7H-*u+s{S`}r9dca24^S)L+tx0fa+0{gOacy+4DAq`YsM}DIk%QkLxmzmC*wkJ{ zL11UHezXLbewZ4MdhEtmU8ey%gA_nT4RafEkx#+!GCg0A9UOYR`=&^R&0^;~gGO-O z!O4eBRTw-}R;5`ED^^{==>Y^Ci9#cL@xM;@d8tVgC+SX*eqEWURKd9ZJlQs#5~0=1 zIxiU>?@+~RwU-6?8e5xDmRr)j*P=56+?J$N@p%Mw{i;LDMA*Mj4oMi+16oAu$>q0a zEjC=obL&AXNPFcSAN9_0#@R3sWrp61+2^gB@ICgM00IPi24vUVt8oJ`UsUh=orO~m z1VbF>wl15MqkR@8+x9xHlYn|ER@0ZN;FQ#3V@F(-wzd?$5c($kDmCb1P$d%$sLUE;qS#YRgy$bI_yXRLQ)jSvb!t5N=czx0RVZB3qoMD2E zgQtmW@$E8PK4VZfx)@FnuOamY5lOR3f;@9Sg)P3zeSZ{(TOTVNj*T!jfxK+Dl z8Lxpbmoq@*~-WF0fdG8{L;LC-B@= z7Abuic-!=+69Enqn~;QtZ8Z&t@pzs##9;GyfdK)0~tz-1r?aFL-m-&~+zNRh9~8kv0d?qvUPo~KKsCQ?G!^HkmW zr+KATi#REwZ027&gZcr2P&JlC|Slat$5uhTwKV@=-iWXj0L4)HqgVgf<&RoNSRP#k8gRX@{#}_?M z80w;^3R*oxr0=ovv7bzXh!*eF?)%K(a@6XaJq1mnZ?s$l8YkCrB{zlQ(rcf{exvN@ z{^E_H6~it6DKFAu{~b*KvHc+%VJyoUKel2bqfPwH=%m{ZsbNI-vkUthKZrM4hB>c^ z9^_|4@jjYv7vSoD^K0nSp3)UWyRDb~+c0=?@0(&Yp4x}pqmT*jctM530(Nc7HIu`N zsdNOvuV*z@7kgvXag9A*-##EmAnC0fbTXmSvOBMz9M>K^dCz!=PDc_WCM5A2g@@AJ zi>(R^_&ND>JMe&F>(^^nNLfQtn&-&|P5S<|EE$lG@(D))YmARChk}@O&fFH@GerS` z#{!vN2D{cv_+#rLbmX*Fn!5r+zU$U4u0yZDs_$vUM6aMW9?0?xr9f6`dHVBM`Eoa! zrCZlU?Cha(p5a&5pJbk``z20Ou8x7t^KAD{O9Yzl-WJ(#2id%tX zEwVtr0W%luoNfW>s@d+Yi+0bQ={^hZS~^o}(XNe;xhvoW3I>+rYw29DZF4HZt*P?`>w2jYTGA*3&&V#yrcQ60+D(SaHO?xlSi+&z%)jq=V{`E z0Ht8KVGAvsURf>eMY$3|e)CBW+H#(EfB-a$hRk3bKO(^oSBq4r-4`Nu;LcpF)J2+B zg3)ly#SyPJsjD}aNvEc*4P)WK-z;Ir+pS2XJb=yjYIA zrdVV&bZp?&|9%i*_R^_}Eqqz;GiomTlkk>PAd}cr14JrQp^8y?_wW%pQSwKrw1-4O za~l+GPUs40bX7^HFXIeK3IRBNJL@|!X!e06B6dH2*qI*|w4)~0>6$!f=zdjhm15ah zmT_y>;SoAbcoqat?{?Gyb_`~L41~v;h|G4x!^~J#=Vy&WJ$|FqjODwwi>gr9#j1_7 zoR~6<8@eoY70_gVLk>63F9c|QV7q@g1TEQoUfT@Bi8>!}mF&-u_GdT4c`cRqd0q{p zv)St*kt88*m@_ytRbI%p@|qDNDDOF+gGv2HpXQTBiOp=tuh9t1&k&P3>L;k1#+DNh zn;C_@A2bw(x0&z(ll|NFgO=gLi|9|$7>FE!9S2j}eE#@%w##(YZ@i*^0p|E;E@z5< zWOV%qyLq+D`+NszDfu*{Z2!&kw-y?$Cf5`ATl}6CSrO6ZLhk8(R3suAYbj+K&gFKQ zj+7m7bG$tY_O^C&`E{IFwb7D}VX{W}#^j01mJi8wh9DYyHxd6`F61f>bLX2mLx*>x z96ogE$}?I_Nmn`!>Edopb<1r2VH4TX=p)?Dr(C6(sf^9mjBW;omW#)8baBrxkFCQ4 zdNL@+mfDI=q1$*97nksbcqtJuaH7^#84))wF#EJqrF!`Z3HV^x8RGbM!0CwH7Ld}` zupK5TdREV|3?DmXqUAizo*!kI+ik=Q^;H!92NATA5=J=KF^5n;Mc$27Y z#e(xTupn!jY$EMOmJq^z4`x~bkY~uq;KIn7#hW}k(n2z$_Vgq*v5AN~lGxnF`6R)P zgP}!Iewvw1#nyovL}Q3Y)oRH8^7eIZM`;z!K|xI0ag4mJFAVd6M{-ky@h)612O)3Y zA54aqmzieltaB!}OnW|dfM+0@C?tR?vXCXtqix6sRjbNu7ivgm<);y8Zm_)UM$@lIq$%Pq?;Uof)}!LI_PpNTm|=qGC^XcEJBFJi-Zc7m z>J#n$ocaO?-tYqKnZx}w#?NwOwD7d*=+d+CCe0bjWZmN4?agv9zS&m#1u}n1WJE75 zQXYUlK-a`R^N?RnURGEs0wC@yU~%C9%Rxsc_x(d-%kOB>$96A1O)=e*H6-1NoY*Aw zmRx!mEK+pNNCcQ{I=T>T)W4y&$rqOv4`&5r5c6gb)a+wD$L6|C`ib4Gy$^EzzN#WU zcp`LPUq~%e^BX1WM@lb3^w7>SS5`NzrHJY%$>Gm~y~E|ib!#o_bQINLftq$r;XN<7y3m z>(`(lu2@DFSC7bwp?eQ2(iLC3t^i{5l07z>JKy+yw)~3oc#<|FHvi+s;sX8E73>`a zCq{4*rXi4PVEeuofP3JB;giU!}tp6)_?5PELI%syLe|gJhB4T^cL80z! zDISufDf)=ywNbrJf@hMI8T8xk)!3|DFFx*2aB+~37Y%xSuCR$8mF4=|g;NkABT8tV z_NjB(M7a^abE{`(FAE+2)9l|US`cq57e`r>b*DNIL72slg}}qX#l=HYO7>*pq*tow zv+yiqQdu@yAp^K=u>77cYxqxbwd96bb{>qs9{EIg2B5yW51`Rfb7@eCJ zy7MNO%9KRn!&yd|>lc7&ne?gyIZg>M)O)FDMw^`!nSZdaSHpY z)4sV18>Vq_K||2hor)u2nKs0CUTri?oZVvN;pIb$y(xSAR%pxB=QVimx4{9E{vTv* zxqA4uN-INNUevpW>E`oa)g}^l-dC;M7C^XNStwGm#Rn#6LE9M+JNm8HgHn!$gTp)5 zeW8O-7C%jxzcspf?fq-NAUk^?Ib;)L+S>A-dy{&Y_1TA#sp=KyYqQ@dj{+ERR(x|S z0Mt{A)HEo@9w&VkmwtvF#A+SX+?NhUMk_sAqJW&O(H$gm!aaLRn-$+bBLEqJU`% ziC}&dZ^!$e%5CW8lQn?!Q{@I? z&G@5*)|KZ0CNmOvi19EH^Y-;uRDQwF2oZTRc?s3H3_f~MqnULT6cSD`tZ-=&N6Pg) zOjMY$!!d=Xu2&8ny+z*Ai$!@tC-_d6zBow?g&4u^Oh(i*pHQLmLvI6^BE` z?TPBTA1_ADzDu+%a_>8j(l~hc#srpJM8lCjuB6yHCuRGMku7Zf$5d#qWN?7~H*dx% z8P{kObxh{#p~F>{){)yH#{~AOyc9kz`Oky3QF}>tQvGt+H$5EevJvhDMrsPsCD=jR zQ|U#TJ5i2q?aGCTd=4LMU+(hZjyK+stesO?Pz}ag-*rbib$wqB{n6?l%Ht$YuDzFn z#SJe48Goas{2H%!I^jMUxk|`BT@~g7XNrk9F7C|{EF9iCX{&p_jlQ5G=E4ayv^xr0 zl)m6?nWr^nP)bb#9X#X@p#}Lv=L*xweTh$Omy{W68&^a?!}(mkQSWwJ+|tUyC6ndb zd<{)FlkX;{DhyZy*0|vGEgX@HWzX_2v5a5A`G~o}hmk*cqyY{639VwGO=~|_&PiIA zKEYpAuYS+>&D?XiQYC)TQRHb1PafD`K72g>y#O@q^dZrK*R^j8GvAbTK*KCg<>8eq z+2!IaOP>avDAq?~Ty^!KiP~f{{mO60qs1oq@bPqP z#pAkH`0ox!N-)i7P=;yn;){YMnpLTy2;S_YKbK0avGe(71!*bX;=gwTd zL2>4*vc=eZir>+Zo_`i*tA4^u3i?+0%bxd%0&*_5O4P&L)!yX8&jttT&==%{X?agx zd$t4lI@B2s1Sz12bK(lsf@abZIo9F0~FW;kOU}xQy!>@Tq zoe*Hg9b$?!gnrstje1oZZ9J!eZncQl+JLMdJUJAds?*jKEOFYbUJ(Nqjd*_3FTzU5 z%RnEymAtpq{sl0N<$)9xiIq|)kdu(%^k?FLw3#QPVB_7}rD-ow$qVVNXdEhd2{6hW z=%?Q_C4cT2MO|Oe)K6!CjMj;&7`vCl>P{GG*fE5v@RG}JK6mW**77I{?Hk116q0mJ z%Psj8Gpy?!`I&Sg*S?x*`UjbDUTMljcxlRo2QAPrH6-@**1UWg6-pks;8f<8(BGv* zP@IfH@0&M_ToKr<bn!qw(th0**1RVqHw!3|sLK@fPDn1>`#SY=SjdJ$_?x;HWLzkX z1m?;7R(jbuB1_FJM}z~gG%vg3BllE~@vPlTcnXD#-At!u-aLr}^ z+>YYD=Fd3k@ZbucpLdM7iI;52lHFwe6Zt=>p;C1iR@%tO&fu|C-6qvpLju(<(t$}` z^W0I{)J)I1atcY=R$LE@(HxUj?n3!JF{$=>>Kc0?1NWUrm0$`Ohe5@Ur?c+WnpZqg z=g%)i!)*fnnKefCkS7HnQzW3(Qdd)z3IfYH{-af8!_#?G3R)4+_x$QI^}PE zql_f|Mq!$zqglMbZ9aYZ_WO$*jd)pg1qb$&EXjba@ss-F=BOCsF00cn!InYF$xjDh zTt+1!$f%cM=1Ou{#4AVtBK=BQd_H0R>Xe=`e>LKK^i;pj*WGHN62!^;RdzBJ%3LCS zvb{@G8;?NQ+daTH!x&ll?T0SZ(*60(cIG58^3)hD6O%!~-%GdhTB$xz2Mm^J0;jFayjC4ERANi0uAAIt(8zW<^PTrH z58)+Q+5k6Nt^4C~o7Nu8)3WU+mI2M@QdmP&lw%Cjx0)=)`ozp$X$)4Ax$!bnPp6k< zV2Vb|Ce!+En9?^Dh7m`f<4$&Rc5NFOw9JuLI7lxF@URPw- z{4P~YOt-Ria>a-OOpXoB<+;>Rwb=U*7#Zx40;3n)O_PaHNtJvxP zMyc`@OD0<#(@n=f*3# zZ4LjDySS;-;wXB@UJfds+sQp(+BQt{%n=d8_3YIU<#7$CM=#!dF6?5cw&QJdV7Xvq z;G;4t5jhpvw=*n7ed+Va`#NFVg7*r`V67~hKdh|jWux13)Wo#O&7@QVX!k+1vTa9Z z&}P1%BgR&cjHX#X!xvA(`A{<4vTPu`S~$H9+3A9;R`wT8wdENmDjM3{bO;a6*~Nam zUi|^-FzxkeoQN6}KmVYefWE_s2ajsiH{2NO&e7CZX7rR~9Z17uacxG?wJ;X%orBI_ zmBBV?mRD|W z4#=RSQh(4Tiq=(42ZuXukU%E^rSCmBKZQ;Uq{l73EzbnvL ziOWW)1L%xJ6EuW#16;dYl&;UtO#=@41ZWBlL&M)8t*T@(rDnt9Id%g|WJ!SKYepVl z#Oi1ha^Mp+bdHp$_O~I>gVFwHk92d|*R9m;7dJXCsh8AO3wn5!AAPaUosk-SOS#PD zE5oaWRfp!JR3hc@8|8`p`P;;$Va>Uk7_Mn)KKalHkQKB!_&tw4dOwMif#84=Ec$S8 zYiX$~=1k#KAz$hO;hp$8eJrYpmM3t5x!&o<_eiM1h#>pv@j{gd&U7A@9yOAC5Nody z&Gt6&;eP%rk4*WoqwCFFBOUmgg$_rP8*9X!-Oz0Qm6vU{yA!@I7kYlXlcJ;0>8c~p zoMCEgFi$8MQnj?3qC!fxrd;FXg2Iomx8@6iGq644ork4h6#?!j-<190`zWd6VI+G( zUu@i;%`EEt0mk9r_KcLSkrh*OB|>*^nmf?GtdU}^;qEcEu_=WKeLw3D)fb9!g;G;n zbUosN%J>)mc55_vw{{LH;KK5$Xszu_#|2lf zn)CE;rWKRXNZ!nK2d|eLR@8=(F8fYTHp?ze=!CSyk z9n?{5Y)`@@;U@|0!vv{3!>pIAa`z45ceTYFVHY!*A>RA}9kHGcjfDJa;B#>3tBCi0 z54Y(#gbP-gB};43k~*p!Fn5}La?860&}Ita86dr}M?5a?q(pe+#o!*P>7}b&e2w3l zxW!FhP>djZ0Y{&Mj(sHeV2|dQug^=5orXq|rH-FwaT3 z_d;HS`6XxiK0o;{XU9+GGCl9`D+%yZVi-<Q2$MtK4I^w}bOpF&3%m$+yFJ6uyCL(W^0EkCz;0`{$P|q>sNqNc!yozu zGklK)On2Hx&~}|-LG>9#Ao?XDf^_nE5eptfTq`$b2{1lsu;Pn_;#yCF1j*`Jy?aC~ zcmDHC_a-o90pY>onKW~%O4d)2hsPA?IcrtR@{dQObWuIMJjp!x?0$Lro0?+7SFzjzBEnVqRkNVZBQdL`g`r<{w`k>a(+fJ2q4Ntzw+=Npf6=S zx2EzVVCT?1!f749zef}vCixSZoEaBT`I1^MQalz-fnHTaRIeB{By5g^eSLV!(M$xG zCFjlV39j!39QGaITLF?hzw?L`>71SiK|L5;o=53T&!(7()c%ytGe!h5Yz-XCO;}`@QQ?bN z5GKBSpMj|9BXoHo{FXCnyiJ>31&D5iIxVWtpAV4=DR-2QR9dSoAQBH-D_YgT)Eir2 z&)vGQmD9@LNCL~y8zd%PDa>*ZocC#ev$(T0pH2KiNr)nzcI!$VZ!9K*m*&{ALGc^K zm1F$g;5!&2f5kSFktA;E890(UP@%HyCwhDDTI=}1{;yU3*tIqBXa^tBFQU3}k|cYp zkD^VRdRwtvqDc0w8_Gyt$cI$&2E_t8X}9Z7j)+iPO3R(s`LPKPPxWIEqr>`<1C@aRi2$W z3;zR(Ky|-!vn{fJ2Uj04MthiAP+1yf9Op&O5uq~n@?I*r`gPq&Bo+zEjVJ@db34+I z&Ww7ok{IE#pk~Z`L6J63O})Z=EaYd)2u`Gh3oLFm36?L@_ikK`#~{n9OGjGGUSkQ8`V&{0X-`ujnTVMb}G|%VNuOg$0ap?Aen^akOSVzu~``spRxp#ZWmp7(UVI#ES~4sX`th@0qO}U(>)?v;%7O9ugY{cPBP1eYe!7*#`m%o zn&f6Y>!;w*!{>V}(zId9FHw#%Uz4V!Es{HTT^P#I=Jgo%$PBcWlpAQ3IP+o0Hx*-b zSau(X(r{~HYuV7BRr`bNoZzInF}$*b?kCOh%nG{+sBs@4mavibDE|O+kL8J9r{{hb`;0^4oDQd!I*g?Bc+34!$2=d9 za%eRW?mT^%X(bM3W*p7vM$1AmHC^yy;`4kAx747>jhcBRV>QAid#lE_$L?05d*5P{ z)QxVHmSDyr4{^<+=j2vz(&gFNrH4El1)pyxVp%spYzs)VMI0?h);AufM985G(1S$e zE<=oM%Bdit#+Ymn&`v=^)M%isctFrdASp6LC|jz{k|C)U1tF>~%e1Kif&vz(Fj+TR zpbH?UAQ@XHAxw~(11{AH3Iei^op8CA9*<3BCxYy-QN(6B8S`PMhDhC4r@-}=_z!}; z!tpzzZk>wEtlNRsS|kKJ2VD~;iokO$x#MWxhb1!_T3d8n>!x%SG%Ynh!z6@pkhw)Z z0mV)(i*a#+Mx52Ok-*k&Q8Y15x$rL?P`|QX(x*E!u_<%OqSK90!Ph4_?Lwih3{uTF zaY_)T8JBQC&2epyQqY-**2B6~r$tXD!MR-}2(XhkvLC2KGfGnV5~#%LoG*09<3_p7 z*9avxJ_8JM?`;%#EC_1x{{Y#H1%gINV{?^@S5$`tQ8sDuob^{!_#F%2#i+4%i%d>tb;vfN z0ySKKnvjQaskt7R9GArUG3U|q>S6ZCG&rt*fm$qj6f(j6&<{`gk3N>6RD(C+yF+%A z9h&8aFQ;fDE=|#RFuWUOW|kZ?%s!z6BgxWJs1D=U5Oq1OfNDQAzui7~{G%uCRG!!T z4B=GmpALpYsmZF*3~EqEBU7rDJn~;~&cm{h=B2z8_%veI-we{Bc3U++9IJsEnx7-H zKAIMX&m$ro-c#jNV5fX5Ir{$q9#GR~hKe^&BXnzyj7WNvx-=~erS&r+ZyeTDLg;Gg zA(|I_q#=5X?GKKEFm|Nu=V~7V++7q|Kg)dPUeP+{(lqk7 zxGJ`w-br;u1j=nLIiKWW3j9H&HVK?Bvq480Np!`|Fq`HPW6T)D#?=)CpXw>G-ziq( zJpTZ17&fE2z5&a4$25iKy3w}3xwD@<%3VS!f5@BWB-`C8as?pfJpt~sLR+uwbamQ) zO=FyToJTP3SC6VafWtSohg^BnB8*w($n`i!LTu28A_Q(Sp+VZ^McH8GOuGvkkg$^u z9F)*Rq{$HS%Onyc6ezO5r@$6m6{-a?Zl4is@^Tc(38)5LsF6WJuudn-oXZQwcUD4< zg;v1S!Ep7mwE>D{W2I{!nW0*R2fo8tsL^SGc{f1A-d84JbTmrPEsK1Grb zlXGC=qz-1QexDBh&VI92@%vDXO%vmjL2#Lq4&H&msZ;EWWNxc1a&+S*LXTzS%$a6M z<6HL;ZB#0Q!ohKL5@GE&X=RSt0o5vu*;K5hMHqQ5>a8w?NwOLmn;MR$R$0OP$xb$Di{Nsf7n9LDuh|2|@HZA-c?~nO zHsJ+Ps$CgwZQN7SG0rThVQ#AI#V4`bFO&w~py;4}s-*t_wTsJ56ZLa-?h(f$Mr^pD zFRz#KFT<;))+@;u=}fp!z8}bxv+4Q9{Y-xYlvS|GZG5l&B?Pg!{n4)uvlegkOW@za zfZ|@tV(fNTQR9Q9E^FY)(Zf}?tl(;LZRL0Ygwc6O-w^a?C7(i>jcqY%GkUHw`wi5y z5Xd}>VsW;um-{PfPoQy53+un&$(IcAbmWsfG^6yyl=08(Z^xekT$7mC$g^;OxV z>6>L=w{OVL-s4>%L*OiHTRJ0cxsd+WVSm)IeZl_#=zMnO;xGKa{VM&m%l-ZzxV>kF zYVha{MRTKMdH~j&l6oMPClzC1tH+V;k7ijS{H@A6B{NhC@2^z~B1ml?5ROBpVg1n| za#8XQ-v0ngbXH0%*`;RBDp)NC3q%OiEFjDZh!_+MB5si&ikGZ&WJiP2&_%;_t0Y0j;gDtOx|((D;PcwaOVwxSGn|## z-cMDj9DKg{a#JA(K(55Nwc^6IGDZ5K+-Qb7R*3YSR0i7Y_UaX5P*yl{KV-Q<8nJ3T zF|HF`t59@m+L;cAO_iw}y=-YPBnG_xle#mLgEuY``dMBW2iX;u9IqZvOD8Gx%dvo= zVfxMvtQ}St1jVlWw_nuMP|GFvKuP1t&rjuWS_$z?9ru<$HB0({<^$}X2|`_aSRc5{ z9v`_KUK5JY;!*zq3otM13yqu;(Tg@s#>7k@*xV*2Vr#L;!ZgbaSke)q(*ow(WK=V8 z;D}Q^;dKa^n~q`TyA75GTZlQBNWRN9XxvRYe7iC!Gv>3!H9O2Rw6aF-3dGUghE2&= zK!dv3QzTinfKs+zB$Eu#9V}B|jJmwExa?-T2%vZzA;KejbwwznEHyb1jZ=p@J)M~; zq3c$^xK}HqJ0Tq$v42Y$h0T7OJF+y`jQFnGU&{Xg&|=3kn${hXvM(mT(=z`6+PjZ} zuC=pY?39kQzQEY`#_;xN(R+pDVhSn9 zQg-Huv#&&q__s&yY0>I7O()feQ_Yq)7ks4*C9)JYSYBNFmqu+xNpU|_m8*7k9O^WH z0-&A6gOxNCCYWZusAyxDLfdYHWMo~fRb#_NR3mq?3MT3usdHaQUOOq|j(k7C&E@8@ z)qEVyzTx^9*y2GNrA?h3G*Mc%2xQZ$k>m{NL8iQwY;33m4Ij~6&^sfSkM8hP(9R8j zy1!8gmYz$4!iuN#6*t6Q+U%Bjs7>;lb}F9MHWHHj498a4hEvM^$aYsIJ!I}b$w#*5 zL{@RKM3CIV-9oz${9H~i>xYujiz*bo(EFkISR91Tq{pe?A7n_Lqd@BXD??Uz^zL;f zSky@#$Lh61BS1OdWm${(ivTTdF9)8XZz!sY`GD@UDOpsR)8P2d7mG$8LpxsXu@VG> z?2R#PGfv$IvFZ~O1f$xRO9f;=lVurbqxAZvwPBnGjo^wrNJ`W3W*p7zv1O0A>gcB2 zKL$yo^0CuZRyxd;_Q-e3+^SF=lRA&L$+U4g2%E#E1@Vo37|~p$k}_oZFB!sfi7u;-$hOFR?%Cr{y8^fw|vG6$tNck%it=<(kOT z;HMvO)f-)MLJ1o%Axh36mD##%nGTGajm}*7=w2zD$$>`WXvqw+Sxx#Xmc5{?vs88C zEzva@Ft))c=VyztdYrFr!5Rx3jM*S%?`t0D(`J25G*d5Sc5?DWn3-qax+@ij+m(ED z!f>y3Rw_?sNe@9CfK=I>(1EJc1&_cJ;=p6k0c@vZ@|{6iqEVHJcrOXW9p)*sVfDMV zc(fPy0W`h;03x4=_{YP8C43_m!`rmc{%CLY{m~{}CTd}REx>V6mMORse9%rqf1Zho zLfj1_QAcdTqAa7Y5w`vAk8l*lDlv>E0r9I~9c{#EKd>rp2}PJyUOmDFW>QBjT&>x$ zjS3e!57TVsCWpir-BYTjr*m^2M!%J;Z{Ku@LCo8SBF35-kHfIAXRnmhN%}9!)qb5J zZ!Pjxd_D;7Dcoad*{#`R%FWtMOknD2{^Aab$8&U>JBw>prQgRSv9Id>UV&3+7{W?@ z@$yEX->Q}}QQoRUl=z8Z4Uk-IbjZx+=lwDgO~KPOGO}p-P1@j}c8(K_v1F&=n2(M0 z@;WDU*=3rhdW{}mQVK`7u4g+9kFuyrQG6ORV}?l7m7{Y9uWet#ev=R8x|)3ZxP6{q z^$*kiFX~6=ItW>1wBxok)~LuGjY(mkfF!Yn(%4Ay&n7V*vdb{a7Oc#Lav>pRwHhE+ zr^S$)rl}Ol=1z=&WP+Zg07j<8g3wT!m<+^L#j3X+f- zp_ZT@)QUeydAObYnsg9ljC-X@T$*9+MKLND5yWDUoe9m!g#KA9wJuT3m(*zC&agvR!O2j8Tl&tG**nNLg!Rsa=RkR%#uag)mCL{m}WIqnP$1M$Xca?4mT2K@b?pSjEJH41*r`EAXB*+XCX$;L z{6EBWrH_%ffJj^#=YHzomywPC0F>!5?+sw_;j;N^NaLD2I5-QRebwcMvw*aDf2_AF zOv}MMLrqLPy!7mDmJ>CgAG%fzLSES&Jzwd&o0b<}V`ieMuWi`u?C42bZ;M=Iy=?&0`jwXcG<4>L}ArWz~)RDwl-S>%Qya;(!qqPbRfi#?GA5blUpbp%v!uFIZ!P*VV5`j5F!8xFzVWtJ_-2+3TA!(R0li3SHV(){R ztcGg2jrn5>22|wu=<48{aYyb0$+k3~NN4V3`T*ttmQE`nmE#vn>xoQ6^Ixj>+%=jIzsAdIgDAPvQ_yk*0~!j<0s4dnR1G z8gR!-{{Y03MoYY7h`}!os*E zN2!p-`YtarW+pX^S7R}?m9hfp&S;-)T78b_eRYJwwpxf5M3@8J%TJ(I%p;f_rXs(_K*^a*w*r z3?`nMu18Z(>b2P5qcUrAWyKxQsx>0OsMrq^;%lYVqm`5OEYj)i4IU3d9ht1inxdGm z-{-DmVd4~$VYOCpyl>Tqxatr}6wcn0SL!R-f#< z8@DS*iOG(5rt#!eBr+N-g@RZFwh}HHl*2`X5~PABB1EDZWMo;V5YJgEh*9c@F8-?Q zfUc#Guqs&swKE)BRu9XHcMt% zF&tJNG!C%l14PVDq>7Kh&sc)Cj9eNNH3In(a>NXS*1AcZvUqB&28#%kuv|h2knR^K z1#D_qiQ@{`%9dft5tz-9p)77Ug!o7X9j{tozzEl0s?!!z2U|f$h{eLGj5|v;{{TCF zg&Txg9fMPo43mR=csTr5!!>j);z#^M9ojV?RhC#9==2(2)p6$bzif;rw_d~`H_3nf z7n%+z*5HktnF&#kKAt%hKG#pkIO?4r!=FMncXUr3^AQl#${*9s!}<9eq{L>YaV!~w zzRKX}4DfmBe0dl+lV7`S_dz*Wuh>5lLohkAw=+^723)w@A0ksU@d~rQrjPWZKZVi~ z^DF&3Sp=kE{Xy!KblDbsTcg?!;pS$<+HY*FC+qBvT^RoW zQJ?hb@^v|Tpi($J7i$)*V&7nKY%#cn3z|PVF?f%^Wa&cUXwhn39G_`2JRvU|3zC{} z9_o2AxsTUG+&<`gx$rafMDgX0On%+Vv@MAEMsqW!!?Kv&uLzqF^h(R3ZIyoC6W4!z#Rub4+l_qjTw%$Taz0IeK$6ey65}uMe+=r#Sq1M`YjreLJp$Ji6#3 zLR$$14NGC7`B1QrWlM1gf);tiw8|BlQ4AZ>Sp}r(hR6pls>oOcL<-dGXn|U{V*!K( zX^6IQXB;8^rO%F{N3Y2kGh+_L8#o!9F1O&+@yq1o>U7-NMzcV0y4AkS4;>cag*OAV zo)RR%aR($@=!(GFDKvIhWZGubGjzFhJ_da8`z*6I;}d)y%Pf;NL^x-yBzp?o)g2672VmD!B%H>W=75&WvX>={ zg2+GzBeOLUC79K;PS2h(_FADnIVY$k36d#BahK|wDrl>-qJg=X4(klKV%ixIdnN8F zi*S9E+)6AX_EloqEE(*GOoFs4GR+<>D6GjimuVp!SeAmePj#vi6vHx4b*mhKVR)ba z02YMG2R&p^Gl?_W#(t-5`zvxwvSWM6JOIXqJu!sT%k^el0?_>LC8y3Z`J@Q(hQ zMXF2RmQY^?B-Jl|;iI!!5}UK3vM^sPQdoq;m?Dg*PFyQ5)yn|KNltAptnQ7}y6npd zWYfL56~p9tw5E9Ykn@jZtFFgn&4u%H9}aBMIlzmLo7oJ+W!X4=OLg!wO9+-y_xgGz zHfYsqeH>B8AE~2SFwiVC9g<|uBX;fb#yBuaEh8?2bp?+!;q*EaZW;J~Aq`|&z~hnr z*Y2Af)~MY*O4MT7_{fdhDuX#eSk<>16(H7<`CP){6Z8m@j#8eLvZH1|Qe^B)YH z9%_LZqpLTlrsd80#$wqw8?xAajCoMWm zk*geqpG=b|n&Th_3oPdI10Zip)hG;l?9Eu}xH69iSXfXzqGAI`*Eqb?=E&D3eVE@JQOH$h&? znvz^HInByh?hs2J)Mr%V_%x&CEz?Ncew?E zpfaWO5+8`(c>UOa**ZBn+QrKQc)fV_)BKHtrTV8Ci^j&8n>YA_l%C;JLloZEA07S; z2+CU+gOC0cwh$?5ppHheS8(%a*B!6f0BJYTcN=JSKCkSBld`v2*=T~5Ai=pNNU$yn zwvZEowGynm0xhM60X8Hov_uAYZk&K;&noCOD+FYj>hj`f$do>wMN)_fn|LlE&0

    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 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 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 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 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 0000000000..511fc73acb --- /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 ad7119c2aa..badedb02fa 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 5a1828ad75..1617dd7f0a 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 8c536b656a..6ea515bffe 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 e3dbdaf39c..d1fd08eba6 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 ccd7d54741..b307a2d43b 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 2ef582fdfe..f42fdb3973 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 c9c0f84de1..b484d15bf7 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 8dab726492..e5c7162d03 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 09e4fc9b24..61a2737929 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 f258b5b86d..0b3a1cac17 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 46c737b23a..25479b5bff 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 2cbfd17e92..28fca53620 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 9493c8bf77..43c0346bba 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 0de0dbe98a..da1398ab96 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 98b7457aa4..d293413867 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 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 0000000000..af183d04da --- /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 81c056bf3c..67ee117697 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 1617dd7f0a..38a282d3b5 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 badedb02fa..9edd989b04 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 c7c3d1cb1c..0000000000 --- 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 3747929d8b..0000000000 --- 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 eef6425e0f..0000000000 --- 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 5f13b0bf60..0000000000 --- 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 38a282d3b5..e5aa710c7b 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 3747929d8b..0000000000 --- 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 eef6425e0f..0000000000 --- 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 5f13b0bf60..0000000000 --- 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 zV!^sHvdnxzJ{-)lSj5hDS|>qQl4;J&MyR#owYdUh;-SR4!Q$ zaaB;iP?0yft);AoyuedoPbqdt3a1cvjWL1E%I}$1L`30`x}HfRJ6_>dS7V}Tu-q)I z78R&ys|Xd)44#OPxdL)%i6W$;p)D26tW${@f;26_6Wwi7VkS{J%wG{RNy3fa1-twG zQ<2!v>3uk?lV0X!+`Da&9S3sjgk6!j=D;WeoFKi-ewLazj(2KRqm`-FdY;%?LiNl% zO#KvQtp-%q$JnENYK?D;G~psP*$KkUlYHz>zLq!IrZ0ssIuX?zCjOVo6CPMvY)R2O z%h$If{z*Pkhb9~5KkN%eyiOJbYks{JIep3;gru?#L_qtcvVytnicTrBL%n3Hh}cEs zj@8=eBP-}!Lm4{@w%tA!zDkypGF-u-yXk$}b|GuWBP&$-Gdx36z@clles-3&`+z}D zc@@X(YyCSLo@!k1%G6@mWlKdwGKN<*zYLu{%Sr8Y`DKfCyB&)~s>0<54cKJ;-}^&Y zJ~K~>L7F#Op}(6KPvWRAJ~_tzm;V5>S(+Os8BpYIOJfjl?Go6; z3bG1ns%OPjVH1V3J3_*A4g~CzAmH3x$CvPBVEBa5)k%Qj4!vzKyb}Ka&Wpdf2rk#% z8Z$yNkF5_pNqjS6>1;|NDTGnTO9b^OpkyORqRm%C3=u?!lcG~3CW3L(5a#~?b;zcV zZ7PwOSw+NdV4oLg%Q({#hB+za2cbbQV0Jh@Al9&Iv}xp#mpmIc;HzYdbXm{I3J-gx zre|my(V!a_dr=fF_Mt5>4rS7$jZly?3ePy2qaaR+Wt>eBkRrvNL8%GW(g_>H9;T(s zqfRWI0X4UXBnq44URJ9saGb0}m<~eDZIe?o%3xedFgF8qg%U+Ml;Rtrpmz<^IRir> zBUTNTc^V=*#-)w1h}*K8NnzU5I|*g1Q0*$uDYRUG$c+nNiAF8Np(yALq-*=DNT&lA z7R5<>sOk6F?*9N}=)}>d(<|RE25WHImkW_#d!`yEsDys(JajCJS32jivmRY!ny9KF z&TDoEj(fNDaz_-XT0}f&X$VJRp2?{R#@~x>${kHizoO^%7<2iNQNd@4yBs^Ad>0R? z2aS=`Kp8W0i+$4DYF3NM#Hb5kt;5cGQfGs#2XXYWCn#m&Uf1#guZCh&)x5DgETh#6 zv~XE7VU|AmUnq?l@dN2uWKcXq3y!io<}7=E@kNg#jK3z`9^N-9cU?sD}MrWqX4 zMaSt~2+Ge%39ON{n!k{=xV|Ss9p&Ae4v*L(RQ|^^Tcm`!ujK%I^VJ?C?{tpe*eKZj zCOG4YNd=>diPL7pTzEJ1Gq2SiHywwT$o~M{6f*w+Y`7~?qW1dOUg)!> zW2|l0vNmHuvpXrsZ2th1osy)(hkTsIIf3}E5NTnpib%H*w(b6FJfrtIT70^AJEvzk zTZv+{j;4;ijun`DuS+?-%R0tSWH-sJ;)JhfQt*8f4a8u?=%TKJ(J0luTJM-DmuD_; z*yv{IL@45@fZT~7Y#Au%qFPieC~~w>Ig?^jBoxArnbYDoIZ0ghdbKJv>E#lT2E|T` zbH03xS5P!Xak^rHYQ-t?WWzMjzRNSXjp3UVIJ@I;4kbShqPsKY!F?SS7AV;O1g@4m zib+w;%Y~~QGBl^e#Uu^L!2(Ng81wPZ})KMu^A*nzGDlV0sbIq?V<~ zxr)uQTSYl?Co@p6T!h}$1-XmL1(Bgrkel~TLYo01G*;kS6l6?pncyL4d>O4xAS*nP zt}N4pf)J>OW0AEQflY>JRNxNcO_gj1a5p;2_7%7Uj=Gxx1XS2UrCk?7)%<=34xdNA zLVdfUK}A#KR-T3mM(v(M>Ur*%R!O(VNQsGd>dftP@+|)VqO!J#%F}dKDa4>E6+s$R z5`dQFc4ZBd-8>2lmQlx4Mkl4s{!;Oqp<<H-z z6h&4MOIyxI3URAuk3)ZZE61L2u05q zOAE^#*4rOsaFdJR&7Kg74vO#CThzs=D86kp>HLyp!&WDa zHw>DI--`^;?89rxnErq_DJ}C}M`4_y^qkfX&k^``H<+k=%>_fVi1U0{+BPm72~qv~ zHRO2m_rp4DFCW7(acW6V7z?@?23L;a-BPFR{28T=QTz>(g)jlQ>2%}?OQI-{R4lk~ zR*F5GCZd^O|k7IsSp@uFKQ#AiYTq$KrpCQ=fa)+vb#+$|=i>4>m0BS0`k z8EJ)$)=+d<{Vb>)O%ai?O)iR*M(#ADeu(yx%b8HLLXVY70fWw^5UDECASXLj8Vw?@ zdRsxH1@exnkXt}KeCk_Q-yR^DvP!hEs}_m3+{%;W63Ce zEJj$I#A%&8IrpG(ETu+hN^fr|A&EuQ#beT$4aO4cF*qtPIq#~ay`eHFBr@!4r zJxXPrt_&V%9Tr(NNqM&~z zRXF&1bA$Stdna#44^tetGfOXc=EgA0ZhCsbgJL%l{{VwG>K!#hyhdCJ$JB>R-I}f{ zSe;Qh%EtBXdjZsxw>RUnJYp?FPbBj<62u$v&-^tzwQLOUZ`AMPfyqTu@5>C+5^t#& z>vV@AQO;xj7Hw3YiQz}fVof=SXDE~XiYRCB`H1{EYl(dzFpn6y(*7NdG{IKRUNIUQ zex%2b%z6tZ1@%Xxqqui7bq8b6`>2_gh(~1-3L+A%5cShgB!Z0;a1~fN2W5)SQAT)- z(ob%R-zci79R?Xx8Z|3D(-|db+>S;_w&TiWoCubgzNRf3Q{-0v00mnw3)Yz#(5Yg+ zP}Ehi9Wy4Zh)l4^U_GR0Q)47$lo}z(><|(@$Qfu^)j)Mhl!Kx?#%`$-=xkZ+>mEck zNU0%aaS7xE@|NN)f`vf}v?jrTcG$k3uht*}=C6F?f6%8M=) zq3MlN-sqAF%}RHWjYPfXgi{rJLsJXHx?4k2Ep!2%B|=a)6+xs0?o`I44e!w{gpjO~ zAr65V6`^uP30GoTDxoNhs=#P8aVl~HXkHQx#Mlm@t%@Td8V!{$Sa8K=JL+VUm*r1U zHsivg1dhnZID(Q8Tg-|wGUmm{C!2Wfm0MOwTsjzzU|Y;=dL_7TH9MImc&`~fy(MUj z?Nj9C<WQ2A?f(F|sJ2JL67?Bj{wlA$No=vWdev-U$2K?Azksx} z7-tfLYg}LIsjda&f|>?j&UI_m*{{UmU!W;hpx6{5>0W(L?tg_6Mk3XuP^<`Z! zn8h4*lzdlNvr_z4N_4Pk*q?MU&Cln@$uzUr>%_QWXmjF*JW8NioxkvKeK(QA`2{CE zygvMuIBj+CYloZP_bGe8E*z_I3C-_ffylED#F#5<<28^Rm2mTasWS#zm*mr@nogzE zgzz5_%@jr)NtS{$m&~+WkNShM*(mu>v6_u4PS1EA2DZDt~0KL`e}((VhtArrh3+jSm~LK#WKo9WT!TUI%duvii2yE>>7?$nRDsw zIyMmjS=?(j-|lvmgRgA#)nxiEz+ccax2HV zNs>VBXN$$Gfx!W}i%Jscp*b3ap$fBLLb~KUU72ynME?ME*1e}fC~93oTzCjhAVL}z zk=8>+*qo2ls-pK44pl(5TXjI50ZS;mTdJ!nha!ww1ep>qlKLgsTTE79#-l1 zS}{k9W{gX7ri^?0QpoXvbniG89ru+LP#%?~@{{RL&8rfieo?d83 z#`s;9O$bMK(caVMS!22&svF6fyQ6`5;_AfQ^S4gP=RQ*T0VOkC%*_w7H8UQ4EM@MG z4SW=7lKiJ`gwxgW@i`au94gE^Os1_bPr#E0eal7#rH^y+VszqTXE|x~9oQ?{Ipmzk<$E zso#a;<*~Q;ciS{h)vjx|1$8k!*#75N8}+pG`(91H1lVX3;f*p;xMrS(-{IeL7iA+p zX`Jg*_RF+A1x!^D38K}9zTou^9>~N^Z3%Q%QFefhNR$vY9g>V`Y6O=HlB9Y_BMT9S zF>-!6kCM2U4Q^V3)uMGqcqeA{9OfqKvo09sh^ns{cT7^UwwYBGcfVxBDq;_pn(4J- zcMQ^3IyVHj8s!JR_%|srOYT!)pKoStxYIP^tAs+%aJqhJ3&#b|!e}VCoX2jOkS|3M3D0VZQi#rpRC4&(~m?j!9jHrz^OsdBw9kZJvu#zXud#Si$L>k5e zVo*CY!-LG6yV4OPTbmnTeqB}3ab@piLz4$1(%8f!P~`!Ti{wYNR`bkyri)S-Vp|9+ zS#$-3V-PkK4a5*ON)^Ow83aYFcg5}5UO3zP4UA4~xx}95Qnrlc5*+*6s;WVHjAfo> zkh)`|2Yt|cZi8Bhq%Lb^xxd*nVixsNN1FD@AS8OZPu)&{oRon{6XJWLeuNzd_e7oY zC2&+5f4Z=fHatHsG?8CZY@gj_)W@b^*J9kad>SM2~; zS}}H~MqejyN&2iM7aXpckx>)klFt^p*BK_b0m)04@`;AdYrU07eiyndqoZr|aIz&T z5t9sO*`t8dV$iwO7<-!L56q5Eze^-)vSW0zC-!LOYH@mUR_!yXqs8KTgcTvwl|S<2 z*!>-{<)WfTOuWv;*MttLyKZah^`ZOYYCT9{C2^xB| z-7VU5_JU{u?i3yQXuvrDY9fJBKo!M$G)+OKq0? z3Q@-?J~%dEQpbi{z7CkbsQV4-!S(JL}ps&vAE=HjS@8G zYqlut2Bvd>LG5&cq>fO(m!$8xAs~n4COFTu^nvw;Zg~!zvv60;1rVU~Pg3RU@4^ z@+Da8ttnunb9HYna%2&=5(G9z&0*=E(FBkg0ttESsKJsWQE97`vZIWw^{ocYS4ODg z0{Z7GLl!Vbt>su-1}I^4=I&6bIyyR9FxKju7+5>T9S{LCX*UbYqFmxS3{~k38WR(# zc8by$IT_D(sKi-l${7a{xRRtf4Mq~!#DlaTWFli#mn}0vaoxwFrCvjbqi`wYH>s3g z*&EK1sG-~VpzXnE+qf<$J!t{BIHRTxxQqkrfzDn^Gx7Z51_9~nouzjo{1^|i*o91y z=};yA0Kv87+lt}Mo-=BwxqhH5zNe)+e8q~Behhh_nw{o3#h%>{Wu-|=mC#XqbJ^%+ zd@?pxXhFJ;HmJEra<7x5^Bh=PDEWfJRN6RtjC*F#wDkpo*F>XZv|1@=mg@E{%*wxt z%iiQI82D$Q%Z@&t$nc_o(nbVtKd7U~`4ywWlqA>pGGuL=br4w@Iz3}6wDIFd;b7#tB|KCyH39c89D^maSS_}llaO(>ZNv% zXzP&mOx=$!89%2l^DdZoW7JrMC12#pmO;Eya=pIRb+7hH$%=6AmGX&0yv?|9wfIog=>86xs^IE88%Ij^Nm%~?&5ibt^p9|` zYqCl-mrt_}vn0Ns4C;7`5|Mf>a!NuC}TJB4B^T%vH6( zmV(JtU7$ju93lefhFKv|X_twG?+qPQGNkxAY%Yr^Y3!~F%yOS5!qkyUM~Trgf>IQe z1i2y6n2gQ=CB$;bX4J^3L|o=4Yn4rd5tw61n>AxYu`^_r%?N5Xp|Geh3W}n^1dBz& z23a>k5enHTM;E7b^tNxysys8>AmWZ@Sj%@^7|32sdr<&rtQ5F9j}5Z)Pt)gI{ZsdY zIGPjDK`^w;4huYICG@%x$}sT{4>hfHw9dKThIX>qhgEKwd&F?shc`7lw6>%Dld{MA zkex;kS){y%o0z4ey@Lm%i9lKLokD75&O9_$HaIsZ-A2%bHHseLj7pP)$nCKj{ZL_@ zwsSO^k5*Gp_$R|ux$yw+`Fg6>Px^n6TCeHhf9iC0jNNgLK*WCAgtkH|Xeeuc;v&rc zj~uQa_YG0QEaB7OE!1Y#z1TAvMj}HU>4tHfe(mO3aj#$g-TmXh$gSQC_IUNN+)YWI z-#li+{{XpYf2F??ugKS@XFHAJqZh;-R@N3nYev^@0^g^@=;PVj@;d^h$gCU(@;+V| z>TPt%Uv*~1E;h%rdkOI^9vc9o^5x8FxtY74`%1;1Nj$H1?tToJa7s_`95X1EM{mz8P6}o2b9f(C;NXmw29iyB2T(e}x@j5D4oJVh)LZ;%jjYjqKsc;iO6M|v9`%ufovvqECyY# zxU#gxF$(%@;b_N^f^#+WIZ1E}TxVdJxlQbj$a`f8Vc~eX7K&!g6wR^=VkRDP^XNJv zLLUKOjhS^CqTEv#s-@htSRpDhGUN;zsx`(yq%7g)>a7DPioD$!X%(`AQR^sED0JBn z45ihBW!hB*WzVt@ja(*+HKlOX1Le?+xel6^J{uOSaHL_DPC`A&$h9DO)r_zc9Tf$* z%&B?07eQ}kY^1oQNrauAjfoOwoN?f85oMli*$9m>DUCxhp)4vQ6(vz9km7}wP1R6G zu27alfVvm7bqc(P6P=U@*mI3S-5y8Dt+vG7Gp);_bs1h?gSx|M;*N?w8!~5TbFI|b za&t|&zpxB37D^P*w8@bbHNnqU(lFHVBju9!8GEhR=JwO%*`(7>x8Ge57|`Bha;MpJ2vi4{2FOdMmM6nGshn!Isv%R zT98ixKpw~HhzKVc^WcX$w-^1@A~zoVn;0%9J{?jxeDO(O`1`E+u`H2y+8r!=;&(iF zn8wK?giLp&yG?s8I*Yno(T2PYHTqxnPFxdcR=oE{m@Wq!R6NU0UC}}9I#cAWGz1QP z3Mn#_jVgAm^BcHzj!G)YB@i}CR0WqU4sD7kv2rtOXv2Y8VUPo!o`{JJmX$D%MTWWH z+#*>8$!QGnPc(%gn5XHON<+``%<`cjhe4}?mH@|32{ zP!7bVXhGPP#vz6|QFI%1RuM<5vJ?*1#ZdyZT?=F{kfGdJb~f9ESLBv+nDcT@M%UB@ zyG_auB)_LZcx^wLtBMYi9n-Qsv2Wncne-;cBWqYTXan|KM(wxqU4xRtRcIDu*1EmY 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 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 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 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 S+L_I2E4$8i)g9Cmj{h4ZKZ&~l diff --git a/view/theme/diabook/theme.php b/view/theme/diabook/theme.php index 1617dd7f0a..5d3c2906de 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 521b1859e9..2d3e4fd56e 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 011006b764..2663bdebaa 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 44d1473a99..183f2bc68d 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 ace358faa7..8f0e8345fc 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 bc159137df..1043d6daf6 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 204fcf2475..2958397c92 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 cd98a4daab..d8aa8b1818 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 001bf12af4..38ca570ddf 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 caa0572d20..605a3eb78e 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 4b2ca316ba..a420e9923a 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 2663bdebaa..c44b4d1789 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 0000000000..a9e2135361 --- /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 7e7a958419..4f58fc4fbc 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 0000000000..54fba7435f --- /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 d6b172b6af..88df73494f 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 acd97eb941..10ddb00909 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 51e36b6f4f..2c88fc598e 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 37f92e8d9d..65f692f3d5 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 0000000000..82bceeac8f --- /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 0000000000..ceec4dd976 --- /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 a420e9923a..117127a287 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 52068efc76..cc71f9757c 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 0000000000..66b684dc96 --- /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 10ddb00909..b79b00ef41 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 2c88fc598e..6cb018b7bc 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 211906c934..c37bcb4a28 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 05a00d93c4..10f8cc667d 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 4582751c60..f1209ec58f 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 0c289d982b..5cb567f5af 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 7a57628b94..c590042f11 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 a7aec1c1a4..6f82430587 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 4f58fc4fbc..e9f3913ff4 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 f42fdb3973..15fd0c352e 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 0ff7f6a7c8..e4336b974c 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 ee2daced10..bde2db7d09 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 bde2db7d09..9051923be0 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 0000000000..595684bf51 --- /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 93307153fa..5143140497 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 e5aa710c7b..75abb2fdf1 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 15fd0c352e..f694b5840f 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 22a4e39be5..c4cfbe5bf8 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 5349fa3d83..4cbbb16240 100755 --- a/view/login.tpl +++ b/view/login.tpl @@ -1,5 +1,5 @@ - +
    diff --git a/view/logout.tpl b/view/logout.tpl index 6a84a5bbcf..efc971df84 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 c4cfbe5bf8..04f36093bf 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 4acb5c9bb5..c2d37dac7e 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 595684bf51..01da55ce1c 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 5143140497..bdc79a350d 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 75abb2fdf1..9093ac2ca2 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 595684bf51..01da55ce1c 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 df692cbc65..437f323faa 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 9b3ed30b06..9093ac2ca2 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 43dcdbb841..4c8f59d796 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 b013cfeef4..c67a88635c 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 86453fad21..f251d7352b 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 75297290cd..cbfcb09e67 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 c37bcb4a28..211906c934 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 0dafecc71f..69ccf41b71 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 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 6228e4f282..350a6ce4a9 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 2dc21817a2..6ab0c7921a 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 04f36093bf..86da3cd2eb 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 35c257f021..5f69a1d008 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 4b1523ff65..68acb45f9b 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 0bc3ea7df5..2f4fb70452 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 3dbdc5b328..71860ac3b1 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 c29394b480..6a685a6ff0 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 zcmV;@0xkWCP)Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyY? z05l_~+}S<=00L4;L_t(I%k7liYm!kM$A9P1`8M4|%%*E|>72nvF4lRY zSLsNG5JJRX>$k*MI!~_Lo5`2+Nh?8}!){rlN@nk9){kq5(XLKYpk$idq*Ib?#+fqF`eavL(Ftk`~D97Z%?a$itMDybLT-deE;h^vC=^vH) zDGPoRzou&cl2IE~Qy`Hmp~wp`zhnxIPSZCad~xHi9*CxY)aX3W`ttncz9TECb&^SM zgAA#`ByU3Qv1!kGEIgE*y_&8DE-CN+8TqTuqrJyyWh;pnbincklw!2N@KQLw_nUPP zJ?VM-G4!|^xa7L^w`?6^={eX8GpLRNq>uw>4S*7{B-)el!U=2cU@cLUWX#p?JG`~V zIs!rOaGgTYO#vkpFc$d&vm7%scW`IhCxF@AU-p02Pg$c1kPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyY? z05%0j=RQFI00J0EL_t(I%k7lSYEw}Zh1a<`r+>M&iCi0~MWl6*f?x~?9Y}qFj>PwH z;>DJa(Yt)k)4GM+APPJNH3ByoyyIn4& z%tiAzgVR38(#k3(rt-y3r}Kn!zAA($CrR?4(P+FJ_3+Wad;iEe=i@kLmHSnA??J}k zq*K7&-X6j*#QOSr)M~Y$l=9o#+Yc|R;y1C@8Zt}S)Qx4l*fr=%zyVmEE1|r>xU< zSXfxV+1VM0h*@hd?Kl_>thHe9_u>C zF$P(dLQNV3ECM1((8ajCd{-0{WvfJMBF#O1-^{j6@YkMDLtL?9wK=Ric>TFb@~4~N734+jSo z!JD|Xcz|o(fi$tB)35l_I!38fLcLx`9LJDSGOhLbSO>DUwsyPU?^p8qykm?pB7*lG y)>;seS4u%C1?vaxAJsMh0000Px#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyY? z06Pi${|qMp00Lu4L_t(I%k7j+NK{c6hM#lpotaWcr(w#nva~`=t3_1MVj{7GXweVR zE@~4*yEf4eL9J@hDj{g2)T*c!6)h6d1d))+NT|@%Xe_m`P@A87?>S!!i^7Cv(796lf-rN7=N5Yd6PgQKHzvwGR)b61Y2AaC%N z)2*?F^$Yq>?5U1Udg1~gU_~&-;yMn^Z9RnF_q5lCnl72(-LrK^`%=?6?jMG$wS{>j z6EHk3puk$eHhvR1b(%Y$KbxM*54R zdY?bWY(xiXJyYU8!NC+*DaF{pGvw`c#8|v^JJysi z+L7W@`7xxT4kd!|4S7`&SRt^2a$u0^8?o^W;Aj2( zz}6ESE8KVouU?EuvZGlotx3|=*21IOGYo#H!h7$_&dQL&x8yQ;CicAmFK38_V01x) zI^Q|Y%H>O#sBdCUyoS|Q$QV%tVTJD*yiA^nvy%ZffMluI6~|9%D-c)+Yl!Hn9gn!0 z%6XWl4;4AjNM7KgxlX$4_1NXZXWMrfu?v6y_CEPx#24YJ`L;(K){{a7>y{D4^000SaNLh0L01FcU01FcV0GgZ_00007bV*G`2iyY? z0RST%G(i3U00KryL_t(I%k7j&Pg7AChTqfP&b_VWQaW&ZduxHvMudQdMnPRTB$7y6 zkl=<5ae>Ai{ts3fCF;T+J`+vnV zHET+(3o5;Z=xnEu*%srkKbaEMI#nmW5^!|{n!L{;K`4=OZen32Em}3$Fq=T6A|_Us z$nBaf_OBdY?Q%O>J)S2jM&mOY^|ZKC($t!C=4FRKKj+JsDo_aLj~k#aoXPRZck97e zRMy1JmXgQi6&pQX0isY#LZJxO!Vx6vlSFSbU|ZV7YJQR0Yk2ptBmH;?vp!jl->e*3 z<*aO|;fN2MQ$Xv90JtU_iVOovmCz9_l?o*ijwW!9Q#Z?Y{3><>{FjjA=7QKVT7dEn zUQQM1&+I1Q>Jp$7B$dsU6hG`^dB1slF9xYN3B0g$G#Ks;UF*Ia&rKr{O#zez@9e_E z`@xShW9lBDeSN=8s(8GSKFx#HlbwAT-h(BHr&)C)NtE5#+$Hpwqu@F#-nuXzoV>Fi zxWe&8e!1U}{)UB64kQmSdBC6r-N= + + $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 0000000000..98ac9c4576 --- /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 511fc73acb..902c2a0ed3 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 01da55ce1c..a65677696a 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 bdc79a350d..738dde0e5d 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 9093ac2ca2..f9128ea1fd 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 b7568631ff..437f323faa 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 321bbbe9ea..ebe40fd4ea 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 05ed4cc82c..e02e5a8bec 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 10ddb00909..b79b00ef41 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 2c88fc598e..e2db70a14a 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 211906c934..420c0e08b9 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 5f9531a7eb..28ac3dd802 100755 --- a/.htaccess +++ b/.htaccess @@ -1,4 +1,4 @@ -#Options -Indexes +Options -Indexes AddType application/x-java-archive .jar AddType audio/ogg .oga 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 6ab0c7921a..d1ec4efd73 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 b284ffb0e3..22e35dec81 --- 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 dca857a198..19bba52168 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 68acb45f9b..5e1fec5578 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 d34fd7fbee..cdf82ca87d 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 d0f1733f46..9ec8c23b59 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 98cfb43385..07b4bfef76 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 d1ec4efd73..b4aefbbf23 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 c0611ce83d..0134b1f91b 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 fbf354b475..04968bd07d 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 516d70d5b4..10ecec2e85 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 67d8cebdeb..a5f5aff532 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 55e313776d..0907abd77f 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 b5c78345a3..1f8650bfe3 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 4b904cbcd6..2ce07ce6fd 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 1f8650bfe3..b1fcefd247 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 b1fcefd247..098333893f 100755 --- a/view/msg-header.tpl +++ b/view/msg-header.tpl @@ -37,7 +37,7 @@ if(plaintext != 'none') { textarea.attr('tabindex', null); } }); - }, + } }); } 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 0134b1f91b..b57971db96 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 ac97948a38..9f0fcba828 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 86da3cd2eb..322340e5d7 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 19bba52168..1b5af42cd9 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 88ecf502b2..8ca484c9e7 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 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 f694b5840f..3a8ad29d28 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 2d3e4fd56e..3598e34f27 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 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 f428149e83..81ed174acc 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 3598e34f27..2d3e4fd56e 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 9f0fcba828..26e07b1f76 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 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 2c467c3c26..2651ea1f89 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 5dbcabadf7..732caf6900 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 f1209ec58f..732caf6900 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 b57971db96..7001361739 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 322340e5d7..836900fc4a 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 07b4bfef76..fe570075f2 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 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 7f7b0b55bd..93bf391c5f 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 88ccad6d3e..a64b269035 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 836900fc4a..b0a6311703 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 d312b50f5a..7e92705be2 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 b0a6311703..b3c79079a6 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 c72919dd8b..22157ff188 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 93bf391c5f..4c317efe1f 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 cdf82ca87d..89acbf9fab 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 183f2bc68d..e5f716b297 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(/