From 147d7f3bbf6c785f2c1eb7cdcfaa0a47e0ee43d3 Mon Sep 17 00:00:00 2001 From: Friendika Date: Sun, 6 Feb 2011 15:50:50 -0800 Subject: [PATCH] theme name cleanup - rename default to loozah, provide sane fallbacks and change system primary theme. Provide indication on contact edit page of last update success/failure - can be extended later to show actual timestamp of last successful update. --- boot.php | 32 +++++++++++++++++++- database.sql | 1 + htconfig.php | 4 +++ include/poller.php | 16 ++++++++-- index.php | 13 +------- mod/contacts.php | 11 +++++-- update.php | 7 +++++ view/de/htconfig.tpl | 10 ++++++ view/en/htconfig.tpl | 4 +++ view/fr/htconfig.tpl | 9 ++++++ view/it/htconfig.tpl | 9 ++++++ view/theme/clean/style.css | 2 +- view/theme/darkness/style.css | 2 +- view/theme/default/dfrn.gif | Bin 109 -> 0 bytes view/theme/default/friendika16.gif | Bin 1071 -> 0 bytes view/theme/duepuntozero/style.css | 3 +- view/theme/goldenrod/style.css | 2 +- view/theme/{default => loozah}/ff-16.jpg | Bin view/theme/{default => loozah}/lock.cur | Bin view/theme/{default => loozah}/login-bg.gif | Bin view/theme/{default => loozah}/style.css | 4 ++- view/theme/shady/style.css | 2 +- view/theme/three-d/style.css | 2 +- 23 files changed, 107 insertions(+), 26 deletions(-) delete mode 100644 view/theme/default/dfrn.gif delete mode 100644 view/theme/default/friendika16.gif rename view/theme/{default => loozah}/ff-16.jpg (100%) rename view/theme/{default => loozah}/lock.cur (100%) rename view/theme/{default => loozah}/login-bg.gif (100%) rename view/theme/{default => loozah}/style.css (99%) diff --git a/boot.php b/boot.php index 4fc35be9bb..ae6d534d61 100644 --- a/boot.php +++ b/boot.php @@ -2,7 +2,7 @@ set_time_limit(0); -define ( 'BUILD_ID', 1035 ); +define ( 'BUILD_ID', 1036 ); define ( 'FRIENDIKA_VERSION', '2.10.0905' ); define ( 'DFRN_PROTOCOL_VERSION', '2.1' ); @@ -2275,3 +2275,33 @@ function proc_run($cmd){ proc_close(proc_open($cmdline." &",array(),$foo)); }} +/* + * Return full URL to theme which is currently in effect. + * Provide a sane default if nothing is chosen or the specified theme does not exist. + */ + +if(! function_exists('current_theme_url')) { +function current_theme_url() { + + $app_base_themes = array('duepuntozero', 'loozah'); + + $a = get_app(); + + $system_theme = ((isset($a->config['system']['theme'])) ? $a->config['system']['theme'] : ''); + $theme_name = ((x($_SESSION,'theme')) ? $_SESSION['theme'] : $system_theme); + + if($theme_name && file_exists('view/theme/' . $theme_name . '/style.css')) + return($a->get_baseurl() . '/view/theme/' . $theme_name . '/style.css'); + + foreach($app_base_themes as $t) { + if(file_exists('view/theme/' . $t . '/style.css')) + return($a->get_baseurl() . '/view/theme/' . $t . '/style.css'); + } + + $fallback = glob('view/theme/*/style.css'); + if(count($fallback)) + return($a->get_baseurl() . $fallback[0]); + + +}} + diff --git a/database.sql b/database.sql index 817fd09226..83e0e4b6f4 100644 --- a/database.sql +++ b/database.sql @@ -77,6 +77,7 @@ CREATE TABLE IF NOT EXISTS `contact` ( `subhub` tinyint(1) NOT NULL DEFAULT '0', `hub-verify` char(255) NOT NULL, `last-update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', + `success_update` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `name-date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `uri-date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', `avatar-date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00', diff --git a/htconfig.php b/htconfig.php index 5f5c76cbd7..fb62245d21 100644 --- a/htconfig.php +++ b/htconfig.php @@ -64,6 +64,10 @@ $a->config['system']['huburl'] = 'http://pubsubhubbub.appspot.com'; $a->config['system']['rino_encrypt'] = true; +// default system theme + +$a->config['system']['theme'] = 'duepuntozero'; + // Addons or plugins are configured here. // This is a comma seperated list of addons to enable. Example: diff --git a/include/poller.php b/include/poller.php index 20c84990e0..1d88fe447f 100644 --- a/include/poller.php +++ b/include/poller.php @@ -239,6 +239,7 @@ function poller_run($argv, $argc){ $xml = post_url($contact['poll'],$postvars); } else { + // $contact['network'] !== 'dfrn' $xml = fetch_url($contact['poll']); @@ -246,8 +247,14 @@ function poller_run($argv, $argc){ logger('poller: received xml : ' . $xml, LOGGER_DATA); - if(! strlen($xml)) + if(! strstr($xml,'module != 'install') require_once('nav.php'); /** - * * Build the page - now that we have all the components - * Make sure the desired theme exists, though if the default theme doesn't exist we're stuffed. - * */ -$default_theme = ((isset($a->config['system']['theme'])) ? $a->config['system']['theme'] : 'default'); -if((x($_SESSION,'theme')) && (! file_exists('view/theme/' . $_SESSION['theme'] . '/style.css'))) - unset($_SESSION['theme']); - -$a->page['htmlhead'] = replace_macros($a->page['htmlhead'], array( - '$stylesheet' => $a->get_baseurl() . '/view/theme/' - . ((x($_SESSION,'theme')) ? $_SESSION['theme'] : $default_theme) - . '/style.css' - )); +$a->page['htmlhead'] = replace_macros($a->page['htmlhead'], array('$stylesheet' => current_theme_url())); $page = $a->page; $profile = $a->profile; diff --git a/mod/contacts.php b/mod/contacts.php index 61d9ce3986..36f42f8e59 100644 --- a/mod/contacts.php +++ b/mod/contacts.php @@ -245,6 +245,13 @@ function contacts_content(&$a) { $sparkle = ''; } + $last_update = (($r[0]['last-update'] == '0000-00-00 00:00:00') + ? t('Never') + : datetime_convert('UTC',date_default_timezone_get(),$r[0]['last-update'],'D, j M Y, g:i A')); + + if($r[0]['last-update'] !== '0000-00-00 00:00:00') + $last_update .= ' ' . (($r[0]['last-update'] == $r[0]['success_update']) ? t("\x28Update was successful\x29") : t("\x28Update was not successful\x29")); + $o .= replace_macros($tpl,array( '$header' => t('Contact Editor'), '$visit' => t('Visit $name\'s profile'), @@ -254,9 +261,7 @@ function contacts_content(&$a) { '$poll_interval' => contact_poll_interval($r[0]['priority']), '$lastupdtext' => t('Last updated: '), '$updpub' => t('Update public posts: '), - '$last_update' => (($r[0]['last-update'] == '0000-00-00 00:00:00') - ? t('Never') - : datetime_convert('UTC',date_default_timezone_get(),$r[0]['last-update'],'D, j M Y, g:i A')), + '$last_update' => $last_update, '$udnow' => t('Update now'), '$profile_select' => contact_profile_assign($r[0]['profile-id'],(($r[0]['network'] !== 'dfrn') ? true : false)), '$contact_id' => $r[0]['id'], diff --git a/update.php b/update.php index f909837470..2ca008cdad 100644 --- a/update.php +++ b/update.php @@ -342,3 +342,10 @@ function update_1034() { q("DELETE FROM `item` WHERE `parent` = 0 AND `created` < UTC_TIMESTAMP() - INTERVAL 2 MINUTE"); } + + +function update_1035() { + + q("ALTER TABLE `contact` ADD `success_update` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' AFTER `last-update` "); + +} \ No newline at end of file diff --git a/view/de/htconfig.tpl b/view/de/htconfig.tpl index c7c19bf69e..d3bb6b411e 100644 --- a/view/de/htconfig.tpl +++ b/view/de/htconfig.tpl @@ -62,3 +62,13 @@ $a->config['system']['huburl'] = 'http://pubsubhubbub.appspot.com'; $a->config['system']['rino_encrypt'] = true; +// default system theme + +$a->config['system']['theme'] = 'duepuntozero'; + +// Addons or plugins are configured here. +// This is a comma seperated list of addons to enable. Example: +// $a->config['system']['addon'] = 'js_upload,randplace,oembed'; + +$a->config['system']['addon'] = 'js_upload'; + diff --git a/view/en/htconfig.tpl b/view/en/htconfig.tpl index 0182dbe5c0..d3bb6b411e 100644 --- a/view/en/htconfig.tpl +++ b/view/en/htconfig.tpl @@ -62,6 +62,10 @@ $a->config['system']['huburl'] = 'http://pubsubhubbub.appspot.com'; $a->config['system']['rino_encrypt'] = true; +// default system theme + +$a->config['system']['theme'] = 'duepuntozero'; + // Addons or plugins are configured here. // This is a comma seperated list of addons to enable. Example: // $a->config['system']['addon'] = 'js_upload,randplace,oembed'; diff --git a/view/fr/htconfig.tpl b/view/fr/htconfig.tpl index c7c19bf69e..d31d5a39ff 100644 --- a/view/fr/htconfig.tpl +++ b/view/fr/htconfig.tpl @@ -62,3 +62,12 @@ $a->config['system']['huburl'] = 'http://pubsubhubbub.appspot.com'; $a->config['system']['rino_encrypt'] = true; +// default system theme + +$a->config['system']['theme'] = 'duepuntozero'; + +// Addons or plugins are configured here. +// This is a comma seperated list of addons to enable. Example: +// $a->config['system']['addon'] = 'js_upload,randplace,oembed'; + +$a->config['system']['addon'] = 'js_upload'; diff --git a/view/it/htconfig.tpl b/view/it/htconfig.tpl index 78e014cc17..180f7885cc 100644 --- a/view/it/htconfig.tpl +++ b/view/it/htconfig.tpl @@ -62,3 +62,12 @@ $a->config['system']['huburl'] = 'http://pubsubhubbub.appspot.com'; $a->config['system']['rino_encrypt'] = true; +// default system theme + +$a->config['system']['theme'] = 'duepuntozero'; + +// Addons or plugins are configured here. +// This is a comma seperated list of addons to enable. Example: +// $a->config['system']['addon'] = 'js_upload,randplace,oembed'; + +$a->config['system']['addon'] = 'js_upload'; diff --git a/view/theme/clean/style.css b/view/theme/clean/style.css index ea8f54ddf3..4730b5c2fd 100644 --- a/view/theme/clean/style.css +++ b/view/theme/clean/style.css @@ -1,4 +1,4 @@ -@import url('../default/style.css'); +@import url('../loozah/style.css'); footer { background: #CCC; diff --git a/view/theme/darkness/style.css b/view/theme/darkness/style.css index 3aff559d3e..828fdd1040 100644 --- a/view/theme/darkness/style.css +++ b/view/theme/darkness/style.css @@ -1,4 +1,4 @@ -@import url('../default/style.css'); +@import url('../loozah/style.css'); nav { background: #CCC; diff --git a/view/theme/default/dfrn.gif b/view/theme/default/dfrn.gif deleted file mode 100644 index 104f42e51c65b05e9b12b9c48a3e892e0da30a8f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 109 zcmZ?wbhEHb6l4%&Sjfb{!0`V+2!nv)PZmZl1||j_peRsQkb!~8t|!0g^upejIl@*A zAEULZ-?%VEFgA$HJf4R$1ozRmIh3 z3#w{9R44}bMHya>?URTf5X7Gf@K7Xth6+doI1!YDh!Y1C4xI>K5Wu24mlFZIw}|ou z)&SHRtZ;2wI4bGbzK#Xq6o%U&}%+C*%F8Y5KB?x|-Un>FExwmJA#T#3nTA z5ix8m#XIukZ52T?L6}Jejqz}G7w*J_qy%-Lhzkll2;%08A|3?wAQ*>227??1T@d3i zlp%Z^K4QjOX%vN8!lJ0C%x+}g>^>j#r{w_k5* zYHaRm>gnxn9%||}^bR&O+#db5yL;p2O?qV1K0Z!&%=I-&H0?`N+JZw!xdWA~ez z%=!!SE&9hD?bF{+-TPsBYI@daGX8A7zqqux^v7>AGn9!nS}e<(e?M7SrLAkU#ll*x z%-S0J7q@PIWU<+wZEss_HrtlnW_N5kC_71#6d#(RoD@ydB*{@UNAZWDoQ%`S(hTcl zI48?849Bn>!*MLf$HlqaF1OodMFSj);6)g|0F(eezvM zog}uw8y-LT3l}5PT6dRpQpJY5rw!RUgY-~iYskS%2{nsJ%L9IUo-^C(U&ZToYuaN5 z%e^x660w0u&0RhRWv4EvOuC{4Oz7n8K6NzGeCd@hGq$`}toq?< N$B=gYV6YTu{sA)P