diff options
author | friendica <info@friendica.com> | 2013-01-06 19:25:01 -0800 |
---|---|---|
committer | friendica <info@friendica.com> | 2013-01-06 19:25:01 -0800 |
commit | 3fc6df1000ea064e8f5ee6e066a79460d90b25cb (patch) | |
tree | bca9be1c79ae23bc3bde2c31e4254be5a991a30c | |
parent | a9aa74a8074fd2eec58dd5927313fcef4fd5d930 (diff) | |
parent | c94c500cdcfdc94427d7f7e2509e9af9ee0d78ae (diff) | |
download | volse-hubzilla-3fc6df1000ea064e8f5ee6e066a79460d90b25cb.tar.gz volse-hubzilla-3fc6df1000ea064e8f5ee6e066a79460d90b25cb.tar.bz2 volse-hubzilla-3fc6df1000ea064e8f5ee6e066a79460d90b25cb.zip |
Merge pull request #13 from fermionic/20130105-smarty3
implement smarty3
245 files changed, 6821 insertions, 287 deletions
@@ -488,17 +488,36 @@ if(! class_exists('App')) { // Allow themes to control internal parameters // by changing App values in theme.php - // - // Possibly should make these part of the plugin - // system, but it seems like overkill to invoke - // all the plugin machinery just to change a couple - // of values + public $sourcename = ''; public $videowidth = 425; public $videoheight = 350; public $force_max_items = 0; public $theme_thread_allow = true; + // An array for all theme-controllable parameters + // Mostly unimplemented yet. Only options 'template_engine' and + // beyond are used. + + private $theme = array( + 'sourcename' => '', + 'videowidth' => 425, + 'videoheight' => 350, + 'force_max_items' => 0, + 'thread_allow' => true, + 'stylesheet' => '', + 'template_engine' => 'internal', + ); + + private $ldelim = array( + 'internal' => '', + 'smarty3' => '{{' + ); + private $rdelim = array( + 'internal' => '', + 'smarty3' => '}}' + ); + private $scheme; private $hostname; private $baseurl; @@ -753,9 +772,29 @@ if(! class_exists('App')) { } - function init_pagehead() { - $this->page['title'] = $this->config['sitename']; - $this->page['htmlhead'] = get_markup_template('head.tpl'); + function build_pagehead() { + + $interval = ((local_user()) ? get_pconfig(local_user(),'system','update_interval') : 40000); + if($interval < 10000) + $interval = 40000; + + $this->page['title'] = $this->config['system']['sitename']; + + + /* put the head template at the beginning of page['htmlhead'] + * since the code added by the modules frequently depends on it + * being first + */ + $tpl = get_markup_template('head.tpl'); + $this->page['htmlhead'] = replace_macros($tpl, array( + '$baseurl' => $this->get_baseurl(), + '$local_user' => local_user(), + '$generator' => FRIENDICA_PLATFORM . ' ' . FRIENDICA_VERSION, + '$update_interval' => $interval, + '$head_css' => head_get_css(), + '$head_js' => head_get_js(), + '$js_strings' => js_strings() + )) . $this->page['htmlhead']; } function set_curl_code($code) { @@ -797,6 +836,32 @@ if(! class_exists('App')) { return $this->cached_profile_image[$avatar_image]; } + function get_template_engine() { + return $this->theme['template_engine']; + } + + function set_template_engine($engine = 'internal') { + + $this->theme['template_engine'] = 'internal'; + + switch($engine) { + case 'smarty3': + if(is_writable('view/tpl/smarty3/')) + $this->theme['template_engine'] = 'smarty3'; + break; + default: + break; + } + } + + function get_template_ldelim($engine = 'internal') { + return $this->ldelim[$engine]; + } + + function get_template_rdelim($engine = 'internal') { + return $this->rdelim[$engine]; + } + } } @@ -1264,20 +1329,26 @@ function profile_load(&$a, $nickname, $profile = 0) { $_SESSION['theme'] = $a->profile['channel_theme']; - /** - * load/reload current theme info - */ - - $theme_info_file = "view/theme/".current_theme()."/php/theme.php"; - if (file_exists($theme_info_file)){ - require_once($theme_info_file); - } + /** + * load/reload current theme info + */ - $block = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false); + $a->set_template_engine(); // reset the template engine to the default in case the user's theme doesn't specify one - $a->set_widget('profile',profile_sidebar($a->profile, $block)); - return; + $theme_info_file = "view/theme/".current_theme()."/php/theme.php"; + if (file_exists($theme_info_file)){ + require_once($theme_info_file); } + + return; +}} + +function profile_aside(&$a) { + + $block = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false); + + $a->set_widget('profile',profile_sidebar($a->profile, $block)); + return; } @@ -1969,23 +2040,7 @@ function construct_page(&$a) { head_add_js('mod_' . $a->module . '.js'); - - $interval = ((local_user()) ? get_pconfig(local_user(),'system','update_interval') : 40000); - if($interval < 10000) - $interval = 40000; - - $a->page['title'] = $a->config['system']['sitename']; - - - $a->page['htmlhead'] = replace_macros($a->page['htmlhead'], array( - '$baseurl' => $a->get_baseurl(), - '$local_user' => local_user(), - '$generator' => FRIENDICA_PLATFORM . ' ' . FRIENDICA_VERSION, - '$update_interval' => $interval, - '$head_css' => head_get_css(), - '$head_js' => head_get_js(), - '$js_strings' => js_strings() - )); + $a->build_pagehead(); $arr = $a->get_widgets(); if(count($arr)) { @@ -2022,4 +2077,4 @@ function construct_page(&$a) { ); return; -}
\ No newline at end of file +} diff --git a/include/ItemObject.php b/include/ItemObject.php index 8091f003b..6f9eaa18e 100644 --- a/include/ItemObject.php +++ b/include/ItemObject.php @@ -204,13 +204,28 @@ class Item extends BaseObject { $body = prepare_body($item,true); + if($a->get_template_engine() === 'internal') { + $body_e = template_escape($body); + $name_e = template_escape($profile_name); + $title_e = template_escape($item['title']); + $location_e = template_escape($location); + $owner_name_e = template_escape($this->get_owner_name()); + } + else { + $body_e = $body; + $name_e = $profile_name; + $title_e = $item['title']; + $location_e = $location; + $owner_name_e = $this->get_owner_name(); + } + $tmp_item = array( 'template' => $this->get_template(), 'type' => implode("",array_slice(explode("/",$item['verb']),-1)), 'tags' => $tags, - 'body' => $body, - 'text' => strip_tags(template_escape($body)), + 'body' => $body_e, + 'text' => strip_tags($body_e), 'id' => $this->get_id(), 'linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])), 'olinktitle' => sprintf( t('View %s\'s profile @ %s'), $this->get_owner_name(), ((strlen($item['owner-link'])) ? $item['owner-link'] : $item['url'])), @@ -219,19 +234,19 @@ class Item extends BaseObject { 'vwall' => t('via Wall-To-Wall:'), 'profile_url' => $profile_link, 'item_photo_menu' => item_photo_menu($item), - 'name' => template_escape($profile_name), + 'name' => $name_e, 'thumb' => $profile_avatar, 'osparkle' => $osparkle, 'sparkle' => $sparkle, - 'title' => template_escape($item['title']), + 'title' => $title_e, 'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'r'), 'ago' => (($item['app']) ? sprintf( t('%s from %s'),relative_date($item['created']),$item['app']) : relative_date($item['created'])), 'lock' => $lock, - 'location' => template_escape($location), + 'location' => $location_e, 'indent' => $indent, 'owner_url' => $this->get_owner_url(), 'owner_photo' => $this->get_owner_photo(), - 'owner_name' => template_escape($this->get_owner_name()), + 'owner_name' => $owner_name_e, // Item toolbar buttons 'like' => $like, diff --git a/include/conversation.php b/include/conversation.php index ba92c1a57..56bcef559 100644 --- a/include/conversation.php +++ b/include/conversation.php @@ -344,7 +344,6 @@ function visible_activity($item) { return true; } - /** * "Render" a conversation or list of items for HTML display. * There are two major forms of display: @@ -886,7 +885,7 @@ function status_editor($a,$x,$popup=false) { $o = ''; - $geotag = (($x['allow_location']) ? get_markup_template('jot_geotag.tpl') : ''); + $geotag = (($x['allow_location']) ? replace_macros(get_markup_template('jot_geotag.tpl'), array()) : ''); $plaintext = true; if(feature_enabled(local_user(),'richtext')) diff --git a/include/features.php b/include/features.php index 738de429f..e4781518b 100644 --- a/include/features.php +++ b/include/features.php @@ -58,4 +58,4 @@ function get_features() { call_hooks('get_features',$arr); return $arr; -}
\ No newline at end of file +} diff --git a/include/friendica_smarty.php b/include/friendica_smarty.php new file mode 100644 index 000000000..2f4694c58 --- /dev/null +++ b/include/friendica_smarty.php @@ -0,0 +1,43 @@ +<?php + +require_once("library/Smarty/libs/Smarty.class.php"); + +class FriendicaSmarty extends Smarty { + + public $filename; + + function __construct() { + parent::__construct(); + + $a = get_app(); + $theme = current_theme(); + + // setTemplateDir can be set to an array, which Smarty will parse in order. + // The order is thus very important here + $template_dirs = array('theme' => "view/theme/$theme/tpl/smarty3/"); + if( x($a->theme_info,"extends") ) + $template_dirs = $template_dirs + array('extends' => "view/theme/".$a->theme_info["extends"]."/tpl/smarty3/"); + $template_dirs = $template_dirs + array('base' => 'view/tpl/smarty3/'); + $this->setTemplateDir($template_dirs); + + $this->setCompileDir('view/tpl/smarty3/compiled/'); + $this->setConfigDir('view/tpl/smarty3/config/'); + $this->setCacheDir('view/tpl/smarty3/cache/'); + + $this->left_delimiter = $a->get_template_ldelim('smarty3'); + $this->right_delimiter = $a->get_template_rdelim('smarty3'); + + // Don't report errors so verbosely + $this->error_reporting = E_ALL & ~E_NOTICE; + } + + function parsed($template = '') { + if($template) { + return $this->fetch('string:' . $template); + } + return $this->fetch('file:' . $this->filename); + } +} + + + diff --git a/include/plugin.php b/include/plugin.php index 6a35a6187..0395c1a8e 100644 --- a/include/plugin.php +++ b/include/plugin.php @@ -1,5 +1,6 @@ <?php +require_once("include/friendica_smarty.php"); // install and uninstall plugin if (! function_exists('uninstall_plugin')){ @@ -465,37 +466,40 @@ function format_js_if_exists($source) { } -function theme_include($file) { +function theme_include($file, $root = '') { - global $t; // use builtin template processor + $a = get_app(); - $paths = array( - 'view/theme/$theme/$ext/$file', - 'view/theme/$theme/$file', - 'view/theme/$parent/$ext/$file', - 'view/theme/$parent/$file', - 'view/$ext/$file', - 'view/$file' - ); + // Make sure $root ends with a slash / if it's not blank + if($root !== '' && $root[strlen($root)-1] !== '/') + $root = $root . '/'; - $theme_info = get_app()->theme_info; + $theme_info = $a->theme_info; if(array_key_exists('extends',$theme_info)) $parent = $theme_info['extends']; else $parent = 'NOPATH'; + $theme = current_theme(); + + $ext = substr($file,strrpos($file,'.')+1); + + $paths = array( + "{$root}view/theme/$theme/$ext/$file", + "{$root}view/theme/$theme/$file", + "{$root}view/theme/$parent/$ext/$file", + "{$root}view/theme/$parent/$file", + "{$root}view/$ext/$file", + "{$root}view/$file" + ); + foreach($paths as $p) { - $f = $t->replace($p,array( - '$theme' => current_theme(), - '$ext' => substr($file,strrpos($file,'.')+1), - '$parent' => $parent, - '$file' => $file - )); - if(strstr($f,'NOPATH')) + // strpos() is faster than strstr when checking if one string is in another (http://php.net/manual/en/function.strstr.php) + if(strpos($p,'NOPATH') !== false) continue; - if(file_exists($f)) - return $f; + if(file_exists($p)) + return $p; } return ''; } @@ -509,19 +513,38 @@ function get_intltext_template($s) { if(! isset($a->language)) $a->language = 'en'; - if(file_exists("view/{$a->language}/$s")) - return file_get_contents("view/{$a->language}/$s"); - elseif(file_exists("view/en/$s")) - return file_get_contents("view/en/$s"); + $engine = ''; + if($a->get_template_engine() === 'smarty3') + $engine = "/smarty3"; + + if(file_exists("view/{$a->language}$engine/$s")) + return file_get_contents("view/{$a->language}$engine/$s"); + elseif(file_exists("view/en$engine/$s")) + return file_get_contents("view/en$engine/$s"); else - return file_get_contents("view/$s"); + return file_get_contents("view/tpl/$engine/$s"); }} if(! function_exists('get_markup_template')) { -function get_markup_template($s) { +function get_markup_template($s, $root = '') { + + $a = get_app(); + + $template_eng = $a->get_template_engine(); + if($template_eng === 'internal') { + $template_file = theme_include($s, $root); + if($template_file) + return file_get_contents($template_file); + } + else { + $template_file = theme_include("$template_eng/$s", $root); - $x = theme_include($s); - if($x) - return file_get_contents($x); + if($template_file) { + $template = new FriendicaSmarty(); + $template->filename = $template_file; + + return $template; + } + } }} diff --git a/include/text.php b/include/text.php index 5438aae73..9db22d9ed 100644 --- a/include/text.php +++ b/include/text.php @@ -13,15 +13,35 @@ require_once("include/template_processor.php"); if(! function_exists('replace_macros')) { function replace_macros($s,$r) { global $t; - - //$ts = microtime(); - $r = $t->replace($s,$r); - //$tt = microtime() - $ts; - - //$a = get_app(); - //$a->page['debug'] .= "$tt <br>\n"; - return template_unescape($r); +// $ts = microtime(); + $a = get_app(); + + if($a->get_template_engine() === 'smarty3') { + $output = ''; + if(gettype($s) !== 'NULL') { + $template = ''; + if(gettype($s) === 'string') { + $template = $s; + $s = new FriendicaSmarty(); + } + foreach($r as $key=>$value) { + if($key[0] === '$') { + $key = substr($key, 1); + } + $s->assign($key, $value); + } + $output = $s->parsed($template); + } + } + else { + $r = $t->replace($s,$r); + + $output = template_unescape($r); + } +// $tt = microtime() - $ts; +// $a->page['debug'] .= "$tt <br>\n"; + return $output; }} @@ -96,13 +96,6 @@ if((x($_GET,'zid')) && (! $install)) { if((x($_SESSION,'authenticated')) || (x($_POST,'auth-params')) || ($a->module === 'login')) require("auth.php"); -/* - * Create the page head after setting the language - * and getting any auth credentials - */ - -$a->init_pagehead(); - if(! x($_SESSION,'sysmsg')) $_SESSION['sysmsg'] = array(); @@ -280,18 +273,28 @@ if($a->module_loaded) { if(! $a->error) { + // If a theme has defined an _aside() function, run that first + // + // If the theme function doesn't exist, see if this theme extends another, + // and see if that other theme has an _aside() function--if it does, run it + // + // If $aside_default is not False after the theme _aside() function, run the + // module's _aside() function too + // + // This gives themes more control over how the left sidebar looks + $aside_default = true; call_hooks($a->module . '_mod_aside',$placeholder); if(function_exists(str_replace('-','_',current_theme()) . '_' . $a->module . '_aside')) { $func = str_replace('-','_',current_theme()) . '_' . $a->module . '_aside'; $aside_default = $func($a); } - elseif(x($a->theme_info,"extends") && $aside_default + elseif($aside_default && x($a->theme_info,"extends") && (function_exists(str_replace('-','_',$a->theme_info["extends"]) . '_' . $a->module . '_aside'))) { $func = str_replace('-','_',$a->theme_info["extends"]) . '_' . $a->module . '_aside'; $aside_default = $func($a); } - elseif(function_exists($a->module . '_aside') && $aside_default) { + if($aside_default && function_exists($a->module . '_aside')) { $func = $a->module . '_aside'; $func($a); } @@ -329,7 +332,6 @@ if(stristr( implode("",$_SESSION['sysmsg']), t('Permission denied'))) { call_hooks('page_end', $a->page['content']); - construct_page($a); session_write_close(); diff --git a/mod/admin.php b/mod/admin.php index d0c904b02..13ecf7eef 100644 --- a/mod/admin.php +++ b/mod/admin.php @@ -610,7 +610,7 @@ function admin_page_users(&$a){ t('Community/Celebrity Account'), t('Automatic Friend Account') ); - $e['page-flags'] = $accounts[$e['page-flags']]; + $e['page_flags'] = $accounts[$e['page-flags']]; $e['register_date'] = relative_date($e['register_date']); $e['login_date'] = relative_date($e['login_date']); $e['lastitem_date'] = relative_date($e['lastitem_date']); diff --git a/mod/channel.php b/mod/channel.php index 8729fee2d..096c76ae2 100644 --- a/mod/channel.php +++ b/mod/channel.php @@ -2,16 +2,6 @@ function channel_init(&$a) { - $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . $a->get_baseurl() . '/feed/' . $which .'" />' . "\r\n" ; - -} - - -function channel_aside(&$a) { - - require_once('include/contact_widgets.php'); - require_once('include/items.php'); - if(argc() > 1) $which = argv(1); else { @@ -28,10 +18,24 @@ function channel_aside(&$a) { $profile = argv(1); } - $cat = ((x($_REQUEST,'cat')) ? htmlspecialchars($_REQUEST['cat']) : ''); + $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . $a->get_baseurl() . '/feed/' . $which .'" />' . "\r\n" ; + // Run profile_load() here to make sure the theme is set before + // we start loading content profile_load($a,$which,$profile); +} + + +function channel_aside(&$a) { + + require_once('include/contact_widgets.php'); + require_once('include/items.php'); + + profile_aside($a); + + $cat = ((x($_REQUEST,'cat')) ? htmlspecialchars($_REQUEST['cat']) : ''); + $a->set_widget('archive',posted_date_widget($a->get_baseurl(true) . '/channel/' . $a->profile['nickname'],$a->profile['profile_uid'],true)); $a->set_widget('categories',categories_widget($a->get_baseurl(true) . '/channel/' . $a->profile['nickname'],$cat)); diff --git a/mod/display.php b/mod/display.php index c6af8fdd2..d109d9a9b 100644 --- a/mod/display.php +++ b/mod/display.php @@ -16,7 +16,7 @@ function display_content(&$a) { $o = '<div id="live-display"></div>' . "\r\n"; - $a->page['htmlhead'] .= get_markup_template('display-head.tpl'); + $a->page['htmlhead'] .= replace_macros(get_markup_template('display-head.tpl'), array()); if(argc() > 1) @@ -60,6 +60,7 @@ function display_content(&$a) { // $nick = (($a->argc > 1) ? $a->argv[1] : ''); // profile_load($a,$nick); +// profile_aside($a); // $item_id = (($a->argc > 2) ? intval($a->argv[2]) : 0); diff --git a/mod/events.php b/mod/events.php index e6ee19c47..7886f27c0 100755 --- a/mod/events.php +++ b/mod/events.php @@ -261,7 +261,7 @@ function events_content(&$a) { $links = array(); - if(count($r)) { + if($r) { $r = sort_by_date($r); foreach($r as $rr) { $j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'j') : datetime_convert('UTC','UTC',$rr['start'],'j')); @@ -276,7 +276,7 @@ function events_content(&$a) { $last_date = ''; $fmt = t('l, F j'); - if(count($r)) { + if($r) { $r = sort_by_date($r); foreach($r as $rr) { diff --git a/mod/fbrowser.php b/mod/fbrowser.php index cdcde4b17..d10d8021b 100644 --- a/mod/fbrowser.php +++ b/mod/fbrowser.php @@ -55,9 +55,17 @@ function fbrowser_content($a){ global $a; $types = Photo::supportedTypes(); $ext = $types[$rr['type']]; + + if($a->get_template_engine() === 'internal') { + $filename_e = template_escape($rr['filename']); + } + else { + $filename_e = $rr['filename']; + } + return array( $a->get_baseurl() . '/photo/' . $rr['resource_id'] . '-' . $rr['hiq'] . '.' .$ext, - template_escape($rr['filename']), + $filename_e, $a->get_baseurl() . '/photo/' . $rr['resource_id'] . '-' . $rr['loq'] . '.'. $ext ); } @@ -70,6 +78,7 @@ function fbrowser_content($a){ '$path' => $path, '$folders' => $albums, '$files' =>$files, + '$cancel' => t('Cancel'), )); @@ -83,7 +92,15 @@ function fbrowser_content($a){ function files2($rr){ global $a; list($m1,$m2) = explode("/",$rr['filetype']); $filetype = ( (file_exists("images/icons/$m1.png"))?$m1:"zip"); - return array( $a->get_baseurl() . '/attach/' . $rr['id'], template_escape($rr['filename']), $a->get_baseurl() . '/images/icons/16/' . $filetype . '.png'); + + if($a->get_template_engine() === 'internal') { + $filename_e = template_escape($rr['filename']); + } + else { + $filename_e = $rr['filename']; + } + + return array( $a->get_baseurl() . '/attach/' . $rr['id'], $filename_e, $a->get_baseurl() . '/images/icons/16/' . $filetype . '.png'); } $files = array_map("files2", $files); //echo "<pre>"; var_dump($files); killme(); @@ -96,6 +113,7 @@ function fbrowser_content($a){ '$path' => array( array($a->get_baseurl()."/fbrowser/image/", t("Files")) ), '$folders' => false, '$files' =>$files, + '$cancel' => t('Cancel'), )); } diff --git a/mod/hcard.php b/mod/hcard.php index cc6d326b5..83ae7c7af 100644 --- a/mod/hcard.php +++ b/mod/hcard.php @@ -48,3 +48,6 @@ function hcard_init(&$a) { } +function hcard_aside(&$a) { + profile_aside($a); +} diff --git a/mod/hostxrd.php b/mod/hostxrd.php index 9b2411f26..0a66dcc84 100644 --- a/mod/hostxrd.php +++ b/mod/hostxrd.php @@ -14,10 +14,15 @@ function hostxrd_init(&$a) { set_config('system','site_pubkey', $res['pubkey']); } - $tpl = file_get_contents('view/xrd_host.tpl'); - echo str_replace(array( - '$zhost','$zroot','$domain','$zot_post','$bigkey'),array($a->get_hostname(),z_root(),z_path(),z_root() . '/post', salmon_key(get_config('system','site_pubkey'))),$tpl); + $tpl = get_markup_template('xrd_host.tpl'); + echo replace_macros($tpl, array( + '$zhost' => $a->get_hostname(), + '$zroot' => z_root(), + '$domain' => z_path(), + '$zot_post' => z_root() . '/post', + '$bigkey' => salmon_key(get_config('system','site_pubkey')), + )); session_write_close(); exit(); -}
\ No newline at end of file +} diff --git a/mod/message.php b/mod/message.php index 3e88362a0..9e5e09e99 100644 --- a/mod/message.php +++ b/mod/message.php @@ -362,6 +362,19 @@ function message_content(&$a) { $rr['to'] = find_xchan_in_array($rr['to_xchan'],$c); $rr['seen'] = (($rr['mail_flags'] & MAIL_SEEN) ? 1 : ""); + if($a->get_template_engine() === 'internal') { + $from_name_e = template_escape($rr['from']['xchan_name']); + $subject_e = template_escape((($rr['seen']) ? $rr['title'] : '<strong>' . $rr['title'] . '</strong>')); + $body_e = template_escape($rr['body']); + $to_name_e = template_escape($rr['to']['xchan_name']); + } + else { + $from_name_e = $rr['from']['xchan_name']; + $subject_e = (($rr['seen']) ? $rr['title'] : '<strong>' . $rr['title'] . '</strong>'); + $body_e = $rr['body']; + $to_name_e = $rr['to']['xchan_name']; + } + $o .= replace_macros($tpl, array( '$id' => $rr['id'], '$from_name' => template_escape($rr['from']['xchan_name']), @@ -385,6 +398,10 @@ function message_content(&$a) { $o .= $header; + $plaintext = true; + if( local_user() && feature_enabled(local_user(),'richtext') ) + $plaintext = false; + $r = q("SELECT parent_uri from mail WHERE channel_id = %d and id = %d limit 1", intval(local_user()), intval(argv(1)) @@ -432,7 +449,9 @@ function message_content(&$a) { $a->page['htmlhead'] .= replace_macros($tpl, array( '$nickname' => $channel['channel_addr'], - '$baseurl' => $a->get_baseurl(true) + '$baseurl' => $a->get_baseurl(true), + '$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'), + '$linkurl' => t('Please enter a link URL:') )); @@ -451,16 +470,29 @@ logger('message: ' . print_r($message,true)); // if($extracted['images']) // $message['body'] = item_redir_and_replace_images($extracted['body'], $extracted['images'], $message['contact-id']); + if($a->get_template_engine() === 'internal') { + $from_name_e = template_escape($message['from']['xchan_name']); + $subject_e = template_escape($message['title']); + $body_e = template_escape(smilies(bbcode($message['body']))); + $to_name_e = template_escape($message['to']['xchan_name']); + } + else { + $from_name_e = $message['from']['xchan_name']; + $subject_e = $message['title']; + $body_e = smilies(bbcode($message['body'])); + $to_name_e = $message['to']['xchan_name']; + } + $mails[] = array( 'id' => $message['id'], - 'from_name' => template_escape($message['from']['xchan_name']), + 'from_name' => $from_name_e, 'from_url' => z_root() . '/chanview/?f=&hash=' . $message['from_xchan'], 'from_photo' => $message['from']['xchan_photo_m'], - 'to_name' => template_escape($message['to']['xchan_name']), + 'to_name' => $to_name_e, 'to_url' => z_root() . '/chanview/?f=&hash=' . $message['to_xchan'], 'to_photo' => $message['to']['xchan_photo_m'], - 'subject' => template_escape($message['title']), - 'body' => template_escape(smilies(bbcode($message['body']))), + 'subject' => $subject_e, + 'body' => $body_e, 'delete' => t('Delete message'), 'date' => datetime_convert('UTC',date_default_timezone_get(),$message['created'],'D, d M Y - g:i A'), ); @@ -476,6 +508,13 @@ logger('message: ' . print_r($message,true)); $select = $message[$recp]['xchan_name'] . '<input type="hidden" name="messageto" value="' . $message[$recp]['xchan_hash'] . '" />'; $parent = '<input type="hidden" name="replyto" value="' . $message['parent_uri'] . '" />'; + if($a->get_template_engine() === 'internal') { + $subjtxt_e = template_escape($message['title']); + } + else { + $subjtxt_e = $message['title']; + } + $tpl = get_markup_template('mail_display.tpl'); $o = replace_macros($tpl, array( '$thread_id' => $a->argv[1], @@ -491,7 +530,7 @@ logger('message: ' . print_r($message,true)); '$to' => t('To:'), '$showinputs' => '', '$subject' => t('Subject:'), - '$subjtxt' => template_escape($message['title']), + '$subjtxt' => $subjtxt_e, '$readonly' => ' readonly="readonly" style="background: #BBBBBB;" ', '$yourmessage' => t('Your message:'), '$text' => '', diff --git a/mod/photos.php b/mod/photos.php index ee0a930fd..90f436699 100644 --- a/mod/photos.php +++ b/mod/photos.php @@ -1063,6 +1063,15 @@ function photos_content(&$a) { } + if($a->get_template_engine() === 'internal') { + $albumselect_e = template_escape($albumselect); + $aclselect_e = (($visitor) ? '' : template_escape(populate_acl($a->user, $celeb))); + } + else { + $albumselect_e = $albumselect; + $aclselect_e = (($visitor) ? '' : populate_acl($a->user, $celeb)); + } + $tpl = get_markup_template('photos_upload.tpl'); $o .= replace_macros($tpl,array( '$pagename' => t('Upload Photos'), @@ -1072,9 +1081,9 @@ function photos_content(&$a) { '$newalbum' => t('New album name: '), '$existalbumtext' => t('or existing album name: '), '$nosharetext' => t('Do not show a status post for this upload'), - '$albumselect' => template_escape($albumselect), + '$albumselect' => $albumselect_e, '$permissions' => t('Permissions'), - '$aclselect' => (($visitor) ? '' : template_escape(populate_acl($a->user, $celeb))), + '$aclselect' => $aclselect_e, '$uploader' => $ret['addon_text'], '$default' => (($ret['default_upload']) ? $default_upload : ''), '$uploadurl' => $ret['post_url'] @@ -1116,11 +1125,18 @@ function photos_content(&$a) { if($cmd === 'edit') { if(($album !== t('Profile Photos')) && ($album !== 'Contact Photos') && ($album !== t('Contact Photos'))) { if($can_post) { + if($a->get_template_engine() === 'internal') { + $album_e = template_escape($album); + } + else { + $album_e = $album; + } + $edit_tpl = get_markup_template('album_edit.tpl'); $o .= replace_macros($edit_tpl,array( '$nametext' => t('New album name: '), '$nickname' => $a->data['channel']['channel_address'], - '$album' => template_escape($album), + '$album' => $album_e, '$hexalbum' => bin2hex($album), '$submit' => t('Submit'), '$dropsubmit' => t('Delete Album') @@ -1160,6 +1176,15 @@ function photos_content(&$a) { $ext = $phototypes[$rr['type']]; + if($a->get_template_engine() === 'internal') { + $imgalt_e = template_escape($rr['filename']); + $desc_e = template_escape($rr['desc']); + } + else { + $imgalt_e = $rr['filename']; + $desc_e = $rr['desc']; + } + $o .= replace_macros($tpl,array( '$id' => $rr['id'], '$twist' => ' ' . $twist . rand(2,4), @@ -1167,8 +1192,8 @@ function photos_content(&$a) { . (($_GET['order'] === 'posted') ? '?f=&order=posted' : ''), '$phototitle' => t('View Photo'), '$imgsrc' => $a->get_baseurl() . '/photo/' . $rr['resource_id'] . '-' . $rr['scale'] . '.' .$ext, - '$imgalt' => template_escape($rr['filename']), - '$desc'=> template_escape($rr['desc']) + '$imgalt' => $imgalt_e, + '$desc'=> $desc_e )); } @@ -1365,21 +1390,32 @@ function photos_content(&$a) { $edit = Null; if(($cmd === 'edit') && ($can_post)) { + if($a->get_template_engine() === 'internal') { + $album_e = template_escape($ph[0]['album']); + $caption_e = template_escape($ph[0]['desc']); + $aclselect_e = template_escape(populate_acl($ph[0])); + } + else { + $album_e = $ph[0]['album']; + $caption_e = $ph[0]['desc']; + $aclselect_e = populate_acl($ph[0]); + } + $edit_tpl = get_markup_template('photo_edit.tpl'); $edit = replace_macros($edit_tpl, array( '$id' => $ph[0]['id'], '$rotatecw' => t('Rotate CW (right)'), '$rotateccw' => t('Rotate CCW (left)'), - '$album' => template_escape($ph[0]['album']), + '$album' => $album_e, '$newalbum' => t('New album name'), '$nickname' => $a->data['channel']['channel_address'], '$resource_id' => $ph[0]['resource_id'], '$capt_label' => t('Caption'), - '$caption' => template_escape($ph[0]['desc']), + '$caption' => $caption_e, '$tag_label' => t('Add a Tag'), '$tags' => $link_item['tag'], '$permissions' => t('Permissions'), - '$aclselect' => template_escape(populate_acl($ph[0])), + '$aclselect' => $aclselect_e, '$help_tags' => t('Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping'), '$item_id' => ((count($linked_items)) ? $link_item['id'] : 0), '$submit' => t('Submit'), @@ -1516,14 +1552,25 @@ function photos_content(&$a) { $drop = replace_macros(get_markup_template('photo_drop.tpl'), array('$id' => $item['id'], '$delete' => t('Delete'))); + if($a->get_template_engine() === 'internal') { + $name_e = template_escape($profile_name); + $title_e = template_escape($item['title']); + $body_e = template_escape(bbcode($item['body'])); + } + else { + $name_e = $profile_name; + $title_e = $item['title']; + $body_e = bbcode($item['body']); + } + $comments .= replace_macros($template,array( '$id' => $item['item_id'], '$profile_url' => $profile_link, - '$name' => template_escape($profile_name), + '$name' => $name_e, '$thumb' => $profile_avatar, '$sparkle' => $sparkle, - '$title' => template_escape($item['title']), - '$body' => template_escape(bbcode($item['body'])), + '$title' => $title_e, + '$body' => $body_e, '$ago' => relative_date($item['created']), '$indent' => (($item['parent'] != $item['item_id']) ? ' comment' : ''), '$drop' => $drop, @@ -1535,21 +1582,34 @@ function photos_content(&$a) { $paginate = paginate($a); } + if($a->get_template_engine() === 'internal') { + $album_e = array($album_link,template_escape($ph[0]['album'])); + $tags_e = template_escape($tags); + $like_e = template_escape($like); + $dislike_e = template_escape($dislike); + } + else { + $album_e = array($album_link,$ph[0]['album']); + $tags_e = $tags; + $like_e = $like; + $dislike_e = $dislike; + } + $photo_tpl = get_markup_template('photo_view.tpl'); $o .= replace_macros($photo_tpl, array( '$id' => $ph[0]['id'], - '$album' => array($album_link,template_escape($ph[0]['album'])), + '$album' => $album_e, '$tools' => $tools, '$lock' => $lock, '$photo' => $photo, '$prevlink' => $prevlink, '$nextlink' => $nextlink, '$desc' => $ph[0]['desc'], - '$tags' => template_escape($tags), + '$tags' => $tags_e, '$edit' => $edit, '$likebuttons' => $likebuttons, - '$like' => template_escape($like), - '$dislike' => template_escape($dislike), + '$like' => $like_e, + '$dislike' => $dislike_e, '$comments' => $comments, '$paginate' => $paginate, )); @@ -1593,16 +1653,25 @@ function photos_content(&$a) { $twist = 'rotright'; $ext = $phototypes[$rr['type']]; + if($a->get_template_engine() === 'internal') { + $alt_e = template_escape($rr['filename']); + $name_e = template_escape($rr['album']); + } + else { + $alt_e = $rr['filename']; + $name_e = $rr['album']; + } + $photos[] = array( 'id' => $rr['id'], 'twist' => ' ' . $twist . rand(2,4), 'link' => $a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/image/' . $rr['resource_id'], 'title' => t('View Photo'), 'src' => $a->get_baseurl() . '/photo/' . $rr['resource_id'] . '-' . ((($rr['scale']) == 6) ? 4 : $rr['scale']) . '.' . $ext, - 'alt' => template_escape($rr['filename']), + 'alt' => $alt_e, 'album' => array( 'link' => $a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/album/' . bin2hex($rr['album']), - 'name' => template_escape($rr['album']), + 'name' => $name_e, 'alt' => t('View Album'), ), @@ -1611,7 +1680,7 @@ function photos_content(&$a) { } $tpl = get_markup_template('photos_recent.tpl'); - $o .= replace_macros($tpl,array( + $o .= replace_macros($tpl, array( '$title' => t('Recent Photos'), '$can_post' => $can_post, '$upload' => array(t('Upload New Photos'), $a->get_baseurl().'/photos/'.$a->data['channel']['channel_address'].'/upload'), diff --git a/mod/profile.php b/mod/profile.php index ce2d92f9b..8f15766b6 100644 --- a/mod/profile.php +++ b/mod/profile.php @@ -2,16 +2,6 @@ function profile_init(&$a) { - $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . $a->get_baseurl() . '/feed/' . $which .'" />' . "\r\n" ; - -} - - -function profile_aside(&$a) { - - require_once('include/contact_widgets.php'); - require_once('include/items.php'); - if(argc() > 1) $which = argv(1); else { @@ -28,6 +18,7 @@ function profile_aside(&$a) { $profile = argv(1); } + $a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . $a->get_baseurl() . '/feed/' . $which .'" />' . "\r\n" ; $x = q("select channel_id as profile_uid from channel where channel_address = '%s' limit 1", dbesc(argv(1)) @@ -37,13 +28,33 @@ function profile_aside(&$a) { $channel_display = get_pconfig($a->profile['profile_uid'],'system','channel_format'); if(! $channel_display) profile_load($a,$which,$profile); + } + +} + + +function profile_aside(&$a) { + + require_once('include/contact_widgets.php'); + require_once('include/items.php'); + + $x = q("select channel_id as profile_uid from channel where channel_address = '%s' limit 1", + dbesc(argv(1)) + ); + if($x) { + $channel_display = get_pconfig($a->profile['profile_uid'],'system','channel_format'); + if(! $channel_display) + profile_aside($a); + if($channel_display === 'full') $a->page['template'] = 'full'; else { + $cat = ((x($_REQUEST,'cat')) ? htmlspecialchars($_REQUEST['cat']) : ''); $a->set_widget('archive',posted_date_widget($a->get_baseurl(true) . '/channel/' . $a->profile['nickname'],$a->profile['profile_uid'],true)); $a->set_widget('categories',categories_widget($a->get_baseurl(true) . '/channel/' . $a->profile['nickname'],$cat)); } } + } diff --git a/mod/profile_photo.php b/mod/profile_photo.php index e78d2ca6f..e7be543c6 100644 --- a/mod/profile_photo.php +++ b/mod/profile_photo.php @@ -14,6 +14,16 @@ function profile_photo_init(&$a) { } +function profile_photo_init(&$a) { + + if(! local_user()) { + return; + } + + profile_aside($a); +} + + function profile_photo_post(&$a) { if(! local_user()) { @@ -318,7 +328,7 @@ function profile_photo_crop_ui_head(&$a, $ph){ $a->config['imagecrop'] = $hash; $a->config['imagecrop_resolution'] = $smallest; $a->config['imagecrop_ext'] = $ph->getExt(); - $a->page['htmlhead'] .= get_markup_template("crophead.tpl"); + $a->page['htmlhead'] .= replace_macros(get_markup_template("crophead.tpl"), array()); return; }} diff --git a/mod/profiles.php b/mod/profiles.php index 37be9bd08..5b2102852 100644 --- a/mod/profiles.php +++ b/mod/profiles.php @@ -1,6 +1,162 @@ <?php +function profiles_init(&$a) { + + nav_set_selected('profiles'); + + if(! local_user()) { + return; + } + + if((argc() > 2) && (argv(1) === "drop") && intval(argv(2))) { + $r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d AND `is_default` = 0 LIMIT 1", + intval($a->argv[2]), + intval(local_user()) + ); + if(! count($r)) { + notice( t('Profile not found.') . EOL); + goaway($a->get_baseurl(true) . '/profiles'); + return; // NOTREACHED + } + $profile_guid = $r['profile_guid']; + + check_form_security_token_redirectOnErr('/profiles', 'profile_drop', 't'); + + // move every contact using this profile as their default to the user default + + $r = q("UPDATE abook SET abook_profile = (SELECT profile_guid AS FROM profile WHERE is_default = 1 AND uid = %d LIMIT 1) WHERE abook_profile = '%s' AND abook_channel = %d ", + intval(local_user()), + dbesc($profile_guid), + intval(local_user()) + ); + $r = q("DELETE FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1", + intval(argv(2)), + intval(local_user()) + ); + if($r) + info( t('Profile deleted.') . EOL); + + goaway($a->get_baseurl(true) . '/profiles'); + return; // NOTREACHED + } + + + + + + if((argc() > 1) && (argv(1) === 'new')) { + + check_form_security_token_redirectOnErr('/profiles', 'profile_new', 't'); + + $r0 = q("SELECT `id` FROM `profile` WHERE `uid` = %d", + intval(local_user())); + $num_profiles = count($r0); + + $name = t('Profile-') . ($num_profiles + 1); + + $r1 = q("SELECT `name`, `photo`, `thumb` FROM `profile` WHERE `uid` = %d AND `is_default` = 1 LIMIT 1", + intval(local_user())); + + $r2 = q("INSERT INTO `profile` (`aid`, `uid` , `profile_guid`, `profile_name` , `name`, `photo`, `thumb`) + VALUES ( %d, '%s', '%s', '%s', '%s' )", + intval(get_account_id()), + intval(local_user()), + dbesc(random_string()), + dbesc($name), + dbesc($r1[0]['name']), + dbesc($r1[0]['photo']), + dbesc($r1[0]['thumb']) + ); + + $r3 = q("SELECT `id` FROM `profile` WHERE `uid` = %d AND `profile_name` = '%s' LIMIT 1", + intval(local_user()), + dbesc($name) + ); + + info( t('New profile created.') . EOL); + if(count($r3) == 1) + goaway($a->get_baseurl(true) . '/profiles/' . $r3[0]['id']); + + goaway($a->get_baseurl(true) . '/profiles'); + } + + if((argc() > 2) && (argv(1) === 'clone')) { + + check_form_security_token_redirectOnErr('/profiles', 'profile_clone', 't'); + + $r0 = q("SELECT `id` FROM `profile` WHERE `uid` = %d", + intval(local_user())); + $num_profiles = count($r0); + + $name = t('Profile-') . ($num_profiles + 1); + $r1 = q("SELECT * FROM `profile` WHERE `uid` = %d AND `id` = %d LIMIT 1", + intval(local_user()), + intval($a->argv[2]) + ); + if(! count($r1)) { + notice( t('Profile unavailable to clone.') . EOL); + $a->error = 404; + return; + } + unset($r1[0]['id']); + $r1[0]['is_default'] = 0; + $r1[0]['publish'] = 0; + $r1[0]['profile_name'] = dbesc($name); + $r1[0]['profile_guid'] = dbesc(random_string()); + + dbesc_array($r1[0]); + + $r2 = dbq("INSERT INTO `profile` (`" + . implode("`, `", array_keys($r1[0])) + . "`) VALUES ('" + . implode("', '", array_values($r1[0])) + . "')" ); + + $r3 = q("SELECT `id` FROM `profile` WHERE `uid` = %d AND `profile_name` = '%s' LIMIT 1", + intval(local_user()), + dbesc($name) + ); + info( t('New profile created.') . EOL); + if(count($r3) == 1) + goaway($a->get_baseurl(true) . '/profiles/' . $r3[0]['id']); + + goaway($a->get_baseurl(true) . '/profiles'); + + return; // NOTREACHED + } + + + // Run profile_load() here to make sure the theme is set before + // we start loading content + if((argc() > 1) && (intval(argv(1)))) { + $r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1", + intval($a->argv[1]), + intval(local_user()) + ); + if(! count($r)) { + notice( t('Profile not found.') . EOL); + $a->error = 404; + return; + } + + $chan = $a->get_channel(); + + profile_load($a,$chan['channel_address'],$r[0]['id']); + } +} + +function profiles_aside(&$a) { + + if(! local_user()) { + return; + } + + if((argc() > 1) && (intval(argv(1)))) { + profile_aside($a); + } +} + function profiles_post(&$a) { if(! local_user()) { @@ -307,130 +463,12 @@ function profiles_post(&$a) { function profiles_content(&$a) { $o = ''; - nav_set_selected('profiles'); if(! local_user()) { notice( t('Permission denied.') . EOL); return; } - if((argc() > 2) && (argv(1) === "drop") && intval(argv(2))) { - $r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d AND `is_default` = 0 LIMIT 1", - intval($a->argv[2]), - intval(local_user()) - ); - if(! count($r)) { - notice( t('Profile not found.') . EOL); - goaway($a->get_baseurl(true) . '/profiles'); - return; // NOTREACHED - } - $profile_guid = $r['profile_guid']; - - check_form_security_token_redirectOnErr('/profiles', 'profile_drop', 't'); - - // move every contact using this profile as their default to the user default - - $r = q("UPDATE abook SET abook_profile = (SELECT profile_guid AS FROM profile WHERE is_default = 1 AND uid = %d LIMIT 1) WHERE abook_profile = '%s' AND abook_channel = %d ", - intval(local_user()), - dbesc($profile_guid), - intval(local_user()) - ); - $r = q("DELETE FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1", - intval(argv(2)), - intval(local_user()) - ); - if($r) - info( t('Profile deleted.') . EOL); - - goaway($a->get_baseurl(true) . '/profiles'); - return; // NOTREACHED - } - - - - - - if((argc() > 1) && (argv(1) === 'new')) { - - check_form_security_token_redirectOnErr('/profiles', 'profile_new', 't'); - - $r0 = q("SELECT `id` FROM `profile` WHERE `uid` = %d", - intval(local_user())); - $num_profiles = count($r0); - - $name = t('Profile-') . ($num_profiles + 1); - - $r1 = q("SELECT `name`, `photo`, `thumb` FROM `profile` WHERE `uid` = %d AND `is_default` = 1 LIMIT 1", - intval(local_user())); - - $r2 = q("INSERT INTO `profile` (`aid`, `uid` , `profile_guid`, `profile_name` , `name`, `photo`, `thumb`) - VALUES ( %d, '%s', '%s', '%s', '%s' )", - intval(get_account_id()), - intval(local_user()), - dbesc(random_string()), - dbesc($name), - dbesc($r1[0]['name']), - dbesc($r1[0]['photo']), - dbesc($r1[0]['thumb']) - ); - - $r3 = q("SELECT `id` FROM `profile` WHERE `uid` = %d AND `profile_name` = '%s' LIMIT 1", - intval(local_user()), - dbesc($name) - ); - - info( t('New profile created.') . EOL); - if(count($r3) == 1) - goaway($a->get_baseurl(true) . '/profiles/' . $r3[0]['id']); - - goaway($a->get_baseurl(true) . '/profiles'); - } - - if((argc() > 2) && (argv(1) === 'clone')) { - - check_form_security_token_redirectOnErr('/profiles', 'profile_clone', 't'); - - $r0 = q("SELECT `id` FROM `profile` WHERE `uid` = %d", - intval(local_user())); - $num_profiles = count($r0); - - $name = t('Profile-') . ($num_profiles + 1); - $r1 = q("SELECT * FROM `profile` WHERE `uid` = %d AND `id` = %d LIMIT 1", - intval(local_user()), - intval($a->argv[2]) - ); - if(! count($r1)) { - notice( t('Profile unavailable to clone.') . EOL); - return; - } - unset($r1[0]['id']); - $r1[0]['is_default'] = 0; - $r1[0]['publish'] = 0; - $r1[0]['profile_name'] = dbesc($name); - $r1[0]['profile_guid'] = dbesc(random_string()); - - dbesc_array($r1[0]); - - $r2 = dbq("INSERT INTO `profile` (`" - . implode("`, `", array_keys($r1[0])) - . "`) VALUES ('" - . implode("', '", array_values($r1[0])) - . "')" ); - - $r3 = q("SELECT `id` FROM `profile` WHERE `uid` = %d AND `profile_name` = '%s' LIMIT 1", - intval(local_user()), - dbesc($name) - ); - info( t('New profile created.') . EOL); - if(count($r3) == 1) - goaway($a->get_baseurl(true) . '/profiles/' . $r3[0]['id']); - - goaway($a->get_baseurl(true) . '/profiles'); - - return; // NOTREACHED - } - - if((argc() > 1) && (intval(argv(1)))) { $r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1", intval($a->argv[1]), @@ -441,10 +479,6 @@ function profiles_content(&$a) { return; } - $chan = $a->get_channel(); - - profile_load($a,$chan['channel_address'],$r[0]['id']); - require_once('include/profile_selectors.php'); diff --git a/mod/profperm.php b/mod/profperm.php index b31dfc128..7c7fe7b11 100644 --- a/mod/profperm.php +++ b/mod/profperm.php @@ -13,6 +13,15 @@ function profperm_init(&$a) { } +function profperm_aside(&$a) { + + if(! local_user()) + return; + + profile_aside($a); +} + + function profperm_content(&$a) { if(! local_user()) { diff --git a/mod/setup.php b/mod/setup.php index b3649ca40..4fa5152ea 100755 --- a/mod/setup.php +++ b/mod/setup.php @@ -183,6 +183,8 @@ function setup_content(&$a) { check_htconfig($checks); + check_smarty3($checks); + check_keys($checks); if(x($_POST,'phpath')) @@ -439,6 +441,22 @@ function check_htconfig(&$checks) { } +function check_smarty3(&$checks) { + $status = true; + $help = ""; + if( !is_writable('view/tpl/smarty3') ) { + + $status=false; + $help = t('Friendica uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering.') .EOL; + $help .= t('In order to store these compiled templates, the web server needs to have write access to the directory view/tpl/smarty3/ under the Friendica top level folder.').EOL; + $help .= t('Please ensure that the user that your web server runs as (e.g. www-data) has write access to this folder.').EOL; + $help .= t('Note: as a security measure, you should give the web server write access to view/tpl/smarty3/ only--not the template files (.tpl) that it contains.').EOL; + } + + check_add($checks, t('view/tpl/smarty3 is writable'), $status, true, $help); + +} + function check_htaccess(&$checks) { $a = get_app(); $status = true; diff --git a/mod/viewcontacts.php b/mod/viewcontacts.php index 8133fb4a0..7f5050d5d 100644 --- a/mod/viewcontacts.php +++ b/mod/viewcontacts.php @@ -11,6 +11,16 @@ function viewcontacts_init(&$a) { } +function viewcontacts_aside(&$a) { + + if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) { + return; + } + + profile_aside($a); +} + + function viewcontacts_content(&$a) { if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) { diff --git a/mod/xrd.php b/mod/xrd.php index d22ff4699..a576f76c4 100644 --- a/mod/xrd.php +++ b/mod/xrd.php @@ -29,7 +29,7 @@ function xrd_init(&$a) { $dspr = ''; - $tpl = file_get_contents('view/xrd_person.tpl'); + $tpl = get_markup_template('view/xrd_person.tpl'); $o = replace_macros($tpl, array( '$nick' => $r[0]['nickname'], diff --git a/mods/friendica-to-smarty-tpl.py b/mods/friendica-to-smarty-tpl.py new file mode 100755 index 000000000..b82aa912a --- /dev/null +++ b/mods/friendica-to-smarty-tpl.py @@ -0,0 +1,198 @@ +#!/usr/bin/python +# +# Script to convert Friendica internal template files into Smarty template files +# Copyright 2012 Zach Prezkuta +# Licensed under GPL v3 + +import os, re, string + +ldelim = '{{' +rdelim = '}}' + +def fToSmarty(matches): + match = matches.group(0) + if match == '$j': + return match + match = string.replace(match, '[', '') + match = string.replace(match, ']', '') + + ldel = ldelim + rdel = rdelim + if match.find("'") > -1: + match = string.replace(match, "'", '') + ldel = "'" + ldel + rdel = rdel + "'" + elif match.find('"') > -1: + match = string.replace(match, '"', '') + ldel = '"' + ldel + rdel = rdel + '"' + + return ldel + match + rdel + + +def fix_element(element): + # Much of the positioning here is important, e.g. if you do element.find('if ') before you do + # element.find('endif'), then you may get some multiply-replaced delimiters + + if element.find('endif') > -1: + element = ldelim + '/if' + rdelim + return element + + if element.find('if ') > -1: + element = string.replace(element, '{{ if', ldelim + 'if') + element = string.replace(element, '{{if', ldelim + 'if') + element = string.replace(element, ' }}', rdelim) + element = string.replace(element, '}}', rdelim) + return element + + if element.find('else') > -1: + element = ldelim + 'else' + rdelim + return element + + if element.find('endfor') > -1: + element = ldelim + '/foreach' + rdelim + return element + + if element.find('for ') > -1: + element = string.replace(element, '{{ for ', ldelim + 'foreach ') + element = string.replace(element, '{{for ', ldelim + 'foreach ') + element = string.replace(element, ' }}', rdelim) + element = string.replace(element, '}}', rdelim) + return element + + if element.find('endinc') > -1: + element = '' + return element + + if element.find('inc ') > -1: + parts = element.split(' ') + element = ldelim + 'include file="' + + # We need to find the file name. It'll either be in parts[1] if the element was written as {{ inc file.tpl }} + # or it'll be in parts[2] if the element was written as {{inc file.tpl}} + if parts[0].find('inc') > -1: + first = 0 + else: + first = 1 + + if parts[first+1][0] == '$': + # This takes care of elements where the filename is a variable, e.g. {{ inc $file }} + element += ldelim + parts[first+1].rstrip('}') + rdelim + else: + # This takes care of elements where the filename is a path, e.g. {{ inc file.tpl }} + element += parts[first+1].rstrip('}') + + element += '"' + + if len(parts) > first + 1 and parts[first+2] == 'with': + # Take care of variable substitutions, e.g. {{ inc file.tpl with $var=this_var }} + element += ' ' + parts[first+3].rstrip('}')[1:] + + element += rdelim + return element + + +def convert(filename, tofilename, php_tpl): + for line in filename: + newline = '' + st_pos = 0 + brack_pos = line.find('{{') + + if php_tpl: + # If php_tpl is True, this script will only convert variables in quotes, like '$variable' + # or "$variable". This is for .tpl files that produce PHP scripts, where you don't want + # all the PHP variables converted into Smarty variables + pattern1 = re.compile(r""" +([\'\"]\$\[[a-zA-Z]\w* +(\. +(\d+|[a-zA-Z][\w-]*) +)* +(\|[\w\$:\.]*)* +\][\'\"]) +""", re.VERBOSE) + pattern2 = re.compile(r""" +([\'\"]\$[a-zA-Z]\w* +(\. +(\d+|[a-zA-Z][\w-]*) +)* +(\|[\w\$:\.]*)* +[\'\"]) +""", re.VERBOSE) + else: + # Compile the pattern for bracket-style variables, e.g. $[variable.key|filter:arg1:arg2|filter2:arg1:arg2] + # Note that dashes are only allowed in array keys if the key doesn't start + # with a number, e.g. $[variable.key-id] is ok but $[variable.12-id] isn't + # + # Doesn't currently process the argument position key 'x', i.e. filter:arg1:x:arg2 doesn't get + # changed to arg1|filter:variable:arg2 like Smarty requires + # + # Filter arguments can be variables, e.g. $variable, but currently can't have array keys with dashes + # like filter:$variable.key-name + pattern1 = re.compile(r""" +(\$\[[a-zA-Z]\w* +(\. +(\d+|[a-zA-Z][\w-]*) +)* +(\|[\w\$:\.]*)* +\]) +""", re.VERBOSE) + + # Compile the pattern for normal style variables, e.g. $variable.key + pattern2 = re.compile(r""" +(\$[a-zA-Z]\w* +(\. +(\d+|[a-zA-Z][\w-]*) +)* +(\|[\w\$:\.]*)* +) +""", re.VERBOSE) + + while brack_pos > -1: + if brack_pos > st_pos: + line_segment = line[st_pos:brack_pos] + line_segment = pattern2.sub(fToSmarty, line_segment) + newline += pattern1.sub(fToSmarty, line_segment) + + end_brack_pos = line.find('}}', brack_pos) + if end_brack_pos < 0: + print "Error: no matching bracket found" + + newline += fix_element(line[brack_pos:end_brack_pos + 2]) + st_pos = end_brack_pos + 2 + + brack_pos = line.find('{{', st_pos) + + line_segment = line[st_pos:] + line_segment = pattern2.sub(fToSmarty, line_segment) + newline += pattern1.sub(fToSmarty, line_segment) + newline = newline.replace("{#", ldelim + "*") + newline = newline.replace("#}", "*" + rdelim) + tofilename.write(newline) + + +path = raw_input('Path to template folder to convert: ') +if path[-1:] != '/': + path = path + '/' + +outpath = path + 'smarty3/' + +if not os.path.exists(outpath): + os.makedirs(outpath) + +files = os.listdir(path) +for a_file in files: + if a_file == 'htconfig.tpl': + php_tpl = True + else: + php_tpl = False + + filename = os.path.join(path,a_file) + ext = a_file.split('.')[-1] + if os.path.isfile(filename) and ext == 'tpl': + with open(filename, 'r') as f: + newfilename = os.path.join(outpath,a_file) + with open(newfilename, 'w') as outf: + print "Converting " + filename + " to " + newfilename + convert(f, outf, php_tpl) + + diff --git a/view/theme/fancyred/php/config.php b/view/theme/fancyred/php/config.php index 48035f507..833d09050 100644 --- a/view/theme/fancyred/php/config.php +++ b/view/theme/fancyred/php/config.php @@ -65,7 +65,7 @@ function fancyred_form(&$a, $font_size, $line_height, $colour) { 'dark' => 'dark', ); - $t = file_get_contents( dirname(__file__). "/../tpl/theme_settings.tpl" ); + $t = get_markup_template('theme_settings.tpl'); $o .= replace_macros($t, array( '$submit' => t('Submit'), '$baseurl' => $a->get_baseurl(), diff --git a/view/theme/fancyred/php/theme.php b/view/theme/fancyred/php/theme.php index b77664567..1ac6d4d21 100644 --- a/view/theme/fancyred/php/theme.php +++ b/view/theme/fancyred/php/theme.php @@ -1,5 +1,6 @@ <?php function fancyred_init(&$a) { + $a->set_template_engine('smarty3'); // head_add_js('redbasic.js'); } diff --git a/view/theme/fancyred/tpl/smarty3/conv_item.tpl b/view/theme/fancyred/tpl/smarty3/conv_item.tpl new file mode 100644 index 000000000..cf0f02f03 --- /dev/null +++ b/view/theme/fancyred/tpl/smarty3/conv_item.tpl @@ -0,0 +1,117 @@ +{{if $item.comment_firstcollapsed}} + <div class="hide-comments-outer"> + <span id="hide-comments-total-{{$item.id}}" class="hide-comments-total">{{$item.num_comments}}</span> <span id="hide-comments-{{$item.id}}" class="hide-comments fakelink" onclick="showHideComments({{$item.id}});">{{$item.hide_text}}</span> + </div> + <div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;"> +{{/if}} +<div id="thread-wrapper-{{$item.id}}" class="thread-wrapper {{$item.toplevel}}"> +<a name="{{$item.id}}" ></a> +<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}{{if $item.owner_url}} wallwall{{/if}}" id="wall-item-outside-wrapper-{{$item.id}}" > + <div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}" > + <div class="wall-item-info{{if $item.owner_url}} wallwall{{/if}}" id="wall-item-info-{{$item.id}}"> + {{if $item.owner_url}} + <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-{{$item.id}}" > + <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-photo-link" id="wall-item-ownerphoto-link-{{$item.id}}"> + <img src="{{$item.owner_photo}}" class="wall-item-photo{{$item.osparkle}}" id="wall-item-ownerphoto-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.owner_name}}" /></a> + </div> + <div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="{{$item.wall}}" /></div> + {{/if}} + <div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}}" id="wall-item-photo-wrapper-{{$item.id}}" + onmouseover="if (typeof t{{$item.id}} != 'undefined') clearTimeout(t{{$item.id}}); openMenu('wall-item-photo-menu-button-{{$item.id}}')" + onmouseout="t{{$item.id}}=setTimeout('closeMenu(\'wall-item-photo-menu-button-{{$item.id}}\'); closeMenu(\'wall-item-photo-menu-{{$item.id}}\');',200)"> + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}"> + <img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.name}}" /></a> + <span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span> + <div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}"> + <ul> + {{$item.item_photo_menu}} + </ul> + </div> + + </div> + <div class="wall-item-photo-end"></div> + <div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" > + {{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" /></div> + {{else}}<div class="wall-item-lock"></div>{{/if}} + <div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</div> + </div> + </div> + <div class="wall-item-author"> + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}} {{$item.to}} <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a> {{$item.vwall}}{{/if}}<br /> + <div class="wall-item-ago" id="wall-item-ago-{{$item.id}}" title="{{$item.localtime}}">{{$item.ago}}</div> + </div> + <div class="wall-item-content" id="wall-item-content-{{$item.id}}" > + <div class="wall-item-title" id="wall-item-title-{{$item.id}}">{{$item.title}}</div> + <div class="wall-item-title-end"></div> + <div class="wall-item-body" id="wall-item-body-{{$item.id}}" >{{$item.body}} + <div class="body-tag"> + {{foreach $item.tags as $tag}} + <span class='tag'>{{$tag}}</span> + {{/foreach}} + </div> + {{if $item.has_cats}} + <div class="categorytags"><span>{{$item.txt_cats}} {{foreach $item.categories as $cat}}{{$cat.name}} <a href="{{$cat.removeurl}}" title="{{$remove}}">[{{$remove}}]</a> {{if $cat.last}}{{else}}, {{/if}}{{/foreach}} + </div> + {{/if}} + + {{if $item.has_folders}} + <div class="filesavetags"><span>{{$item.txt_folders}} {{foreach $item.folders as $cat}}{{$cat.name}} <a href="{{$cat.removeurl}}" title="{{$remove}}">[{{$remove}}]</a> {{if $cat.last}}{{else}}, {{/if}}{{/foreach}} + </div> + {{/if}} + </div> + </div> + + <div class="wall-item-like {{$item.indent}}" id="wall-item-like-{{$item.id}}">{{$item.showlike}}</div> + <div class="wall-item-dislike {{$item.indent}}" id="wall-item-dislike-{{$item.id}}">{{$item.showdislike}}</div> + + <div class="wall-item-tools" id="wall-item-tools-{{$item.id}}"> + {{if $item.like}} + <a href="#" class="icon like item-tool" title="{{$item.like.0}}" onclick="dolike({{$item.id}},'like'); return false"></a> + {{/if}} + {{if $item.dislike}} + <a href="#" class="icon dislike item-tool" title="{{$item.dislike.0}}" onclick="dolike({{$item.id}},'dislike'); return false"></a> + {{/if}} + {{if $item.share}} + <a href="#" class="icon recycle item-tool" title="{{$item.share.0}}" onclick="jotShare({{$item.id}}); return false"></a> + {{/if}} + {{if $item.plink}} + <a href="{{$item.plink.href}}" title="{{$item.plink.title}}" target="external-link" class="icon item-tool remote-link{{$item.sparkle}}"></a> + {{/if}} + {{if $item.edpost}} + <a class="editpost icon pencil item-tool" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"></a> + {{/if}} + {{if $item.star}} + <a href="#" id="starred-{{$item.id}}" onclick="dostar({{$item.id}}); return false;" class="star-item icon item-tool {{$item.star.isstarred}}" title="{{$item.star.toggle}}"></a> + {{/if}} + {{if $item.tagger}} + <a href="#" id="tagger-{{$item.id}}" onclick="itemTag({{$item.id}}); return false;" class="tag-item icon item-tool tagged" title="{{$item.tagger.tagit}}"></a> + {{/if}} + {{if $item.filer}} + <a href="#" id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item filer-icon item-tool" title="{{$item.filer}}"></a> + {{/if}} + <img id="like-rotator-{{$item.id}}" class="like-rotator" src="images/rotator.gif" alt="{{$item.wait}}" title="{{$item.wait}}" style="display: none;" /> + + <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" > + {{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$item.drop.delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{/if}} + </div> + {{if $item.drop.pagedrop}}<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />{{/if}} + <div class="wall-item-delete-end"></div> + </div> + </div> + <div class="wall-item-wrapper-end"></div> + +<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div> +</div> +{{if $item.toplevel}} +{{foreach $item.children as $item}} + {{include file="{{$item.template}}"}} +{{/foreach}} +{{/if}} + +<div class="wall-item-comment-wrapper" > + {{$item.comment}} +</div> + + +</div> +{{if $item.comment_lastcollapsed}}</div>{{/if}} diff --git a/view/theme/fancyred/tpl/smarty3/theme_settings.tpl b/view/theme/fancyred/tpl/smarty3/theme_settings.tpl new file mode 100644 index 000000000..72749d9ce --- /dev/null +++ b/view/theme/fancyred/tpl/smarty3/theme_settings.tpl @@ -0,0 +1,7 @@ +{{include file="field_select.tpl" field=$font_size}} + +{{include file="field_select.tpl" field=$line_height}} + +<div class="settings-submit-wrapper"> + <input type="submit" value="{{$submit}}" class="settings-submit" name="fancyred-settings-submit" /> +</div> diff --git a/view/theme/redbasic/php/config.php b/view/theme/redbasic/php/config.php index 1ca9cc5ed..ad5df57ce 100644 --- a/view/theme/redbasic/php/config.php +++ b/view/theme/redbasic/php/config.php @@ -65,7 +65,7 @@ function redbasic_form(&$a, $font_size, $line_height, $colour) { 'dark' => 'dark', ); - $t = file_get_contents( dirname(__file__). "/../tpl/theme_settings.tpl" ); + $t = get_markup_template('theme_settings.tpl'); $o .= replace_macros($t, array( '$submit' => t('Submit'), '$baseurl' => $a->get_baseurl(), diff --git a/view/theme/redbasic/php/theme.php b/view/theme/redbasic/php/theme.php index 47e1df5d1..52e571f0a 100644 --- a/view/theme/redbasic/php/theme.php +++ b/view/theme/redbasic/php/theme.php @@ -1,5 +1,6 @@ <?php function redbasic_init(&$a) { + $a->set_template_engine('smarty3'); // head_add_js('redbasic.js'); } diff --git a/view/theme/redbasic/tpl/smarty3/theme_settings.tpl b/view/theme/redbasic/tpl/smarty3/theme_settings.tpl new file mode 100644 index 000000000..27f356b92 --- /dev/null +++ b/view/theme/redbasic/tpl/smarty3/theme_settings.tpl @@ -0,0 +1,7 @@ +{{include file="field_select.tpl" field=$font_size}} + +{{include file="field_select.tpl" field=$line_height}} + +<div class="settings-submit-wrapper"> + <input type="submit" value="{{$submit}}" class="settings-submit" name="redbasic-settings-submit" /> +</div> diff --git a/view/tpl/admin_users.tpl b/view/tpl/admin_users.tpl index f67e4a0f7..727030f5d 100644 --- a/view/tpl/admin_users.tpl +++ b/view/tpl/admin_users.tpl @@ -70,7 +70,7 @@ <td class='register_date'>$u.register_date</td> <td class='login_date'>$u.login_date</td> <td class='lastitem_date'>$u.lastitem_date</td> - <td class='login_date'>$u.page-flags</td> + <td class='login_date'>$u.page_flags</td> <td class="checkbox"><input type="checkbox" class="users_ckbx" id="id_user_$u.uid" name="user[]" value="$u.uid"/></td> <td class="tools"> <a href="$baseurl/admin/users/block/$u.uid?t=$form_security_token" title='{{ if $u.blocked }}$unblock{{ else }}$block{{ endif }}'><span class='icon block {{ if $u.blocked==0 }}dim{{ endif }}'></span></a> diff --git a/view/tpl/conv_item.tpl b/view/tpl/conv_item.tpl index 66fb499a6..0c0553639 100644 --- a/view/tpl/conv_item.tpl +++ b/view/tpl/conv_item.tpl @@ -101,8 +101,8 @@ <div class="wall-item-outside-wrapper-end $item.indent" ></div> </div> {{ if $item.toplevel }} -{{ for $item.children as $item }} - {{ inc $item.template }}{{ endinc }} +{{ for $item.children as $child }} + {{ inc $child.template with $item=$child }}{{ endinc }} {{ endfor }} {{ endif }} diff --git a/view/tpl/directory_item.tpl b/view/tpl/directory_item.tpl index b45da4465..d496cb2ad 100644 --- a/view/tpl/directory_item.tpl +++ b/view/tpl/directory_item.tpl @@ -2,7 +2,7 @@ <div class="directory-item lframe" id="directory-item-$id" > <div class="contact-photo-wrapper" id="directory-photo-wrapper-$id" > <div class="contact-photo" id="directory-photo-$id" > - <a href="$profile-link" class="directory-profile-link" id="directory-profile-link-$id" ><img class="directory-photo-img" src="$photo" alt="$alt-text" title="$alt-text" /></a> + <a href="$profile_link" class="directory-profile-link" id="directory-profile-link-$id" ><img class="directory-photo-img" src="$photo" alt="$alt_text" title="$alt_text" /></a> </div> </div> diff --git a/view/tpl/filebrowser.tpl b/view/tpl/filebrowser.tpl index 1e97237f4..7db31d716 100644 --- a/view/tpl/filebrowser.tpl +++ b/view/tpl/filebrowser.tpl @@ -77,7 +77,7 @@ </div> </div> <div class="mceActionPanel"> - <input type="button" id="cancel" name="cancel" value="{#cancel}" onclick="tinyMCEPopup.close();" /> + <input type="button" id="cancel" name="cancel" value="$cancel" onclick="tinyMCEPopup.close();" /> </div> </body> diff --git a/view/tpl/install_checks.tpl b/view/tpl/install_checks.tpl index 1d8a4b263..76287c4a3 100644 --- a/view/tpl/install_checks.tpl +++ b/view/tpl/install_checks.tpl @@ -3,7 +3,7 @@ <form action="$baseurl/index.php?q=setup" method="post"> <table> {{ for $checks as $check }} - <tr><td>$check.title </td><td><span class="icon s22 {{if $check.status}}on{{else}}{{if$check.required}}off{{else}}yellow{{endif}}{{endif}}"></td><td>{{if $check.required}}(required){{endif}}</td></tr> + <tr><td>$check.title </td><td><span class="icon s22 {{if $check.status}}on{{else}}{{if $check.required}}off{{else}}yellow{{endif}}{{endif}}"></td><td>{{if $check.required}}(required){{endif}}</td></tr> {{if $check.help }} <tr><td colspan="3"><blockquote>$check.help</blockquote></td></tr> {{endif}} diff --git a/view/tpl/notifications_network_item.tpl b/view/tpl/notifications_network_item.tpl index bd86548fc..261ab3643 100644 --- a/view/tpl/notifications_network_item.tpl +++ b/view/tpl/notifications_network_item.tpl @@ -1,3 +1,3 @@ <div class="notif-item"> - <a href="{$item_link}" target="friendica-notifications"><img src="{$item_image}" class="notif-image">{$item_text} <span class="notif-when">{$item_when}</span></a> -</div>
\ No newline at end of file + <a href="$item_link" target="friendica-notifications"><img src="$item_image" class="notif-image">$item_text <span class="notif-when">$item_when</span></a> +</div> diff --git a/view/tpl/smarty3/404.tpl b/view/tpl/smarty3/404.tpl new file mode 100644 index 000000000..518ad1d29 --- /dev/null +++ b/view/tpl/smarty3/404.tpl @@ -0,0 +1 @@ +<h1>{{$message}}</h1> diff --git a/view/tpl/smarty3/abook_edit.tpl b/view/tpl/smarty3/abook_edit.tpl new file mode 100644 index 000000000..623f13dd4 --- /dev/null +++ b/view/tpl/smarty3/abook_edit.tpl @@ -0,0 +1,50 @@ + +<h2>{{$header}}</h2> + +<h3>{{$addr}}</h3> + +<div id="connection-flag-tabs"> +{{$tabs}} +</div> + +<div id="contact-edit-wrapper"> + +{{if $slide}} +<h3>{{$lbl_slider}}</h3> + +{{$slide}} + +{{/if}} + +<h3>Permissions</h3> + +<form action="connections/{{$contact_id}}" method="post" > +<input type="hidden" name="contact_id" value="{{$contact_id}}"> +<input id="contact-closeness-mirror" type="hidden" name="closeness" value="{{$close}}" /> + +<br /> +<b>{{$quick}}</b> +<ul> +<li><a href="#" onclick="connectFullShare(); return false;">{{$full}}</a></li> +<li><a href="#" onclick="connectCautiousShare(); return false;">{{$cautious}}</a></li> +<li><a href="#" onclick="connectFollowOnly(); return false;">{{$follow}}</a></li> +<br /> + +<div id="abook-advanced" class="fakelink" onclick="openClose('abook-advanced-panel');">{{$advanced}}</div> + +<div id="abook-advanced-panel" style="display: none;"> + +<span class="abook-them">{{$them}}</span><span class="abook-me">{{$me}}</span> +<br /> +<br /> +{{foreach $perms as $prm}} +{{include file="field_acheckbox.tpl" field=$prm}} +{{/foreach}} +<br /> + +</div> + +<input class="contact-edit-submit" type="submit" name="submit" value="{{$submit}}" /> + +</form> +</div> diff --git a/view/tpl/smarty3/acl_selector.tpl b/view/tpl/smarty3/acl_selector.tpl new file mode 100644 index 000000000..d21073b56 --- /dev/null +++ b/view/tpl/smarty3/acl_selector.tpl @@ -0,0 +1,28 @@ +<div id="acl-wrapper"> + <input id="acl-search"> + <a href="#" id="acl-showall">{{$showall}}</a> + <div id="acl-list"> + <div id="acl-list-content"> + </div> + </div> + <span id="acl-fields"></span> +</div> + +<div class="acl-list-item" rel="acl-template" style="display:none"> + <img src="{0}"><p>{1}</p> + <a href="#" class='acl-button-show'>{{$show}}</a> + <a href="#" class='acl-button-hide'>{{$hide}}</a> +</div> + +<script> +$(document).ready(function() { + setTimeout( function () { + if(typeof acl=="undefined"){ + acl = new ACL( + baseurl+"/acl", + [ {{$allowcid}},{{$allowgid}},{{$denycid}},{{$denygid}} ] + ); + } + }, 5000 ); +}); +</script> diff --git a/view/tpl/smarty3/admin_aside.tpl b/view/tpl/smarty3/admin_aside.tpl new file mode 100644 index 000000000..acf58668d --- /dev/null +++ b/view/tpl/smarty3/admin_aside.tpl @@ -0,0 +1,42 @@ +<script> + // update pending count // + $(function(){ + + $("nav").bind('nav-update', function(e,data){ + var elm = $('#pending-update'); + var register = $(data).find('register').text(); + if (register=="0") { reigster=""; elm.hide();} else { elm.show(); } + elm.html(register); + }); + }); +</script> +<h4><a href="{{$admurl}}">{{$admtxt}}</a></h4> +<ul class='admin linklist'> + <li class='admin link button {{$admin.site.2}}'><a href='{{$admin.site.0}}'>{{$admin.site.1}}</a></li> + <li class='admin link button {{$admin.users.2}}'><a href='{{$admin.users.0}}'>{{$admin.users.1}}</a><span id='pending-update' title='{{$h_pending}}'></span></li> + <li class='admin link button {{$admin.plugins.2}}'><a href='{{$admin.plugins.0}}'>{{$admin.plugins.1}}</a></li> + <li class='admin link button {{$admin.themes.2}}'><a href='{{$admin.themes.0}}'>{{$admin.themes.1}}</a></li> + <li class='admin link button {{$admin.dbsync.2}}'><a href='{{$admin.dbsync.0}}'>{{$admin.dbsync.1}}</a></li> +</ul> + +{{if $admin.update}} +<ul class='admin linklist'> + <li class='admin link button {{$admin.update.2}}'><a href='{{$admin.update.0}}'>{{$admin.update.1}}</a></li> + <li class='admin link button {{$admin.update.2}}'><a href='https://kakste.com/profile/inthegit'>Important Changes</a></li> +</ul> +{{/if}} + + +{{if $admin.plugins_admin}}<h4>{{$plugadmtxt}}</h4>{{/if}} +<ul class='admin linklist'> + {{foreach $admin.plugins_admin as $l}} + <li class='admin link button {{$l.2}}'><a href='{{$l.0}}'>{{$l.1}}</a></li> + {{/foreach}} +</ul> + + +<h4>{{$logtxt}}</h4> +<ul class='admin linklist'> + <li class='admin link button {{$admin.logs.2}}'><a href='{{$admin.logs.0}}'>{{$admin.logs.1}}</a></li> +</ul> + diff --git a/view/tpl/smarty3/admin_logs.tpl b/view/tpl/smarty3/admin_logs.tpl new file mode 100644 index 000000000..e5412429f --- /dev/null +++ b/view/tpl/smarty3/admin_logs.tpl @@ -0,0 +1,19 @@ +<div id='adminpage'> + <h1>{{$title}} - {{$page}}</h1> + + <form action="{{$baseurl}}/admin/logs" method="post"> + <input type='hidden' name='form_security_token' value='{{$form_security_token}}'> + + {{include file="field_checkbox.tpl" field=$debugging}} + {{include file="field_input.tpl" field=$logfile}} + {{include file="field_select.tpl" field=$loglevel}} + + <div class="submit"><input type="submit" name="page_logs" value="{{$submit}}" /></div> + + </form> + + <h3>{{$logname}}</h3> + <div style="width:100%; height:400px; overflow: auto; "><pre>{{$data}}</pre></div> +<!-- <iframe src='{{$baseurl}}/{{$logname}}' style="width:100%; height:400px"></iframe> --> + <!-- <div class="submit"><input type="submit" name="page_logs_clear_log" value="{{$clear}}" /></div> --> +</div> diff --git a/view/tpl/smarty3/admin_plugins.tpl b/view/tpl/smarty3/admin_plugins.tpl new file mode 100644 index 000000000..01c178c3e --- /dev/null +++ b/view/tpl/smarty3/admin_plugins.tpl @@ -0,0 +1,15 @@ +<div id='adminpage'> + <h1>{{$title}} - {{$page}}</h1> + + <ul id='pluginslist'> + {{foreach $plugins as $p}} + <li class='plugin {{$p.1}}'> + <a class='toggleplugin' href='{{$baseurl}}/admin/{{$function}}/{{$p.0}}?a=t&t={{$form_security_token}}' title="{{if $p.1==on}}Disable{{else}}Enable{{/if}}" ><span class='icon {{$p.1}}'></span></a> + <a href='{{$baseurl}}/admin/{{$function}}/{{$p.0}}'><span class='name'>{{$p.2.name}}</span></a> - <span class="version">{{$p.2.version}}</span> + {{if $p.2.experimental}} {{$experimental}} {{/if}}{{if $p.2.unsupported}} {{$unsupported}} {{/if}} + + <div class='desc'>{{$p.2.description}}</div> + </li> + {{/foreach}} + </ul> +</div> diff --git a/view/tpl/smarty3/admin_plugins_details.tpl b/view/tpl/smarty3/admin_plugins_details.tpl new file mode 100644 index 000000000..47c33bec3 --- /dev/null +++ b/view/tpl/smarty3/admin_plugins_details.tpl @@ -0,0 +1,36 @@ +<div id='adminpage'> + <h1>{{$title}} - {{$page}}</h1> + + <p><span class='toggleplugin icon {{$status}}'></span> {{$info.name}} - {{$info.version}} : <a href="{{$baseurl}}/admin/{{$function}}/{{$plugin}}/?a=t&t={{$form_security_token}}">{{$action}}</a></p> + <p>{{$info.description}}</p> + + <p class="author">{{$str_author}} + {{foreach $info.author as $a}} + {{if $a.link}}<a href="{{$a.link}}">{{$a.name}}</a>{{else}}{{$a.name}}{{/if}}, + {{/foreach}} + </p> + + <p class="maintainer">{{$str_maintainer}} + {{foreach $info.maintainer as $a}} + {{if $a.link}}<a href="{{$a.link}}">{{$a.name}}</a>{{else}}{{$a.name}}{{/if}}, + {{/foreach}} + </p> + + {{if $screenshot}} + <a href="{{$screenshot.0}}" class='screenshot'><img src="{{$screenshot.0}}" alt="{{$screenshot.1}}" /></a> + {{/if}} + + {{if $admin_form}} + <h3>{{$settings}}</h3> + <form method="post" action="{{$baseurl}}/admin/{{$function}}/{{$plugin}}/"> + {{$admin_form}} + </form> + {{/if}} + + {{if $readme}} + <h3>Readme</h3> + <div id="plugin_readme"> + {{$readme}} + </div> + {{/if}} +</div> diff --git a/view/tpl/smarty3/admin_remoteupdate.tpl b/view/tpl/smarty3/admin_remoteupdate.tpl new file mode 100644 index 000000000..6260741ed --- /dev/null +++ b/view/tpl/smarty3/admin_remoteupdate.tpl @@ -0,0 +1,98 @@ +<script src="js/jquery.htmlstream.js"></script> +<script> + /* ajax updater */ + function updateEnd(data){ + //$("#updatepopup .panel_text").html(data); + $("#remoteupdate_form").find("input").removeAttr('disabled'); + $(".panel_action_close").fadeIn() + } + function updateOn(data){ + + var patt=/§([^§]*)§/g; + var matches = data.match(patt); + $(matches).each(function(id,data){ + data = data.replace(/§/g,""); + d = data.split("@"); + console.log(d); + elm = $("#updatepopup .panel_text #"+d[0]); + html = "<div id='"+d[0]+"' class='progress'>"+d[1]+"<span>"+d[2]+"</span></div>"; + if (elm.length==0){ + $("#updatepopup .panel_text").append(html); + } else { + $(elm).replaceWith(html); + } + }); + + + } + + $(function(){ + $("#remoteupdate_form").submit(function(){ + var data={}; + $(this).find("input").each(function(i, e){ + name = $(e).attr('name'); + value = $(e).val(); + e.disabled = true; + data[name]=value; + }); + + $("#updatepopup .panel_text").html(""); + $("#updatepopup").show(); + $("#updatepopup .panel").hide().slideDown(500); + $(".panel_action_close").hide().click(function(){ + $("#updatepopup .panel").slideUp(500, function(){ + $("#updatepopup").hide(); + }); + }); + + $.post( + $(this).attr('action'), + data, + updateEnd, + 'text', + updateOn + ); + + + return false; + }) + }); +</script> +<div id="updatepopup" class="popup"> + <div class="background"></div> + <div class="panel"> + <div class="panel_in"> + <h1>Friendica Update</h1> + <div class="panel_text"></div> + <div class="panel_actions"> + <input type="button" value="{{$close}}" class="panel_action_close"> + </div> + </div> + </div> +</div> +<div id="adminpage"> + <dl> <dt>Your version:</dt><dd>{{$localversion}}</dd> </dl> +{{if $needupdate}} + <dl> <dt>New version:</dt><dd>{{$remoteversion}}</dd> </dl> + + <form id="remoteupdate_form" method="POST" action="{{$baseurl}}/admin/update"> + <input type="hidden" name="{{$remotefile.0}}" value="{{$remotefile.2}}"> + + {{if $canwrite}} + <div class="submit"><input type="submit" name="remoteupdate" value="{{$submit}}" /></div> + {{else}} + <h3>Your friendica installation is not writable by web server.</h3> + {{if $canftp}} + <p>You can try to update via FTP</p> + {{include file="field_input.tpl" field=$ftphost}} + {{include file="field_input.tpl" field=$ftppath}} + {{include file="field_input.tpl" field=$ftpuser}} + {{include file="field_password.tpl" field=$ftppwd}} + <div class="submit"><input type="submit" name="remoteupdate" value="{{$submit}}" /></div> + {{/if}} + {{/if}} + </form> +{{else}} +<h4>No updates</h4> +{{/if}} +</div> diff --git a/view/tpl/smarty3/admin_site.tpl b/view/tpl/smarty3/admin_site.tpl new file mode 100644 index 000000000..86cac214f --- /dev/null +++ b/view/tpl/smarty3/admin_site.tpl @@ -0,0 +1,82 @@ +<script> + $(function(){ + + $("#cnftheme").fancybox({ + width: 800, + autoDimensions: false, + onStart: function(){ + var theme = $("#id_theme :selected").val(); + $("#cnftheme").attr('href',"{{$baseurl}}/admin/themes/"+theme); + }, + onComplete: function(){ + $("div#fancybox-content form").submit(function(e){ + var url = $(this).attr('action'); + // can't get .serialize() to work... + var data={}; + $(this).find("input").each(function(){ + data[$(this).attr('name')] = $(this).val(); + }); + $(this).find("select").each(function(){ + data[$(this).attr('name')] = $(this).children(":selected").val(); + }); + console.log(":)", url, data); + + $.post(url, data, function(data) { + if(timer) clearTimeout(timer); + NavUpdate(); + $.fancybox.close(); + }) + + return false; + }); + + } + }); + }); +</script> +<div id='adminpage'> + <h1>{{$title}} - {{$page}}</h1> + + <form action="{{$baseurl}}/admin/site" method="post"> + <input type='hidden' name='form_security_token' value='{{$form_security_token}}'> + + {{include file="field_input.tpl" field=$sitename}} + {{include file="field_textarea.tpl" field=$banner}} + {{include file="field_select.tpl" field=$language}} + {{include file="field_select.tpl" field=$theme}} + {{include file="field_select.tpl" field=$ssl_policy}} + + <div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div> + + <h3>{{$registration}}</h3> + {{include file="field_input.tpl" field=$register_text}} + {{include file="field_select.tpl" field=$register_policy}} + + <div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div> + + <h3>{{$upload}}</h3> + {{include file="field_input.tpl" field=$maximagesize}} + + <h3>{{$corporate}}</h3> + {{include file="field_input.tpl" field=$allowed_sites}} + {{include file="field_input.tpl" field=$allowed_email}} + {{include file="field_checkbox.tpl" field=$block_public}} + {{include file="field_checkbox.tpl" field=$force_publish}} + {{include file="field_checkbox.tpl" field=$no_community_page}} + {{include file="field_input.tpl" field=$global_directory}} + + <div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div> + + <h3>{{$advanced}}</h3> + {{include file="field_input.tpl" field=$proxy}} + {{include file="field_input.tpl" field=$proxyuser}} + {{include file="field_input.tpl" field=$timeout}} + {{include file="field_input.tpl" field=$delivery_interval}} + {{include file="field_input.tpl" field=$poll_interval}} + {{include file="field_input.tpl" field=$maxloadavg}} + {{include file="field_input.tpl" field=$abandon_days}} + + <div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div> + + </form> +</div> diff --git a/view/tpl/smarty3/admin_summary.tpl b/view/tpl/smarty3/admin_summary.tpl new file mode 100644 index 000000000..339dbddb6 --- /dev/null +++ b/view/tpl/smarty3/admin_summary.tpl @@ -0,0 +1,40 @@ +<div id='adminpage'> + <h1>{{$title}} - {{$page}}</h1> + + <dl> + <dt>{{$queues.label}}</dt> + <dd>{{$queues.deliverq}} - {{$queues.queue}}</dd> + </dl> + <dl> + <dt>{{$pending.0}}</dt> + <dd>{{$pending.1}}</dt> + </dl> + + <dl> + <dt>{{$users.0}}</dt> + <dd>{{$users.1}}</dd> + </dl> + {{foreach $accounts as $p}} + <dl> + <dt>{{$p.0}}</dt> + <dd>{{if $p.1}}{{$p.1}}{{else}}0{{/if}}</dd> + </dl> + {{/foreach}} + + + <dl> + <dt>{{$plugins.0}}</dt> + + {{foreach $plugins.1 as $p}} + <dd>{{$p}}</dd> + {{/foreach}} + + </dl> + + <dl> + <dt>{{$version.0}}</dt> + <dd>{{$version.1}} - {{$build}}</dt> + </dl> + + +</div> diff --git a/view/tpl/smarty3/admin_users.tpl b/view/tpl/smarty3/admin_users.tpl new file mode 100644 index 000000000..d71d770f3 --- /dev/null +++ b/view/tpl/smarty3/admin_users.tpl @@ -0,0 +1,89 @@ +<script> + function confirm_delete(uname){ + return confirm( "{{$confirm_delete}}".format(uname)); + } + function confirm_delete_multi(){ + return confirm("{{$confirm_delete_multi}}"); + } + function selectall(cls){ + $("."+cls).attr('checked','checked'); + return false; + } +</script> +<div id='adminpage'> + <h1>{{$title}} - {{$page}}</h1> + + <form action="{{$baseurl}}/admin/users" method="post"> + <input type='hidden' name='form_security_token' value='{{$form_security_token}}'> + + <h3>{{$h_pending}}</h3> + {{if $pending}} + <table id='pending'> + <thead> + <tr> + {{foreach $th_pending as $th}}<th>{{$th}}</th>{{/foreach}} + <th></th> + <th></th> + </tr> + </thead> + <tbody> + {{foreach $pending as $u}} + <tr> + <td class="created">{{$u.created}}</td> + <td class="name">{{$u.name}}</td> + <td class="email">{{$u.email}}</td> + <td class="checkbox"><input type="checkbox" class="pending_ckbx" id="id_pending_{{$u.hash}}" name="pending[]" value="{{$u.hash}}" /></td> + <td class="tools"> + <a href="{{$baseurl}}/regmod/allow/{{$u.hash}}" title='{{$approve}}'><span class='icon like'></span></a> + <a href="{{$baseurl}}/regmod/deny/{{$u.hash}}" title='{{$deny}}'><span class='icon dislike'></span></a> + </td> + </tr> + {{/foreach}} + </tbody> + </table> + <div class='selectall'><a href='#' onclick="return selectall('pending_ckbx');">{{$select_all}}</a></div> + <div class="submit"><input type="submit" name="page_users_deny" value="{{$deny}}"/> <input type="submit" name="page_users_approve" value="{{$approve}}" /></div> + {{else}} + <p>{{$no_pending}}</p> + {{/if}} + + + + + <h3>{{$h_users}}</h3> + {{if $users}} + <table id='users'> + <thead> + <tr> + <th></th> + {{foreach $th_users as $th}}<th>{{$th}}</th>{{/foreach}} + <th></th> + <th></th> + </tr> + </thead> + <tbody> + {{foreach $users as $u}} + <tr> + <td><img src="{{$u.micro}}" alt="{{$u.nickname}}" title="{{$u.nickname}}"></td> + <td class='name'><a href="{{$u.url}}" title="{{$u.nickname}}" >{{$u.name}}</a></td> + <td class='email'>{{$u.email}}</td> + <td class='register_date'>{{$u.register_date}}</td> + <td class='login_date'>{{$u.login_date}}</td> + <td class='lastitem_date'>{{$u.lastitem_date}}</td> + <td class='login_date'>{{$u.page_flags}}</td> + <td class="checkbox"><input type="checkbox" class="users_ckbx" id="id_user_{{$u.uid}}" name="user[]" value="{{$u.uid}}"/></td> + <td class="tools"> + <a href="{{$baseurl}}/admin/users/block/{{$u.uid}}?t={{$form_security_token}}" title='{{if $u.blocked}}{{$unblock}}{{else}}{{$block}}{{/if}}'><span class='icon block {{if $u.blocked==0}}dim{{/if}}'></span></a> + <a href="{{$baseurl}}/admin/users/delete/{{$u.uid}}?t={{$form_security_token}}" title='{{$delete}}' onclick="return confirm_delete('{{$u.name}}')"><span class='icon drop'></span></a> + </td> + </tr> + {{/foreach}} + </tbody> + </table> + <div class='selectall'><a href='#' onclick="return selectall('users_ckbx');">{{$select_all}}</a></div> + <div class="submit"><input type="submit" name="page_users_block" value="{{$block}}/{{$unblock}}" /> <input type="submit" name="page_users_delete" value="{{$delete}}" onclick="return confirm_delete_multi()" /></div> + {{else}} + NO USERS?!? + {{/if}} + </form> +</div> diff --git a/view/tpl/smarty3/album_edit.tpl b/view/tpl/smarty3/album_edit.tpl new file mode 100644 index 000000000..61653c47c --- /dev/null +++ b/view/tpl/smarty3/album_edit.tpl @@ -0,0 +1,15 @@ +<div id="photo-album-edit-wrapper"> +<form name="photo-album-edit-form" id="photo-album-edit-form" action="photos/{{$nickname}}/album/{{$hexalbum}}" method="post" > + + +<label id="photo-album-edit-name-label" for="photo-album-edit-name" >{{$nametext}}</label> +<input type="text" size="64" name="albumname" value="{{$album}}" > + +<div id="photo-album-edit-name-end"></div> + +<input id="photo-album-edit-submit" type="submit" name="submit" value="{{$submit}}" /> +<input id="photo-album-edit-drop" type="submit" name="dropalbum" value="{{$dropsubmit}}" onclick="return confirmDelete();" /> + +</form> +</div> +<div id="photo-album-edit-end" ></div> diff --git a/view/tpl/smarty3/api_config_xml.tpl b/view/tpl/smarty3/api_config_xml.tpl new file mode 100644 index 000000000..8c0766c73 --- /dev/null +++ b/view/tpl/smarty3/api_config_xml.tpl @@ -0,0 +1,66 @@ +<config> + <site> + <name>{{$config.site.name}}</name> + <server>{{$config.site.server}}</server> + <theme>default</theme> + <path></path> + <logo>{{$config.site.logo}}</logo> + + <fancy>true</fancy> + <language>en</language> + <email>{{$config.site.email}}</email> + <broughtby></broughtby> + <broughtbyurl></broughtbyurl> + <timezone>UTC</timezone> + <closed>{{$config.site.closed}}</closed> + + <inviteonly>false</inviteonly> + <private>{{$config.site.private}}</private> + <textlimit>{{$config.site.textlimit}}</textlimit> + <ssl>{{$config.site.ssl}}</ssl> + <sslserver>{{$config.site.sslserver}}</sslserver> + <shorturllength>30</shorturllength> + +</site> + <license> + <type>cc</type> + <owner></owner> + <url>http://creativecommons.org/licenses/by/3.0/</url> + <title>Creative Commons Attribution 3.0</title> + <image>http://i.creativecommons.org/l/by/3.0/80x15.png</image> + +</license> + <nickname> + <featured></featured> +</nickname> + <profile> + <biolimit></biolimit> +</profile> + <group> + <desclimit></desclimit> +</group> + <notice> + + <contentlimit></contentlimit> +</notice> + <throttle> + <enabled>false</enabled> + <count>20</count> + <timespan>600</timespan> +</throttle> + <xmpp> + + <enabled>false</enabled> + <server>INVALID SERVER</server> + <port>5222</port> + <user>update</user> +</xmpp> + <integration> + <source>StatusNet</source> + +</integration> + <attachments> + <uploads>false</uploads> + <file_quota>0</file_quota> +</attachments> +</config> diff --git a/view/tpl/smarty3/api_friends_xml.tpl b/view/tpl/smarty3/api_friends_xml.tpl new file mode 100644 index 000000000..f2a7234d1 --- /dev/null +++ b/view/tpl/smarty3/api_friends_xml.tpl @@ -0,0 +1,5 @@ +<users type="array"> + {{foreach $users as $user}} + {{include file="api_user_xml.tpl"}} + {{/foreach}} +</users> diff --git a/view/tpl/smarty3/api_ratelimit_xml.tpl b/view/tpl/smarty3/api_ratelimit_xml.tpl new file mode 100644 index 000000000..e4b470a25 --- /dev/null +++ b/view/tpl/smarty3/api_ratelimit_xml.tpl @@ -0,0 +1,6 @@ +<hash> + <remaining-hits type="integer">{{$hash.remaining_hits}}</remaining-hits> + <hourly-limit type="integer">{{$hash.hourly_limit}}</hourly-limit> + <reset-time type="datetime">{{$hash.reset_time}}</reset-time> + <reset_time_in_seconds type="integer">{{$hash.resettime_in_seconds}}</reset_time_in_seconds> +</hash> diff --git a/view/tpl/smarty3/api_status_xml.tpl b/view/tpl/smarty3/api_status_xml.tpl new file mode 100644 index 000000000..cbb736e22 --- /dev/null +++ b/view/tpl/smarty3/api_status_xml.tpl @@ -0,0 +1,46 @@ +<status>{{if $status}} + <created_at>{{$status.created_at}}</created_at> + <id>{{$status.id}}</id> + <text>{{$status.text}}</text> + <source>{{$status.source}}</source> + <truncated>{{$status.truncated}}</truncated> + <in_reply_to_status_id>{{$status.in_reply_to_status_id}}</in_reply_to_status_id> + <in_reply_to_user_id>{{$status.in_reply_to_user_id}}</in_reply_to_user_id> + <favorited>{{$status.favorited}}</favorited> + <in_reply_to_screen_name>{{$status.in_reply_to_screen_name}}</in_reply_to_screen_name> + <geo>{{$status.geo}}</geo> + <coordinates>{{$status.coordinates}}</coordinates> + <place>{{$status.place}}</place> + <contributors>{{$status.contributors}}</contributors> + <user> + <id>{{$status.user.id}}</id> + <name>{{$status.user.name}}</name> + <screen_name>{{$status.user.screen_name}}</screen_name> + <location>{{$status.user.location}}</location> + <description>{{$status.user.description}}</description> + <profile_image_url>{{$status.user.profile_image_url}}</profile_image_url> + <url>{{$status.user.url}}</url> + <protected>{{$status.user.protected}}</protected> + <followers_count>{{$status.user.followers}}</followers_count> + <profile_background_color>{{$status.user.profile_background_color}}</profile_background_color> + <profile_text_color>{{$status.user.profile_text_color}}</profile_text_color> + <profile_link_color>{{$status.user.profile_link_color}}</profile_link_color> + <profile_sidebar_fill_color>{{$status.user.profile_sidebar_fill_color}}</profile_sidebar_fill_color> + <profile_sidebar_border_color>{{$status.user.profile_sidebar_border_color}}</profile_sidebar_border_color> + <friends_count>{{$status.user.friends_count}}</friends_count> + <created_at>{{$status.user.created_at}}</created_at> + <favourites_count>{{$status.user.favourites_count}}</favourites_count> + <utc_offset>{{$status.user.utc_offset}}</utc_offset> + <time_zone>{{$status.user.time_zone}}</time_zone> + <profile_background_image_url>{{$status.user.profile_background_image_url}}</profile_background_image_url> + <profile_background_tile>{{$status.user.profile_background_tile}}</profile_background_tile> + <profile_use_background_image>{{$status.user.profile_use_background_image}}</profile_use_background_image> + <notifications></notifications> + <geo_enabled>{{$status.user.geo_enabled}}</geo_enabled> + <verified>{{$status.user.verified}}</verified> + <following></following> + <statuses_count>{{$status.user.statuses_count}}</statuses_count> + <lang>{{$status.user.lang}}</lang> + <contributors_enabled>{{$status.user.contributors_enabled}}</contributors_enabled> + </user> +{{/if}}</status> diff --git a/view/tpl/smarty3/api_test_xml.tpl b/view/tpl/smarty3/api_test_xml.tpl new file mode 100644 index 000000000..80a541c39 --- /dev/null +++ b/view/tpl/smarty3/api_test_xml.tpl @@ -0,0 +1 @@ +<ok>{{$ok}}</ok> diff --git a/view/tpl/smarty3/api_timeline_atom.tpl b/view/tpl/smarty3/api_timeline_atom.tpl new file mode 100644 index 000000000..e8bfb689e --- /dev/null +++ b/view/tpl/smarty3/api_timeline_atom.tpl @@ -0,0 +1,90 @@ +<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:georss="http://www.georss.org/georss" xmlns:activity="http://activitystrea.ms/spec/1.0/" xmlns:media="http://purl.org/syndication/atommedia" xmlns:poco="http://portablecontacts.net/spec/1.0" xmlns:ostatus="http://ostatus.org/schema/1.0" xmlns:statusnet="http://status.net/schema/api/1/"> + <generator uri="http://status.net" version="0.9.7">StatusNet</generator> + <id>{{$rss.self}}</id> + <title>Friendika</title> + <subtitle>Friendika API feed</subtitle> + <logo>{{$rss.logo}}</logo> + <updated>{{$rss.atom_updated}}</updated> + <link type="text/html" rel="alternate" href="{{$rss.alternate}}"/> + <link type="application/atom+xml" rel="self" href="{{$rss.self}}"/> + + + <author> + <activity:obj_type>http://activitystrea.ms/schema/1.0/person</activity:obj_type> + <uri>{{$user.url}}</uri> + <name>{{$user.name}}</name> + <link rel="alternate" type="text/html" href="{{$user.url}}"/> + <link rel="avatar" type="image/jpeg" media:width="106" media:height="106" href="{{$user.profile_image_url}}"/> + <link rel="avatar" type="image/jpeg" media:width="96" media:height="96" href="{{$user.profile_image_url}}"/> + <link rel="avatar" type="image/jpeg" media:width="48" media:height="48" href="{{$user.profile_image_url}}"/> + <link rel="avatar" type="image/jpeg" media:width="24" media:height="24" href="{{$user.profile_image_url}}"/> + <georss:point></georss:point> + <poco:preferredUsername>{{$user.screen_name}}</poco:preferredUsername> + <poco:displayName>{{$user.name}}</poco:displayName> + <poco:urls> + <poco:type>homepage</poco:type> + <poco:value>{{$user.url}}</poco:value> + <poco:primary>true</poco:primary> + </poco:urls> + <statusnet:profile_info local_id="{{$user.id}}"></statusnet:profile_info> + </author> + + <!--Deprecation warning: activity:subject is present only for backward compatibility. It will be removed in the next version of StatusNet.--> + <activity:subject> + <activity:obj_type>http://activitystrea.ms/schema/1.0/person</activity:obj_type> + <id>{{$user.contact_url}}</id> + <title>{{$user.name}}</title> + <link rel="alternate" type="text/html" href="{{$user.url}}"/> + <link rel="avatar" type="image/jpeg" media:width="106" media:height="106" href="{{$user.profile_image_url}}"/> + <link rel="avatar" type="image/jpeg" media:width="96" media:height="96" href="{{$user.profile_image_url}}"/> + <link rel="avatar" type="image/jpeg" media:width="48" media:height="48" href="{{$user.profile_image_url}}"/> + <link rel="avatar" type="image/jpeg" media:width="24" media:height="24" href="{{$user.profile_image_url}}"/> + <poco:preferredUsername>{{$user.screen_name}}</poco:preferredUsername> + <poco:displayName>{{$user.name}}</poco:displayName> + <poco:urls> + <poco:type>homepage</poco:type> + <poco:value>{{$user.url}}</poco:value> + <poco:primary>true</poco:primary> + </poco:urls> + <statusnet:profile_info local_id="{{$user.id}}"></statusnet:profile_info> + </activity:subject> + + + {{foreach $statuses as $status}} + <entry> + <activity:obj_type>{{$status.objecttype}}</activity:obj_type> + <id>{{$status.message_id}}</id> + <title>{{$status.text}}</title> + <content type="html">{{$status.statusnet_html}}</content> + <link rel="alternate" type="text/html" href="{{$status.url}}"/> + <activity:verb>{{$status.verb}}</activity:verb> + <published>{{$status.published}}</published> + <updated>{{$status.updated}}</updated> + + <link rel="self" type="application/atom+xml" href="{{$status.self}}"/> + <link rel="edit" type="application/atom+xml" href="{{$status.edit}}"/> + <statusnet:notice_info local_id="{{$status.id}}" source="{{$status.source}}" > + </statusnet:notice_info> + + <author> + <activity:obj_type>http://activitystrea.ms/schema/1.0/person</activity:obj_type> + <uri>{{$status.user.url}}</uri> + <name>{{$status.user.name}}</name> + <link rel="alternate" type="text/html" href="{{$status.user.url}}"/> + <link rel="avatar" type="image/jpeg" media:width="48" media:height="48" href="{{$status.user.profile_image_url}}"/> + + <georss:point/> + <poco:preferredUsername>{{$status.user.screen_name}}</poco:preferredUsername> + <poco:displayName>{{$status.user.name}}</poco:displayName> + <poco:address/> + <poco:urls> + <poco:type>homepage</poco:type> + <poco:value>{{$status.user.url}}</poco:value> + <poco:primary>true</poco:primary> + </poco:urls> + </author> + <link rel="ostatus:conversation" type="text/html" href="{{$status.url}}"/> + + </entry> + {{/foreach}} +</feed> diff --git a/view/tpl/smarty3/api_timeline_rss.tpl b/view/tpl/smarty3/api_timeline_rss.tpl new file mode 100644 index 000000000..86c645e99 --- /dev/null +++ b/view/tpl/smarty3/api_timeline_rss.tpl @@ -0,0 +1,26 @@ +<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:georss="http://www.georss.org/georss" xmlns:twitter="http://api.twitter.com"> + <channel> + <title>Friendika</title> + <link>{{$rss.alternate}}</link> + <atom:link type="application/rss+xml" rel="self" href="{{$rss.self}}"/> + <description>Friendika timeline</description> + <language>{{$rss.language}}</language> + <ttl>40</ttl> + <image> + <link>{{$user.link}}</link> + <title>{{$user.name}}'s items</title> + <url>{{$user.profile_image_url}}</url> + </image> + +{{foreach $statuses as $status}} + <item> + <title>{{$status.user.name}}: {{$status.text}}</title> + <description>{{$status.text}}</description> + <pubDate>{{$status.created_at}}</pubDate> + <guid>{{$status.url}}</guid> + <link>{{$status.url}}</link> + <twitter:source>{{$status.source}}</twitter:source> + </item> +{{/foreach}} + </channel> +</rss> diff --git a/view/tpl/smarty3/api_timeline_xml.tpl b/view/tpl/smarty3/api_timeline_xml.tpl new file mode 100644 index 000000000..f14d73e9c --- /dev/null +++ b/view/tpl/smarty3/api_timeline_xml.tpl @@ -0,0 +1,20 @@ +<statuses type="array" xmlns:statusnet="http://status.net/schema/api/1/"> +{{foreach $statuses as $status}} <status> + <text>{{$status.text}}</text> + <truncated>{{$status.truncated}}</truncated> + <created_at>{{$status.created_at}}</created_at> + <in_reply_to_status_id>{{$status.in_reply_to_status_id}}</in_reply_to_status_id> + <source>{{$status.source}}</source> + <id>{{$status.id}}</id> + <in_reply_to_user_id>{{$status.in_reply_to_user_id}}</in_reply_to_user_id> + <in_reply_to_screen_name>{{$status.in_reply_to_screen_name}}</in_reply_to_screen_name> + <geo>{{$status.geo}}</geo> + <favorited>{{$status.favorited}}</favorited> +{{include file="api_user_xml.tpl" user=$status.user}} <statusnet:html>{{$status.statusnet_html}}</statusnet:html> + <statusnet:conversation_id>{{$status.statusnet_conversation_id}}</statusnet:conversation_id> + <url>{{$status.url}}</url> + <coordinates>{{$status.coordinates}}</coordinates> + <place>{{$status.place}}</place> + <contributors>{{$status.contributors}}</contributors> + </status> +{{/foreach}}</statuses> diff --git a/view/tpl/smarty3/api_user_xml.tpl b/view/tpl/smarty3/api_user_xml.tpl new file mode 100644 index 000000000..3b51992f6 --- /dev/null +++ b/view/tpl/smarty3/api_user_xml.tpl @@ -0,0 +1,46 @@ + <user> + <id>{{$user.id}}</id> + <name>{{$user.name}}</name> + <screen_name>{{$user.screen_name}}</screen_name> + <location>{{$user.location}}</location> + <description>{{$user.description}}</description> + <profile_image_url>{{$user.profile_image_url}}</profile_image_url> + <url>{{$user.url}}</url> + <protected>{{$user.protected}}</protected> + <followers_count>{{$user.followers_count}}</followers_count> + <friends_count>{{$user.friends_count}}</friends_count> + <created_at>{{$user.created_at}}</created_at> + <favourites_count>{{$user.favourites_count}}</favourites_count> + <utc_offset>{{$user.utc_offset}}</utc_offset> + <time_zone>{{$user.time_zone}}</time_zone> + <statuses_count>{{$user.statuses_count}}</statuses_count> + <following>{{$user.following}}</following> + <profile_background_color>{{$user.profile_background_color}}</profile_background_color> + <profile_text_color>{{$user.profile_text_color}}</profile_text_color> + <profile_link_color>{{$user.profile_link_color}}</profile_link_color> + <profile_sidebar_fill_color>{{$user.profile_sidebar_fill_color}}</profile_sidebar_fill_color> + <profile_sidebar_border_color>{{$user.profile_sidebar_border_color}}</profile_sidebar_border_color> + <profile_background_image_url>{{$user.profile_background_image_url}}</profile_background_image_url> + <profile_background_tile>{{$user.profile_background_tile}}</profile_background_tile> + <profile_use_background_image>{{$user.profile_use_background_image}}</profile_use_background_image> + <notifications>{{$user.notifications}}</notifications> + <geo_enabled>{{$user.geo_enabled}}</geo_enabled> + <verified>{{$user.verified}}</verified> + <lang>{{$user.lang}}</lang> + <contributors_enabled>{{$user.contributors_enabled}}</contributors_enabled> + <status>{{if $user.status}} + <created_at>{{$user.status.created_at}}</created_at> + <id>{{$user.status.id}}</id> + <text>{{$user.status.text}}</text> + <source>{{$user.status.source}}</source> + <truncated>{{$user.status.truncated}}</truncated> + <in_reply_to_status_id>{{$user.status.in_reply_to_status_id}}</in_reply_to_status_id> + <in_reply_to_user_id>{{$user.status.in_reply_to_user_id}}</in_reply_to_user_id> + <favorited>{{$user.status.favorited}}</favorited> + <in_reply_to_screen_name>{{$user.status.in_reply_to_screen_name}}</in_reply_to_screen_name> + <geo>{{$user.status.geo}}</geo> + <coordinates>{{$user.status.coordinates}}</coordinates> + <place>{{$user.status.place}}</place> + <contributors>{{$user.status.contributors}}</contributors> + {{/if}}</status> + </user> diff --git a/view/tpl/smarty3/apps.tpl b/view/tpl/smarty3/apps.tpl new file mode 100644 index 000000000..335e0ca97 --- /dev/null +++ b/view/tpl/smarty3/apps.tpl @@ -0,0 +1,7 @@ +<h3>{{$title}}</h3> + +<ul> + {{foreach $apps as $ap}} + <li>{{$ap}}</li> + {{/foreach}} +</ul> diff --git a/view/tpl/smarty3/atom_feed.tpl b/view/tpl/smarty3/atom_feed.tpl new file mode 100644 index 000000000..ccb85a48a --- /dev/null +++ b/view/tpl/smarty3/atom_feed.tpl @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8" ?> +<feed xmlns="http://www.w3.org/2005/Atom" + xmlns:thr="http://purl.org/syndication/thread/1.0" + xmlns:at="http://purl.org/atompub/tombstones/1.0" + xmlns:media="http://purl.org/syndication/atommedia" + xmlns:dfrn="http://purl.org/macgirvin/dfrn/1.0" + xmlns:as="http://activitystrea.ms/spec/1.0/" + xmlns:georss="http://www.georss.org/georss" + xmlns:poco="http://portablecontacts.net/spec/1.0" + xmlns:ostatus="http://ostatus.org/schema/1.0" + xmlns:statusnet="http://status.net/schema/api/1/" > + + <id>{{$feed_id}}</id> + <title>{{$feed_title}}</title> + <generator uri="http://friendica.com" version="{{$version}}">Friendica</generator> + <link rel="license" href="http://creativecommons.org/licenses/by/3.0/" /> + {{$hub}} + {{$salmon}} + {{$community}} + + <updated>{{$feed_updated}}</updated> + + <dfrn:owner> + <name dfrn:updated="{{$namdate}}" >{{$name}}</name> + <uri dfrn:updated="{{$uridate}}" >{{$profile_page}}</uri> + <link rel="photo" type="image/jpeg" dfrn:updated="{{$picdate}}" media:width="175" media:height="175" href="{{$photo}}" /> + <link rel="avatar" type="image/jpeg" dfrn:updated="{{$picdate}}" media:width="175" media:height="175" href="{{$photo}}" /> + {{$birthday}} + </dfrn:owner> diff --git a/view/tpl/smarty3/atom_feed_dfrn.tpl b/view/tpl/smarty3/atom_feed_dfrn.tpl new file mode 100644 index 000000000..307001fbe --- /dev/null +++ b/view/tpl/smarty3/atom_feed_dfrn.tpl @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="utf-8" ?> +<feed xmlns="http://www.w3.org/2005/Atom" + xmlns:thr="http://purl.org/syndication/thread/1.0" + xmlns:at="http://purl.org/atompub/tombstones/1.0" + xmlns:media="http://purl.org/syndication/atommedia" + xmlns:dfrn="http://purl.org/macgirvin/dfrn/1.0" + xmlns:as="http://activitystrea.ms/spec/1.0/" + xmlns:georss="http://www.georss.org/georss" + xmlns:poco="http://portablecontacts.net/spec/1.0" + xmlns:ostatus="http://ostatus.org/schema/1.0" + xmlns:statusnet="http://status.net/schema/api/1/" > + + <id>{{$feed_id}}</id> + <title>{{$feed_title}}</title> + <generator uri="http://friendica.com" version="{{$version}}">Friendica</generator> + <link rel="license" href="http://creativecommons.org/licenses/by/3.0/" /> + {{$hub}} + {{$salmon}} + {{$community}} + + <updated>{{$feed_updated}}</updated> + + <author> + <name dfrn:updated="{{$namdate}}" >{{$name}}</name> + <uri dfrn:updated="{{$uridate}}" >{{$profile_page}}</uri> + <link rel="photo" type="image/jpeg" dfrn:updated="{{$picdate}}" media:width="175" media:height="175" href="{{$photo}}" /> + <link rel="avatar" type="image/jpeg" dfrn:updated="{{$picdate}}" media:width="175" media:height="175" href="{{$photo}}" /> + {{$birthday}} + </author> diff --git a/view/tpl/smarty3/atom_mail.tpl b/view/tpl/smarty3/atom_mail.tpl new file mode 100644 index 000000000..9b843f585 --- /dev/null +++ b/view/tpl/smarty3/atom_mail.tpl @@ -0,0 +1,17 @@ + +<dfrn:mail> + + <dfrn:sender> + <dfrn:name>{{$name}}</dfrn:name> + <dfrn:uri>{{$profile_page}}</dfrn:uri> + <dfrn:avatar>{{$thumb}}</dfrn:avatar> + </dfrn:sender> + + <dfrn:id>{{$item_id}}</dfrn:id> + <dfrn:in-reply-to>{{$parent_id}}</dfrn:in-reply-to> + <dfrn:sentdate>{{$created}}</dfrn:sentdate> + <dfrn:subject>{{$subject}}</dfrn:subject> + <dfrn:content>{{$content}}</dfrn:content> + +</dfrn:mail> + diff --git a/view/tpl/smarty3/atom_suggest.tpl b/view/tpl/smarty3/atom_suggest.tpl new file mode 100644 index 000000000..972b9bc0b --- /dev/null +++ b/view/tpl/smarty3/atom_suggest.tpl @@ -0,0 +1,11 @@ + +<dfrn:suggest> + + <dfrn:url>{{$url}}</dfrn:url> + <dfrn:name>{{$name}}</dfrn:name> + <dfrn:photo>{{$photo}}</dfrn:photo> + <dfrn:request>{{$request}}</dfrn:request> + <dfrn:note>{{$note}}</dfrn:note> + +</dfrn:suggest> + diff --git a/view/tpl/smarty3/auto_request.tpl b/view/tpl/smarty3/auto_request.tpl new file mode 100644 index 000000000..dfc5a4c80 --- /dev/null +++ b/view/tpl/smarty3/auto_request.tpl @@ -0,0 +1,37 @@ + +<h1>{{$header}}</h1> + +<p id="dfrn-request-intro"> +{{$page_desc}}<br /> +<ul id="dfrn-request-networks"> +<li><a href="http://friendica.com" title="{{$friendica}}">{{$friendica}}</a></li> +<li><a href="http://joindiaspora.com" title="{{$diaspora}}">{{$diaspora}}</a> {{$diasnote}}</li> +<li><a href="http://ostatus.org" title="{{$public_net}}" >{{$statusnet}}</a></li> +{{if $emailnet}}<li>{{$emailnet}}</li>{{/if}} +</ul> +</p> +<p> +{{$invite_desc}} +</p> +<p> +{{$desc}} +</p> + +<form action="dfrn_request/{{$nickname}}" method="post" /> + +<div id="dfrn-request-url-wrapper" > + <label id="dfrn-url-label" for="dfrn-url" >{{$your_address}}</label> + <input type="text" name="dfrn_url" id="dfrn-url" size="32" value="{{$myaddr}}" /> + <div id="dfrn-request-url-end"></div> +</div> + + +<div id="dfrn-request-info-wrapper" > + +</div> + + <div id="dfrn-request-submit-wrapper"> + <input type="submit" name="submit" id="dfrn-request-submit-button" value="{{$submit}}" /> + <input type="submit" name="cancel" id="dfrn-request-cancel-button" value="{{$cancel}}" /> + </div> +</form> diff --git a/view/tpl/smarty3/birthdays_reminder.tpl b/view/tpl/smarty3/birthdays_reminder.tpl new file mode 100644 index 000000000..d0500364a --- /dev/null +++ b/view/tpl/smarty3/birthdays_reminder.tpl @@ -0,0 +1,10 @@ +{{if $count}} +<div id="birthday-notice" class="birthday-notice fakelink {{$classtoday}}" onclick="openClose('birthday-wrapper');">{{$event_reminders}} ({{$count}})</div> +<div id="birthday-wrapper" style="display: none;" ><div id="birthday-title">{{$event_title}}</div> +<div id="birthday-title-end"></div> +{{foreach $events as $event}} +<div class="birthday-list" id="birthday-{{$event.id}}"></a> <a href="{{$event.link}}">{{$event.title}}</a> {{$event.date}} </div> +{{/foreach}} +</div> +{{/if}} + diff --git a/view/tpl/smarty3/build_query.tpl b/view/tpl/smarty3/build_query.tpl new file mode 100644 index 000000000..cd978d86e --- /dev/null +++ b/view/tpl/smarty3/build_query.tpl @@ -0,0 +1,50 @@ +<script> + + var bParam_cmd = "{{$baseurl}}/update_{{$pgtype}}"; + + + var bParam_uid = {{$uid}}; + var bParam_gid = {{$gid}}; + var bParam_cid = {{$cid}}; + var bParam_cmin = {{$cmin}}; + var bParam_cmax = {{$cmax}}; + var bParam_star = {{$star}}; + var bParam_liked = {{$liked}}; + var bParam_conv = {{$conv}}; + var bParam_spam = {{$spam}}; + var bParam_new = {{$nouveau}}; + var bParam_page = {{$page}}; + var bParam_wall = {{$wall}}; + + var bParam_search = "{{$search}}"; + var bParam_order = "{{$order}}"; + var bParam_file = "{{$file}}"; + var bParam_cats = "{{$cats}}"; + var bParam_dend = "{{$dend}}"; + var bParam_dbegin = "{{$dbegin}}"; + + function buildCmd() { + var udargs = ((page_load) ? "/load" : ""); + var bCmd = bParam_cmd + udargs + "?f=" ; + if(bParam_uid) bCmd = bCmd + "&p=" + bParam_uid; + if(bParam_cmin != 0) bCmd = bCmd + "&cmin=" + bParam_cmin; + if(bParam_cmax != 99) bCmd = bCmd + "&cmax=" + bParam_cmax; + if(bParam_gid != 0) { bCmd = bCmd + "&gid=" + bParam_gid; } else + if(bParam_cid != 0) { bCmd = bCmd + "&cid=" + bParam_cid; } + if(bParam_star != 0) bCmd = bCmd + "&star=" + bParam_star; + if(bParam_liked != 0) bCmd = bCmd + "&liked=" + bParam_liked; + if(bParam_conv!= 0) bCmd = bCmd + "&conv=" + bParam_conv; + if(bParam_spam != 0) bCmd = bCmd + "&spam=" + bParam_spam; + if(bParam_new != 0) bCmd = bCmd + "&new=" + bParam_new; + if(bParam_wall != 0) bCmd = bCmd + "&wall=" + bParam_wall; + if(bParam_search != "") bCmd = bCmd + "&search=" + bParam_search; + if(bParam_file != "") bCmd = bCmd + "&file=" + bParam_file; + if(bParam_cats != "") bCmd = bCmd + "&cats=" + bParam_cats; + if(bParam_dend != "") bCmd = bCmd + "&dend=" + bParam_dend; + if(bParam_dbegin != "") bCmd = bCmd + "&dbegin=" + bParam_dbegin; + if(bParam_page != 1) bCmd = bCmd + "&page=" + bParam_page; + return(bCmd); + } + +</script> + diff --git a/view/tpl/smarty3/categories_widget.tpl b/view/tpl/smarty3/categories_widget.tpl new file mode 100644 index 000000000..2c0b3bcc2 --- /dev/null +++ b/view/tpl/smarty3/categories_widget.tpl @@ -0,0 +1,12 @@ +<div id="categories-sidebar" class="widget"> + <h3>{{$title}}</h3> + <div id="categories-sidebar-desc">{{$desc}}</div> + + <ul class="categories-ul"> + <li class="tool"><a href="{{$base}}" class="categories-link categories-all{{if $sel_all}} categories-selected{{/if}}">{{$all}}</a></li> + {{foreach $terms as $term}} + <li class="tool"><a href="{{$base}}?f=&cat={{$term.name}}" class="categories-link{{if $term.selected}} categories-selected{{/if}}">{{$term.name}}</a></li> + {{/foreach}} + </ul> + +</div> diff --git a/view/tpl/smarty3/channel.tpl b/view/tpl/smarty3/channel.tpl new file mode 100644 index 000000000..d6462d1e4 --- /dev/null +++ b/view/tpl/smarty3/channel.tpl @@ -0,0 +1,12 @@ +<div class="channel-selection"> +{{if $channel.default_links}} +{{if $channel.default}} +<div class="channel-selection-default default">{{$msg_default}}</div> +{{else}} +<div class="channel-selection-default"><a href="manage/{{$channel.channel_id}}/default">{{$msg_make_default}}</a></div> +{{/if}} +{{/if}} +<a href="{{$channel.link}}" class="channel-selection-photo-link" title="{{$channel.channel_name}}"><img class="channel-photo" src="{{$channel.xchan_photo_m}}" alt="{{$channel.channel_name}}" /></a> +<a href="{{$channel.link}}" class="channel-selection-name-link" title="{{$channel.channel_name}}"><div class="channel-name">{{$channel.channel_name}}</div></a> +</div> +<div class="channel-selection-end"></div> diff --git a/view/tpl/smarty3/channels.tpl b/view/tpl/smarty3/channels.tpl new file mode 100644 index 000000000..a3acaac06 --- /dev/null +++ b/view/tpl/smarty3/channels.tpl @@ -0,0 +1,22 @@ +<h3>{{$header}}</h3> + + +{{if $links}} +{{foreach $links as $l}} +<a class="channels-links" href="{{$l.0}}" title="{{$l.1}}">{{$l.2}}</a> +{{/foreach}} +{{/if}} + +{{if $selected}} +<div id="channels-selected">{{$msg_selected}}</div> +{{include file="channel.tpl" channel=$selected}} +<div class="channels-end selected"></div> +{{/if}} + +<div id="channels-desc" class="descriptive-text">{{$desc}}</div> + +{{foreach $all_channels as $chn}} +{{include file="channel.tpl" channel=$chn}} +{{/foreach}} + +<div class="channels-end all"></div> diff --git a/view/tpl/smarty3/chanview.tpl b/view/tpl/smarty3/chanview.tpl new file mode 100644 index 000000000..7e375d3e6 --- /dev/null +++ b/view/tpl/smarty3/chanview.tpl @@ -0,0 +1 @@ +<iframe id="remote-channel" width="100%" src="{{$url}}" onload="resize_iframe()"></iframe> diff --git a/view/tpl/smarty3/comment_item.tpl b/view/tpl/smarty3/comment_item.tpl new file mode 100644 index 000000000..1f67dba47 --- /dev/null +++ b/view/tpl/smarty3/comment_item.tpl @@ -0,0 +1,68 @@ + {{if $threaded}} + <div class="comment-wwedit-wrapper threaded" id="comment-edit-wrapper-{{$id}}" style="display: block;"> + {{else}} + <div class="comment-wwedit-wrapper" id="comment-edit-wrapper-{{$id}}" style="display: block;"> + {{/if}} + <form class="comment-edit-form" style="display: block;" id="comment-edit-form-{{$id}}" action="item" method="post" onsubmit="post_comment({{$id}}); return false;"> + <input type="hidden" name="type" value="{{$type}}" /> + <input type="hidden" name="profile_uid" value="{{$profile_uid}}" /> + <input type="hidden" name="parent" value="{{$parent}}" /> + <input type="hidden" name="return" value="{{$return_path}}" /> + <input type="hidden" name="jsreload" value="{{$jsreload}}" /> + <input type="hidden" name="preview" id="comment-preview-inp-{{$id}}" value="0" /> + <input type="hidden" name="post_id_random" value="{{$rand_num}}" /> + + <div class="comment-edit-photo" id="comment-edit-photo-{{$id}}" > + <a class="comment-edit-photo-link" href="{{$mylink}}" title="{{$mytitle}}"><img class="my-comment-photo" src="{{$myphoto}}" alt="{{$mytitle}}" title="{{$mytitle}}" /></a> + </div> + <div class="comment-edit-photo-end"></div> + <ul class="comment-edit-bb-{{$id}}"> + <li><a class="editicon boldbb shadow" + style="cursor: pointer;" title="{{$edbold}}" + onclick="insertFormatting('{{$comment}}','b', {{$id}});"></a></li> + <li><a class="editicon italicbb shadow" + style="cursor: pointer;" title="{{$editalic}}" + onclick="insertFormatting('{{$comment}}','i', {{$id}});"></a></li> + <li><a class="editicon underlinebb shadow" + style="cursor: pointer;" title="{{$eduline}}" + onclick="insertFormatting('{{$comment}}','u', {{$id}});"></a></li> + <li><a class="editicon quotebb shadow" + style="cursor: pointer;" title="{{$edquote}}" + onclick="insertFormatting('{{$comment}}','quote', {{$id}});"></a></li> + <li><a class="editicon codebb shadow" + style="cursor: pointer;" title="{{$edcode}}" + onclick="insertFormatting('{{$comment}}','code', {{$id}});"></a></li> + <li><a class="editicon imagebb shadow" + style="cursor: pointer;" title="{{$edimg}}" + onclick="insertFormatting('{{$comment}}','img', {{$id}});"></a></li> + <li><a class="editicon urlbb shadow" + style="cursor: pointer;" title="{{$edurl}}" + onclick="insertFormatting('{{$comment}}','url', {{$id}});"></a></li> + <li><a class="editicon videobb shadow" + style="cursor: pointer;" title="{{$edvideo}}" + onclick="insertFormatting('{{$comment}}','video', {{$id}});"></a></li> + </ul> + <div class="comment-edit-bb-end"></div> + <textarea id="comment-edit-text-{{$id}}" class="comment-edit-text-empty" name="body" onFocus="commentOpen(this,{{$id}});cmtBbOpen(this, {{$id}});" onBlur="commentClose(this,{{$id}});cmtBbClose(this,{{$id}});" >{{$comment}}</textarea> + {{if $qcomment}} + <select id="qcomment-select-{{$id}}" name="qcomment-{{$id}}" class="qcomment" onchange="qCommentInsert(this,{{$id}});" > + <option value=""></option> + {{foreach $qcomment as $qc}} + <option value="{{$qc}}">{{$qc}}</option> + {{/foreach}} + </select> + {{/if}} + + <div class="comment-edit-text-end"></div> + <div class="comment-edit-submit-wrapper" id="comment-edit-submit-wrapper-{{$id}}" style="display: none;" > + <input type="submit" onclick="post_comment({{$id}}); return false;" id="comment-edit-submit-{{$id}}" class="comment-edit-submit" name="submit" value="{{$submit}}" /> + {{if $preview}} + <span onclick="preview_comment({{$id}});" id="comment-edit-preview-link-{{$id}}" class="fakelink">{{$preview}}</span> + <div id="comment-edit-preview-{{$id}}" class="comment-edit-preview" style="display:none;"></div> + {{/if}} + </div> + + <div class="comment-edit-end"></div> + </form> + + </div> diff --git a/view/tpl/smarty3/common_friends.tpl b/view/tpl/smarty3/common_friends.tpl new file mode 100644 index 000000000..9adb30b71 --- /dev/null +++ b/view/tpl/smarty3/common_friends.tpl @@ -0,0 +1,12 @@ +<div class="profile-match-wrapper"> + <div class="profile-match-photo"> + <a href="{{$url}}"> + <img src="{{$photo}}" alt="{{$name}}" width="80" height="80" title="{{$name}} [{{$url}}]" /> + </a> + </div> + <div class="profile-match-break"></div> + <div class="profile-match-name"> + <a href="{{$url}}" title="{{$name}}[{{$tags}}]">{{$name}}</a> + </div> + <div class="profile-match-end"></div> +</div>
\ No newline at end of file diff --git a/view/tpl/smarty3/common_tabs.tpl b/view/tpl/smarty3/common_tabs.tpl new file mode 100644 index 000000000..78138d6a9 --- /dev/null +++ b/view/tpl/smarty3/common_tabs.tpl @@ -0,0 +1,6 @@ +<ul class="tabs"> + {{foreach $tabs as $tab}} + <li {{if $tab.id}}id="{{$tab.id}}"{{/if}}><a href="{{$tab.url}}" class="tab button {{$tab.sel}}"{{if $tab.title}} title="{{$tab.title}}"{{/if}}>{{$tab.label}}</a></li> + {{/foreach}} +</ul> +<div class="tabs-end"></div>
\ No newline at end of file diff --git a/view/tpl/smarty3/contact_block.tpl b/view/tpl/smarty3/contact_block.tpl new file mode 100644 index 000000000..91b8b4cfa --- /dev/null +++ b/view/tpl/smarty3/contact_block.tpl @@ -0,0 +1,12 @@ +<div id="contact-block"> +<div id="contact-block-numcontacts">{{$contacts}}</div> +{{if $micropro}} + <a class="allcontact-link" href="viewcontacts/{{$nickname}}">{{$viewcontacts}}</a> + <div class='contact-block-content'> + {{foreach $micropro as $m}} + {{$m}} + {{/foreach}} + </div> +{{/if}} +</div> +<div class="clear"></div> diff --git a/view/tpl/smarty3/contact_edit.tpl b/view/tpl/smarty3/contact_edit.tpl new file mode 100644 index 000000000..9f7420c0d --- /dev/null +++ b/view/tpl/smarty3/contact_edit.tpl @@ -0,0 +1,89 @@ + +<h2>{{$header}}</h2> + +<div id="contact-edit-wrapper" > + + {{$tab_str}} + + <div id="contact-edit-drop-link" > + <a href="contacts/{{$contact_id}}/drop" class="icon drophide" id="contact-edit-drop-link" onclick="return confirmDelete();" title="{{$delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);"></a> + </div> + + <div id="contact-edit-drop-link-end"></div> + + + <div id="contact-edit-nav-wrapper" > + <div id="contact-edit-links"> + <ul> + <li><div id="contact-edit-rel">{{$relation_text}}</div></li> + <li><div id="contact-edit-nettype">{{$nettype}}</div></li> + {{if $lost_contact}} + <li><div id="lost-contact-message">{{$lost_contact}}</div></li> + {{/if}} + {{if $insecure}} + <li><div id="insecure-message">{{$insecure}}</div></li> + {{/if}} + {{if $blocked}} + <li><div id="block-message">{{$blocked}}</div></li> + {{/if}} + {{if $ignored}} + <li><div id="ignore-message">{{$ignored}}</div></li> + {{/if}} + {{if $archived}} + <li><div id="archive-message">{{$archived}}</div></li> + {{/if}} + + <li> </li> + + {{if $common_text}} + <li><div id="contact-edit-common"><a href="{{$common_link}}">{{$common_text}}</a></div></li> + {{/if}} + {{if $all_friends}} + <li><div id="contact-edit-allfriends"><a href="allfriends/{{$contact_id}}">{{$all_friends}}</a></div></li> + {{/if}} + + + <li><a href="network/?cid={{$contact_id}}" id="contact-edit-view-recent">{{$lblrecent}}</a></li> + {{if $lblsuggest}} + <li><a href="fsuggest/{{$contact_id}}" id="contact-edit-suggest">{{$lblsuggest}}</a></li> + {{/if}} + + </ul> + </div> + </div> + <div id="contact-edit-nav-end"></div> + + +<form action="contacts/{{$contact_id}}" method="post" > +<input type="hidden" name="contact_id" value="{{$contact_id}}"> +<input id="contact-closeness-mirror" type="hidden" name="closeness" value="{{$close}}" /> + + {{if $poll_enabled}} + <div id="contact-edit-poll-wrapper"> + <div id="contact-edit-last-update-text">{{$lastupdtext}} <span id="contact-edit-last-updated">{{$last_update}}</span></div> + <span id="contact-edit-poll-text">{{$updpub}}</span> {{$poll_interval}} <span id="contact-edit-update-now" class="button"><a href="contacts/{{$contact_id}}/update" >{{$udnow}}</a></span> + </div> + {{/if}} + <div id="contact-edit-end" ></div> + + {{include file="field_checkbox.tpl" field=$hidden}} + +<div id="contact-edit-info-wrapper"> +<h4>{{$lbl_info1}}</h4> + <textarea id="contact-edit-info" rows="8" cols="60" name="info">{{$info}}</textarea> + <input class="contact-edit-submit" type="submit" name="submit" value="{{$submit}}" /> +</div> +<div id="contact-edit-info-end"></div> + + +<div id="contact-edit-profile-select-text"> +<h4>{{$lbl_vis1}}</h4> +<p>{{$lbl_vis2}}</p> +</div> +{{$profile_select}} +<div id="contact-edit-profile-select-end"></div> + +<input class="contact-edit-submit" type="submit" name="submit" value="{{$submit}}" /> + +</form> +</div> diff --git a/view/tpl/smarty3/contact_head.tpl b/view/tpl/smarty3/contact_head.tpl new file mode 100644 index 000000000..72e7edbfb --- /dev/null +++ b/view/tpl/smarty3/contact_head.tpl @@ -0,0 +1,30 @@ +<script language="javascript" type="text/javascript" + src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script> + <script language="javascript" type="text/javascript"> + +tinyMCE.init({ + theme : "advanced", + mode : "{{$editselect}}", + elements: "contact-edit-info", + plugins : "bbcode", + theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor", + theme_advanced_buttons2 : "", + theme_advanced_buttons3 : "", + theme_advanced_toolbar_location : "top", + theme_advanced_toolbar_align : "center", + theme_advanced_styles : "blockquote,code", + gecko_spellcheck : true, + entity_encoding : "raw", + add_unload_trigger : false, + remove_linebreaks : false, + force_p_newlines : false, + force_br_newlines : true, + forced_root_block : '', + content_css: "{{$baseurl}}/view/custom_tinymce.css" + + +}); + + +</script> + diff --git a/view/tpl/smarty3/contact_slider.tpl b/view/tpl/smarty3/contact_slider.tpl new file mode 100644 index 000000000..33cd3fb71 --- /dev/null +++ b/view/tpl/smarty3/contact_slider.tpl @@ -0,0 +1,4 @@ +<div id="contact-slider" class="slider" style="height: 32px; position: relative; left: 5%; width: 90%;"><input id="contact-range" type="text" name="fake-closeness" value="{{$val}}" /></div> +<script> + $("#contact-range").slider({ from: 0, to: 99, step: 1, scale: ['{{$me}}', '|', '{{$intimate}}', '|', '{{$friends}}', '|', '{{$oldfriends}}', '|', '{{$acquaintances}}', '|', '{{$world}}' ], onstatechange: function(v) { $("#contact-closeness-mirror").val(v); } }); +</script> diff --git a/view/tpl/smarty3/contact_template.tpl b/view/tpl/smarty3/contact_template.tpl new file mode 100644 index 000000000..5cb0e8c20 --- /dev/null +++ b/view/tpl/smarty3/contact_template.tpl @@ -0,0 +1,9 @@ + +<div class="contact-entry-wrapper" id="contact-entry-wrapper-{{$contact.id}}" > + <div class="contact-entry-photo-wrapper" > + <a href="{{$contact.edit}}" title="{{$contact.img_hover}}" /><img src="{{$contact.thumb}}" alt="{{$contact.name}}" /></a> + </div> + <div class="contact-entry-photo-end" ></div> + <div class="contact-entry-name" id="contact-entry-name-{{$contact.id}}" >{{$contact.name}}</div> + <div class="contact-entry-end" ></div> +</div> diff --git a/view/tpl/smarty3/contacts-template.tpl b/view/tpl/smarty3/contacts-template.tpl new file mode 100644 index 000000000..0c7e01038 --- /dev/null +++ b/view/tpl/smarty3/contacts-template.tpl @@ -0,0 +1,26 @@ +<h1>{{$header}}{{if $total}} ({{$total}}){{/if}}</h1> + +{{if $finding}}<h4>{{$finding}}</h4>{{/if}} + +<div id="contacts-search-wrapper"> +<form id="contacts-search-form" action="{{$cmd}}" method="get" > +<span class="contacts-search-desc">{{$desc}}</span> +<input type="text" name="search" id="contacts-search" class="search-input" onfocus="this.select();" value="{{$search}}" /> +<input type="submit" name="submit" id="contacts-search-submit" value="{{$submit}}" /> +</form> +</div> +<div id="contacts-search-end"></div> + +{{$tabs}} + + +{{foreach $contacts as $contact}} + {{include file="contact_template.tpl"}} +{{/foreach}} +<div id="contact-edit-end"></div> + +{{$paginate}} + + + + diff --git a/view/tpl/smarty3/content.tpl b/view/tpl/smarty3/content.tpl new file mode 100644 index 000000000..466045d39 --- /dev/null +++ b/view/tpl/smarty3/content.tpl @@ -0,0 +1,2 @@ +<div id="content-begin"></div> +<div id="content-end"></div> diff --git a/view/tpl/smarty3/conv.tpl b/view/tpl/smarty3/conv.tpl new file mode 100644 index 000000000..ddb959b84 --- /dev/null +++ b/view/tpl/smarty3/conv.tpl @@ -0,0 +1,17 @@ +{{foreach $threads as $thread}} +<div id="thread-wrapper-{{$thread.id}}" class="thread-wrapper"> + {{foreach $thread.items as $item}} + {{if $item.comment_firstcollapsed}} + <div class="hide-comments-outer"> + <span id="hide-comments-total-{{$thread.id}}" class="hide-comments-total">{{$thread.num_comments}}</span> <span id="hide-comments-{{$thread.id}}" class="hide-comments fakelink" onclick="showHideComments({{$thread.id}});">{{$thread.hide_text}}</span> + </div> + <div id="collapsed-comments-{{$thread.id}}" class="collapsed-comments" style="display: none;"> + {{/if}} + {{if $item.comment_lastcollapsed}}</div>{{/if}} + + {{include file="{{$item.template}}"}} + + + {{/foreach}} +</div> +{{/foreach}} diff --git a/view/tpl/smarty3/conv_frame.tpl b/view/tpl/smarty3/conv_frame.tpl new file mode 100644 index 000000000..1b7267191 --- /dev/null +++ b/view/tpl/smarty3/conv_frame.tpl @@ -0,0 +1,14 @@ +<div id="threads-begin"></div> +<div id="threads-end"></div> +<div id="conversation-end"></div> + +{{if $dropping}} +<div id="item-delete-selected" class="fakelink" onclick="deleteCheckedItems();"> + <div id="item-delete-selected-icon" class="icon drophide" title="{{$dropping}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div> + <div id="item-delete-selected-desc" >{{$dropping}}</div> +</div> +<div id="item-delete-selected-end"></div> +{{/if}} + +<img id="page-spinner" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" /> + diff --git a/view/tpl/smarty3/conv_item.tpl b/view/tpl/smarty3/conv_item.tpl new file mode 100644 index 000000000..f69166f63 --- /dev/null +++ b/view/tpl/smarty3/conv_item.tpl @@ -0,0 +1,115 @@ +{{if $item.comment_firstcollapsed}} + <div class="hide-comments-outer"> + <span id="hide-comments-total-{{$item.id}}" class="hide-comments-total">{{$item.num_comments}}</span> <span id="hide-comments-{{$item.id}}" class="hide-comments fakelink" onclick="showHideComments({{$item.id}});">{{$item.hide_text}}</span> + </div> + <div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;"> +{{/if}} +<div id="thread-wrapper-{{$item.id}}" class="thread-wrapper {{$item.toplevel}}"> +<a name="{{$item.id}}" ></a> +<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}{{if $item.owner_url}} wallwall{{/if}}" id="wall-item-outside-wrapper-{{$item.id}}" > + <div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}" > + <div class="wall-item-info{{if $item.owner_url}} wallwall{{/if}}" id="wall-item-info-{{$item.id}}"> + {{if $item.owner_url}} + <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-{{$item.id}}" > + <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-photo-link" id="wall-item-ownerphoto-link-{{$item.id}}"> + <img src="{{$item.owner_photo}}" class="wall-item-photo{{$item.osparkle}}" id="wall-item-ownerphoto-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.owner_name}}" /></a> + </div> + <div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="{{$item.wall}}" /></div> + {{/if}} + <div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}}" id="wall-item-photo-wrapper-{{$item.id}}" + onmouseover="if (typeof t{{$item.id}} != 'undefined') clearTimeout(t{{$item.id}}); openMenu('wall-item-photo-menu-button-{{$item.id}}')" + onmouseout="t{{$item.id}}=setTimeout('closeMenu(\'wall-item-photo-menu-button-{{$item.id}}\'); closeMenu(\'wall-item-photo-menu-{{$item.id}}\');',200)"> + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}"> + <img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.name}}" /></a> + <span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span> + <div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}"> + <ul> + {{$item.item_photo_menu}} + </ul> + </div> + + </div> + <div class="wall-item-photo-end"></div> + <div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" > + {{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" /></div> + {{else}}<div class="wall-item-lock"></div>{{/if}} + <div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</div> + </div> + </div> + <div class="wall-item-author"> + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}} {{$item.to}} <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a> {{$item.vwall}}{{/if}}<br /> + <div class="wall-item-ago" id="wall-item-ago-{{$item.id}}" title="{{$item.localtime}}">{{$item.ago}}</div> + </div> + <div class="wall-item-content" id="wall-item-content-{{$item.id}}" > + <div class="wall-item-title" id="wall-item-title-{{$item.id}}">{{$item.title}}</div> + <div class="wall-item-title-end"></div> + <div class="wall-item-body" id="wall-item-body-{{$item.id}}" >{{$item.body}} + <div class="body-tag"> + {{foreach $item.tags as $tag}} + <span class='tag'>{{$tag}}</span> + {{/foreach}} + </div> + {{if $item.has_cats}} + <div class="categorytags"><span>{{$item.txt_cats}} {{foreach $item.categories as $cat}}{{$cat.name}} <a href="{{$cat.removeurl}}" title="{{$remove}}">[{{$remove}}]</a> {{if $cat.last}}{{else}}, {{/if}}{{/foreach}} + </div> + {{/if}} + + {{if $item.has_folders}} + <div class="filesavetags"><span>{{$item.txt_folders}} {{foreach $item.folders as $cat}}{{$cat.name}} <a href="{{$cat.removeurl}}" title="{{$remove}}">[{{$remove}}]</a> {{if $cat.last}}{{else}}, {{/if}}{{/foreach}} + </div> + {{/if}} + </div> + </div> + <div class="wall-item-tools" id="wall-item-tools-{{$item.id}}"> + {{if $item.like}} + <a href="#" class="icon like item-tool" title="{{$item.like.0}}" onclick="dolike({{$item.id}},'like'); return false"></a> + {{/if}} + {{if $item.dislike}} + <a href="#" class="icon dislike item-tool" title="{{$item.dislike.0}}" onclick="dolike({{$item.id}},'dislike'); return false"></a> + {{/if}} + {{if $item.share}} + <a href="#" class="icon recycle item-tool" title="{{$item.share.0}}" onclick="jotShare({{$item.id}}); return false"></a> + {{/if}} + {{if $item.plink}} + <a href="{{$item.plink.href}}" title="{{$item.plink.title}}" target="external-link" class="icon item-tool remote-link{{$item.sparkle}}"></a> + {{/if}} + {{if $item.edpost}} + <a class="editpost icon pencil item-tool" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"></a> + {{/if}} + {{if $item.star}} + <a href="#" id="starred-{{$item.id}}" onclick="dostar({{$item.id}}); return false;" class="star-item icon item-tool {{$item.star.isstarred}}" title="{{$item.star.toggle}}"></a> + {{/if}} + {{if $item.tagger}} + <a href="#" id="tagger-{{$item.id}}" onclick="itemTag({{$item.id}}); return false;" class="tag-item icon item-tool tagged" title="{{$item.tagger.tagit}}"></a> + {{/if}} + {{if $item.filer}} + <a href="#" id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item filer-icon item-tool" title="{{$item.filer}}"></a> + {{/if}} + <img id="like-rotator-{{$item.id}}" class="like-rotator" src="images/rotator.gif" alt="{{$item.wait}}" title="{{$item.wait}}" style="display: none;" /> + + <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" > + {{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$item.drop.delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{/if}} + </div> + {{if $item.drop.pagedrop}}<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />{{/if}} + <div class="wall-item-delete-end"></div> + </div> + </div> + <div class="wall-item-wrapper-end"></div> + <div class="wall-item-like {{$item.indent}}" id="wall-item-like-{{$item.id}}">{{$item.showlike}}</div> + <div class="wall-item-dislike {{$item.indent}}" id="wall-item-dislike-{{$item.id}}">{{$item.showdislike}}</div> + +<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div> +</div> +{{if $item.toplevel}} +{{foreach $item.children as $child}} + {{include file="{{$child.template}}" item=$child}} +{{/foreach}} +{{/if}} + +<div class="wall-item-comment-wrapper" > + {{$item.comment}} +</div> + + +</div> +{{if $item.comment_lastcollapsed}}</div>{{/if}} diff --git a/view/tpl/smarty3/conversation.tpl b/view/tpl/smarty3/conversation.tpl new file mode 100644 index 000000000..8948fd474 --- /dev/null +++ b/view/tpl/smarty3/conversation.tpl @@ -0,0 +1,28 @@ +<div id="threads-begin"></div> +{{foreach $threads as $thread}} +<div id="thread-wrapper-{{$thread.id}}" class="thread-wrapper"> + {{foreach $thread.items as $item}} + {{if $item.comment_firstcollapsed}} + <div class="hide-comments-outer"> + <span id="hide-comments-total-{{$thread.id}}" class="hide-comments-total">{{$thread.num_comments}}</span> <span id="hide-comments-{{$thread.id}}" class="hide-comments fakelink" onclick="showHideComments({{$thread.id}});">{{$thread.hide_text}}</span> + </div> + <div id="collapsed-comments-{{$thread.id}}" class="collapsed-comments" style="display: none;"> + {{/if}} + {{if $item.comment_lastcollapsed}}</div>{{/if}} + + {{include file="{{$item.template}}"}} + + + {{/foreach}} +</div> +{{/foreach}} +<div id="threads-end"></div> +<div id="conversation-end"></div> + +{{if $dropping}} +<div id="item-delete-selected" class="fakelink" onclick="deleteCheckedItems();"> + <div id="item-delete-selected-icon" class="icon drophide" title="{{$dropping}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div> + <div id="item-delete-selected-desc" >{{$dropping}}</div> +</div> +<div id="item-delete-selected-end"></div> +{{/if}} diff --git a/view/tpl/smarty3/convobj.tpl b/view/tpl/smarty3/convobj.tpl new file mode 100644 index 000000000..d5cee1170 --- /dev/null +++ b/view/tpl/smarty3/convobj.tpl @@ -0,0 +1,4 @@ +{{foreach $threads as $item}} +{{include file="{{$item.template}}"}} +{{/foreach}} + diff --git a/view/tpl/smarty3/crepair.tpl b/view/tpl/smarty3/crepair.tpl new file mode 100644 index 000000000..2a05b9678 --- /dev/null +++ b/view/tpl/smarty3/crepair.tpl @@ -0,0 +1,46 @@ + +<form id="crepair-form" action="crepair/{{$contact_id}}" method="post" > + +<h4>{{$contact_name}}</h4> + +<label id="crepair-name-label" class="crepair-label" for="crepair-name">{{$label_name}}</label> +<input type="text" id="crepair-name" class="crepair-input" name="name" value="{{$contact_name}}" /> +<div class="clear"></div> + +<label id="crepair-nick-label" class="crepair-label" for="crepair-nick">{{$label_nick}}</label> +<input type="text" id="crepair-nick" class="crepair-input" name="nick" value="{{$contact_nick}}" /> +<div class="clear"></div> + +<label id="crepair-attag-label" class="crepair-label" for="crepair-attag">{{$label_attag}}</label> +<input type="text" id="crepair-attag" class="crepair-input" name="attag" value="{{$contact_attag}}" /> +<div class="clear"></div> + +<label id="crepair-url-label" class="crepair-label" for="crepair-url">{{$label_url}}</label> +<input type="text" id="crepair-url" class="crepair-input" name="url" value="{{$contact_url}}" /> +<div class="clear"></div> + +<label id="crepair-request-label" class="crepair-label" for="crepair-request">{{$label_request}}</label> +<input type="text" id="crepair-request" class="crepair-input" name="request" value="{{$request}}" /> +<div class="clear"></div> + +<label id="crepair-confirm-label" class="crepair-label" for="crepair-confirm">{{$label_confirm}}</label> +<input type="text" id="crepair-confirm" class="crepair-input" name="confirm" value="{{$confirm}}" /> +<div class="clear"></div> + +<label id="crepair-notify-label" class="crepair-label" for="crepair-notify">{{$label_notify}}</label> +<input type="text" id="crepair-notify" class="crepair-input" name="notify" value="{{$notify}}" /> +<div class="clear"></div> + +<label id="crepair-poll-label" class="crepair-label" for="crepair-poll">{{$label_poll}}</label> +<input type="text" id="crepair-poll" class="crepair-input" name="poll" value="{{$poll}}" /> +<div class="clear"></div> + +<label id="crepair-photo-label" class="crepair-label" for="crepair-photo">{{$label_photo}}</label> +<input type="text" id="crepair-photo" class="crepair-input" name="photo" value="" /> +<div class="clear"></div> + +<input type="submit" name="submit" value="{{$lbl_submit}}" /> + +</form> + + diff --git a/view/tpl/smarty3/cropbody.tpl b/view/tpl/smarty3/cropbody.tpl new file mode 100644 index 000000000..da5b1e859 --- /dev/null +++ b/view/tpl/smarty3/cropbody.tpl @@ -0,0 +1,58 @@ +<h1>{{$title}}</h1> +<p id="cropimage-desc"> +{{$desc}} +</p> +<div id="cropimage-wrapper"> +<img src="{{$image_url}}" id="croppa" class="imgCrop" alt="{{$title}}" /> +</div> +<div id="cropimage-preview-wrapper" > +<div id="previewWrap" ></div> +</div> + +<script type="text/javascript" language="javascript"> + + function onEndCrop( coords, dimensions ) { + $( 'x1' ).value = coords.x1; + $( 'y1' ).value = coords.y1; + $( 'x2' ).value = coords.x2; + $( 'y2' ).value = coords.y2; + $( 'width' ).value = dimensions.width; + $( 'height' ).value = dimensions.height; + } + + Event.observe( window, 'load', function() { + new Cropper.ImgWithPreview( + 'croppa', + { + previewWrap: 'previewWrap', + minWidth: 175, + minHeight: 175, + maxWidth: 640, + maxHeight: 640, + ratioDim: { x: 100, y:100 }, + displayOnInit: true, + onEndCrop: onEndCrop + } + ); + } + ); + +</script> + +<form action="profile_photo/{{$resource}}" id="crop-image-form" method="post" /> +<input type='hidden' name='form_security_token' value='{{$form_security_token}}'> + +<input type='hidden' name='profile' value='{{$profile}}'> +<input type="hidden" name="cropfinal" value="1" /> +<input type="hidden" name="xstart" id="x1" /> +<input type="hidden" name="ystart" id="y1" /> +<input type="hidden" name="xfinal" id="x2" /> +<input type="hidden" name="yfinal" id="y2" /> +<input type="hidden" name="height" id="height" /> +<input type="hidden" name="width" id="width" /> + +<div id="crop-image-submit-wrapper" > +<input type="submit" name="submit" value="{{$done}}" /> +</div> + +</form> diff --git a/view/tpl/smarty3/crophead.tpl b/view/tpl/smarty3/crophead.tpl new file mode 100644 index 000000000..48f375426 --- /dev/null +++ b/view/tpl/smarty3/crophead.tpl @@ -0,0 +1,4 @@ + <script type="text/javascript" src="library/cropper/lib/prototype.js" language="javascript"></script> + <script type="text/javascript" src="library/cropper/lib/scriptaculous.js?load=effects,builder,dragdrop" language="javascript"></script> + <script type="text/javascript" src="library/cropper/cropper.js" language="javascript"></script> + <link rel="stylesheet" href="library/cropper/cropper.css" type="text/css" /> diff --git a/view/tpl/smarty3/delegate.tpl b/view/tpl/smarty3/delegate.tpl new file mode 100644 index 000000000..cbaa8da86 --- /dev/null +++ b/view/tpl/smarty3/delegate.tpl @@ -0,0 +1,57 @@ +<h3>{{$header}}</h3> + +<div id="delegate-desc" class="delegate-desc">{{$desc}}</div> + +{{if $managers}} +<h3>{{$head_managers}}</h3> + +{{foreach $managers as $x}} + +<div class="contact-block-div"> +<a class="contact-block-link" href="#" > +<img class="contact-block-img" src="{{$base}}/photo/thumb/{{$x.uid}}" title="{{$x.username}} ({{$x.nickname}})" /> +</a> +</div> + +{{/foreach}} +<div class="clear"></div> +<hr /> +{{/if}} + + +<h3>{{$head_delegates}}</h3> + +{{if $delegates}} +{{foreach $delegates as $x}} + +<div class="contact-block-div"> +<a class="contact-block-link" href="{{$base}}/delegate/remove/{{$x.uid}}" > +<img class="contact-block-img" src="{{$base}}/photo/thumb/{{$x.uid}}" title="{{$x.username}} ({{$x.nickname}})" /> +</a> +</div> + +{{/foreach}} +<div class="clear"></div> +{{else}} +{{$none}} +{{/if}} +<hr /> + + +<h3>{{$head_potentials}}</h3> +{{if $potentials}} +{{foreach $potentials as $x}} + +<div class="contact-block-div"> +<a class="contact-block-link" href="{{$base}}/delegate/add/{{$x.uid}}" > +<img class="contact-block-img" src="{{$base}}/photo/thumb/{{$x.uid}}" title="{{$x.username}} ({{$x.nickname}})" /> +</a> +</div> + +{{/foreach}} +<div class="clear"></div> +{{else}} +{{$none}} +{{/if}} +<hr /> + diff --git a/view/tpl/smarty3/dfrn_req_confirm.tpl b/view/tpl/smarty3/dfrn_req_confirm.tpl new file mode 100644 index 000000000..655af22d4 --- /dev/null +++ b/view/tpl/smarty3/dfrn_req_confirm.tpl @@ -0,0 +1,21 @@ + +<p id="dfrn-request-homecoming" > +{{$welcome}} +<br /> +{{$please}} + +</p> +<form id="dfrn-request-homecoming-form" action="dfrn_request/{{$nickname}}" method="post"> +<input type="hidden" name="dfrn_url" value="{{$dfrn_url}}" /> +<input type="hidden" name="confirm_key" value="{{$confirm_key}}" /> +<input type="hidden" name="localconfirm" value="1" /> +{{$aes_allow}} + +<label id="dfrn-request-homecoming-hide-label" for="dfrn-request-homecoming-hide">{{$hidethem}}</label> +<input type="checkbox" name="hidden-contact" value="1" {{if $hidechecked}}checked="checked" {{/if}} /> + + +<div id="dfrn-request-homecoming-submit-wrapper" > +<input id="dfrn-request-homecoming-submit" type="submit" name="submit" value="{{$submit}}" /> +</div> +</form>
\ No newline at end of file diff --git a/view/tpl/smarty3/dfrn_request.tpl b/view/tpl/smarty3/dfrn_request.tpl new file mode 100644 index 000000000..ce7b3eb55 --- /dev/null +++ b/view/tpl/smarty3/dfrn_request.tpl @@ -0,0 +1,59 @@ + +<h1>{{$header}}</h1> + +<p id="dfrn-request-intro"> +{{$page_desc}}<br /> +{{$invite_desc}} +</p> +<p> +{{$desc}} +</p> + +<form action="dfrn_request/{{$nickname}}" method="post" /> + +<div id="dfrn-request-url-wrapper" > + <label id="dfrn-url-label" for="dfrn-url" >{{$your_address}}</label> + <input type="text" name="dfrn_url" id="dfrn-url" size="32" value="{{$myaddr}}" /> + <div id="dfrn-request-url-end"></div> +</div> + +<p id="dfrn-request-options"> +{{$pls_answer}} +</p> + +<div id="dfrn-request-info-wrapper" > + + +<p id="doiknowyou"> +{{$does_know}} +</p> + + <div id="dfrn-request-know-yes-wrapper"> + <label id="dfrn-request-knowyou-yes-label" for="dfrn-request-knowyouyes">{{$yes}}</label> + <input type="radio" name="knowyou" id="knowyouyes" value="1" /> + + <div id="dfrn-request-knowyou-break" ></div> + </div> + <div id="dfrn-request-know-no-wrapper"> + <label id="dfrn-request-knowyou-no-label" for="dfrn-request-knowyouno">{{$no}}</label> + <input type="radio" name="knowyou" id="knowyouno" value="0" checked="checked" /> + + <div id="dfrn-request-knowyou-end"></div> + </div> + + +<p id="dfrn-request-message-desc"> +{{$add_note}} +</p> + <div id="dfrn-request-message-wrapper"> + <textarea name="dfrn-request-message" rows="4" cols="64" ></textarea> + </div> + + +</div> + + <div id="dfrn-request-submit-wrapper"> + <input type="submit" name="submit" id="dfrn-request-submit-button" value="{{$submit}}" /> + <input type="submit" name="cancel" id="dfrn-request-cancel-button" value="{{$cancel}}" /> + </div> +</form> diff --git a/view/tpl/smarty3/diasp_dec_hdr.tpl b/view/tpl/smarty3/diasp_dec_hdr.tpl new file mode 100644 index 000000000..636ff7bd0 --- /dev/null +++ b/view/tpl/smarty3/diasp_dec_hdr.tpl @@ -0,0 +1,8 @@ +<decrypted_hdeader> + <iv>{{$inner_iv}}</iv> + <aes_key>{{$inner_key}}</aes_key> + <author> + <name>{{$author_name}}</name> + <uri>{{$author_uri}}</uri> + </author> +</decrypted_header> diff --git a/view/tpl/smarty3/directory_header.tpl b/view/tpl/smarty3/directory_header.tpl new file mode 100644 index 000000000..5d703e2dd --- /dev/null +++ b/view/tpl/smarty3/directory_header.tpl @@ -0,0 +1,16 @@ +<h1>{{$dirlbl}}</h1> + +{{if $search}} +<h4>{{$finddsc}} {{$safetxt}}</h4> +{{/if}} + +{{foreach $entries as $entry}} + +{{include file="direntry.tpl"}} + +{{/foreach}} + + + +<div class="directory-end"></div> + diff --git a/view/tpl/smarty3/directory_item.tpl b/view/tpl/smarty3/directory_item.tpl new file mode 100644 index 000000000..f4bd66d77 --- /dev/null +++ b/view/tpl/smarty3/directory_item.tpl @@ -0,0 +1,11 @@ + +<div class="directory-item lframe" id="directory-item-{{$id}}" > + <div class="contact-photo-wrapper" id="directory-photo-wrapper-{{$id}}" > + <div class="contact-photo" id="directory-photo-{{$id}}" > + <a href="{{$profile_link}}" class="directory-profile-link" id="directory-profile-link-{{$id}}" ><img class="directory-photo-img" src="{{$photo}}" alt="{{$alt_text}}" title="{{$alt_text}}" /></a> + </div> + </div> + + <div class="contact-name" id="directory-name-{{$id}}">{{$name}}</div> + <div class="contact-details">{{$details}}</div> +</div> diff --git a/view/tpl/smarty3/direntry.tpl b/view/tpl/smarty3/direntry.tpl new file mode 100644 index 000000000..a7d1a3e3a --- /dev/null +++ b/view/tpl/smarty3/direntry.tpl @@ -0,0 +1,11 @@ + +<div class="directory-item lframe" id="directory-item-{{$entry.id}}" > + <div class="contact-photo-wrapper" id="directory-photo-wrapper-{{$entry.id}}" > + <div class="contact-photo" id="directory-photo-{{$entry.id}}" > + <a href="{{$entry.profile_link}}" class="directory-profile-link" id="directory-profile-link-{{$entry.id}}" ><img class="directory-photo-img" src="{{$entry.photo}}" alt="{{$entry.alttext}}" title="{{$entry.alttext}}" /></a> + </div> + </div> + + <div class="contact-name" id="directory-name-{{$entry.id}}">{{$entry.name}}</div> + <div class="contact-details">{{$entry.details}}</div> +</div> diff --git a/view/tpl/smarty3/display-head.tpl b/view/tpl/smarty3/display-head.tpl new file mode 100644 index 000000000..3d4e7e96a --- /dev/null +++ b/view/tpl/smarty3/display-head.tpl @@ -0,0 +1,8 @@ +<script> +$(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"); +}); +</script> + diff --git a/view/tpl/smarty3/edpost_head.tpl b/view/tpl/smarty3/edpost_head.tpl new file mode 100644 index 000000000..890b746bf --- /dev/null +++ b/view/tpl/smarty3/edpost_head.tpl @@ -0,0 +1 @@ +<h2>{{$title}}</h2> diff --git a/view/tpl/smarty3/email_notify_html.tpl b/view/tpl/smarty3/email_notify_html.tpl new file mode 100644 index 000000000..bf5272277 --- /dev/null +++ b/view/tpl/smarty3/email_notify_html.tpl @@ -0,0 +1,27 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional //EN"> +<html> +<head> + <title>{{$banner}}</title> + <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> +</head> +<body> +<table style="border:1px solid #ccc"> + <tbody> + <tr><td colspan="2" style="background:#ff0000; color:#FFFFFF; font-weight:bold; font-family:'lucida grande', tahoma, verdana,arial, sans-serif; padding: 4px 8px; vertical-align: middle; font-size:16px; letter-spacing: -0.03em; text-align: left;"><img style="width:32px;height:32px; float:left;" src='{{$siteurl}}/images/fred-32.png'><div style="padding:7px; margin-left: 5px; float:left; font-size:18px;letter-spacing:1px;">{{$product}}</div><div style="clear: both;"></div></td></tr> + + + <tr><td style="padding-top:22px;" colspan="2">{{$preamble}}</td></tr> + + + <tr><td style="padding-left:22px;padding-top:22px;width:60px;" valign="top" rowspan=3><a href="{{$source_link}}"><img style="border:0px;width:48px;height:48px;" src="{{$source_photo}}"></a></td> + <td style="padding-top:22px;"><a href="{{$source_link}}">{{$source_name}}</a></td></tr> + <tr><td style="font-weight:bold;padding-bottom:5px;">{{$title}}</td></tr> + <tr><td style="padding-right:22px;">{{$htmlversion}}</td></tr> + <tr><td style="padding-top:11px;" colspan="2">{{$hsitelink}}</td></tr> + <tr><td style="padding-bottom:11px;" colspan="2">{{$hitemlink}}</td></tr> + <tr><td></td><td>{{$thanks}}</td></tr> + <tr><td></td><td>{{$site_admin}}</td></tr> + </tbody> +</table> +</body> +</html> diff --git a/view/tpl/smarty3/email_notify_text.tpl b/view/tpl/smarty3/email_notify_text.tpl new file mode 100644 index 000000000..3de006095 --- /dev/null +++ b/view/tpl/smarty3/email_notify_text.tpl @@ -0,0 +1,13 @@ + +{{$preamble}} + +{{$title}} + +{{$textversion}} + +{{$tsitelink}} +{{$titemlink}} + +{{$thanks}} +{{$site_admin}} + diff --git a/view/tpl/smarty3/event.tpl b/view/tpl/smarty3/event.tpl new file mode 100644 index 000000000..7ce2572a4 --- /dev/null +++ b/view/tpl/smarty3/event.tpl @@ -0,0 +1,10 @@ +{{foreach $events as $event}} + <div class="event"> + + {{if $event.item.author-name}}<a href="{{$event.item.author-link}}" ><img src="{{$event.item.author-avatar}}" height="32" width="32" />{{$event.item.author-name}}</a>{{/if}} + {{$event.html}} + {{if $event.item.plink}}<a href="{{$event.plink.0}}" title="{{$event.plink.1}}" class="plink-event-link icon s22 remote-link"></a>{{/if}} + {{if $event.edit}}<a href="{{$event.edit.0}}" title="{{$event.edit.1}}" class="edit-event-link icon s22 pencil"></a>{{/if}} + </div> + <div class="clear"></div> +{{/foreach}} diff --git a/view/tpl/smarty3/event_form.tpl b/view/tpl/smarty3/event_form.tpl new file mode 100644 index 000000000..0091b59aa --- /dev/null +++ b/view/tpl/smarty3/event_form.tpl @@ -0,0 +1,49 @@ +<h3>{{$title}}</h3> + +<p> +{{$desc}} +</p> + +<form action="{{$post}}" method="post" > + +<input type="hidden" name="event_id" value="{{$eid}}" /> +<input type="hidden" name="cid" value="{{$cid}}" /> +<input type="hidden" name="uri" value="{{$uri}}" /> + +<div id="event-start-text">{{$s_text}}</div> +{{$s_dsel}} {{$s_tsel}} + +<div id="event-finish-text">{{$f_text}}</div> +{{$f_dsel}} {{$f_tsel}} + +<div id="event-datetime-break"></div> + +<input type="checkbox" name="nofinish" value="1" id="event-nofinish-checkbox" {{$n_checked}} /> <div id="event-nofinish-text">{{$n_text}}</div> + +<div id="event-nofinish-break"></div> + +<input type="checkbox" name="adjust" value="1" id="event-adjust-checkbox" {{$a_checked}} /> <div id="event-adjust-text">{{$a_text}}</div> + +<div id="event-adjust-break"></div> + +<div id="event-summary-text">{{$t_text}}</div> +<input type="text" id="event-summary" name="summary" value="{{$t_orig}}" /> + + +<div id="event-desc-text">{{$d_text}}</div> +<textarea id="event-desc-textarea" name="desc">{{$d_orig}}</textarea> + + +<div id="event-location-text">{{$l_text}}</div> +<textarea id="event-location-textarea" name="location">{{$l_orig}}</textarea> + +<input type="checkbox" name="share" value="1" id="event-share-checkbox" {{$sh_checked}} /> <div id="event-share-text">{{$sh_text}}</div> +<div id="event-share-break"></div> + +{{$acl}} + +<div class="clear"></div> +<input id="event-submit" type="submit" name="submit" value="{{$submit}}" /> +</form> + + diff --git a/view/tpl/smarty3/event_head.tpl b/view/tpl/smarty3/event_head.tpl new file mode 100644 index 000000000..2e2992e07 --- /dev/null +++ b/view/tpl/smarty3/event_head.tpl @@ -0,0 +1,139 @@ +<link rel='stylesheet' type='text/css' href='{{$baseurl}}/library/fullcalendar/fullcalendar.css' /> +<script language="javascript" type="text/javascript" + src="{{$baseurl}}/library/fullcalendar/fullcalendar.min.js"></script> + +<script> + function showEvent(eventid) { + $.get( + '{{$baseurl}}/events/?id='+eventid, + function(data){ + $.fancybox(data); + } + ); + } + + $(document).ready(function() { + $('#events-calendar').fullCalendar({ + events: '{{$baseurl}}/events/json/', + header: { + left: 'prev,next today', + center: 'title', + right: 'month,agendaWeek,agendaDay' + }, + timeFormat: 'H(:mm)', + eventClick: function(calEvent, jsEvent, view) { + showEvent(calEvent.id); + }, + + eventRender: function(event, element, view) { + //console.log(view.name); + if (event.item['author-name']==null) return; + switch(view.name){ + case "month": + element.find(".fc-event-title").html( + "<img src='{0}' style='height:10px;width:10px'>{1} : {2}".format( + event.item['author-avatar'], + event.item['author-name'], + event.title + )); + break; + case "agendaWeek": + element.find(".fc-event-title").html( + "<img src='{0}' style='height:12px; width:12px'>{1}<p>{2}</p><p>{3}</p>".format( + event.item['author-avatar'], + event.item['author-name'], + event.item.desc, + event.item.location + )); + break; + case "agendaDay": + element.find(".fc-event-title").html( + "<img src='{0}' style='height:24px;width:24px'>{1}<p>{2}</p><p>{3}</p>".format( + event.item['author-avatar'], + event.item['author-name'], + event.item.desc, + event.item.location + )); + break; + } + } + + }) + + // center on date + var args=location.href.replace(baseurl,"").split("/"); + if (args.length>=4) { + $("#events-calendar").fullCalendar('gotoDate',args[2] , args[3]-1); + } + + // show event popup + var hash = location.hash.split("-") + if (hash.length==2 && hash[0]=="#link") showEvent(hash[1]); + + }); +</script> + + +<script language="javascript" type="text/javascript" + src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script> +<script language="javascript" type="text/javascript"> + + + tinyMCE.init({ + theme : "advanced", + mode : "textareas", + plugins : "bbcode,paste", + theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code", + theme_advanced_buttons2 : "", + theme_advanced_buttons3 : "", + theme_advanced_toolbar_location : "top", + theme_advanced_toolbar_align : "center", + theme_advanced_blockformats : "blockquote,code", + gecko_spellcheck : true, + paste_text_sticky : true, + entity_encoding : "raw", + add_unload_trigger : false, + remove_linebreaks : false, + force_p_newlines : false, + force_br_newlines : true, + forced_root_block : '', + content_css: "{{$baseurl}}/view/custom_tinymce.css", + theme_advanced_path : false, + setup : function(ed) { + ed.onInit.add(function(ed) { + ed.pasteAsPlainText = true; + }); + } + + }); + + + $(document).ready(function() { + + $('#event-share-checkbox').change(function() { + + if ($('#event-share-checkbox').is(':checked')) { + $('#acl-wrapper').show(); + } + else { + $('#acl-wrapper').hide(); + } + }).trigger('change'); + + + $('#contact_allow, #contact_deny, #group_allow, #group_deny').change(function() { + var selstr; + $('#contact_allow option:selected, #contact_deny option:selected, #group_allow option:selected, #group_deny option:selected').each( function() { + selstr = $(this).text(); + $('#jot-public').hide(); + }); + if(selstr == null) { + $('#jot-public').show(); + } + + }).trigger('change'); + + }); + +</script> + diff --git a/view/tpl/smarty3/events-js.tpl b/view/tpl/smarty3/events-js.tpl new file mode 100644 index 000000000..c87d20529 --- /dev/null +++ b/view/tpl/smarty3/events-js.tpl @@ -0,0 +1,6 @@ +{{$tabs}} +<h2>{{$title}}</h2> + +<div id="new-event-link"><a href="{{$new_event.0}}" >{{$new_event.1}}</a></div> + +<div id="events-calendar"></div> diff --git a/view/tpl/smarty3/events.tpl b/view/tpl/smarty3/events.tpl new file mode 100644 index 000000000..48bd82d96 --- /dev/null +++ b/view/tpl/smarty3/events.tpl @@ -0,0 +1,24 @@ +{{$tabs}} +<h2>{{$title}}</h2> + +<div id="new-event-link"><a href="{{$new_event.0}}" >{{$new_event.1}}</a></div> + +<div id="event-calendar-wrapper"> + <a href="{{$previus.0}}" class="prevcal {{$previus.2}}"><div id="event-calendar-prev" class="icon s22 prev" title="{{$previus.1}}"></div></a> + {{$calendar}} + <a href="{{$next.0}}" class="nextcal {{$next.2}}"><div id="event-calendar-prev" class="icon s22 next" title="{{$next.1}}"></div></a> +</div> +<div class="event-calendar-end"></div> + + +{{foreach $events as $event}} + <div class="event"> + {{if $event.is_first}}<hr /><a name="link-{{$event.j}}" ><div class="event-list-date">{{$event.d}}</div></a>{{/if}} + {{if $event.item.author-name}}<a href="{{$event.item.author-link}}" ><img src="{{$event.item.author-avatar}}" height="32" width="32" />{{$event.item.author-name}}</a>{{/if}} + {{$event.html}} + {{if $event.item.plink}}<a href="{{$event.plink.0}}" title="{{$event.plink.1}}" class="plink-event-link icon s22 remote-link"></a>{{/if}} + {{if $event.edit}}<a href="{{$event.edit.0}}" title="{{$event.edit.1}}" class="edit-event-link icon s22 pencil"></a>{{/if}} + </div> + <div class="clear"></div> + +{{/foreach}} diff --git a/view/tpl/smarty3/events_reminder.tpl b/view/tpl/smarty3/events_reminder.tpl new file mode 100644 index 000000000..fd6a1a5c7 --- /dev/null +++ b/view/tpl/smarty3/events_reminder.tpl @@ -0,0 +1,10 @@ +{{if $count}} +<div id="event-notice" class="birthday-notice fakelink {{$classtoday}}" onclick="openClose('event-wrapper');">{{$event_reminders}} ({{$count}})</div> +<div id="event-wrapper" style="display: none;" ><div id="event-title">{{$event_title}}</div> +<div id="event-title-end"></div> +{{foreach $events as $event}} +<div class="event-list" id="event-{{$event.id}}"></a> <a href="events/{{$event.link}}">{{$event.title}}</a> {{$event.date}} </div> +{{/foreach}} +</div> +{{/if}} + diff --git a/view/tpl/smarty3/failed_updates.tpl b/view/tpl/smarty3/failed_updates.tpl new file mode 100644 index 000000000..68c0bcdf2 --- /dev/null +++ b/view/tpl/smarty3/failed_updates.tpl @@ -0,0 +1,17 @@ +<h2>{{$banner}}</h2> + +<div id="failed_updates_desc">{{$desc}}</div> + +{{if $failed}} +{{foreach $failed as $f}} + +<h4>{{$f}}</h4> +<ul> +<li><a href="{{$base}}/admin/dbsync/mark/{{$f}}">{{$mark}}</a></li> +<li><a href="{{$base}}/admin/dbsync/{{$f}}">{{$apply}}</a></li> +</ul> + +<hr /> +{{/foreach}} +{{/if}} + diff --git a/view/tpl/smarty3/fake_feed.tpl b/view/tpl/smarty3/fake_feed.tpl new file mode 100644 index 000000000..c37071cf4 --- /dev/null +++ b/view/tpl/smarty3/fake_feed.tpl @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="utf-8" ?> +<feed xmlns="http://www.w3.org/2005/Atom" > + + <id>fake feed</id> + <title>fake title</title> + + <updated>1970-01-01T00:00:00Z</updated> + + <author> + <name>Fake Name</name> + <uri>http://example.com</uri> + </author> + diff --git a/view/tpl/smarty3/field.tpl b/view/tpl/smarty3/field.tpl new file mode 100644 index 000000000..b7111ce5c --- /dev/null +++ b/view/tpl/smarty3/field.tpl @@ -0,0 +1,4 @@ + + {{if $field.0==select}} + {{include file="field_select.tpl"}} + {{/if}} diff --git a/view/tpl/smarty3/field_acheckbox.tpl b/view/tpl/smarty3/field_acheckbox.tpl new file mode 100644 index 000000000..d51770be5 --- /dev/null +++ b/view/tpl/smarty3/field_acheckbox.tpl @@ -0,0 +1,7 @@ + + <div class='field acheckbox'> + <label for='id_{{$field.0}}'>{{$field.1}}</label> + <input type="checkbox" class="abook-edit-them" name='{{$field.0}}' id='them_id_{{$field.0}}' value="1" disabled="disabled" {{if $field.2}}checked="checked"{{/if}} /> + <input type="checkbox" class="abook-edit-me" name='{{$field.0}}' id='me_id_{{$field.0}}' value="{{$field.4}}" {{if $field.3}}checked="checked"{{/if}} {{if $field.5}} disabled="disabled" {{/if}}/> + <span class='field_abook_help'>{{$field.6}}</span> + </div> diff --git a/view/tpl/smarty3/field_checkbox.tpl b/view/tpl/smarty3/field_checkbox.tpl new file mode 100644 index 000000000..ab9c0478e --- /dev/null +++ b/view/tpl/smarty3/field_checkbox.tpl @@ -0,0 +1,6 @@ + + <div class='field checkbox'> + <label for='id_{{$field.0}}'>{{$field.1}}</label> + <input type="checkbox" name='{{$field.0}}' id='id_{{$field.0}}' value="1" {{if $field.2}}checked="checked"{{/if}}> + <span class='field_help'>{{$field.3}}</span> + </div> diff --git a/view/tpl/smarty3/field_combobox.tpl b/view/tpl/smarty3/field_combobox.tpl new file mode 100644 index 000000000..3d69e2d27 --- /dev/null +++ b/view/tpl/smarty3/field_combobox.tpl @@ -0,0 +1,18 @@ + + <div class='field combobox'> + <label for='id_{{$field.0}}' id='id_{{$field.0}}_label'>{{$field.1}}</label> + {{* html5 don't work on Chrome, Safari and IE9 + <input id="id_{{$field.0}}" type="text" list="data_{{$field.0}}" > + <datalist id="data_{{$field.0}}" > + {{foreach $field.4 as $opt=>$val}}<option value="{{$val}}">{{/foreach}} + </datalist> *}} + + <input id="id_{{$field.0}}" type="text" value="{{$field.2}}"> + <select id="select_{{$field.0}}" onChange="$('#id_{{$field.0}}').val($(this).val())"> + <option value="">{{$field.5}}</option> + {{foreach $field.4 as $opt=>$val}}<option value="{{$val}}">{{$val}}</option>{{/foreach}} + </select> + + <span class='field_help'>{{$field.3}}</span> + </div> + diff --git a/view/tpl/smarty3/field_custom.tpl b/view/tpl/smarty3/field_custom.tpl new file mode 100644 index 000000000..e1bf318da --- /dev/null +++ b/view/tpl/smarty3/field_custom.tpl @@ -0,0 +1,6 @@ + + <div class='field custom'> + <label for='{{$field.0}}'>{{$field.1}}</label> + {{$field.2}} + <span class='field_help'>{{$field.3}}</span> + </div> diff --git a/view/tpl/smarty3/field_input.tpl b/view/tpl/smarty3/field_input.tpl new file mode 100644 index 000000000..2c5b2b238 --- /dev/null +++ b/view/tpl/smarty3/field_input.tpl @@ -0,0 +1,7 @@ + + <div class='field input'> + <label for='id_{{$field.0}}' id='label_{{$field.0}}'>{{$field.1}}</label> + <input name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.2}}"> + <span id='help_{{$field.0}}' class='field_help'>{{$field.3}}</span> + <div id='end_{{$field.0}}' class='field_end'></div> + </div> diff --git a/view/tpl/smarty3/field_intcheckbox.tpl b/view/tpl/smarty3/field_intcheckbox.tpl new file mode 100644 index 000000000..a6ef7cc8f --- /dev/null +++ b/view/tpl/smarty3/field_intcheckbox.tpl @@ -0,0 +1,6 @@ + + <div class='field checkbox'> + <label for='id_{{$field.0}}'>{{$field.1}}</label> + <input type="checkbox" name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.3}}" {{if $field.2}}checked="true"{{/if}}> + <span class='field_help'>{{$field.4}}</span> + </div> diff --git a/view/tpl/smarty3/field_openid.tpl b/view/tpl/smarty3/field_openid.tpl new file mode 100644 index 000000000..53dbfdde0 --- /dev/null +++ b/view/tpl/smarty3/field_openid.tpl @@ -0,0 +1,6 @@ + + <div class='field input openid'> + <label for='id_{{$field.0}}'>{{$field.1}}</label> + <input name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.2}}"> + <span class='field_help'>{{$field.3}}</span> + </div> diff --git a/view/tpl/smarty3/field_password.tpl b/view/tpl/smarty3/field_password.tpl new file mode 100644 index 000000000..e840a312d --- /dev/null +++ b/view/tpl/smarty3/field_password.tpl @@ -0,0 +1,6 @@ + + <div class='field password'> + <label for='id_{{$field.0}}'>{{$field.1}}</label> + <input type='password' name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.2}}"> + <span class='field_help'>{{$field.3}}</span> + </div> diff --git a/view/tpl/smarty3/field_radio.tpl b/view/tpl/smarty3/field_radio.tpl new file mode 100644 index 000000000..cff8881f5 --- /dev/null +++ b/view/tpl/smarty3/field_radio.tpl @@ -0,0 +1,6 @@ + + <div class='field radio'> + <label for='id_{{$field.0}}_{{$field.2}}'>{{$field.1}}</label> + <input type="radio" name='{{$field.0}}' id='id_{{$field.0}}_{{$field.2}}' value="{{$field.2}}" {{if $field.4}}checked="true"{{/if}}> + <span class='field_help'>{{$field.3}}</span> + </div> diff --git a/view/tpl/smarty3/field_richtext.tpl b/view/tpl/smarty3/field_richtext.tpl new file mode 100644 index 000000000..641493989 --- /dev/null +++ b/view/tpl/smarty3/field_richtext.tpl @@ -0,0 +1,6 @@ + + <div class='field richtext'> + <label for='id_{{$field.0}}'>{{$field.1}}</label> + <textarea name='{{$field.0}}' id='id_{{$field.0}}' class="fieldRichtext">{{$field.2}}</textarea> + <span class='field_help'>{{$field.3}}</span> + </div> diff --git a/view/tpl/smarty3/field_select.tpl b/view/tpl/smarty3/field_select.tpl new file mode 100644 index 000000000..18192e1d8 --- /dev/null +++ b/view/tpl/smarty3/field_select.tpl @@ -0,0 +1,8 @@ + + <div class='field select'> + <label for='id_{{$field.0}}'>{{$field.1}}</label> + <select name='{{$field.0}}' id='id_{{$field.0}}'> + {{foreach $field.4 as $opt=>$val}}<option value="{{$opt}}" {{if $opt==$field.2}}selected="selected"{{/if}}>{{$val}}</option>{{/foreach}} + </select> + <span class='field_help'>{{$field.3}}</span> + </div> diff --git a/view/tpl/smarty3/field_select_raw.tpl b/view/tpl/smarty3/field_select_raw.tpl new file mode 100644 index 000000000..4e495dcf8 --- /dev/null +++ b/view/tpl/smarty3/field_select_raw.tpl @@ -0,0 +1,8 @@ + + <div class='field select'> + <label for='id_{{$field.0}}'>{{$field.1}}</label> + <select name='{{$field.0}}' id='id_{{$field.0}}'> + {{$field.4}} + </select> + <span class='field_help'>{{$field.3}}</span> + </div> diff --git a/view/tpl/smarty3/field_textarea.tpl b/view/tpl/smarty3/field_textarea.tpl new file mode 100644 index 000000000..8c311563f --- /dev/null +++ b/view/tpl/smarty3/field_textarea.tpl @@ -0,0 +1,6 @@ + + <div class='field textarea'> + <label for='id_{{$field.0}}'>{{$field.1}}</label> + <textarea name='{{$field.0}}' id='id_{{$field.0}}'>{{$field.2}}</textarea> + <span class='field_help'>{{$field.3}}</span> + </div> diff --git a/view/tpl/smarty3/field_themeselect.tpl b/view/tpl/smarty3/field_themeselect.tpl new file mode 100644 index 000000000..c02eee328 --- /dev/null +++ b/view/tpl/smarty3/field_themeselect.tpl @@ -0,0 +1,9 @@ + <script>$(function(){ previewTheme($("#id_{{$field.0}}")[0]); });</script> + <div class='field select'> + <label for='id_{{$field.0}}'>{{$field.1}}</label> + <select name='{{$field.0}}' id='id_{{$field.0}}' {{if $field.5=='preview'}}onchange="previewTheme(this);"{{/if}} > + {{foreach $field.4 as $opt=>$val}}<option value="{{$opt}}" {{if $opt==$field.2}}selected="selected"{{/if}}>{{$val}}</option>{{/foreach}} + </select> + <span class='field_help'>{{$field.3}}</span> + <div id="theme-preview"></div> + </div> diff --git a/view/tpl/smarty3/field_yesno.tpl b/view/tpl/smarty3/field_yesno.tpl new file mode 100644 index 000000000..e36e775c7 --- /dev/null +++ b/view/tpl/smarty3/field_yesno.tpl @@ -0,0 +1,13 @@ + <div class='field yesno'> + <label for='id_{{$field.0}}'>{{$field.1}}</label> + <div class='onoff' id="id_{{$field.0}}_onoff"> + <input type="hidden" name='{{$field.0}}' id='id_{{$field.0}}' value="{{$field.2}}"> + <a href="#" class='off'> + {{if $field.4}}{{$field.4.0}}{{else}}OFF{{/if}} + </a> + <a href="#" class='on'> + {{if $field.4}}{{$field.4.1}}{{else}}ON{{/if}} + </a> + </div> + <span class='field_help'>{{$field.3}}</span> + </div> diff --git a/view/tpl/smarty3/fileas_widget.tpl b/view/tpl/smarty3/fileas_widget.tpl new file mode 100644 index 000000000..70d68c56e --- /dev/null +++ b/view/tpl/smarty3/fileas_widget.tpl @@ -0,0 +1,12 @@ +<div id="fileas-sidebar" class="widget"> + <h3>{{$title}}</h3> + <div id="nets-desc">{{$desc}}</div> + + <ul class="fileas-ul"> + <li class="tool"><a href="{{$base}}" class="fileas-link fileas-all{{if $sel_all}} fileas-selected{{/if}}">{{$all}}</a></li> + {{foreach $terms as $term}} + <li class="tool"><a href="{{$base}}?f=&file={{$term.name}}" class="fileas-link{{if $term.selected}} fileas-selected{{/if}}">{{$term.name}}</a></li> + {{/foreach}} + </ul> + +</div> diff --git a/view/tpl/smarty3/filebrowser.tpl b/view/tpl/smarty3/filebrowser.tpl new file mode 100644 index 000000000..787f7c0cd --- /dev/null +++ b/view/tpl/smarty3/filebrowser.tpl @@ -0,0 +1,84 @@ +<!DOCTYPE html> +<html> + <head> + <script type="text/javascript" src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_popup.js"></script> + <style> + .panel_wrapper div.current{.overflow: auto; height: auto!important; } + .filebrowser.path { font-family: fixed; font-size: 10px; background-color: #f0f0ee; height:auto; overflow:auto;} + .filebrowser.path a { border-left: 1px solid #C0C0AA; background-color: #E0E0DD; display: block; float:left; padding: 0.3em 1em;} + .filebrowser ul{ list-style-type: none; padding:0px; } + .filebrowser.folders a { display: block; padding: 0.3em } + .filebrowser.folders a:hover { background-color: #f0f0ee; } + .filebrowser.files.image { overflow: auto; height: auto; } + .filebrowser.files.image img { height:50px;} + .filebrowser.files.image li { display: block; padding: 5px; float: left; } + .filebrowser.files.image span { display: none;} + .filebrowser.files.file img { height:16px; vertical-align: bottom;} + .filebrowser.files a { display: block; padding: 0.3em} + .filebrowser.files a:hover { background-color: #f0f0ee; } + .filebrowser a { text-decoration: none; } + </style> + <script> + var FileBrowserDialogue = { + init : function () { + // Here goes your code for setting your custom things onLoad. + }, + mySubmit : function (URL) { + //var URL = document.my_form.my_field.value; + var win = tinyMCEPopup.getWindowArg("window"); + + // insert information now + win.document.getElementById(tinyMCEPopup.getWindowArg("input")).value = URL; + + // are we an image browser + if (typeof(win.ImageDialog) != "undefined") { + // we are, so update image dimensions... + if (win.ImageDialog.getImageData) + win.ImageDialog.getImageData(); + + // ... and preview if necessary + if (win.ImageDialog.showPreviewImage) + win.ImageDialog.showPreviewImage(URL); + } + + // close popup window + tinyMCEPopup.close(); + } + } + + tinyMCEPopup.onInit.add(FileBrowserDialogue.init, FileBrowserDialogue); + </script> + </head> + <body> + + <div class="tabs"> + <ul > + <li class="current"><span>FileBrowser</span></li> + </ul> + </div> + <div class="panel_wrapper"> + + <div id="general_panel" class="panel current"> + <div class="filebrowser path"> + {{foreach $path as $p}}<a href="{{$p.0}}">{{$p.1}}</a>{{/foreach}} + </div> + <div class="filebrowser folders"> + <ul> + {{foreach $folders as $f}}<li><a href="{{$f.0}}/">{{$f.1}}</a></li>{{/foreach}} + </ul> + </div> + <div class="filebrowser files {{$type}}"> + <ul> + {{foreach $files as $f}} + <li><a href="#" onclick="FileBrowserDialogue.mySubmit('{{$f.0}}'); return false;"><img src="{{$f.2}}"><span>{{$f.1}}</span></a></li> + {{/foreach}} + </ul> + </div> + </div> + </div> + <div class="mceActionPanel"> + <input type="button" id="cancel" name="cancel" value="{{$cancel}}" onclick="tinyMCEPopup.close();" /> + </div> + </body> + +</html> diff --git a/view/tpl/smarty3/filer_dialog.tpl b/view/tpl/smarty3/filer_dialog.tpl new file mode 100644 index 000000000..ae59ab713 --- /dev/null +++ b/view/tpl/smarty3/filer_dialog.tpl @@ -0,0 +1,4 @@ +{{include file="field_combobox.tpl"}} +<div class="settings-submit-wrapper" > + <input id="filer_save" type="button" class="settings-submit" value="{{$submit}}" /> +</div> diff --git a/view/tpl/smarty3/follow.tpl b/view/tpl/smarty3/follow.tpl new file mode 100644 index 000000000..350f8d910 --- /dev/null +++ b/view/tpl/smarty3/follow.tpl @@ -0,0 +1,8 @@ +<div id="follow-sidebar" class="widget"> + <h3>{{$connect}}</h3> + <div id="connect-desc">{{$desc}}</div> + <form action="follow" method="post" /> + <input id="side-follow-url" type="text" name="url" size="24" title="{{$hint}}" /><input id="side-follow-submit" type="submit" name="submit" value="{{$follow}}" /> + </form> +</div> + diff --git a/view/tpl/smarty3/follow_slap.tpl b/view/tpl/smarty3/follow_slap.tpl new file mode 100644 index 000000000..4222387fa --- /dev/null +++ b/view/tpl/smarty3/follow_slap.tpl @@ -0,0 +1,25 @@ + <entry> + <author> + <name>{{$name}}</name> + <uri>{{$profile_page}}</uri> + <link rel="photo" type="image/jpeg" media:width="80" media:height="80" href="{{$thumb}}" /> + <link rel="avatar" type="image/jpeg" media:width="80" media:height="80" href="{{$thumb}}" /> + </author> + + <id>{{$item_id}}</id> + <title>{{$title}}</title> + <published>{{$published}}</published> + <content type="{{$type}}" >{{$content}}</content> + + <as:actor> + <as:obj_type>http://activitystrea.ms/schema/1.0/person</as:obj_type> + <id>{{$profile_page}}</id> + <title></title> + <link rel="avatar" type="image/jpeg" media:width="175" media:height="175" href="{{$photo}}"/> + <link rel="avatar" type="image/jpeg" media:width="80" media:height="80" href="{{$thumb}}"/> + <poco:preferredUsername>{{$nick}}</poco:preferredUsername> + <poco:displayName>{{$name}}</poco:displayName> + </as:actor> + <as:verb>{{$verb}}</as:verb> + {{$ostat_follow}} + </entry> diff --git a/view/tpl/smarty3/generic_links_widget.tpl b/view/tpl/smarty3/generic_links_widget.tpl new file mode 100644 index 000000000..8b4c67b6f --- /dev/null +++ b/view/tpl/smarty3/generic_links_widget.tpl @@ -0,0 +1,11 @@ +<div class="widget{{if $class}} {{$class}}{{/if}}"> + {{if $title}}<h3>{{$title}}</h3>{{/if}} + {{if $desc}}<div class="desc">{{$desc}}</div>{{/if}} + + <ul> + {{foreach $items as $item}} + <li class="tool"><a href="{{$item.url}}" class="{{if $item.selected}}selected{{/if}}">{{$item.label}}</a></li> + {{/foreach}} + </ul> + +</div> diff --git a/view/tpl/smarty3/group_drop.tpl b/view/tpl/smarty3/group_drop.tpl new file mode 100644 index 000000000..670136db7 --- /dev/null +++ b/view/tpl/smarty3/group_drop.tpl @@ -0,0 +1,9 @@ +<div class="group-delete-wrapper button" id="group-delete-wrapper-{{$id}}" > + <a href="group/drop/{{$id}}?t={{$form_security_token}}" + onclick="return confirmDelete();" + id="group-delete-icon-{{$id}}" + class="icon drophide group-delete-icon" + onmouseover="imgbright(this);" + onmouseout="imgdull(this);" ></a> +</div> +<div class="group-delete-end"></div> diff --git a/view/tpl/smarty3/group_edit.tpl b/view/tpl/smarty3/group_edit.tpl new file mode 100644 index 000000000..e4fb987ac --- /dev/null +++ b/view/tpl/smarty3/group_edit.tpl @@ -0,0 +1,23 @@ +<h2>{{$title}}</h2> + + +<div id="group-edit-wrapper" > + <form action="group/{{$gid}}" id="group-edit-form" method="post" > + <input type='hidden' name='form_security_token' value='{{$form_security_token}}'> + + {{include file="field_input.tpl" field=$gname}} + {{if $drop}}{{$drop}}{{/if}} + <div id="group-edit-submit-wrapper" > + <input type="submit" name="submit" value="{{$submit}}" > + </div> + <div id="group-edit-select-end" ></div> + </form> +</div> + + +{{if $groupeditor}} + <div id="group-update-wrapper"> + {{include file="groupeditor.tpl"}} + </div> +{{/if}} +{{if $desc}}<div id="group-edit-desc">{{$desc}}</div>{{/if}} diff --git a/view/tpl/smarty3/group_selection.tpl b/view/tpl/smarty3/group_selection.tpl new file mode 100644 index 000000000..2223125ea --- /dev/null +++ b/view/tpl/smarty3/group_selection.tpl @@ -0,0 +1,8 @@ +<div class="field custom"> +<label for="group-selection" id="group-selection-lbl">{{$label}}</label> +<select name="group-selection" id="group-selection" > +{{foreach $groups as $group}} +<option value="{{$group.id}}" {{if $group.selected}}selected="selected"{{/if}} >{{$group.name}}</option> +{{/foreach}} +</select> +</div> diff --git a/view/tpl/smarty3/group_side.tpl b/view/tpl/smarty3/group_side.tpl new file mode 100644 index 000000000..ebc820530 --- /dev/null +++ b/view/tpl/smarty3/group_side.tpl @@ -0,0 +1,33 @@ +<div class="widget" id="group-sidebar"> +<h3>{{$title}}</h3> + +<div id="sidebar-group-list"> + <ul id="sidebar-group-ul"> + {{foreach $groups as $group}} + <li class="sidebar-group-li"> + {{if $group.cid}} + <input type="checkbox" + class="{{if $group.selected}}ticked{{else}}unticked {{/if}} action" + onclick="contactgroupChangeMember('{{$group.id}}','{{$group.cid}}');return true;" + {{if $group.ismember}}checked="checked"{{/if}} + /> + {{/if}} + {{if $group.edit}} + <a class="groupsideedit" href="{{$group.edit.href}}" title="{{$edittext}}"><span id="edit-sidebar-group-element-{{$group.id}}" class="group-edit-icon iconspacer small-pencil"></span></a> + {{/if}} + <a id="sidebar-group-element-{{$group.id}}" class="sidebar-group-element {{if $group.selected}}group-selected{{/if}}" href="{{$group.href}}">{{$group.text}}</a> + </li> + {{/foreach}} + </ul> + </div> + <div id="sidebar-new-group"> + <a href="group/new">{{$createtext}}</a> + </div> + {{if $ungrouped}} + <div id="sidebar-ungrouped"> + <a href="nogroup">{{$ungrouped}}</a> + </div> + {{/if}} +</div> + + diff --git a/view/tpl/smarty3/groupeditor.tpl b/view/tpl/smarty3/groupeditor.tpl new file mode 100644 index 000000000..c79bb0a2a --- /dev/null +++ b/view/tpl/smarty3/groupeditor.tpl @@ -0,0 +1,16 @@ +<div id="group"> +<h3>{{$groupeditor.label_members}}</h3> +<div id="group-members" class="contact_list"> +{{foreach $groupeditor.members as $c}} {{$c}} {{/foreach}} +</div> +<div id="group-members-end"></div> +<hr id="group-separator" /> +</div> + +<div id="contacts"> +<h3>{{$groupeditor.label_contacts}}</h3> +<div id="group-all-contacts" class="contact_list"> +{{foreach $groupeditor.contacts as $m}} {{$m}} {{/foreach}} +</div> +<div id="group-all-contacts-end"></div> +</div> diff --git a/view/tpl/smarty3/head.tpl b/view/tpl/smarty3/head.tpl new file mode 100644 index 000000000..115be47dd --- /dev/null +++ b/view/tpl/smarty3/head.tpl @@ -0,0 +1,30 @@ +<meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> +<base href="{{$baseurl}}/" /> +<meta name="generator" content="{{$generator}}" /> + +<!--[if IE]> +<script src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script> +<![endif]--> + +{{$head_css}} + +{{$js_strings}} + +{{$head_js}} + +<link rel="shortcut icon" href="{{$baseurl}}/images/red.png" /> +<link rel="search" + href="{{$baseurl}}/opensearch" + type="application/opensearchdescription+xml" + title="Search in Friendica" /> + + +<script> + + var updateInterval = {{$update_interval}}; + var localUser = {{if $local_user}}{{$local_user}}{{else}}false{{/if}}; + +</script> + + + diff --git a/view/tpl/smarty3/hide_comments.tpl b/view/tpl/smarty3/hide_comments.tpl new file mode 100644 index 000000000..f4ed9c552 --- /dev/null +++ b/view/tpl/smarty3/hide_comments.tpl @@ -0,0 +1,4 @@ +<div class="hide-comments-outer"> +<span id="hide-comments-total-{{$id}}" class="hide-comments-total">{{$num_comments}}</span> <span id="hide-comments-{{$id}}" class="hide-comments fakelink" onclick="showHideComments({{$id}});">{{$hide_text}}</span> +</div> +<div id="collapsed-comments-{{$id}}" class="collapsed-comments" style="display: {{$display}};"> diff --git a/view/tpl/smarty3/install.tpl b/view/tpl/smarty3/install.tpl new file mode 100644 index 000000000..81475f587 --- /dev/null +++ b/view/tpl/smarty3/install.tpl @@ -0,0 +1,10 @@ + +<h1>{{$title}}</h1> +<h2>{{$pass}}</h2> + + +{{if $status}} +<h3 class="error-message">{{$status}}</h3> +{{/if}} + +{{$text}} diff --git a/view/tpl/smarty3/install_checks.tpl b/view/tpl/smarty3/install_checks.tpl new file mode 100644 index 000000000..2068df916 --- /dev/null +++ b/view/tpl/smarty3/install_checks.tpl @@ -0,0 +1,24 @@ +<h1>{{$title}}</h1> +<h2>{{$pass}}</h2> +<form action="{{$baseurl}}/index.php?q=setup" method="post"> +<table> +{{foreach $checks as $check}} + <tr><td>{{$check.title}} </td><td><span class="icon s22 {{if $check.status}}on{{else}}{{if $check.required}}off{{else}}yellow{{/if}}{{/if}}"></td><td>{{if $check.required}}(required){{/if}}</td></tr> + {{if $check.help}} + <tr><td colspan="3"><blockquote>{{$check.help}}</blockquote></td></tr> + {{/if}} +{{/foreach}} +</table> + +{{if $phpath}} + <input type="hidden" name="phpath" value="{{$phpath}}"> +{{/if}} + +{{if $passed}} + <input type="hidden" name="pass" value="2"> + <input type="submit" value="{{$next}}"> +{{else}} + <input type="hidden" name="pass" value="1"> + <input type="submit" value="{{$reload}}"> +{{/if}} +</form> diff --git a/view/tpl/smarty3/install_db.tpl b/view/tpl/smarty3/install_db.tpl new file mode 100644 index 000000000..5425b2c48 --- /dev/null +++ b/view/tpl/smarty3/install_db.tpl @@ -0,0 +1,30 @@ + +<h1>{{$title}}</h1> +<h2>{{$pass}}</h2> + + +<p> +{{$info_01}}<br> +{{$info_02}}<br> +{{$info_03}} +</p> + +{{if $status}} +<h3 class="error-message">{{$status}}</h3> +{{/if}} + +<form id="install-form" action="{{$baseurl}}/setup" method="post"> + +<input type="hidden" name="phpath" value="{{$phpath}}" /> +<input type="hidden" name="pass" value="3" /> + +{{include file="field_input.tpl" field=$dbhost}} +{{include file="field_input.tpl" field=$dbuser}} +{{include file="field_password.tpl" field=$dbpass}} +{{include file="field_input.tpl" field=$dbdata}} + + +<input id="install-submit" type="submit" name="submit" value="{{$submit}}" /> + +</form> + diff --git a/view/tpl/smarty3/install_settings.tpl b/view/tpl/smarty3/install_settings.tpl new file mode 100644 index 000000000..9fd93239a --- /dev/null +++ b/view/tpl/smarty3/install_settings.tpl @@ -0,0 +1,27 @@ + +<h1>{{$title}}</h1> +<h2>{{$pass}}</h2> + + +{{if $status}} +<h3 class="error-message">{{$status}}</h3> +{{/if}} + +<form id="install-form" action="{{$baseurl}}/setup" method="post"> + +<input type="hidden" name="phpath" value="{{$phpath}}" /> +<input type="hidden" name="dbhost" value="{{$dbhost}}" /> +<input type="hidden" name="dbuser" value="{{$dbuser}}" /> +<input type="hidden" name="dbpass" value="{{$dbpass}}" /> +<input type="hidden" name="dbdata" value="{{$dbdata}}" /> +<input type="hidden" name="pass" value="4" /> + +{{include file="field_input.tpl" field=$adminmail}} +{{include file="field_input.tpl" field=$siteurl}} + +{{$timezone}} + +<input id="install-submit" type="submit" name="submit" value="{{$submit}}" /> + +</form> + diff --git a/view/tpl/smarty3/intros.tpl b/view/tpl/smarty3/intros.tpl new file mode 100644 index 000000000..3b857a19e --- /dev/null +++ b/view/tpl/smarty3/intros.tpl @@ -0,0 +1,18 @@ + +<div class="intro-wrapper" id="intro-{{$contact_id}}" > + +<div class="intro-fullname" id="intro-fullname-{{$contact_id}}" >{{$fullname}}</div> +<a class="intro-url-link" id="intro-url-link-{{$contact_id}}" href="{{$url}}" ><img id="photo-{{$contact_id}}" class="intro-photo" src="{{$photo}}" width="175" height=175" title="{{$fullname}}" alt="{{$fullname}}" /></a> +<div class="intro-wrapper-end" id="intro-wrapper-end-{{$contact_id}}"></div> +<form class="intro-form" action="intro" method="post"> +<input class="intro-submit-ignore" type="submit" name="submit" value="{{$ignore}}" /> +<input class="intro-submit-block" type="submit" name="submit" value="{{$block}}" /> +<input class="intro-submit-discard" type="submit" name="submit" value="{{$discard}}" /> +{{include file="field_checkbox.tpl" field=$hidden}} +{{* {{include file="field_checkbox.tpl" field=$activity}} *}} +<input type="hidden" name="contact_id" value="{{$contact_id}}" > + +<input class="intro-submit-approve" type="submit" name="submit" value="{{$approve}}" /> +</form> +</div> +<div class="intro-end"></div> diff --git a/view/tpl/smarty3/intros_header.tpl b/view/tpl/smarty3/intros_header.tpl new file mode 100644 index 000000000..15096c7f8 --- /dev/null +++ b/view/tpl/smarty3/intros_header.tpl @@ -0,0 +1 @@ +<h3>{{$title}}</h3> diff --git a/view/tpl/smarty3/invite.tpl b/view/tpl/smarty3/invite.tpl new file mode 100644 index 000000000..117ee7cd6 --- /dev/null +++ b/view/tpl/smarty3/invite.tpl @@ -0,0 +1,27 @@ +<form action="invite" method="post" id="invite-form" > +<div id="invite-wrapper"> + +<h3>{{$invite}}</h3> + +<div id="invite-recipient-text"> +{{$addr_text}} +</div> + +<div id="invite-recipient-textarea"> +<textarea id="invite-recipients" name="recipients" rows="8" cols="32" ></textarea> +</div> + +<div id="invite-message-text"> +{{$msg_text}} +</div> + +<div id="invite-message-textarea"> +<textarea id="invite-message" name="message" rows="10" cols="72" >{{$default_message}}</textarea> +</div> + +<div id="invite-submit-wrapper"> +<input type="submit" name="submit" value="{{$submit}}" /> +</div> + +</div> +</form> diff --git a/view/tpl/smarty3/jot-header.tpl b/view/tpl/smarty3/jot-header.tpl new file mode 100644 index 000000000..26c8f2a86 --- /dev/null +++ b/view/tpl/smarty3/jot-header.tpl @@ -0,0 +1,318 @@ + +<script language="javascript" type="text/javascript"> + +var editor=false; +var textlen = 0; +var plaintext = '{{$editselect}}'; + +function initEditor(cb){ + if (editor==false){ + $("#profile-jot-text-loading").show(); + if(plaintext == 'none') { + $("#profile-jot-text-loading").hide(); + $("#profile-jot-text").css({ 'height': 200, 'color': '#000' }); + $("#profile-jot-text").contact_autocomplete(baseurl+"/acl"); + editor = true; + $("a#jot-perms-icon").fancybox({ + 'transitionIn' : 'elastic', + 'transitionOut' : 'elastic' + }); + $(".jothidden").show(); + if (typeof cb!="undefined") cb(); + return; + } + tinyMCE.init({ + theme : "advanced", + mode : "specific_textareas", + editor_selector: {{$editselect}}, + auto_focus: "profile-jot-text", + plugins : "bbcode,paste,autoresize, inlinepopups", + theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code", + theme_advanced_buttons2 : "", + theme_advanced_buttons3 : "", + theme_advanced_toolbar_location : "top", + theme_advanced_toolbar_align : "center", + theme_advanced_blockformats : "blockquote,code", + gecko_spellcheck : true, + paste_text_sticky : true, + entity_encoding : "raw", + add_unload_trigger : false, + remove_linebreaks : false, + force_p_newlines : false, + force_br_newlines : true, + forced_root_block : '', + convert_urls: false, + content_css: "{{$baseurl}}/view/custom_tinymce.css", + theme_advanced_path : false, + file_browser_callback : "fcFileBrowser", + setup : function(ed) { + cPopup = null; + ed.onKeyDown.add(function(ed,e) { + if(cPopup !== null) + cPopup.onkey(e); + }); + + ed.onKeyUp.add(function(ed, e) { + var txt = tinyMCE.activeEditor.getContent(); + match = txt.match(/@([^ \n]+)$/); + if(match!==null) { + if(cPopup === null) { + cPopup = new ACPopup(this,baseurl+"/acl"); + } + if(cPopup.ready && match[1]!==cPopup.searchText) cPopup.search(match[1]); + if(! cPopup.ready) cPopup = null; + } + else { + if(cPopup !== null) { cPopup.close(); cPopup = null; } + } + + textlen = txt.length; + if(textlen != 0 && $('#jot-perms-icon').is('.unlock')) { + $('#profile-jot-desc').html(ispublic); + } + else { + $('#profile-jot-desc').html(' '); + } + + //Character count + + if(textlen <= 140) { + $('#character-counter').removeClass('red'); + $('#character-counter').removeClass('orange'); + $('#character-counter').addClass('grey'); + } + if((textlen > 140) && (textlen <= 420)) { + $('#character-counter').removeClass('grey'); + $('#character-counter').removeClass('red'); + $('#character-counter').addClass('orange'); + } + if(textlen > 420) { + $('#character-counter').removeClass('grey'); + $('#character-counter').removeClass('orange'); + $('#character-counter').addClass('red'); + } + $('#character-counter').text(textlen); + }); + + ed.onInit.add(function(ed) { + ed.pasteAsPlainText = true; + $("#profile-jot-text-loading").hide(); + $(".jothidden").show(); + if (typeof cb!="undefined") cb(); + }); + + } + }); + + editor = true; + // setup acl popup + $("a#jot-perms-icon").fancybox({ + 'transitionIn' : 'elastic', + 'transitionOut' : 'elastic' + }); + } else { + if (typeof cb!="undefined") cb(); + } +} + +function enableOnUser(){ + if (editor) return; + $(this).val(""); + initEditor(); +} + +</script> +<script type="text/javascript" src="{{$baseurl}}/js/ajaxupload.js" ></script> +<script> + var ispublic = '{{$ispublic}}'; + + $(document).ready(function() { + + /* enable tinymce on focus and click */ + $("#profile-jot-text").focus(enableOnUser); + $("#profile-jot-text").click(enableOnUser); + + var uploader = new window.AjaxUpload( + 'wall-image-upload', + { action: 'wall_upload/{{$nickname}}', + name: 'userfile', + onSubmit: function(file,ext) { $('#profile-rotator').show(); }, + onComplete: function(file,response) { + addeditortext(response); + $('#profile-rotator').hide(); + } + } + ); + var file_uploader = new window.AjaxUpload( + 'wall-file-upload', + { action: 'wall_attach/{{$nickname}}', + name: 'userfile', + onSubmit: function(file,ext) { $('#profile-rotator').show(); }, + onComplete: function(file,response) { + addeditortext(response); + $('#profile-rotator').hide(); + } + } + ); + + + }); + + function deleteCheckedItems() { + var checkedstr = ''; + + $('.item-select').each( function() { + if($(this).is(':checked')) { + if(checkedstr.length != 0) { + checkedstr = checkedstr + ',' + $(this).val(); + } + else { + checkedstr = $(this).val(); + } + } + }); + $.post('item', { dropitems: checkedstr }, function(data) { + window.location.reload(); + }); + } + + function jotGetLink() { + reply = prompt("{{$linkurl}}"); + if(reply && reply.length) { + reply = bin2hex(reply); + $('#profile-rotator').show(); + $.get('parse_url?binurl=' + reply, function(data) { + addeditortext(data); + $('#profile-rotator').hide(); + }); + } + } + + function jotVideoURL() { + reply = prompt("{{$vidurl}}"); + if(reply && reply.length) { + addeditortext('[video]' + reply + '[/video]'); + } + } + + function jotAudioURL() { + reply = prompt("{{$audurl}}"); + if(reply && reply.length) { + addeditortext('[audio]' + reply + '[/audio]'); + } + } + + + function jotGetLocation() { + reply = prompt("{{$whereareu}}", $('#jot-location').val()); + if(reply && reply.length) { + $('#jot-location').val(reply); + } + } + + function jotShare(id) { + if ($('#jot-popup').length != 0) $('#jot-popup').show(); + + $('#like-rotator-' + id).show(); + $.get('share/' + id, function(data) { + if (!editor) $("#profile-jot-text").val(""); + initEditor(function(){ + addeditortext(data); + $('#like-rotator-' + id).hide(); + $(window).scrollTop(0); + }); + + }); + } + + function linkdropper(event) { + var linkFound = event.dataTransfer.types.contains("text/uri-list"); + if(linkFound) + event.preventDefault(); + } + + function linkdrop(event) { + var reply = event.dataTransfer.getData("text/uri-list"); + event.target.textContent = reply; + event.preventDefault(); + if(reply && reply.length) { + reply = bin2hex(reply); + $('#profile-rotator').show(); + $.get('parse_url?binurl=' + reply, function(data) { + if (!editor) $("#profile-jot-text").val(""); + initEditor(function(){ + addeditortext(data); + $('#profile-rotator').hide(); + }); + }); + } + } + + function itemTag(id) { + reply = prompt("{{$term}}"); + if(reply && reply.length) { + reply = reply.replace('#',''); + if(reply.length) { + + commentBusy = true; + $('body').css('cursor', 'wait'); + + $.get('tagger/' + id + '?term=' + reply); + if(timer) clearTimeout(timer); + timer = setTimeout(NavUpdate,3000); + liking = 1; + } + } + } + + function itemFiler(id) { + + var bordercolor = $("input").css("border-color"); + + $.get('filer/', function(data){ + $.fancybox(data); + $("#id_term").keypress(function(){ + $(this).css("border-color",bordercolor); + }) + $("#select_term").change(function(){ + $("#id_term").css("border-color",bordercolor); + }) + + $("#filer_save").click(function(e){ + e.preventDefault(); + reply = $("#id_term").val(); + if(reply && reply.length) { + commentBusy = true; + $('body').css('cursor', 'wait'); + $.get('filer/' + id + '?term=' + reply, NavUpdate); +// if(timer) clearTimeout(timer); +// timer = setTimeout(NavUpdate,3000); + liking = 1; + $.fancybox.close(); + } else { + $("#id_term").css("border-color","#FF0000"); + } + return false; + }); + }); + + } + + function jotClearLocation() { + $('#jot-coord').val(''); + $('#profile-nolocation-wrapper').hide(); + } + + function addeditortext(data) { + if(plaintext == 'none') { + var currentText = $("#profile-jot-text").val(); + $("#profile-jot-text").val(currentText + data); + } + else + tinyMCE.execCommand('mceInsertRawHTML',false,data); + } + + {{$geotag}} + +</script> + diff --git a/view/tpl/smarty3/jot.tpl b/view/tpl/smarty3/jot.tpl new file mode 100644 index 000000000..7c35dd8d7 --- /dev/null +++ b/view/tpl/smarty3/jot.tpl @@ -0,0 +1,86 @@ + +<div id="profile-jot-wrapper" > + <div id="profile-jot-banner-wrapper"> + <div id="profile-jot-desc" > </div> + <div id="character-counter" class="grey"></div> + </div> + <div id="profile-jot-banner-end"></div> + + <form id="profile-jot-form" action="{{$action}}" method="post" > + <input type="hidden" name="type" value="{{$ptyp}}" /> + <input type="hidden" name="profile_uid" value="{{$profile_uid}}" /> + <input type="hidden" name="return" value="{{$return_path}}" /> + <input type="hidden" name="location" id="jot-location" value="{{$defloc}}" /> + <input type="hidden" name="coord" id="jot-coord" value="" /> + <input type="hidden" name="post_id" value="{{$post_id}}" /> + <input type="hidden" name="preview" id="jot-preview" value="0" /> + <div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="{{$placeholdertitle}}" value="{{$title}}" class="jothidden" style="display:none"></div> + {{if $catsenabled}} + <div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="{{$placeholdercategory}}" value="{{$category}}" class="jothidden" style="display:none" /></div> + {{/if}} + <div id="jot-text-wrap"> + <img id="profile-jot-text-loading" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" /> + <textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" >{{if $content}}{{$content}}{{else}}{{$share}}{{/if}}</textarea> + </div> + +<div id="profile-jot-submit-wrapper" class="jothidden"> + <input type="submit" id="profile-jot-submit" name="submit" value="{{$share}}" /> + + <div id="profile-upload-wrapper" style="display: {{$visitor}};" > + <div id="wall-image-upload-div" ><a href="#" onclick="return false;" id="wall-image-upload" class="icon camera" title="{{$upload}}"></a></div> + </div> + <div id="profile-attach-wrapper" style="display: {{$visitor}};" > + <div id="wall-file-upload-div" ><a href="#" onclick="return false;" id="wall-file-upload" class="icon attach" title="{{$attach}}"></a></div> + </div> + + <div id="profile-link-wrapper" style="display: {{$visitor}};" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" > + <a id="profile-link" class="icon link" title="{{$weblink}}" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;"></a> + </div> + <div id="profile-video-wrapper" style="display: {{$visitor}};" > + <a id="profile-video" class="icon video" title="{{$video}}" onclick="jotVideoURL();return false;"></a> + </div> + <div id="profile-audio-wrapper" style="display: {{$visitor}};" > + <a id="profile-audio" class="icon audio" title="{{$audio}}" onclick="jotAudioURL();return false;"></a> + </div> + <div id="profile-location-wrapper" style="display: {{$visitor}};" > + <a id="profile-location" class="icon globe" title="{{$setloc}}" onclick="jotGetLocation();return false;"></a> + </div> + <div id="profile-nolocation-wrapper" style="display: none;" > + <a id="profile-nolocation" class="icon noglobe" title="{{$noloc}}" onclick="jotClearLocation();return false;"></a> + </div> + + <div id="profile-jot-perms" class="profile-jot-perms" style="display: {{$pvisit}};" > + <a href="#profile-jot-acl-wrapper" id="jot-perms-icon" class="icon {{$lockstate}}" title="{{$permset}}" ></a>{{$bang}} + </div> + + {{if $preview}}<span onclick="preview_post();" id="jot-preview-link" class="fakelink">{{$preview}}</span>{{/if}} + + + <div id="profile-jot-perms-end"></div> + + + <div id="profile-jot-plugin-wrapper"> + {{$jotplugins}} + </div> + + <div id="profile-rotator-wrapper" style="display: {{$visitor}};" > + <img id="profile-rotator" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" /> + </div> + + <div id="jot-preview-content" style="display:none;"></div> + + <div style="display: none;"> + <div id="profile-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;"> + {{$acl}} + <hr style="clear:both"/> + {{$jotnets}} + </div> + </div> + + +</div> + +<div id="profile-jot-end"></div> +</form> +</div> + {{if $content}}<script>initEditor();</script>{{/if}} diff --git a/view/tpl/smarty3/jot_geotag.tpl b/view/tpl/smarty3/jot_geotag.tpl new file mode 100644 index 000000000..b0f71e73b --- /dev/null +++ b/view/tpl/smarty3/jot_geotag.tpl @@ -0,0 +1,8 @@ + + if(navigator.geolocation) { + navigator.geolocation.getCurrentPosition(function(position) { + $('#jot-coord').val(position.coords.latitude + ' ' + position.coords.longitude); + $('#profile-nolocation-wrapper').show(); + }); + } + diff --git a/view/tpl/smarty3/js_strings.tpl b/view/tpl/smarty3/js_strings.tpl new file mode 100644 index 000000000..5316f52ab --- /dev/null +++ b/view/tpl/smarty3/js_strings.tpl @@ -0,0 +1,34 @@ + +<script> + + var aStr = { + + 'delitem' : '{{$delitem}}', + 'comment' : '{{$comment}}', + 'showmore' : '{{$showmore}}', + 'showfewer' : '{{$showfewer}}', + 'pwshort' : '{{$pwshort}}', + 'pwnomatch' : '{{$pwnomatch}}', + 'everybody' : '{{$everybody}}', + + 't01' : {{$t01}}, + 't02' : {{$t02}}, + 't03' : '{{$t03}}', + 't04' : '{{$t04}}', + 't05' : '{{$t05}}', + 't06' : '{{$t06}}', + 't07' : '{{$t07}}', + 't08' : '{{$t08}}', + 't09' : '{{$t09}}', + 't10' : '{{$t10}}', + 't11' : '{{$t11}}', + 't12' : '{{$t12}}', + 't13' : '{{$t13}}', + 't14' : '{{$t14}}', + 't15' : '{{$t15}}', + 't16' : '{{$t16}}', + 't17' : '{{$t17}}', + }; + +</script> + diff --git a/view/tpl/smarty3/lang_selector.tpl b/view/tpl/smarty3/lang_selector.tpl new file mode 100644 index 000000000..945cbf51e --- /dev/null +++ b/view/tpl/smarty3/lang_selector.tpl @@ -0,0 +1,10 @@ +<div id="lang-select-icon" class="icon s22 language" title="{{$title}}" onclick="openClose('language-selector');" ></div> +<div id="language-selector" style="display: none;" > + <form action="#" method="post" > + <select name="system_language" onchange="this.form.submit();" > + {{foreach $langs.0 as $v=>$l}} + <option value="{{$v}}" {{if $v==$langs.1}}selected="selected"{{/if}}>{{$l}}</option> + {{/foreach}} + </select> + </form> +</div> diff --git a/view/tpl/smarty3/like_noshare.tpl b/view/tpl/smarty3/like_noshare.tpl new file mode 100644 index 000000000..b01064add --- /dev/null +++ b/view/tpl/smarty3/like_noshare.tpl @@ -0,0 +1,5 @@ +<div class="wall-item-like-buttons" id="wall-item-like-buttons-{{$id}}"> + <a href="#" class="icon like" title="{{$likethis}}" onclick="dolike({{$id}},'like'); return false"></a> + <a href="#" class="icon dislike" title="{{$nolike}}" onclick="dolike({{$id}},'dislike'); return false"></a> + <img id="like-rotator-{{$id}}" class="like-rotator" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" /> +</div> diff --git a/view/tpl/smarty3/login.tpl b/view/tpl/smarty3/login.tpl new file mode 100644 index 000000000..4ddf54716 --- /dev/null +++ b/view/tpl/smarty3/login.tpl @@ -0,0 +1,31 @@ + +<form action="{{$dest_url}}" id="{{$form_id}}" method="post" > + <input type="hidden" name="auth-params" value="login" /> + + <div id="login_standard"> + {{include file="field_input.tpl" field=$lname}} + {{include file="field_password.tpl" field=$lpassword}} + </div> + + <div id="login-extra-links"> + {{if $register}}<a href="{{$register.link}}" title="{{$register.title}}" id="register-link">{{$register.desc}}</a>{{/if}} + <a href="lostpass" title="{{$lostpass}}" id="lost-password-link" >{{$lostlink}}</a> + </div> + + {{include file="field_checkbox.tpl" field=$remember}} + + <div id="login-standard-end"></div> + + <div id="login-submit-wrapper" > + <input type="submit" name="submit" id="login-submit-button" value="{{$login}}" /> + </div> + + {{foreach $hiddens as $k=>$v}} + <input type="hidden" name="{{$k}}" value="{{$v}}" /> + {{/foreach}} + + +</form> + + +<script type="text/javascript"> $(document).ready(function() { $("#id_{{$lname.0}}").focus();} );</script> diff --git a/view/tpl/smarty3/logout.tpl b/view/tpl/smarty3/logout.tpl new file mode 100644 index 000000000..7548ed196 --- /dev/null +++ b/view/tpl/smarty3/logout.tpl @@ -0,0 +1,6 @@ +<form action="{{$dest_url}}" method="post" > +<div class="logout-wrapper"> +<input type="hidden" name="auth-params" value="logout" /> +<input type="submit" name="submit" id="logout-button" value="{{$logout}}" /> +</div> +</form> diff --git a/view/tpl/smarty3/lostpass.tpl b/view/tpl/smarty3/lostpass.tpl new file mode 100644 index 000000000..f6fdb28d7 --- /dev/null +++ b/view/tpl/smarty3/lostpass.tpl @@ -0,0 +1,18 @@ +<h3>{{$title}}</h3> + +<p id="lostpass-desc"> +{{$desc}} +</p> + +<form action="lostpass" method="post" > +<div id="login-name-wrapper"> + <label for="login-name" id="label-login-name">{{$name}}</label> + <input type="text" maxlength="60" name="login-name" id="login-name" value="" /> +</div> +<div id="login-extra-end"></div> +<div id="login-submit-wrapper" > + <input type="submit" name="submit" id="lostpass-submit-button" value="{{$submit}}" /> +</div> +<div id="login-submit-end"></div> +</form> + diff --git a/view/tpl/smarty3/magicsig.tpl b/view/tpl/smarty3/magicsig.tpl new file mode 100644 index 000000000..78d8bbbd3 --- /dev/null +++ b/view/tpl/smarty3/magicsig.tpl @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<me:env xmlns:me="http://salmon-protocol.org/ns/magic-env"> +<me:data type="application/atom+xml"> +{{$data}} +</me:data> +<me:encoding>{{$encoding}}</me:encoding> +<me:alg>{{$algorithm}}</me:alg> +<me:sig key_id="{{$keyhash}}">{{$signature}}</me:sig> +</me:env> diff --git a/view/tpl/smarty3/mail_conv.tpl b/view/tpl/smarty3/mail_conv.tpl new file mode 100644 index 000000000..bfa9491f4 --- /dev/null +++ b/view/tpl/smarty3/mail_conv.tpl @@ -0,0 +1,14 @@ +<div class="mail-conv-outside-wrapper"> + <div class="mail-conv-sender" > + <a href="{{$mail.from_url}}" class="mail-conv-sender-url" ><img class="mframe mail-conv-sender-photo{{$mail.sparkle}}" src="{{$mail.from_photo}}" heigth="80" width="80" alt="{{$mail.from_name}}" /></a> + <div class="mail-conv-sender-name" >{{$mail.from_name}}</div> + </div> + <div class="mail-conv-detail" > + <div class="mail-conv-date">{{$mail.date}}</div> + <div class="mail-conv-subject">{{$mail.subject}}</div> + <div class="mail-conv-body">{{$mail.body}}</div> + <div class="mail-conv-delete-wrapper" id="mail-conv-delete-wrapper-{{$mail.id}}" ><a href="message/drop/{{$mail.id}}" class="icon drophide delete-icon mail-list-delete-icon" onclick="return confirmDelete();" title="{{$mail.delete}}" id="mail-conv-delete-icon-{{$mail.id}}" class="mail-conv-delete-icon" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a></div><div class="mail-conv-delete-end"></div> + <div class="mail-conv-outside-wrapper-end"></div> +</div> +</div> +<hr class="mail-conv-break" /> diff --git a/view/tpl/smarty3/mail_display.tpl b/view/tpl/smarty3/mail_display.tpl new file mode 100644 index 000000000..76e4d1859 --- /dev/null +++ b/view/tpl/smarty3/mail_display.tpl @@ -0,0 +1,10 @@ + +{{foreach $mails as $mail}} + {{include file="mail_conv.tpl"}} +{{/foreach}} + +{{if $canreply}} +{{include file="prv_message.tpl"}} +{{else}} +{{$unknown_text}} +{{/if}}
\ No newline at end of file diff --git a/view/tpl/smarty3/mail_head.tpl b/view/tpl/smarty3/mail_head.tpl new file mode 100644 index 000000000..1cd7145e7 --- /dev/null +++ b/view/tpl/smarty3/mail_head.tpl @@ -0,0 +1,3 @@ +<h3>{{$messages}}</h3> + +{{$tab_content}} diff --git a/view/tpl/smarty3/mail_list.tpl b/view/tpl/smarty3/mail_list.tpl new file mode 100644 index 000000000..e6aaedb30 --- /dev/null +++ b/view/tpl/smarty3/mail_list.tpl @@ -0,0 +1,19 @@ +<div class="mail-list-outside-wrapper"> + <div class="mail-list-sender" > + <a href="{{$from_url}}" class="mail-list-sender-url" ><img class="mail-list-sender-photo" src="{{$from_photo}}" height="32" width="32" alt="{{$from_name}}" /></a> + <div class="mail-list-sender-name" >{{$from_name}}</div> + </div> + <div class="mail-list-recip" > + <a href="{{$to_url}}" class="mail-list-recip-url" ><img class="mail-list-recip-photo" src="{{$to_photo}}" height="32" width="32" alt="{{$to_name}}" /></a> + <div class="mail-list-recip-name" >{{$to_name}}</div> + </div> + <div class="mail-list-date">{{$date}}</div> + <div class="mail-list-subject"><a href="message/{{$id}}" class="mail-list-link">{{$subject}}</a></div> + <div class="mail-list-delete-wrapper" id="mail-list-delete-wrapper-{{$id}}" > + <a href="message/dropconv/{{$id}}" onclick="return confirmDelete();" title="{{$delete}}" class="icon drophide mail-list-delete delete-icon" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a> + </div> +</div> +</div> +<div class="mail-list-delete-end"></div> + +<div class="mail-list-outside-wrapper-end"></div> diff --git a/view/tpl/smarty3/main_slider.tpl b/view/tpl/smarty3/main_slider.tpl new file mode 100644 index 000000000..04ce72733 --- /dev/null +++ b/view/tpl/smarty3/main_slider.tpl @@ -0,0 +1,23 @@ +<div id="main-slider" class="slider" ><input id="main-range" type="text" name="cminmax" value="{{$val}}" /></div> +<script> + $("#main-range").slider({ from: 0, to: 99, step: 1, scale: ['{{$me}}', '|', '{{$intimate}}', '|', '{{$friends}}', '|', '{{$oldfriends}}', '|', '{{$acquaintances}}', '|', '{{$world}}' ], onstatechange: function(v) { + var carr = v.split(";"); + network_cmin = carr[0]; + network_cmax = carr[1]; + networkRefresh(); + } }); + + var slideTimer = null; + function networkRefresh() { + if((document.readyState !== "complete") || (slideTimer !== null)) + return; + setTimeout(function() { $("#profile-jot-text-loading").show(); }, 1000 ); + slideTimer = setTimeout(networkTimerRefresh,2000); + } + + function networkTimerRefresh() { + slideTimer = null; + page_load = true; + liveUpdate(); + } +</script> diff --git a/view/tpl/smarty3/match.tpl b/view/tpl/smarty3/match.tpl new file mode 100644 index 000000000..0688ca26b --- /dev/null +++ b/view/tpl/smarty3/match.tpl @@ -0,0 +1,16 @@ +<div class="profile-match-wrapper"> + <div class="profile-match-photo"> + <a href="{{$url}}"> + <img src="{{$photo}}" alt="{{$name}}" title="{{$name}}[{{$tags}}]" /> + </a> + </div> + <div class="profile-match-break"></div> + <div class="profile-match-name"> + <a href="{{$url}}" title="{{$name}}[{{$tags}}]">{{$name}}</a> + </div> + <div class="profile-match-end"></div> + {{if $connlnk}} + <div class="profile-match-connect"><a href="{{$connlnk}}" title="{{$conntxt}}">{{$conntxt}}</a></div> + {{/if}} + +</div> diff --git a/view/tpl/smarty3/message_side.tpl b/view/tpl/smarty3/message_side.tpl new file mode 100644 index 000000000..ba7e28272 --- /dev/null +++ b/view/tpl/smarty3/message_side.tpl @@ -0,0 +1,10 @@ +<div id="message-sidebar" class="widget"> + <div id="message-new"><a href="{{$new.url}}" class="{{if $new.sel}}newmessage-selected{{/if}}">{{$new.label}}</a> </div> + + <ul class="message-ul"> + {{foreach $tabs as $t}} + <li class="tool"><a href="{{$t.url}}" class="message-link{{if $t.sel}}message-selected{{/if}}">{{$t.label}}</a></li> + {{/foreach}} + </ul> + +</div> diff --git a/view/tpl/smarty3/micropro_img.tpl b/view/tpl/smarty3/micropro_img.tpl new file mode 100644 index 000000000..23b7bd281 --- /dev/null +++ b/view/tpl/smarty3/micropro_img.tpl @@ -0,0 +1 @@ +<div class="contact-block-div{{if $class}} {{$class}}{{/if}}"><a class="contact-block-link{{if $class}} {{$class}}{{/if}}{{if $click}} fakelink{{/if}}" href="{{if $click}}#{{else}}{{$url}}{{/if}}" {{if $click}}onclick="{{$click}}"{{/if}}><img class="contact-block-img{{if $class}} {{$class}}{{/if}}" src="{{$photo}}" title="{{$title}}" alt="{{$name}}" /></a></div> diff --git a/view/tpl/smarty3/micropro_txt.tpl b/view/tpl/smarty3/micropro_txt.tpl new file mode 100644 index 000000000..295e7940d --- /dev/null +++ b/view/tpl/smarty3/micropro_txt.tpl @@ -0,0 +1 @@ +<div class="contact-block-textdiv{{if $class}} {{$class}}{{/if}}"><a class="contact-block-link{{if $class}} {{$class}}{{/if}}{{if $click}} fakelink{{/if}}" href="{{if $click}}#{{else}}{{$url}}{{/if}}" {{if $click}}onclick="{{$click}}"{{/if}} title="{{$title}}">{{$name}}</a></div> diff --git a/view/tpl/smarty3/moderated_comment.tpl b/view/tpl/smarty3/moderated_comment.tpl new file mode 100644 index 000000000..79ce8f99b --- /dev/null +++ b/view/tpl/smarty3/moderated_comment.tpl @@ -0,0 +1,34 @@ + <div class="comment-wwedit-wrapper" id="comment-edit-wrapper-{{$id}}" style="display: block;"> + <form class="comment-edit-form" id="comment-edit-form-{{$id}}" action="item" method="post" onsubmit="post_comment({{$id}}); return false;"> + <input type="hidden" name="type" value="{{$type}}" /> + <input type="hidden" name="profile_uid" value="{{$profile_uid}}" /> + <input type="hidden" name="parent" value="{{$parent}}" /> + <input type="hidden" name="return" value="{{$return_path}}" /> + <input type="hidden" name="jsreload" value="{{$jsreload}}" /> + <input type="hidden" name="preview" id="comment-preview-inp-{{$id}}" value="0" /> + + <div class="comment-edit-photo" id="comment-edit-photo-{{$id}}" > + <a class="comment-edit-photo-link" href="{{$mylink}}" title="{{$mytitle}}"><img class="my-comment-photo" src="{{$myphoto}}" alt="{{$mytitle}}" title="{{$mytitle}}" /></a> + </div> + <div class="comment-edit-photo-end"></div> + <div id="mod-cmnt-wrap-{{$id}}" class="mod-cmnt-wrap" style="display:none"> + <div id="mod-cmnt-name-lbl-{{$id}}" class="mod-cmnt-name-lbl">{{$lbl_modname}}</div> + <input type="text" id="mod-cmnt-name-{{$id}}" class="mod-cmnt-name" name="mod-cmnt-name" value="{{$modname}}" /> + <div id="mod-cmnt-email-lbl-{{$id}}" class="mod-cmnt-email-lbl">{{$lbl_modemail}}</div> + <input type="text" id="mod-cmnt-email-{{$id}}" class="mod-cmnt-email" name="mod-cmnt-email" value="{{$modemail}}" /> + <div id="mod-cmnt-url-lbl-{{$id}}" class="mod-cmnt-url-lbl">{{$lbl_modurl}}</div> + <input type="text" id="mod-cmnt-url-{{$id}}" class="mod-cmnt-url" name="mod-cmnt-url" value="{{$modurl}}" /> + </div> + <textarea id="comment-edit-text-{{$id}}" class="comment-edit-text-empty" name="body" onFocus="commentOpen(this,{{$id}});" onBlur="commentClose(this,{{$id}});" >{{$comment}}</textarea> + + <div class="comment-edit-text-end"></div> + <div class="comment-edit-submit-wrapper" id="comment-edit-submit-wrapper-{{$id}}" style="display: none;" > + <input type="submit" onclick="post_comment({{$id}}); return false;" id="comment-edit-submit-{{$id}}" class="comment-edit-submit" name="submit" value="{{$submit}}" /> + <span onclick="preview_comment({{$id}});" id="comment-edit-preview-link-{{$id}}" class="fakelink">{{$preview}}</span> + <div id="comment-edit-preview-{{$id}}" class="comment-edit-preview" style="display:none;"></div> + </div> + + <div class="comment-edit-end"></div> + </form> + + </div> diff --git a/view/tpl/smarty3/mood_content.tpl b/view/tpl/smarty3/mood_content.tpl new file mode 100644 index 000000000..63eaa2d8d --- /dev/null +++ b/view/tpl/smarty3/mood_content.tpl @@ -0,0 +1,20 @@ +<h3>{{$title}}</h3> + +<div id="mood-desc">{{$desc}}</div> + +<form action="mood" method="get"> +<br /> +<br /> + +<input id="mood-parent" type="hidden" value="{{$parent}}" name="parent" /> + +<select name="verb" id="mood-verb-select" > +{{foreach $verbs as $v}} +<option value="{{$v.0}}">{{$v.1}}</option> +{{/foreach}} +</select> +<br /> +<br /> +<input type="submit" name="submit" value="{{$submit}}" /> +</form> + diff --git a/view/tpl/smarty3/msg-header.tpl b/view/tpl/smarty3/msg-header.tpl new file mode 100644 index 000000000..0d2ca72be --- /dev/null +++ b/view/tpl/smarty3/msg-header.tpl @@ -0,0 +1,97 @@ + +<script language="javascript" type="text/javascript" src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script> +<script language="javascript" type="text/javascript"> + +var plaintext = '{{$editselect}}'; + +if(plaintext != 'none') { + tinyMCE.init({ + theme : "advanced", + mode : "specific_textareas", + editor_selector: /(profile-jot-text|prvmail-text)/, + plugins : "bbcode,paste", + theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor", + theme_advanced_buttons2 : "", + theme_advanced_buttons3 : "", + theme_advanced_toolbar_location : "top", + theme_advanced_toolbar_align : "center", + theme_advanced_blockformats : "blockquote,code", + gecko_spellcheck : true, + paste_text_sticky : true, + entity_encoding : "raw", + add_unload_trigger : false, + remove_linebreaks : false, + force_p_newlines : false, + force_br_newlines : true, + forced_root_block : '', + convert_urls: false, + content_css: "{{$baseurl}}/view/custom_tinymce.css", + //Character count + theme_advanced_path : false, + setup : function(ed) { + ed.onInit.add(function(ed) { + ed.pasteAsPlainText = true; + var editorId = ed.editorId; + var textarea = $('#'+editorId); + if (typeof(textarea.attr('tabindex')) != "undefined") { + $('#'+editorId+'_ifr').attr('tabindex', textarea.attr('tabindex')); + textarea.attr('tabindex', null); + } + }); + } + }); +} +else + $("#prvmail-text").contact_autocomplete(baseurl+"/acl"); + + +</script> +<script type="text/javascript" src="js/ajaxupload.js" ></script> +<script> + $(document).ready(function() { + var uploader = new window.AjaxUpload( + 'prvmail-upload', + { action: 'wall_upload/{{$nickname}}', + name: 'userfile', + onSubmit: function(file,ext) { $('#profile-rotator').show(); }, + onComplete: function(file,response) { + tinyMCE.execCommand('mceInsertRawHTML',false,response); + $('#profile-rotator').hide(); + } + } + ); + + }); + + function jotGetLink() { + reply = prompt("{{$linkurl}}"); + if(reply && reply.length) { + $('#profile-rotator').show(); + $.get('parse_url?url=' + reply, function(data) { + tinyMCE.execCommand('mceInsertRawHTML',false,data); + $('#profile-rotator').hide(); + }); + } + } + + function linkdropper(event) { + var linkFound = event.dataTransfer.types.contains("text/uri-list"); + if(linkFound) + event.preventDefault(); + } + + function linkdrop(event) { + var reply = event.dataTransfer.getData("text/uri-list"); + event.target.textContent = reply; + event.preventDefault(); + if(reply && reply.length) { + $('#profile-rotator').show(); + $.get('parse_url?url=' + reply, function(data) { + tinyMCE.execCommand('mceInsertRawHTML',false,data); + $('#profile-rotator').hide(); + }); + } + } + +</script> + diff --git a/view/tpl/smarty3/nav.tpl b/view/tpl/smarty3/nav.tpl new file mode 100644 index 000000000..6fb0343bc --- /dev/null +++ b/view/tpl/smarty3/nav.tpl @@ -0,0 +1,126 @@ +<header> + <div id="site-location">{{$sitelocation}}</div> + <div id="banner">{{$banner}}</div> +</header> +<nav> + <ul> + {{if $nav.lock}} + <li id="nav-rmagic-link" class="nav-menu-icon" > + <a class="icon {{$nav.lock.2}}" href="{{$nav.lock.0}}" title="{{$nav.lock.3}}" >{{$nav.lock.1}}</a> + </li> + {{/if}} + + + {{if $nav.network}} + <li id="nav-network-link" class="nav-menu {{$sel.network}}"> + <a class="{{$nav.network.2}}" href="{{$nav.network.0}}" title="{{$nav.network.3}}" ><span class="icon network">{{$nav.network.1}}</span></a> + <span id="net-update" class="nav-notify fakelink" onclick="notify_popup('network'); return false;" ></span> + </li> + {{/if}} + + {{if $nav.home}} + <li id="nav-home-link" class="nav-menu {{$sel.home}}"> + <a class="{{$nav.home.2}}" href="{{$nav.home.0}}" title="{{$nav.home.3}}" ><span class="icon home">{{$nav.home.1}}</span></a> + <span id="home-update" class="nav-notify fakelink" onclick="notify_popup('home'); return false;" ></span> + </li> + {{/if}} + + {{if $nav.messages}} + <li id="nav-mail-link" class="nav-menu {{$sel.messages}}"> + <a class="{{$nav.messages.2}}" href="{{$nav.messages.0}}" title="{{$nav.messages.3}}" ><span class="icon mail">{{$nav.messages.1}}</span></a> + <span id="mail-update" class="nav-notify fakelink" onclick="notify_popup('mail'); return false;" ></span> + </li> + {{/if}} + + {{if $nav.all_events}} + <li id="nav-all-events-link" class="nav-menu {{$sel.all_events}}"> + <a class="{{$nav.all_events.2}}" href="{{$nav.all_events.0}}" title="{{$nav.all_events.3}}" ><span class="icon events">{{$nav.all_events.1}}</span></a> + <span id="all-events-update" class="nav-notify fakelink" onclick="notify_popup('all_events'); return false;" ></span> + </li> + {{/if}} + + {{if $nav.intros}} + <li id="nav-intros-link" class="nav-menu {{$sel.intros}}"> + <a class="{{$nav.intros.2}}" href="{{$nav.intros.0}}" title="{{$nav.intros.3}}" ><span class="icon introductions">{{$nav.intros.1}}</span></a> + <span id="intro-update" class="nav-notify"></span> + </li> + {{/if}} + + + {{if $nav.notifications}} + + <li id="nav-notifications-linkmenu" class="nav-menu fakelink" onclick="notify_popup('notify'); return false;" title="{{$nav.notifications.1}}"><span class="icon s22 notify">{{$nav.notifications.1}}</span></a> + <span id="notify-update" class="nav-notify"></span> + <ul id="nav-notifications-menu" class="menu-popup"> + <li id="nav-notifications-see-all"><a href="{{$nav.notifications.all.0}}">{{$nav.notifications.all.1}}</a></li> + <li id="nav-notifications-mark-all"><a href="#" onclick="notifyMarkAll(); return false;">{{$nav.notifications.mark.1}}</a></li> + <li class="empty">{{$emptynotifications}}</li> + </ul> + </li> + {{/if}} + + {{if $nav.settings}} + <li id="nav-site-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-site-menu"><span class="icon s22 gear">{{$nav.settings.1}}</span></a> + <ul id="nav-site-menu" class="menu-popup"> + {{if $nav.settings}}<li><a class="{{$nav.settings.2}}" href="{{$nav.settings.0}}" title="{{$nav.settings.3}}">{{$nav.settings.1}}</a></li>{{/if}} + + {{if $nav.admin}}<li><a class="{{$nav.admin.2}}" href="{{$nav.admin.0}}" title="{{$nav.admin.3}}" >{{$nav.admin.1}}</a></li>{{/if}} + + </ul> + </li> + {{/if}} + {{if $userinfo}} + <li id="nav-user-linkmenu" class="nav-menu-icon"><a href="#" rel="#nav-user-menu" title="{{$userinfo.name}}"><img src="{{$userinfo.icon}}" alt="{{$userinfo.name}}"></a> + {{if $localuser}} + <ul id="nav-user-menu" class="menu-popup"> + {{foreach $nav.usermenu as $usermenu}} + <li><a class="{{$usermenu.2}}" href="{{$usermenu.0}}" title="{{$usermenu.3}}">{{$usermenu.1}}</a></li> + {{/foreach}} + {{if $nav.profiles}}<li><a class="{{$nav.profiles.2}}" href="{{$nav.profiles.0}}" title="{{$nav.profiles.3}}">{{$nav.profiles.1}}</a></li>{{/if}} + {{if $nav.manage}}<li><a class="{{$nav.manage.2}}" href="{{$nav.manage.0}}" title="{{$nav.manage.3}}">{{$nav.manage.1}}</a></li>{{/if}} + + {{if $nav.contacts}}<li><a class="{{$nav.contacts.2}}" href="{{$nav.contacts.0}}" title="{{$nav.contacts.3}}" >{{$nav.contacts.1}}</a></li>{{/if}} + {{if $nav.logout}}<li><a class="menu-sep {{$nav.logout.2}}" href="{{$nav.logout.0}}" title="{{$nav.logout.3}}" >{{$nav.logout.1}}</a></li>{{/if}} + + </ul> + {{/if}} + </li> + {{/if}} + {{if $nav.login}}<li id="nav-login-link" class="nav-menu {{$nav.login.2}}"><a href="{{$nav.login.0}}" title="{{$nav.login.3}}" >{{$nav.login.1}}</a><li>{{/if}} + + {{if $nav.help}} + <li id="nav-help-link" class="nav-menu {{$sel.help}}"> + <a class="{{$nav.help.2}}" target="friendika-help" href="{{$nav.help.0}}" title="{{$nav.help.3}}" >{{$nav.help.1}}</a> + </li> + {{/if}} + + {{if $nav.apps}} + <li id="nav-apps-link" class="nav-menu {{$sel.apps}}"> + <a class=" {{$nav.apps.2}}" href="#" rel="#nav-apps-menu" title="{{$nav.apps.3}}" >{{$nav.apps.1}}</a> + <ul id="nav-apps-menu" class="menu-popup"> + {{foreach $apps as $ap}} + <li>{{$ap}}</li> + {{/foreach}} + </ul> + </li> + {{/if}} + + <li id="nav-searchbar"> + <form method="get" action="search"> + <input id="nav-search-text" type="text" value="" placeholder="{{$nav.search.1}}" name="search" title="{{$nav.search.3}}" onclick="this.submit();" /> + </form> + </li> + + + + + </ul> + + +</nav> +<ul id="nav-notifications-template" style="display:none;" rel="template"> + <li><a href="{0}"><img src="{1}">{2} <span class="notif-when">{3}</span></a></li> +</ul> + +<div style="position: fixed; top: 3px; left: 5px; z-index:9999">{{$langselector}}</div> +<div id="panel" style="display: none;"></div> diff --git a/view/tpl/smarty3/netfriend.tpl b/view/tpl/smarty3/netfriend.tpl new file mode 100644 index 000000000..ec6b3b6cc --- /dev/null +++ b/view/tpl/smarty3/netfriend.tpl @@ -0,0 +1,14 @@ +<div class="intro-approve-as-friend-desc">{{$approve_as}}</div> + +<div class="intro-approve-as-friend-wrapper"> + <label class="intro-approve-as-friend-label" for="intro-approve-as-friend-{{$intro_id}}">{{$as_friend}}</label> + <input type="radio" name="duplex" id="intro-approve-as-friend-{{$intro_id}}" class="intro-approve-as-friend" {{$friend_selected}} value="1" /> + <div class="intro-approve-friend-break" ></div> +</div> +<div class="intro-approve-as-friend-end"></div> +<div class="intro-approve-as-fan-wrapper"> + <label class="intro-approve-as-fan-label" for="intro-approve-as-fan-{{$intro_id}}">{{$as_fan}}</label> + <input type="radio" name="duplex" id="intro-approve-as-fan-{{$intro_id}}" class="intro-approve-as-fan" {{$fan_selected}} value="0" /> + <div class="intro-approve-fan-break"></div> +</div> +<div class="intro-approve-as-end"></div> diff --git a/view/tpl/smarty3/nets.tpl b/view/tpl/smarty3/nets.tpl new file mode 100644 index 000000000..f514626ac --- /dev/null +++ b/view/tpl/smarty3/nets.tpl @@ -0,0 +1,10 @@ +<div id="nets-sidebar" class="widget"> + <h3>{{$title}}</h3> + <div id="nets-desc">{{$desc}}</div> + <a href="{{$base}}?nets=all" class="nets-link{{if $sel_all}} nets-selected{{/if}} nets-all">{{$all}}</a> + <ul class="nets-ul"> + {{foreach $nets as $net}} + <li><a href="{{$base}}?nets={{$net.ref}}" class="nets-link{{if $net.selected}} nets-selected{{/if}}">{{$net.name}}</a></li> + {{/foreach}} + </ul> +</div> diff --git a/view/tpl/smarty3/new_channel.tpl b/view/tpl/smarty3/new_channel.tpl new file mode 100644 index 000000000..79e2ac85e --- /dev/null +++ b/view/tpl/smarty3/new_channel.tpl @@ -0,0 +1,29 @@ +<h2>{{$title}}</h2> + +<form action="new_channel" method="post" id="newchannel-form"> + + <div id="newchannel-desc" class="descriptive-paragraph">{{$desc}}</div> + + <label for="newchannel-name" id="label-newchannel-name" class="newchannel-label" >{{$label_name}}</label> + <input type="text" name="name" id="newchannel-name" class="newchannel-input" value="{{$name}}" /> + <div id="newchannel-name-feedback" class="newchannel-feedback"></div> + <div id="newchannel-name-end" class="newchannel-field-end"></div> + + <div id="newchannel-name-help" class="descriptive-paragraph">{{$help_name}}</div> + + <label for="newchannel-nickname" id="label-newchannel-nickname" class="newchannel-label" >{{$label_nick}}</label> + <input type="text" name="nickname" id="newchannel-nickname" class="newchannel-input" value="{{$nickname}}" /> + <div id="newchannel-nickname-feedback" class="newchannel-feedback"></div> + <div id="newchannel-nickname-end" class="newchannel-field-end"></div> + + <div id="newchannel-nick-desc" class="descriptive-paragraph">{{$nick_desc}}</div> + + + <input type="checkbox" name="import" id="newchannel-import" value="1" /> + <label for="newchannel-import" id="label-newchannel-import">{{$label_import}}</label> + <div id="newchannel-import-end" class="newchannel-field-end"></div> + + <input type="submit" name="submit" id="newchannel-submit-button" value="{{$submit}}" /> + <div id="newchannel-submit-end" class="newchannel-field-end"></div> + +</form> diff --git a/view/tpl/smarty3/nogroup-template.tpl b/view/tpl/smarty3/nogroup-template.tpl new file mode 100644 index 000000000..15094b2d6 --- /dev/null +++ b/view/tpl/smarty3/nogroup-template.tpl @@ -0,0 +1,12 @@ +<h1>{{$header}}</h1> + +{{foreach $contacts as $contact}} + {{include file="contact_template.tpl"}} +{{/foreach}} +<div id="contact-edit-end"></div> + +{{$paginate}} + + + + diff --git a/view/tpl/smarty3/notifications.tpl b/view/tpl/smarty3/notifications.tpl new file mode 100644 index 000000000..0289c41d4 --- /dev/null +++ b/view/tpl/smarty3/notifications.tpl @@ -0,0 +1,8 @@ + +<h1>{{$notif_header}}</h1> + +{{include file="common_tabs.tpl"}} + +<div class="notif-network-wrapper"> + {{$notif_content}} +</div> diff --git a/view/tpl/smarty3/notifications_comments_item.tpl b/view/tpl/smarty3/notifications_comments_item.tpl new file mode 100644 index 000000000..9c454a3ed --- /dev/null +++ b/view/tpl/smarty3/notifications_comments_item.tpl @@ -0,0 +1,3 @@ +<div class="notif-item"> + <a href="{{$item_link}}" target="friendica-notifications"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a> +</div>
\ No newline at end of file diff --git a/view/tpl/smarty3/notifications_dislikes_item.tpl b/view/tpl/smarty3/notifications_dislikes_item.tpl new file mode 100644 index 000000000..9c454a3ed --- /dev/null +++ b/view/tpl/smarty3/notifications_dislikes_item.tpl @@ -0,0 +1,3 @@ +<div class="notif-item"> + <a href="{{$item_link}}" target="friendica-notifications"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a> +</div>
\ No newline at end of file diff --git a/view/tpl/smarty3/notifications_friends_item.tpl b/view/tpl/smarty3/notifications_friends_item.tpl new file mode 100644 index 000000000..9c454a3ed --- /dev/null +++ b/view/tpl/smarty3/notifications_friends_item.tpl @@ -0,0 +1,3 @@ +<div class="notif-item"> + <a href="{{$item_link}}" target="friendica-notifications"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a> +</div>
\ No newline at end of file diff --git a/view/tpl/smarty3/notifications_likes_item.tpl b/view/tpl/smarty3/notifications_likes_item.tpl new file mode 100644 index 000000000..ed020a245 --- /dev/null +++ b/view/tpl/smarty3/notifications_likes_item.tpl @@ -0,0 +1,3 @@ +<div class="notif-item"> + <a href="{{$item_link}}" target="friendica-notification"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a> +</div>
\ No newline at end of file diff --git a/view/tpl/smarty3/notifications_network_item.tpl b/view/tpl/smarty3/notifications_network_item.tpl new file mode 100644 index 000000000..856955424 --- /dev/null +++ b/view/tpl/smarty3/notifications_network_item.tpl @@ -0,0 +1,3 @@ +<div class="notif-item"> + <a href="{{$item_link}}" target="friendica-notifications"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a> +</div> diff --git a/view/tpl/smarty3/notifications_posts_item.tpl b/view/tpl/smarty3/notifications_posts_item.tpl new file mode 100644 index 000000000..9c454a3ed --- /dev/null +++ b/view/tpl/smarty3/notifications_posts_item.tpl @@ -0,0 +1,3 @@ +<div class="notif-item"> + <a href="{{$item_link}}" target="friendica-notifications"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a> +</div>
\ No newline at end of file diff --git a/view/tpl/smarty3/notify.tpl b/view/tpl/smarty3/notify.tpl new file mode 100644 index 000000000..9c454a3ed --- /dev/null +++ b/view/tpl/smarty3/notify.tpl @@ -0,0 +1,3 @@ +<div class="notif-item"> + <a href="{{$item_link}}" target="friendica-notifications"><img src="{{$item_image}}" class="notif-image">{{$item_text}} <span class="notif-when">{{$item_when}}</span></a> +</div>
\ No newline at end of file diff --git a/view/tpl/smarty3/oauth_authorize.tpl b/view/tpl/smarty3/oauth_authorize.tpl new file mode 100644 index 000000000..2b7afa80e --- /dev/null +++ b/view/tpl/smarty3/oauth_authorize.tpl @@ -0,0 +1,10 @@ +<h1>{{$title}}</h1> + +<div class='oauthapp'> + <img src='{{$app.icon}}'> + <h4>{{$app.name}}</h4> +</div> +<h3>{{$authorize}}</h3> +<form method="POST"> +<div class="settings-submit-wrapper"><input class="settings-submit" type="submit" name="oauth_yes" value="{{$yes}}" /></div> +</form> diff --git a/view/tpl/smarty3/oauth_authorize_done.tpl b/view/tpl/smarty3/oauth_authorize_done.tpl new file mode 100644 index 000000000..2e91e0125 --- /dev/null +++ b/view/tpl/smarty3/oauth_authorize_done.tpl @@ -0,0 +1,4 @@ +<h1>{{$title}}</h1> + +<p>{{$info}}</p> +<code>{{$code}}</code> diff --git a/view/tpl/smarty3/oembed_video.tpl b/view/tpl/smarty3/oembed_video.tpl new file mode 100644 index 000000000..4ad75a82e --- /dev/null +++ b/view/tpl/smarty3/oembed_video.tpl @@ -0,0 +1,4 @@ +<a href='{{$embedurl}}' onclick='this.innerHTML=Base64.decode("{{$escapedhtml}}"); return false;' style='float:left; margin: 1em; position: relative;'> + <img width='{{$tw}}' height='{{$th}}' src='{{$turl}}' > + <div style='position: absolute; top: 0px; left: 0px; width: {{$twpx}}; height: {{$thpx}}; background: url({{$baseurl}}/images/icons/48/play.png) no-repeat center center;'></div> +</a> diff --git a/view/tpl/smarty3/oexchange_xrd.tpl b/view/tpl/smarty3/oexchange_xrd.tpl new file mode 100644 index 000000000..74ef22874 --- /dev/null +++ b/view/tpl/smarty3/oexchange_xrd.tpl @@ -0,0 +1,33 @@ +<?xml version='1.0' encoding='UTF-8'?> +<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0"> + + <Subject>{{$base}}</Subject> + + <Property + type="http://www.oexchange.org/spec/0.8/prop/vendor">Friendika</Property> + <Property + type="http://www.oexchange.org/spec/0.8/prop/title">Friendika Social Network</Property> + <Property + type="http://www.oexchange.org/spec/0.8/prop/name">Friendika</Property> + <Property + type="http://www.oexchange.org/spec/0.8/prop/prompt">Send to Friendika</Property> + + <Link + rel="icon" + href="{{$base}}/images/friendika-16.png" + type="image/png" + /> + + <Link + rel="icon32" + href="{{$base}}/images/friendika-32.png" + type="image/png" + /> + + <Link + rel= "http://www.oexchange.org/spec/0.8/rel/offer" + href="{{$base}}/oexchange" + type="text/html" + /> +</XRD> + diff --git a/view/tpl/smarty3/opensearch.tpl b/view/tpl/smarty3/opensearch.tpl new file mode 100644 index 000000000..1b57a9d04 --- /dev/null +++ b/view/tpl/smarty3/opensearch.tpl @@ -0,0 +1,13 @@ +<?xml version="1.0" encoding="UTF-8"?> +<OpenSearchDescription xmlns="http://a9.com/-/spec/opensearch/1.1/"> + <ShortName>Friendika@{{$nodename}}</ShortName> + <Description>Search in Friendika@{{$nodename}}</Description> + <Contact>http://bugs.friendika.com/</Contact> + <Image height="16" width="16" type="image/png">{{$baseurl}}/images/friendika-16.png</Image> + <Image height="64" width="64" type="image/png">{{$baseurl}}/images/friendika-64.png</Image> + <Url type="text/html" + template="{{$baseurl}}/search?search={searchTerms}"/> + <Url type="application/opensearchdescription+xml" + rel="self" + template="{{$baseurl}}/opensearch" /> +</OpenSearchDescription>
\ No newline at end of file diff --git a/view/tpl/smarty3/pagetypes.tpl b/view/tpl/smarty3/pagetypes.tpl new file mode 100644 index 000000000..d5fcd9968 --- /dev/null +++ b/view/tpl/smarty3/pagetypes.tpl @@ -0,0 +1,5 @@ + {{include file="field_radio.tpl" field=$page_normal}} + {{include file="field_radio.tpl" field=$page_community}} + {{include file="field_radio.tpl" field=$page_prvgroup}} + {{include file="field_radio.tpl" field=$page_soapbox}} + {{include file="field_radio.tpl" field=$page_freelove}} diff --git a/view/tpl/smarty3/peoplefind.tpl b/view/tpl/smarty3/peoplefind.tpl new file mode 100644 index 000000000..1492db120 --- /dev/null +++ b/view/tpl/smarty3/peoplefind.tpl @@ -0,0 +1,14 @@ +<div id="peoplefind-sidebar" class="widget"> + <h3>{{$findpeople}}</h3> + <div id="peoplefind-desc">{{$desc}}</div> + <form action="dirfind" method="post" /> + <input id="side-peoplefind-url" type="text" name="search" size="24" title="{{$hint}}" /><input id="side-peoplefind-submit" type="submit" name="submit" value="{{$findthem}}" /> + </form> + <div class="side-link" id="side-match-link"><a href="match" >{{$similar}}</a></div> + <div class="side-link" id="side-suggest-link"><a href="suggest" >{{$suggest}}</a></div> + <div class="side-link" id="side-random-profile-link" ><a href="randprof" target="extlink" >{{$random}}</a></div> + {{if $inv}} + <div class="side-link" id="side-invite-link" ><a href="invite" >{{$inv}}</a></div> + {{/if}} +</div> + diff --git a/view/tpl/smarty3/photo_album.tpl b/view/tpl/smarty3/photo_album.tpl new file mode 100644 index 000000000..3308bf500 --- /dev/null +++ b/view/tpl/smarty3/photo_album.tpl @@ -0,0 +1,7 @@ +<div class="photo-album-image-wrapper" id="photo-album-image-wrapper-{{$id}}"> + <a href="{{$photolink}}" class="photo-album-photo-link" id="photo-album-photo-link-{{$id}}" title="{{$phototitle}}"> + <img src="{{$imgsrc}}" alt="{{$imgalt}}" title="{{$phototitle}}" class="photo-album-photo lframe resize{{$twist}}" id="photo-album-photo-{{$id}}" /> + <p class='caption'>{{$desc}}</p> + </a> +</div> +<div class="photo-album-image-wrapper-end"></div> diff --git a/view/tpl/smarty3/photo_drop.tpl b/view/tpl/smarty3/photo_drop.tpl new file mode 100644 index 000000000..94ef5a3ee --- /dev/null +++ b/view/tpl/smarty3/photo_drop.tpl @@ -0,0 +1,4 @@ +<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$id}}" > + <a href="item/drop/{{$id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a> +</div> +<div class="wall-item-delete-end"></div> diff --git a/view/tpl/smarty3/photo_edit.tpl b/view/tpl/smarty3/photo_edit.tpl new file mode 100644 index 000000000..4c7eed833 --- /dev/null +++ b/view/tpl/smarty3/photo_edit.tpl @@ -0,0 +1,50 @@ + +<form action="photos/{{$nickname}}/{{$resource_id}}" method="post" id="photo_edit_form" > + + <input type="hidden" name="item_id" value="{{$item_id}}" /> + + <label id="photo-edit-albumname-label" for="photo-edit-albumname">{{$newalbum}}</label> + <input id="photo-edit-albumname" type="text" size="32" name="albname" value="{{$album}}" /> + + <div id="photo-edit-albumname-end"></div> + + <label id="photo-edit-caption-label" for="photo-edit-caption">{{$capt_label}}</label> + <input id="photo-edit-caption" type="text" size="84" name="desc" value="{{$caption}}" /> + + <div id="photo-edit-caption-end"></div> + + <label id="photo-edit-tags-label" for="photo-edit-newtag" >{{$tag_label}}</label> + <input name="newtag" id="photo-edit-newtag" size="84" title="{{$help_tags}}" type="text" /> + + <div id="photo-edit-tags-end"></div> + <div id="photo-edit-rotate-wrapper"> + <div id="photo-edit-rotate-label"> + {{$rotatecw}}<br> + {{$rotateccw}} + </div> + <input type="radio" name="rotate" value="1" /><br> + <input type="radio" name="rotate" value="2" /> + </div> + <div id="photo-edit-rotate-end"></div> + + <div id="photo-edit-perms" class="photo-edit-perms" > + <a href="#photo-edit-perms-select" id="photo-edit-perms-menu" class="button popupbox" title="{{$permissions}}"/> + <span id="jot-perms-icon" class="icon {{$lockstate}}" ></span>{{$permissions}} + </a> + <div id="photo-edit-perms-menu-end"></div> + + <div style="display: none;"> + <div id="photo-edit-perms-select" > + {{$aclselect}} + </div> + </div> + </div> + <div id="photo-edit-perms-end"></div> + + <input id="photo-edit-submit-button" type="submit" name="submit" value="{{$submit}}" /> + <input id="photo-edit-delete-button" type="submit" name="delete" value="{{$delete}}" onclick="return confirmDelete()"; /> + + <div id="photo-edit-end"></div> +</form> + + diff --git a/view/tpl/smarty3/photo_item.tpl b/view/tpl/smarty3/photo_item.tpl new file mode 100644 index 000000000..e7d25fd55 --- /dev/null +++ b/view/tpl/smarty3/photo_item.tpl @@ -0,0 +1,22 @@ +<div class="wall-item-outside-wrapper{{$indent}}" id="wall-item-outside-wrapper-{{$id}}" > + <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-{{$id}}" > + <a href="{{$profile_url}}" title="View {{$name}}'s profile" class="wall-item-photo-link" id="wall-item-photo-link-{{$id}}"> + <img src="{{$thumb}}" class="wall-item-photo" id="wall-item-photo-{{$id}}" style="height: 80px; width: 80px;" alt="{{$name}}" /></a> + </div> + + <div class="wall-item-wrapper" id="wall-item-wrapper-{{$id}}" > + <a href="{{$profile_url}}" title="View {{$name}}'s profile" class="wall-item-name-link"><span class="wall-item-name" id="wall-item-name-{{$id}}" >{{$name}}</span></a> + <div class="wall-item-ago" id="wall-item-ago-{{$id}}">{{$ago}}</div> + </div> + <div class="wall-item-content" id="wall-item-content-{{$id}}" > + <div class="wall-item-title" id="wall-item-title-{{$id}}">{{$title}}</div> + <div class="wall-item-body" id="wall-item-body-{{$id}}" >{{$body}}</div> + </div> + {{$drop}} + <div class="wall-item-wrapper-end"></div> + <div class="wall-item-comment-separator"></div> + {{$comment}} + +<div class="wall-item-outside-wrapper-end{{$indent}}" ></div> +</div> + diff --git a/view/tpl/smarty3/photo_top.tpl b/view/tpl/smarty3/photo_top.tpl new file mode 100644 index 000000000..826266aff --- /dev/null +++ b/view/tpl/smarty3/photo_top.tpl @@ -0,0 +1,8 @@ + +<div class="photo-top-image-wrapper lframe" id="photo-top-image-wrapper-{{$photo.id}}"> + <a href="{{$photo.link}}" class="photo-top-photo-link" id="photo-top-photo-link-{{$photo.id}}" title="{{$photo.title}}"> + <img src="{{$photo.src}}" alt="{{$photo.alt}}" title="{{$photo.title}}" class="photo-top-photo{{$photo.twist}}" id="photo-top-photo-{{$photo.id}}" /> + </a> + <div class="photo-top-album-name"><a href="{{$photo.album.link}}" class="photo-top-album-link" title="{{$photo.album.alt}}" >{{$photo.album.name}}</a></div> +</div> + diff --git a/view/tpl/smarty3/photo_view.tpl b/view/tpl/smarty3/photo_view.tpl new file mode 100644 index 000000000..543130113 --- /dev/null +++ b/view/tpl/smarty3/photo_view.tpl @@ -0,0 +1,37 @@ +<div id="live-display"></div> +<h3><a href="{{$album.0}}">{{$album.1}}</a></h3> + +<div id="photo-edit-link-wrap"> +{{if $tools}} +<a id="photo-edit-link" href="{{$tools.edit.0}}">{{$tools.edit.1}}</a> +| +<a id="photo-toprofile-link" href="{{$tools.profile.0}}">{{$tools.profile.1}}</a> +{{/if}} +{{if $lock}} | <img src="images/lock_icon.gif" class="lockview" alt="{{$lock}}" onclick="lockview(event,'photo/{{$id}}');" /> {{/if}} +</div> + +{{if $prevlink}}<div id="photo-prev-link"><a href="{{$prevlink.0}}">{{$prevlink.1}}</a></div>{{/if}} +<div id="photo-photo"><a href="{{$photo.href}}" title="{{$photo.title}}"><img src="{{$photo.src}}" /></a></div> +{{if $nextlink}}<div id="photo-next-link"><a href="{{$nextlink.0}}">{{$nextlink.1}}</a></div>{{/if}} +<div id="photo-photo-end"></div> +<div id="photo-caption">{{$desc}}</div> +{{if $tags}} +<div id="in-this-photo-text">{{$tags.0}}</div> +<div id="in-this-photo">{{$tags.1}}</div> +{{/if}} +{{if $tags.2}}<div id="tag-remove"><a href="{{$tags.2}}">{{$tags.3}}</a></div>{{/if}} + +{{if $edit}}{{$edit}}{{/if}} + +{{if $likebuttons}} +<div id="photo-like-div"> + {{$likebuttons}} + {{$like}} + {{$dislike}} +</div> +{{/if}} + +{{$comments}} + +{{$paginate}} + diff --git a/view/tpl/smarty3/photos_recent.tpl b/view/tpl/smarty3/photos_recent.tpl new file mode 100644 index 000000000..43a22a017 --- /dev/null +++ b/view/tpl/smarty3/photos_recent.tpl @@ -0,0 +1,11 @@ +<h3>{{$title}}</h3> +{{if $can_post}} +<a id="photo-top-upload-link" href="{{$upload.1}}">{{$upload.0}}</a> +{{/if}} + +<div class="photos"> +{{foreach $photos as $photo}} + {{include file="photo_top.tpl"}} +{{/foreach}} +</div> +<div class="photos-end"></div> diff --git a/view/tpl/smarty3/photos_upload.tpl b/view/tpl/smarty3/photos_upload.tpl new file mode 100644 index 000000000..a0b2368ec --- /dev/null +++ b/view/tpl/smarty3/photos_upload.tpl @@ -0,0 +1,46 @@ +<h3>{{$pagename}}</h3> + +<div id="photos-usage-message">{{$usage}}</div> + +<form action="photos/{{$nickname}}" enctype="multipart/form-data" method="post" name="photos-upload-form" id="photos-upload-form" > + <div id="photos-upload-new-wrapper" > + <div id="photos-upload-newalbum-div"> + <label id="photos-upload-newalbum-text" for="photos-upload-newalbum" >{{$newalbum}}</label> + </div> + <input id="photos-upload-newalbum" type="text" name="newalbum" /> + </div> + <div id="photos-upload-new-end"></div> + <div id="photos-upload-exist-wrapper"> + <div id="photos-upload-existing-album-text">{{$existalbumtext}}</div> + {{$albumselect}} + </div> + <div id="photos-upload-exist-end"></div> + + <div id="photos-upload-noshare-div" class="photos-upload-noshare-div" > + <input id="photos-upload-noshare" type="checkbox" name="not_visible" value="1" /> + <label id="photos-upload-noshare-text" for="photos-upload-noshare" >{{$nosharetext}}</label> + </div> + + + <div id="photos-upload-perms" class="photos-upload-perms" > + <a href="#photos-upload-permissions-wrapper" id="photos-upload-perms-menu" class="button popupbox" /> + <span id="jot-perms-icon" class="icon {{$lockstate}}" ></span>{{$permissions}} + </a> + </div> + <div id="photos-upload-perms-end"></div> + + <div style="display: none;"> + <div id="photos-upload-permissions-wrapper"> + {{$aclselect}} + </div> + </div> + + <div id="photos-upload-spacer"></div> + + {{$uploader}} + + {{$default}} + + <div class="photos-upload-end" ></div> +</form> + diff --git a/view/tpl/smarty3/poco_entry_xml.tpl b/view/tpl/smarty3/poco_entry_xml.tpl new file mode 100644 index 000000000..869894852 --- /dev/null +++ b/view/tpl/smarty3/poco_entry_xml.tpl @@ -0,0 +1,7 @@ +<entry> +{{if $entry.id}}<id>{{$entry.id}}</id>{{/if}} +{{if $entry.displayName}}<displayName>{{$entry.displayName}}</displayName>{{/if}} +{{if $entry.preferredUsername}}<preferredUsername>{{$entry.preferredUsername}}</preferredUsername>{{/if}} +{{if $entry.urls}}{{foreach $entry.urls as $url}}<urls><value>{{$url.value}}</value><type>{{$url.type}}</type></urls>{{/foreach}}{{/if}} +{{if $entry.photos}}{{foreach $entry.photos as $photo}}<photos><value>{{$photo.value}}</value><type>{{$photo.type}}</type></photos>{{/foreach}}{{/if}} +</entry> diff --git a/view/tpl/smarty3/poco_xml.tpl b/view/tpl/smarty3/poco_xml.tpl new file mode 100644 index 000000000..0e38a692c --- /dev/null +++ b/view/tpl/smarty3/poco_xml.tpl @@ -0,0 +1,18 @@ +<?xml version="1.0" encoding="utf-8"?> +<response> +{{if $response.sorted}}<sorted>{{$response.sorted}}</sorted>{{/if}} +{{if $response.filtered}}<filtered>{{$response.filtered}}</filtered>{{/if}} +{{if $response.updatedSince}}<updatedSince>{{$response.updatedSince}}</updatedSince>{{/if}} +<startIndex>{{$response.startIndex}}</startIndex> +<itemsPerPage>{{$response.itemsPerPage}}</itemsPerPage> +<totalResults>{{$response.totalResults}}</totalResults> + + +{{if $response.totalResults}} +{{foreach $response.entry as $entry}} +{{include file="poco_entry_xml.tpl"}} +{{/foreach}} +{{else}} +<entry></entry> +{{/if}} +</response> diff --git a/view/tpl/smarty3/poke_content.tpl b/view/tpl/smarty3/poke_content.tpl new file mode 100644 index 000000000..22a0b291f --- /dev/null +++ b/view/tpl/smarty3/poke_content.tpl @@ -0,0 +1,32 @@ +<h3>{{$title}}</h3> + +<div id="poke-desc">{{$desc}}</div> + +<form action="poke" method="get"> +<br /> +<br /> + +<div id="poke-recip-label">{{$clabel}}</div> +<br /> +<input id="poke-recip" type="text" size="64" maxlength="255" value="{{$name}}" name="pokename" autocomplete="off" /> +<input id="poke-recip-complete" type="hidden" value="{{$id}}" name="cid" /> +<input id="poke-parent" type="hidden" value="{{$parent}}" name="parent" /> +<br /> +<br /> +<div id="poke-action-label">{{$choice}}</div> +<br /> +<br /> +<select name="verb" id="poke-verb-select" > +{{foreach $verbs as $v}} +<option value="{{$v.0}}">{{$v.1}}</option> +{{/foreach}} +</select> +<br /> +<br /> +<div id="poke-private-desc">{{$prv_desc}}</div> +<input type="checkbox" name="private" {{if $parent}}disabled="disabled"{{/if}} value="1" /> +<br /> +<br /> +<input type="submit" name="submit" value="{{$submit}}" /> +</form> + diff --git a/view/tpl/smarty3/posted_date_widget.tpl b/view/tpl/smarty3/posted_date_widget.tpl new file mode 100644 index 000000000..009fa60a6 --- /dev/null +++ b/view/tpl/smarty3/posted_date_widget.tpl @@ -0,0 +1,9 @@ +<div id="datebrowse-sidebar" class="widget"> + <h3>{{$title}}</h3> +<script>function dateSubmit(dateurl) { window.location.href = dateurl; } </script> +<select id="posted-date-selector" name="posted-date-select" onchange="dateSubmit($(this).val());" size="{{$size}}"> +{{foreach $dates as $d}} +<option value="{{$url}}/{{$d.1}}/{{$d.2}}" >{{$d.0}}</option> +{{/foreach}} +</select> +</div> diff --git a/view/tpl/smarty3/profed_head.tpl b/view/tpl/smarty3/profed_head.tpl new file mode 100644 index 000000000..103960a76 --- /dev/null +++ b/view/tpl/smarty3/profed_head.tpl @@ -0,0 +1,36 @@ +<script language="javascript" type="text/javascript" + src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script> + <script language="javascript" type="text/javascript"> + + +tinyMCE.init({ + theme : "advanced", + mode : "{{$editselect}}", + plugins : "bbcode,paste", + theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor,formatselect,code", + theme_advanced_buttons2 : "", + theme_advanced_buttons3 : "", + theme_advanced_toolbar_location : "top", + theme_advanced_toolbar_align : "center", + theme_advanced_blockformats : "blockquote,code", + gecko_spellcheck : true, + paste_text_sticky : true, + entity_encoding : "raw", + add_unload_trigger : false, + remove_linebreaks : false, + force_p_newlines : false, + force_br_newlines : true, + forced_root_block : '', + content_css: "{{$baseurl}}/view/custom_tinymce.css", + theme_advanced_path : false, + setup : function(ed) { + ed.onInit.add(function(ed) { + ed.pasteAsPlainText = true; + }); + } + +}); + + +</script> + diff --git a/view/tpl/smarty3/profile-hide-friends.tpl b/view/tpl/smarty3/profile-hide-friends.tpl new file mode 100644 index 000000000..590730a7c --- /dev/null +++ b/view/tpl/smarty3/profile-hide-friends.tpl @@ -0,0 +1,16 @@ +<p id="hide-friends-text"> +{{$desc}} +</p> + + <div id="hide-friends-yes-wrapper"> + <label id="hide-friends-yes-label" for="hide-friends-yes">{{$yes_str}}</label> + <input type="radio" name="hide-friends" id="hide-friends-yes" {{$yes_selected}} value="1" /> + + <div id="hide-friends-break" ></div> + </div> + <div id="hide-friends-no-wrapper"> + <label id="hide-friends-no-label" for="hide-friends-no">{{$no_str}}</label> + <input type="radio" name="hide-friends" id="hide-friends-no" {{$no_selected}} value="0" /> + + <div id="hide-friends-end"></div> + </div> diff --git a/view/tpl/smarty3/profile-hide-wall.tpl b/view/tpl/smarty3/profile-hide-wall.tpl new file mode 100644 index 000000000..6a118982e --- /dev/null +++ b/view/tpl/smarty3/profile-hide-wall.tpl @@ -0,0 +1,16 @@ +<p id="hide-wall-text"> +{{$desc}} +</p> + + <div id="hide-wall-yes-wrapper"> + <label id="hide-wall-yes-label" for="hide-wall-yes">{{$yes_str}}</label> + <input type="radio" name="hidewall" id="hide-wall-yes" {{$yes_selected}} value="1" /> + + <div id="hide-wall-break" ></div> + </div> + <div id="hide-wall-no-wrapper"> + <label id="hide-wall-no-label" for="hide-wall-no">{{$no_str}}</label> + <input type="radio" name="hidewall" id="hide-wall-no" {{$no_selected}} value="0" /> + + <div id="hide-wall-end"></div> + </div> diff --git a/view/tpl/smarty3/profile-in-directory.tpl b/view/tpl/smarty3/profile-in-directory.tpl new file mode 100644 index 000000000..b36739514 --- /dev/null +++ b/view/tpl/smarty3/profile-in-directory.tpl @@ -0,0 +1,16 @@ +<p id="profile-in-directory"> +{{$desc}} +</p> + + <div id="profile-in-dir-yes-wrapper"> + <label id="profile-in-dir-yes-label" for="profile-in-dir-yes">{{$yes_str}}</label> + <input type="radio" name="profile_in_directory" id="profile-in-dir-yes" {{$yes_selected}} value="1" /> + + <div id="profile-in-dir-break" ></div> + </div> + <div id="profile-in-dir-no-wrapper"> + <label id="profile-in-dir-no-label" for="profile-in-dir-no">{{$no_str}}</label> + <input type="radio" name="profile_in_directory" id="profile-in-dir-no" {{$no_selected}} value="0" /> + + <div id="profile-in-dir-end"></div> + </div> diff --git a/view/tpl/smarty3/profile-in-netdir.tpl b/view/tpl/smarty3/profile-in-netdir.tpl new file mode 100644 index 000000000..23d4642ac --- /dev/null +++ b/view/tpl/smarty3/profile-in-netdir.tpl @@ -0,0 +1,16 @@ +<p id="profile-in-directory"> +{{$desc}} +</p> + + <div id="profile-in-netdir-yes-wrapper"> + <label id="profile-in-netdir-yes-label" for="profile-in-netdir-yes">{{$yes_str}}</label> + <input type="radio" name="profile_in_netdirectory" id="profile-in-netdir-yes" {{$yes_selected}} value="1" /> + + <div id="profile-in-netdir-break" ></div> + </div> + <div id="profile-in-netdir-no-wrapper"> + <label id="profile-in-netdir-no-label" for="profile-in-netdir-no">{{$no_str}}</label> + <input type="radio" name="profile_in_netdirectory" id="profile-in-netdir-no" {{$no_selected}} value="0" /> + + <div id="profile-in-netdir-end"></div> + </div> diff --git a/view/tpl/smarty3/profile_advanced.tpl b/view/tpl/smarty3/profile_advanced.tpl new file mode 100644 index 000000000..39bbada0d --- /dev/null +++ b/view/tpl/smarty3/profile_advanced.tpl @@ -0,0 +1,170 @@ +<h2>{{$title}}</h2> + +<dl id="aprofile-fullname" class="aprofile"> + <dt>{{$profile.fullname.0}}</dt> + <dd>{{$profile.fullname.1}}</dd> +</dl> + +{{if $profile.gender}} +<dl id="aprofile-gender" class="aprofile"> + <dt>{{$profile.gender.0}}</dt> + <dd>{{$profile.gender.1}}</dd> +</dl> +{{/if}} + +{{if $profile.birthday}} +<dl id="aprofile-birthday" class="aprofile"> + <dt>{{$profile.birthday.0}}</dt> + <dd>{{$profile.birthday.1}}</dd> +</dl> +{{/if}} + +{{if $profile.age}} +<dl id="aprofile-age" class="aprofile"> + <dt>{{$profile.age.0}}</dt> + <dd>{{$profile.age.1}}</dd> +</dl> +{{/if}} + +{{if $profile.marital}} +<dl id="aprofile-marital" class="aprofile"> + <dt><span class="heart">♥</span> {{$profile.marital.0}}</dt> + <dd>{{$profile.marital.1}}{{if $profile.marital.with}} ({{$profile.marital.with}}){{/if}}{{if $profile.howlong}} {{$profile.howlong}}{{/if}}</dd> +</dl> +{{/if}} + +{{if $profile.sexual}} +<dl id="aprofile-sexual" class="aprofile"> + <dt>{{$profile.sexual.0}}</dt> + <dd>{{$profile.sexual.1}}</dd> +</dl> +{{/if}} + +{{if $profile.keywords}} +<dl id="aprofile-tags" class="aprofile"> + <dt>{{$profile.keywords.0}}</dt> + <dd>{{$profile.keywords.1}}</dd> +</dl> +{{/if}} + +{{if $profile.homepage}} +<dl id="aprofile-homepage" class="aprofile"> + <dt>{{$profile.homepage.0}}</dt> + <dd>{{$profile.homepage.1}}</dd> +</dl> +{{/if}} + +{{if $profile.hometown}} +<dl id="aprofile-hometown" class="aprofile"> + <dt>{{$profile.hometown.0}}</dt> + <dd>{{$profile.hometown.1}}</dd> +</dl> +{{/if}} + +{{if $profile.politic}} +<dl id="aprofile-politic" class="aprofile"> + <dt>{{$profile.politic.0}}</dt> + <dd>{{$profile.politic.1}}</dd> +</dl> +{{/if}} + +{{if $profile.religion}} +<dl id="aprofile-religion" class="aprofile"> + <dt>{{$profile.religion.0}}</dt> + <dd>{{$profile.religion.1}}</dd> +</dl> +{{/if}} + +{{if $profile.about}} +<dl id="aprofile-about" class="aprofile"> + <dt>{{$profile.about.0}}</dt> + <dd>{{$profile.about.1}}</dd> +</dl> +{{/if}} + +{{if $profile.interest}} +<dl id="aprofile-interest" class="aprofile"> + <dt>{{$profile.interest.0}}</dt> + <dd>{{$profile.interest.1}}</dd> +</dl> +{{/if}} + +{{if $profile.likes}} +<dl id="aprofile-likes" class="aprofile"> + <dt>{{$profile.likes.0}}</dt> + <dd>{{$profile.likes.1}}</dd> +</dl> +{{/if}} + +{{if $profile.dislikes}} +<dl id="aprofile-dislikes" class="aprofile"> + <dt>{{$profile.dislikes.0}}</dt> + <dd>{{$profile.dislikes.1}}</dd> +</dl> +{{/if}} + +{{if $profile.contact}} +<dl id="aprofile-contact" class="aprofile"> + <dt>{{$profile.contact.0}}</dt> + <dd>{{$profile.contact.1}}</dd> +</dl> +{{/if}} + + +{{if $profile.music}} +<dl id="aprofile-music" class="aprofile"> + <dt>{{$profile.music.0}}</dt> + <dd>{{$profile.music.1}}</dd> +</dl> +{{/if}} + + +{{if $profile.book}} +<dl id="aprofile-book" class="aprofile"> + <dt>{{$profile.book.0}}</dt> + <dd>{{$profile.book.1}}</dd> +</dl> +{{/if}} + + +{{if $profile.tv}} +<dl id="aprofile-tv" class="aprofile"> + <dt>{{$profile.tv.0}}</dt> + <dd>{{$profile.tv.1}}</dd> +</dl> +{{/if}} + + +{{if $profile.film}} +<dl id="aprofile-film" class="aprofile"> + <dt>{{$profile.film.0}}</dt> + <dd>{{$profile.film.1}}</dd> +</dl> +{{/if}} + + +{{if $profile.romance}} +<dl id="aprofile-romance" class="aprofile"> + <dt>{{$profile.romance.0}}</dt> + <dd>{{$profile.romance.1}}</dd> +</dl> +{{/if}} + + +{{if $profile.work}} +<dl id="aprofile-work" class="aprofile"> + <dt>{{$profile.work.0}}</dt> + <dd>{{$profile.work.1}}</dd> +</dl> +{{/if}} + +{{if $profile.education}} +<dl id="aprofile-education" class="aprofile"> + <dt>{{$profile.education.0}}</dt> + <dd>{{$profile.education.1}}</dd> +</dl> +{{/if}} + + + + diff --git a/view/tpl/smarty3/profile_edit.tpl b/view/tpl/smarty3/profile_edit.tpl new file mode 100644 index 000000000..84a4d5afb --- /dev/null +++ b/view/tpl/smarty3/profile_edit.tpl @@ -0,0 +1,311 @@ +{{$default}} + +<h1>{{$banner}}</h1> + +<div id="profile-edit-links"> +<ul> +<li><a href="profile_photo" id="profile-photo_upload-link" title="{{$profpic}}">{{$profpic}}</a></li> +<li><a href="profile/{{$profile_id}}/view?tab=profile" id="profile-edit-view-link" title="{{$viewprof}}">{{$viewprof}}</a></li> +<li><a href="{{$profile_clone_link}}" id="profile-edit-clone-link" title="{{$cr_prof}}">{{$cl_prof}}</a></li> +<li></li> +<li><a href="{{$profile_drop_link}}" id="profile-edit-drop-link" title="{{$del_prof}}" {{$disabled}} >{{$del_prof}}</a></li> + +</ul> +</div> + +<div id="profile-edit-links-end"></div> + + +<div id="profile-edit-wrapper" > +<form id="profile-edit-form" name="form1" action="profiles/{{$profile_id}}" method="post" > +<input type='hidden' name='form_security_token' value='{{$form_security_token}}'> + +<div id="profile-edit-profile-name-wrapper" > +<label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >{{$lbl_profname}} </label> +<input type="text" size="32" name="profile_name" id="profile-edit-profile-name" value="{{$profile_name}}" /><div class="required">*</div> +</div> +<div id="profile-edit-profile-name-end"></div> + +<div id="profile-edit-name-wrapper" > +<label id="profile-edit-name-label" for="profile-edit-name" >{{$lbl_fullname}} </label> +<input type="text" size="32" name="name" id="profile-edit-name" value="{{$name}}" /> +</div> +<div id="profile-edit-name-end"></div> + +<div id="profile-edit-pdesc-wrapper" > +<label id="profile-edit-pdesc-label" for="profile-edit-pdesc" >{{$lbl_title}} </label> +<input type="text" size="32" name="pdesc" id="profile-edit-pdesc" value="{{$pdesc}}" /> +</div> +<div id="profile-edit-pdesc-end"></div> + + +<div id="profile-edit-gender-wrapper" > +<label id="profile-edit-gender-label" for="gender-select" >{{$lbl_gender}} </label> +{{$gender}} +</div> +<div id="profile-edit-gender-end"></div> + +<div id="profile-edit-dob-wrapper" > +<label id="profile-edit-dob-label" for="dob-select" >{{$lbl_bd}} </label> +<div id="profile-edit-dob" > +{{$dob}} {{$age}} +</div> +</div> +<div id="profile-edit-dob-end"></div> + +{{$hide_friends}} + +<div class="profile-edit-submit-wrapper" > +<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" /> +</div> +<div class="profile-edit-submit-end"></div> + + +<div id="profile-edit-address-wrapper" > +<label id="profile-edit-address-label" for="profile-edit-address" >{{$lbl_address}} </label> +<input type="text" size="32" name="address" id="profile-edit-address" value="{{$address}}" /> +</div> +<div id="profile-edit-address-end"></div> + +<div id="profile-edit-locality-wrapper" > +<label id="profile-edit-locality-label" for="profile-edit-locality" >{{$lbl_city}} </label> +<input type="text" size="32" name="locality" id="profile-edit-locality" value="{{$locality}}" /> +</div> +<div id="profile-edit-locality-end"></div> + + +<div id="profile-edit-postal-code-wrapper" > +<label id="profile-edit-postal-code-label" for="profile-edit-postal-code" >{{$lbl_zip}} </label> +<input type="text" size="32" name="postal_code" id="profile-edit-postal-code" value="{{$postal_code}}" /> +</div> +<div id="profile-edit-postal-code-end"></div> + + +<div id="profile-edit-region-wrapper" > +<label id="profile-edit-region-label" for="profile-edit-region" >{{$lbl_region}} </label> +<input type="text" size="32" name="region" id="profile-edit-region" value="{{$region}}" /> +</div> +<div id="profile-edit-region-end"></div> + +<div id="profile-edit-country-name-wrapper" > +<label id="profile-edit-country-name-label" for="profile-edit-country-name" >{{$lbl_country}} </label> +<input type="text" size="32" name="country_name" id="profile-edit-country-name" value="{{$country_name}}" /> +</div> +<div id="profile-edit-country-name-end"></div> + +<div id="profile-edit-hometown-wrapper" > +<label id="profile-edit-hometown-label" for="profile-edit-hometown" >{{$lbl_hometown}} </label> +<input type="text" size="32" name="hometown" id="profile-edit-hometown" value="{{$hometown}}" /> +</div> +<div id="profile-edit-hometown-end"></div> + +<div class="profile-edit-submit-wrapper" > +<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" /> +</div> +<div class="profile-edit-submit-end"></div> + +<div id="profile-edit-marital-wrapper" > +<label id="profile-edit-marital-label" for="profile-edit-marital" >{{$lbl_marital}} </label> +{{$marital}} +</div> +<label id="profile-edit-with-label" for="profile-edit-with" > {{$lbl_with}} </label> +<input type="text" size="32" name="with" id="profile-edit-with" title="{{$lbl_ex1}}" value="{{$with}}" /> +<label id="profile-edit-howlong-label" for="profile-edit-howlong" > {{$lbl_howlong}} </label> +<input type="text" size="32" name="howlong" id="profile-edit-howlong" title="{{$lbl_howlong}}" value="{{$howlong}}" /> + +<div id="profile-edit-marital-end"></div> + +<div id="profile-edit-sexual-wrapper" > +<label id="profile-edit-sexual-label" for="sexual-select" >{{$lbl_sexual}} </label> +{{$sexual}} +</div> +<div id="profile-edit-sexual-end"></div> + + + +<div id="profile-edit-homepage-wrapper" > +<label id="profile-edit-homepage-label" for="profile-edit-homepage" >{{$lbl_homepage}} </label> +<input type="text" size="32" name="homepage" id="profile-edit-homepage" value="{{$homepage}}" /> +</div> +<div id="profile-edit-homepage-end"></div> + +<div id="profile-edit-politic-wrapper" > +<label id="profile-edit-politic-label" for="profile-edit-politic" >{{$lbl_politic}} </label> +<input type="text" size="32" name="politic" id="profile-edit-politic" value="{{$politic}}" /> +</div> +<div id="profile-edit-politic-end"></div> + +<div id="profile-edit-religion-wrapper" > +<label id="profile-edit-religion-label" for="profile-edit-religion" >{{$lbl_religion}} </label> +<input type="text" size="32" name="religion" id="profile-edit-religion" value="{{$religion}}" /> +</div> +<div id="profile-edit-religion-end"></div> + +<div id="profile-edit-pubkeywords-wrapper" > +<label id="profile-edit-pubkeywords-label" for="profile-edit-pubkeywords" >{{$lbl_pubkey}} </label> +<input type="text" size="32" name="keywords" id="profile-edit-pubkeywords" title="{{$lbl_ex2}}" value="{{$keywords}}" /> +</div><div id="profile-edit-pubkeywords-desc">{{$lbl_pubdsc}}</div> +<div id="profile-edit-pubkeywords-end"></div> + +<div class="profile-edit-submit-wrapper" > +<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" /> +</div> +<div class="profile-edit-submit-end"></div> + +<div id="about-jot-wrapper" > +<p id="about-jot-desc" > +{{$lbl_about}} +</p> + +<textarea rows="10" cols="72" id="profile-about-text" name="about" >{{$about}}</textarea> + +</div> +<div id="about-jot-end"></div> + + +<div id="interest-jot-wrapper" > +<p id="interest-jot-desc" > +{{$lbl_hobbies}} +</p> + +<textarea rows="10" cols="72" id="interest-jot-text" name="interest" >{{$interest}}</textarea> + +</div> +<div id="interest-jot-end"></div> + + +<div id="likes-jot-wrapper" > +<p id="likes-jot-desc" > +{{$lbl_likes}} +</p> + +<textarea rows="10" cols="72" id="likes-jot-text" name="likes" >{{$likes}}</textarea> + +</div> +<div id="likes-jot-end"></div> + + +<div id="dislikes-jot-wrapper" > +<p id="dislikes-jot-desc" > +{{$lbl_dislikes}} +</p> + +<textarea rows="10" cols="72" id="dislikes-jot-text" name="dislikes" >{{$dislikes}}</textarea> + +</div> +<div id="dislikes-jot-end"></div> + + +<div id="contact-jot-wrapper" > +<p id="contact-jot-desc" > +{{$lbl_social}} +</p> + +<textarea rows="10" cols="72" id="contact-jot-text" name="contact" >{{$contact}}</textarea> + +</div> +<div id="contact-jot-end"></div> + + +<div class="profile-edit-submit-wrapper" > +<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" /> +</div> +<div class="profile-edit-submit-end"></div> + + +<div id="music-jot-wrapper" > +<p id="music-jot-desc" > +{{$lbl_music}} +</p> + +<textarea rows="10" cols="72" id="music-jot-text" name="music" >{{$music}}</textarea> + +</div> +<div id="music-jot-end"></div> + +<div id="book-jot-wrapper" > +<p id="book-jot-desc" > +{{$lbl_book}} +</p> + +<textarea rows="10" cols="72" id="book-jot-text" name="book" >{{$book}}</textarea> + +</div> +<div id="book-jot-end"></div> + + + +<div id="tv-jot-wrapper" > +<p id="tv-jot-desc" > +{{$lbl_tv}} +</p> + +<textarea rows="10" cols="72" id="tv-jot-text" name="tv" >{{$tv}}</textarea> + +</div> +<div id="tv-jot-end"></div> + + + +<div id="film-jot-wrapper" > +<p id="film-jot-desc" > +{{$lbl_film}} +</p> + +<textarea rows="10" cols="72" id="film-jot-text" name="film" >{{$film}}</textarea> + +</div> +<div id="film-jot-end"></div> + + +<div class="profile-edit-submit-wrapper" > +<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" /> +</div> +<div class="profile-edit-submit-end"></div> + + +<div id="romance-jot-wrapper" > +<p id="romance-jot-desc" > +{{$lbl_love}} +</p> + +<textarea rows="10" cols="72" id="romance-jot-text" name="romance" >{{$romance}}</textarea> + +</div> +<div id="romance-jot-end"></div> + + + +<div id="work-jot-wrapper" > +<p id="work-jot-desc" > +{{$lbl_work}} +</p> + +<textarea rows="10" cols="72" id="work-jot-text" name="work" >{{$work}}</textarea> + +</div> +<div id="work-jot-end"></div> + + + +<div id="education-jot-wrapper" > +<p id="education-jot-desc" > +{{$lbl_school}} +</p> + +<textarea rows="10" cols="72" id="education-jot-text" name="education" >{{$education}}</textarea> + +</div> +<div id="education-jot-end"></div> + + + +<div class="profile-edit-submit-wrapper" > +<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" /> +</div> +<div class="profile-edit-submit-end"></div> + + +</form> +</div> + diff --git a/view/tpl/smarty3/profile_edlink.tpl b/view/tpl/smarty3/profile_edlink.tpl new file mode 100644 index 000000000..2f4600a87 --- /dev/null +++ b/view/tpl/smarty3/profile_edlink.tpl @@ -0,0 +1,2 @@ +<div class="profile-edit-side-div"><a class="profile-edit-side-link icon edit" title="{{$editprofile}}" href="profiles/{{$profid}}" ></a></div> +<div class="clear"></div>
\ No newline at end of file diff --git a/view/tpl/smarty3/profile_entry.tpl b/view/tpl/smarty3/profile_entry.tpl new file mode 100644 index 000000000..e06307c8b --- /dev/null +++ b/view/tpl/smarty3/profile_entry.tpl @@ -0,0 +1,11 @@ + +<div class="profile-listing" > +<div class="profile-listing-photo-wrapper" > +<a href="profiles/{{$id}}" class="profile-listing-edit-link"><img class="profile-listing-photo" id="profile-listing-photo-{{$id}}" src="{{$photo}}" alt="{{$alt}}" /></a> +</div> +<div class="profile-listing-photo-end"></div> +<div class="profile-listing-name" id="profile-listing-name-{{$id}}"><a href="profiles/{{$id}}" class="profile-listing-edit-link" >{{$profile_name}}</a></div> +<div class="profile-listing-visible">{{$visible}}</div> +</div> +<div class="profile-listing-end"></div> + diff --git a/view/tpl/smarty3/profile_listing_header.tpl b/view/tpl/smarty3/profile_listing_header.tpl new file mode 100644 index 000000000..b771a1ea2 --- /dev/null +++ b/view/tpl/smarty3/profile_listing_header.tpl @@ -0,0 +1,8 @@ +<h1>{{$header}}</h1> +<p id="profile-listing-desc" class="button" > +<a href="profile_photo" >{{$chg_photo}}</a> +</p> +<div id="profile-listing-new-link-wrapper" class="button" > +<a href="{{$cr_new_link}}" id="profile-listing-new-link" title="{{$cr_new}}" >{{$cr_new}}</a> +</div> + diff --git a/view/tpl/smarty3/profile_photo.tpl b/view/tpl/smarty3/profile_photo.tpl new file mode 100644 index 000000000..40eb206a3 --- /dev/null +++ b/view/tpl/smarty3/profile_photo.tpl @@ -0,0 +1,29 @@ +<h1>{{$title}}</h1> + +<form enctype="multipart/form-data" action="profile_photo" method="post"> +<input type='hidden' name='form_security_token' value='{{$form_security_token}}'> + +<div id="profile-photo-upload-wrapper"> + +<label id="profile-photo-upload-label" class="form-label" for="profile-photo-upload">{{$lbl_upfile}}</label> +<input name="userfile" class="form-input" type="file" id="profile-photo-upload" size="48" /> +<div class="clear"></div> + +<label id="profile-photo-profiles-label" class="form-label" for="profile-photo-profiles">{{$lbl_profiles}}</label> +<select name="profile" id="profile-photo-profiles" class="form-input" > +{{foreach $profiles as $p}} +<option value="{{$p.id}}" {{if $p.default}}selected="selected"{{/if}}>{{$p.name}}</option> +{{/foreach}} +</select> +<div class="clear"></div> + +<div id="profile-photo-submit-wrapper"> +<input type="submit" name="submit" id="profile-photo-submit" value="{{$submit}}"> +</div> +</div> + +</form> + +<div id="profile-photo-link-select-wrapper"> +{{$select}} +</div>
\ No newline at end of file diff --git a/view/tpl/smarty3/profile_publish.tpl b/view/tpl/smarty3/profile_publish.tpl new file mode 100644 index 000000000..265c0c63c --- /dev/null +++ b/view/tpl/smarty3/profile_publish.tpl @@ -0,0 +1,16 @@ +<p id="profile-publish-desc-{{$instance}}"> +{{$pubdesc}} +</p> + + <div id="profile-publish-yes-wrapper-{{$instance}}"> + <label id="profile-publish-yes-label-{{$instance}}" for="profile-publish-yes-{{$instance}}">{{$str_yes}}</label> + <input type="radio" name="profile_publish_{{$instance}}" id="profile-publish-yes-{{$instance}}" {{$yes_selected}} value="1" /> + + <div id="profile-publish-break-{{$instance}}" ></div> + </div> + <div id="profile-publish-no-wrapper-{{$instance}}"> + <label id="profile-publish-no-label-{{$instance}}" for="profile-publish-no-{{$instance}}">{{$str_no}}</label> + <input type="radio" name="profile_publish_{{$instance}}" id="profile-publish-no-{{$instance}}" {{$no_selected}} value="0" /> + + <div id="profile-publish-end-{{$instance}}"></div> + </div> diff --git a/view/tpl/smarty3/profile_vcard.tpl b/view/tpl/smarty3/profile_vcard.tpl new file mode 100644 index 000000000..13460c2d9 --- /dev/null +++ b/view/tpl/smarty3/profile_vcard.tpl @@ -0,0 +1,52 @@ +<div class="vcard"> + + {{if $profile.edit}} + <div class="action"> + <a class="profile-edit-side-link icon edit" rel="#profiles-menu" title="{{$profile.edit.3}}" href="#" ><span>{{$profile.edit.1}}</span></a> + <ul id="profiles-menu" class="menu-popup"> + {{foreach $profile.menu.entries as $e}} + <li> + <a href="profiles/{{$e.id}}"><img src='{{$e.photo}}'>{{$e.profile_name}}</a> + </li> + {{/foreach}} + <li><a href="profile_photo" >{{$profile.menu.chg_photo}}</a></li> + <li><a href="profiles/new" id="profile-listing-new-link">{{$profile.menu.cr_new}}</a></li> + + </ul> + </div> + {{/if}} + + <div class="fn label">{{$profile.name}}</div> + + {{if $pdesc}}<div class="title">{{$profile.pdesc}}</div>{{/if}} + <div id="profile-photo-wrapper"><img class="photo" width="175" height="175" src="{{$profile.photo}}?rev={{$profile.picdate}}" alt="{{$profile.name}}"></div> + + + + {{if $location}} + <dl class="location"><dt class="location-label">{{$location}}</dt> + <dd class="adr"> + {{if $profile.address}}<div class="street-address">{{$profile.address}}</div>{{/if}} + <span class="city-state-zip"> + <span class="locality">{{$profile.locality}}</span>{{if $profile.locality}}, {{/if}} + <span class="region">{{$profile.region}}</span> + <span class="postal-code">{{$profile.postal_code}}</span> + </span> + {{if $profile.country_name}}<span class="country-name">{{$profile.country_name}}</span>{{/if}} + </dd> + </dl> + {{/if}} + + {{if $gender}}<dl class="mf"><dt class="gender-label">{{$gender}}</dt> <dd class="x-gender">{{$profile.gender}}</dd></dl>{{/if}} + + + {{if $marital}}<dl class="marital"><dt class="marital-label"><span class="heart">♥</span>{{$marital}}</dt><dd class="marital-text">{{$profile.marital}}</dd></dl>{{/if}} + + {{if $homepage}}<dl class="homepage"><dt class="homepage-label">{{$homepage}}</dt><dd class="homepage-url"><a href="{{$profile.homepage}}" >{{$profile.homepage}}</a></dd></dl>{{/if}} + + +</div> +<div id="vcard-end"></div> +{{$contact_block}} + + diff --git a/view/tpl/smarty3/prv_message.tpl b/view/tpl/smarty3/prv_message.tpl new file mode 100644 index 000000000..f8cbd01cc --- /dev/null +++ b/view/tpl/smarty3/prv_message.tpl @@ -0,0 +1,39 @@ + +<h3>{{$header}}</h3> + +<div id="prvmail-wrapper" > +<form id="prvmail-form" action="message" method="post" > + +{{$parent}} + +<div id="prvmail-to-label">{{$to}}</div> + +{{if $showinputs}} +<input type="text" id="recip" name="messagerecip" value="{{$prefill}}" maxlength="255" size="64" tabindex="10" /> +<input type="hidden" id="recip-complete" name="messageto" value="{{$preid}}"> +{{else}} +{{$select}} +{{/if}} + +<div id="prvmail-subject-label">{{$subject}}</div> +<input type="text" size="64" maxlength="255" id="prvmail-subject" name="subject" value="{{$subjtxt}}" {{$readonly}} tabindex="11" /> + +<div id="prvmail-message-label">{{$yourmessage}}</div> +<textarea rows="8" cols="72" class="prvmail-text" id="prvmail-text" name="body" tabindex="12">{{$text}}</textarea> + + +<div id="prvmail-submit-wrapper" > + <input type="submit" id="prvmail-submit" name="submit" value="{{$submit}}" tabindex="13" /> + <div id="prvmail-upload-wrapper" > + <div id="prvmail-upload" class="icon border camera" title="{{$upload}}" ></div> + </div> + <div id="prvmail-link-wrapper" > + <div id="prvmail-link" class="icon border link" title="{{$insert}}" onclick="jotGetLink();" ></div> + </div> + <div id="prvmail-rotator-wrapper" > + <img id="prvmail-rotator" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" /> + </div> +</div> +<div id="prvmail-end"></div> +</form> +</div> diff --git a/view/tpl/smarty3/pwdreset.tpl b/view/tpl/smarty3/pwdreset.tpl new file mode 100644 index 000000000..3993dec64 --- /dev/null +++ b/view/tpl/smarty3/pwdreset.tpl @@ -0,0 +1,17 @@ +<h3>{{$lbl1}}</h3> + +<p> +{{$lbl2}} +</p> +<p> +{{$lbl3}} +</p> +<p> +{{$newpass}} +</p> +<p> +{{$lbl4}} {{$lbl5}} +</p> +<p> +{{$lbl6}} +</p> diff --git a/view/tpl/smarty3/register.tpl b/view/tpl/smarty3/register.tpl new file mode 100644 index 000000000..48c1ba525 --- /dev/null +++ b/view/tpl/smarty3/register.tpl @@ -0,0 +1,45 @@ +<h2>{{$title}}</h2> + +<form action="register" method="post" id="register-form"> + +{{if $registertext}} +<div id="register-desc" class="descriptive-paragraph">{{$registertext}}</div> +{{/if}} + +{{if $invitations}} + <p id="register-invite-desc">{{$invite_desc}}</p> + + <label for="register-invite" id="label-register-invite" class="register-label">{{$label_invite}}</label> + <input type="text" maxlength="72" size="32" name="invite_code" id="register-invite" class="register-input" value="{{$invite_code}}" /> + <div id="register-invite-feedback" class="register-feedback"></div> + <div id="register-invite-end" class="register-field-end"></div> +{{/if}} + + <label for="register-email" id="label-register-email" class="register-label" >{{$label_email}}</label> + <input type="text" maxlength="72" size="32" name="email" id="register-email" class="register-input" value="{{$email}}" /> + <div id="register-email-feedback" class="register-feedback"></div> + <div id="register-email-end" class="register-field-end"></div> + + <label for="register-password" id="label-register-password" class="register-label" >{{$label_pass1}}</label> + <input type="password" maxlength="72" size="32" name="password" id="register-password" class="register-input" value="{{$pass1}}" /> + <div id="register-password-feedback" class="register-feedback"></div> + <div id="register-password-end" class="register-field-end"></div> + + <label for="register-password2" id="label-register-password2" class="register-label" >{{$label_pass2}}</label> + <input type="password" maxlength="72" size="32" name="password2" id="register-password2" class="register-input" value="{{$pass2}}" /> + <div id="register-password2-feedback" class="register-feedback"></div> + <div id="register-password2-end" class="register-field-end"></div> + + {{if $enable_tos}} + <input type="checkbox" name="tos" id="register-tos" value="1" /> + <label for="register-tos" id="label-register-tos">{{$label_tos}}</label> + <div id="register-tos-feedback" class="register-feedback"></div> + <div id="register-tos-end" class="register-field-end"></div> + {{else}} + <input type="hidden" name="tos" value="1" /> + {{/if}} + + <input type="submit" name="submit" id="register-submit-button" value="{{$submit}}" /> + <div id="register-submit-end" class="register-field-end"></div> + +</form> diff --git a/view/tpl/smarty3/remote_friends_common.tpl b/view/tpl/smarty3/remote_friends_common.tpl new file mode 100644 index 000000000..b68e1c347 --- /dev/null +++ b/view/tpl/smarty3/remote_friends_common.tpl @@ -0,0 +1,21 @@ +<div id="remote-friends-in-common" class="bigwidget"> + <div id="rfic-desc">{{$desc}} {{if $linkmore}}<a href="{{$base}}/common/rem/{{$uid}}/{{$cid}}">{{$more}}</a>{{/if}}</div> + {{if $items}} + {{foreach $items as $item}} + <div class="profile-match-wrapper"> + <div class="profile-match-photo"> + <a href="{{$item.url}}"> + <img src="{{$item.photo}}" width="80" height="80" alt="{{$item.name}}" title="{{$item.name}}" /> + </a> + </div> + <div class="profile-match-break"></div> + <div class="profile-match-name"> + <a href="{{$itemurl}}" title="{{$item.name}}">{{$item.name}}</a> + </div> + <div class="profile-match-end"></div> + </div> + {{/foreach}} + {{/if}} + <div id="rfic-end" class="clear"></div> +</div> + diff --git a/view/tpl/smarty3/removeme.tpl b/view/tpl/smarty3/removeme.tpl new file mode 100644 index 000000000..496f91ff5 --- /dev/null +++ b/view/tpl/smarty3/removeme.tpl @@ -0,0 +1,20 @@ +<h1>{{$title}}</h1> + +<div id="remove-account-wrapper"> + +<div id="remove-account-desc">{{$desc}}</div> + +<form action="{{$basedir}}/removeme" autocomplete="off" method="post" > +<input type="hidden" name="verify" value="{{$hash}}" /> + +<div id="remove-account-pass-wrapper"> +<label id="remove-account-pass-label" for="remove-account-pass">{{$passwd}}</label> +<input type="password" id="remove-account-pass" name="qxz_password" /> +</div> +<div id="remove-account-pass-end"></div> + +<input type="submit" name="submit" value="{{$submit}}" /> + +</form> +</div> + diff --git a/view/tpl/smarty3/saved_searches_aside.tpl b/view/tpl/smarty3/saved_searches_aside.tpl new file mode 100644 index 000000000..27c7d86a0 --- /dev/null +++ b/view/tpl/smarty3/saved_searches_aside.tpl @@ -0,0 +1,14 @@ +<div class="widget" id="saved-search-list"> + <h3 id="search">{{$title}}</h3> + {{$searchbox}} + + <ul id="saved-search-ul"> + {{foreach $saved as $search}} + <li class="saved-search-li clear"> + <a title="{{$search.delete}}" onclick="return confirmDelete();" id="drop-saved-search-term-{{$search.id}}" class="iconspacer savedsearchdrop " href="network/?f=&remove=1&search={{$search.encodedterm}}"></a> + <a id="saved-search-term-{{$search.id}}" class="savedsearchterm" href="network/?f=&search={{$search.encodedterm}}">{{$search.displayterm}}</a> + </li> + {{/foreach}} + </ul> + <div class="clear"></div> +</div> diff --git a/view/tpl/smarty3/search_item.tpl b/view/tpl/smarty3/search_item.tpl new file mode 100644 index 000000000..226c985cd --- /dev/null +++ b/view/tpl/smarty3/search_item.tpl @@ -0,0 +1,62 @@ +<a name="{{$item.id}}" ></a> +<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}" id="wall-item-outside-wrapper-{{$item.id}}" > + <div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}" > + <div class="wall-item-info" id="wall-item-info-{{$item.id}}"> + <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-{{$item.id}}" + onmouseover="if (typeof t{{$item.id}} != 'undefined') clearTimeout(t{{$item.id}}); openMenu('wall-item-photo-menu-button-{{$item.id}}')" + onmouseout="t{{$item.id}}=setTimeout('closeMenu(\'wall-item-photo-menu-button-{{$item.id}}\'); closeMenu(\'wall-item-photo-menu-{{$item.id}}\');',200)"> + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}"> + <img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.name}}" /></a> + <span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span> + <div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}"> + <ul> + {{$item.item_photo_menu}} + </ul> + </div> + </div> + <div class="wall-item-photo-end"></div> + <div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" > + {{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" /></div> + {{else}}<div class="wall-item-lock"></div>{{/if}} + <div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</div> + </div> + </div> + <div class="wall-item-author"> + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a> + + <div id="wall-item-ago-{{$item.id}}" class="wall-item-ago"><abbr class="wall-item-ago-time" title="{{$item.localtime}}">{{$item.ago}}</abbr>{{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}}</div> + + </div> + <div class="wall-item-content" id="wall-item-content-{{$item.id}}" > + <div class="wall-item-title" id="wall-item-title-{{$item.id}}">{{$item.title}}</div> + <div class="wall-item-title-end"></div> + <div class="wall-item-body" id="wall-item-body-{{$item.id}}" >{{$item.body}} + <div class="body-tag"> + {{foreach $item.tags as $tag}} + <span class='tag'>{{$tag}}</span> + {{/foreach}} + </div> + </div> + </div> + <div class="wall-item-tools" id="wall-item-tools-{{$item.id}}"> + <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" > + {{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$item.drop.delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{/if}} + </div> + {{if $item.drop.pagedropping}}<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />{{/if}} + <div class="wall-item-delete-end"></div> + </div> + </div> + <div class="wall-item-wrapper-end"></div> + + + <div class="wall-item-conv" id="wall-item-conv-{{$item.id}}" > + {{if $item.conv}} + <a href='{{$item.conv.href}}' id='context-{{$item.id}}' title='{{$item.conv.title}}'>{{$item.conv.title}}</a> + {{/if}} + </div> + +<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div> + +</div> + + diff --git a/view/tpl/smarty3/settings.tpl b/view/tpl/smarty3/settings.tpl new file mode 100644 index 000000000..70664a6f2 --- /dev/null +++ b/view/tpl/smarty3/settings.tpl @@ -0,0 +1,134 @@ +<h1>{{$ptitle}}</h1> + +{{$nickname_block}} + +<form action="settings" id="settings-form" method="post" autocomplete="off" > +<input type='hidden' name='form_security_token' value='{{$form_security_token}}'> + +<h3 class="settings-heading">{{$h_basic}}</h3> + +{{include file="field_input.tpl" field=$username}} +{{include file="field_custom.tpl" field=$timezone}} +{{include file="field_input.tpl" field=$defloc}} +{{include file="field_checkbox.tpl" field=$allowloc}} + + +<div class="settings-submit-wrapper" > +<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" /> +</div> + + +<h3 class="settings-heading">{{$h_prv}}</h3> + + +<input type="hidden" name="visibility" value="{{$visibility}}" /> + + + +<div id="settings-permissions-wrapper"> +{{foreach $permiss_arr as $permit}} +{{include file="field_select.tpl" field=$permit}} +{{/foreach}} +</div> + + +<div class="settings-submit-wrapper" > +<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" /> +</div> + + + +{{$profile_in_dir}} + +{{$blocktags}} + +{{$suggestme}} + + +{{include file="field_input.tpl" field=$maxreq}} + +{{include file="field_input.tpl" field=$cntunkmail}} + +{{include file="field_input.tpl" field=$expire.days}} + + +<div class="field input"> + <span class="field_help"><a href="#advanced-expire-popup" id="advanced-expire" class='popupbox' title="{{$expire.advanced}}">{{$expire.label}}</a></span> + <div style="display: none;"> + <div id="advanced-expire-popup" style="width:auto;height:auto;overflow:auto;"> + <h3>{{$expire.advanced}}</h3> + {{include file="field_yesno.tpl" field=$expire.items}} + {{include file="field_yesno.tpl" field=$expire.notes}} + {{include file="field_yesno.tpl" field=$expire.starred}} + {{include file="field_yesno.tpl" field=$expire.network_only}} + </div> + </div> + +</div> + +<div id="settings-default-perms" class="settings-default-perms" > + <a href="#profile-jot-acl-wrapper" id="settings-default-perms-menu" class='popupbox'>{{$permissions}} {{$permdesc}}</a> + <div id="settings-default-perms-menu-end"></div> + + <div id="settings-default-perms-select" style="display: none; margin-bottom: 20px" > + + <div style="display: none;"> + <div id="profile-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;"> + {{$aclselect}} + </div> + </div> + + </div> +</div> +<br/> +<div id="settings-default-perms-end"></div> + +{{$group_select}} + + +<div class="settings-submit-wrapper" > +<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" /> +</div> + + + +<h3 class="settings-heading">{{$h_not}}</h3> +<div id="settings-notifications"> + +<div id="settings-activity-desc">{{$activity_options}}</div> + +{{include file="field_checkbox.tpl" field=$post_newfriend}} +{{include file="field_checkbox.tpl" field=$post_joingroup}} +{{include file="field_checkbox.tpl" field=$post_profilechange}} + + +<div id="settings-notify-desc">{{$lbl_not}}</div> + +<div class="group"> +{{include file="field_intcheckbox.tpl" field=$notify1}} +{{include file="field_intcheckbox.tpl" field=$notify2}} +{{include file="field_intcheckbox.tpl" field=$notify3}} +{{include file="field_intcheckbox.tpl" field=$notify4}} +{{include file="field_intcheckbox.tpl" field=$notify5}} +{{include file="field_intcheckbox.tpl" field=$notify6}} +{{include file="field_intcheckbox.tpl" field=$notify7}} +{{include file="field_intcheckbox.tpl" field=$notify8}} +</div> + +</div> + +<div class="settings-submit-wrapper" > +<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" /> +</div> + + +<h3 class="settings-heading">{{$h_advn}}</h3> +<div id="settings-pagetype-desc">{{$h_descadvn}}</div> + +{{$pagetype}} + +<div class="settings-submit-wrapper" > +<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" /> +</div> + + diff --git a/view/tpl/smarty3/settings_account.tpl b/view/tpl/smarty3/settings_account.tpl new file mode 100644 index 000000000..198ac9565 --- /dev/null +++ b/view/tpl/smarty3/settings_account.tpl @@ -0,0 +1,28 @@ +<h1>{{$title}}</h1> + + +<div id="settings-remove-account-link"> +<a href="removeme" title="{{$permanent}}" >{{$removeme}}</a> +</div> + + +<form action="settings/account" id="settings-account-form" method="post" autocomplete="off" > +<input type='hidden' name='form_security_token' value='{{$form_security_token}}'> + +{{include file="field_input.tpl" field=$email}} + + +<h3 class="settings-heading">{{$h_pass}}</h3> + +{{include file="field_password.tpl" field=$password1}} +{{include file="field_password.tpl" field=$password2}} + + +<div class="settings-submit-wrapper" > +<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" /> +</div> + +{{$account_settings}} + + + diff --git a/view/tpl/smarty3/settings_addons.tpl b/view/tpl/smarty3/settings_addons.tpl new file mode 100644 index 000000000..afddafb36 --- /dev/null +++ b/view/tpl/smarty3/settings_addons.tpl @@ -0,0 +1,10 @@ +<h1>{{$title}}</h1> + + +<form action="settings/addon" method="post" autocomplete="off"> +<input type='hidden' name='form_security_token' value='{{$form_security_token}}'> + +{{$settings_addons}} + +</form> + diff --git a/view/tpl/smarty3/settings_connectors.tpl b/view/tpl/smarty3/settings_connectors.tpl new file mode 100644 index 000000000..a8bde4c1e --- /dev/null +++ b/view/tpl/smarty3/settings_connectors.tpl @@ -0,0 +1,9 @@ +<h1>{{$title}}</h1> + +<form action="settings/connectors" method="post" autocomplete="off"> +<input type='hidden' name='form_security_token' value='{{$form_security_token}}'> + +{{$settings_connectors}} + +</form> + diff --git a/view/tpl/smarty3/settings_display.tpl b/view/tpl/smarty3/settings_display.tpl new file mode 100644 index 000000000..2645ce740 --- /dev/null +++ b/view/tpl/smarty3/settings_display.tpl @@ -0,0 +1,22 @@ +<h1>{{$ptitle}}</h1> + +<form action="settings/display" id="settings-form" method="post" autocomplete="off" > +<input type='hidden' name='form_security_token' value='{{$form_security_token}}'> + +{{include file="field_themeselect.tpl" field=$theme}} +{{include file="field_themeselect.tpl" field=$mobile_theme}} +{{include file="field_input.tpl" field=$ajaxint}} +{{include file="field_input.tpl" field=$itemspage}} +{{include file="field_checkbox.tpl" field=$nosmile}} + + +<div class="settings-submit-wrapper" > +<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" /> +</div> + +{{if $theme_config}} +<h2>Theme settings</h2> +{{$theme_config}} +{{/if}} + +</form> diff --git a/view/tpl/smarty3/settings_features.tpl b/view/tpl/smarty3/settings_features.tpl new file mode 100644 index 000000000..47d755ee6 --- /dev/null +++ b/view/tpl/smarty3/settings_features.tpl @@ -0,0 +1,20 @@ +<h1>{{$title}}</h1> + + +<form action="settings/features" method="post" autocomplete="off"> +<input type='hidden' name='form_security_token' value='{{$form_security_token}}'> + +{{foreach $features as $f}} +<h3 class="settings-heading">{{$f.0}}</h3> + +{{foreach $f.1 as $fcat}} + {{include file="{{$field_yesno}}" field=$fcat}} +{{/foreach}} +{{/foreach}} + +<div class="settings-submit-wrapper" > +<input type="submit" name="submit" class="settings-features-submit" value="{{$submit}}" /> +</div> + +</form> + diff --git a/view/tpl/smarty3/settings_nick_set.tpl b/view/tpl/smarty3/settings_nick_set.tpl new file mode 100644 index 000000000..85956d97c --- /dev/null +++ b/view/tpl/smarty3/settings_nick_set.tpl @@ -0,0 +1,5 @@ + +<div id="settings-nick-wrapper" > +<div id="settings-nickname-desc" class="info-message">{{$desc}} <strong>'{{$nickname}}@{{$basepath}}'</strong>{{$subdir}}</div> +</div> +<div id="settings-nick-end" ></div> diff --git a/view/tpl/smarty3/settings_nick_subdir.tpl b/view/tpl/smarty3/settings_nick_subdir.tpl new file mode 100644 index 000000000..a271e0f05 --- /dev/null +++ b/view/tpl/smarty3/settings_nick_subdir.tpl @@ -0,0 +1,6 @@ +<p> +It appears that your website is located in a subdirectory of the<br /> +{{$hostname}} website, so this setting may not work reliably.<br /> +</p> +<p>If you have any issues, you may have better results using the profile<br /> address '<strong>{{$baseurl}}/profile/{{$nickname}}</strong>'. +</p>
\ No newline at end of file diff --git a/view/tpl/smarty3/settings_oauth.tpl b/view/tpl/smarty3/settings_oauth.tpl new file mode 100644 index 000000000..11c61a43e --- /dev/null +++ b/view/tpl/smarty3/settings_oauth.tpl @@ -0,0 +1,31 @@ +<h1>{{$title}}</h1> + + +<form action="settings/oauth" method="post" autocomplete="off"> +<input type='hidden' name='form_security_token' value='{{$form_security_token}}'> + + <div id="profile-edit-links"> + <ul> + <li> + <a id="profile-edit-view-link" href="{{$baseurl}}/settings/oauth/add">{{$add}}</a> + </li> + </ul> + </div> + + {{foreach $apps as $app}} + <div class='oauthapp'> + <img src='{{$app.icon}}' class="{{if $app.icon}} {{else}}noicon{{/if}}"> + {{if $app.name}}<h4>{{$app.name}}</h4>{{else}}<h4>{{$noname}}</h4>{{/if}} + {{if $app.my}} + {{if $app.oauth_token}} + <div class="settings-submit-wrapper" ><button class="settings-submit" type="submit" name="remove" value="{{$app.oauth_token}}">{{$remove}}</button></div> + {{/if}} + {{/if}} + {{if $app.my}} + <a href="{{$baseurl}}/settings/oauth/edit/{{$app.client_id}}" class="icon s22 edit" title="{{$edit}}"> </a> + <a href="{{$baseurl}}/settings/oauth/delete/{{$app.client_id}}?t={{$form_security_token}}" class="icon s22 delete" title="{{$delete}}"> </a> + {{/if}} + </div> + {{/foreach}} + +</form> diff --git a/view/tpl/smarty3/settings_oauth_edit.tpl b/view/tpl/smarty3/settings_oauth_edit.tpl new file mode 100644 index 000000000..bf805363c --- /dev/null +++ b/view/tpl/smarty3/settings_oauth_edit.tpl @@ -0,0 +1,17 @@ +<h1>{{$title}}</h1> + +<form method="POST"> +<input type='hidden' name='form_security_token' value='{{$form_security_token}}'> + +{{include file="field_input.tpl" field=$name}} +{{include file="field_input.tpl" field=$key}} +{{include file="field_input.tpl" field=$secret}} +{{include file="field_input.tpl" field=$redirect}} +{{include file="field_input.tpl" field=$icon}} + +<div class="settings-submit-wrapper" > +<input type="submit" name="submit" class="settings-submit" value="{{$submit}}" /> +<input type="submit" name="cancel" class="settings-submit" value="{{$cancel}}" /> +</div> + +</form> diff --git a/view/tpl/smarty3/suggest_friends.tpl b/view/tpl/smarty3/suggest_friends.tpl new file mode 100644 index 000000000..c8b9dd28d --- /dev/null +++ b/view/tpl/smarty3/suggest_friends.tpl @@ -0,0 +1,16 @@ +<div class="profile-match-wrapper"> + <a href="{{$ignlnk}}" title="{{$ignore}}" class="icon drophide profile-match-ignore" onmouseout="imgdull(this);" onmouseover="imgbright(this);" onclick="return confirmDelete();" ></a> + <div class="profile-match-photo"> + <a href="{{$url}}"> + <img src="{{$photo}}" alt="{{$name}}" width="80" height="80" title="{{$name}} [{{$url}}]" /> + </a> + </div> + <div class="profile-match-break"></div> + <div class="profile-match-name"> + <a href="{{$url}}" title="{{$name}}">{{$name}}</a> + </div> + <div class="profile-match-end"></div> + {{if $connlnk}} + <div class="profile-match-connect"><a href="{{$connlnk}}" title="{{$conntxt}}">{{$conntxt}}</a></div> + {{/if}} +</div>
\ No newline at end of file diff --git a/view/tpl/smarty3/suggestions.tpl b/view/tpl/smarty3/suggestions.tpl new file mode 100644 index 000000000..02460b6ad --- /dev/null +++ b/view/tpl/smarty3/suggestions.tpl @@ -0,0 +1,21 @@ + +<div class="intro-wrapper" > + +<p class="intro-desc">{{$str_notifytype}} {{$notify_type}}</p> +<div class="intro-madeby">{{$madeby}}</div> +<div class="intro-fullname" >{{$fullname}}</div> +<a class="intro-url-link" href="{{$url}}" ><img class="intro-photo lframe" src="{{$photo}}" width="175" height=175" title="{{$fullname}}" alt="{{$fullname}}" /></a> +<div class="intro-note" >{{$note}}</div> +<div class="intro-wrapper-end"></div> +<form class="intro-form" action="notifications/{{$intro_id}}" method="post"> +<input class="intro-submit-ignore" type="submit" name="submit" value="{{$ignore}}" /> +<input class="intro-submit-discard" type="submit" name="submit" value="{{$discard}}" /> +</form> +<div class="intro-form-end"></div> + +<form class="intro-approve-form" action="{{$request}}" method="get"> +{{include file="field_checkbox.tpl" field=$hidden}} +<input class="intro-submit-approve" type="submit" name="submit" value="{{$approve}}" /> +</form> +</div> +<div class="intro-end"></div> diff --git a/view/tpl/smarty3/tag_slap.tpl b/view/tpl/smarty3/tag_slap.tpl new file mode 100644 index 000000000..c5ed8d148 --- /dev/null +++ b/view/tpl/smarty3/tag_slap.tpl @@ -0,0 +1,30 @@ + <entry> + <author> + <name>{{$name}}</name> + <uri>{{$profile_page}}</uri> + <link rel="photo" type="image/jpeg" media:width="80" media:height="80" href="{{$thumb}}" /> + <link rel="avatar" type="image/jpeg" media:width="80" media:height="80" href="{{$thumb}}" /> + </author> + + <id>{{$item_id}}</id> + <title>{{$title}}</title> + <published>{{$published}}</published> + <content type="{{$type}}" >{{$content}}</content> + <link rel="mentioned" href="{{$accturi}}" /> + <as:actor> + <as:obj_type>http://activitystrea.ms/schema/1.0/person</as:obj_type> + <id>{{$profile_page}}</id> + <title></title> + <link rel="avatar" type="image/jpeg" media:width="175" media:height="175" href="{{$photo}}"/> + <link rel="avatar" type="image/jpeg" media:width="80" media:height="80" href="{{$thumb}}"/> + <poco:preferredUsername>{{$nick}}</poco:preferredUsername> + <poco:displayName>{{$name}}</poco:displayName> + </as:actor> + <as:verb>{{$verb}}</as:verb> + <as:object> + <as:obj_type></as:obj_type> + </as:object> + <as:target> + <as:obj_type></as:obj_type> + </as:target> + </entry> diff --git a/view/tpl/smarty3/threaded_conversation.tpl b/view/tpl/smarty3/threaded_conversation.tpl new file mode 100644 index 000000000..c20f8a3d6 --- /dev/null +++ b/view/tpl/smarty3/threaded_conversation.tpl @@ -0,0 +1,15 @@ +{{foreach $threads as $thread}} +{{foreach $thread.items as $thread_item}} +{{include file="{{$thread_item.template}}" item=$thread_item}} +{{/foreach}} +{{/foreach}} + +<div id="conversation-end"></div> + +{{if $dropping}} +<div id="item-delete-selected" class="fakelink" onclick="deleteCheckedItems();"> + <div id="item-delete-selected-icon" class="icon drophide" title="{{$dropping}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></div> + <div id="item-delete-selected-desc" >{{$dropping}}</div> +</div> +<div id="item-delete-selected-end"></div> +{{/if}} diff --git a/view/tpl/smarty3/toggle_mobile_footer.tpl b/view/tpl/smarty3/toggle_mobile_footer.tpl new file mode 100644 index 000000000..82c0197ba --- /dev/null +++ b/view/tpl/smarty3/toggle_mobile_footer.tpl @@ -0,0 +1,2 @@ +<a id="toggle_mobile_link" href="{{$toggle_link}}">{{$toggle_text}}</a> + diff --git a/view/tpl/smarty3/viewcontact_template.tpl b/view/tpl/smarty3/viewcontact_template.tpl new file mode 100644 index 000000000..18fed6bb4 --- /dev/null +++ b/view/tpl/smarty3/viewcontact_template.tpl @@ -0,0 +1,9 @@ +<h3>{{$title}}</h3> + +{{foreach $contacts as $contact}} + {{include file="contact_template.tpl"}} +{{/foreach}} + +<div id="view-contact-end"></div> + +{{$paginate}} diff --git a/view/tpl/smarty3/wall_item.tpl b/view/tpl/smarty3/wall_item.tpl new file mode 100644 index 000000000..e810290e6 --- /dev/null +++ b/view/tpl/smarty3/wall_item.tpl @@ -0,0 +1,79 @@ +<a name="{{$item.id}}" ></a> +<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}" id="wall-item-outside-wrapper-{{$item.id}}" > + <div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}" > + <div class="wall-item-info" id="wall-item-info-{{$item.id}}"> + <div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-{{$item.id}}" + onmouseover="if (typeof t{{$item.id}} != 'undefined') clearTimeout(t{{$item.id}}); openMenu('wall-item-photo-menu-button-{{$item.id}}')" + onmouseout="t{{$item.id}}=setTimeout('closeMenu(\'wall-item-photo-menu-button-{{$item.id}}\'); closeMenu(\'wall-item-photo-menu-{{$item.id}}\');',200)"> + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}"> + <img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.name}}" /> + </a> + <span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span> + <div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}"> + <ul> + {{$item.item_photo_menu}} + </ul> + </div> + </div> + <div class="wall-item-photo-end"></div> + <div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" > + {{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" /></div> + {{else}}<div class="wall-item-lock"></div>{{/if}} + <div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</div> + </div> + </div> + <div class="wall-item-author"> + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a> + <div id="wall-item-ago-{{$item.id}}" class="wall-item-ago"><abbr class="wall-item-ago-time" title="{{$item.localtime}}">{{$item.ago}}</abbr>{{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}}</div> + + </div> + <div class="wall-item-content" id="wall-item-content-{{$item.id}}" > + <div class="wall-item-title" id="wall-item-title-{{$item.id}}">{{$item.title}}</div> + <div class="wall-item-title-end"></div> + <div class="wall-item-body" id="wall-item-body-{{$item.id}}" >{{$item.body}} + <div class="body-tag"> + {{foreach $item.tags as $tag}} + <span class='tag'>{{$tag}}</span> + {{/foreach}} + </div> + </div> + </div> + <div class="wall-item-tools" id="wall-item-tools-{{$item.id}}"> + {{if $item.vote}} + <div class="wall-item-like-buttons" id="wall-item-like-buttons-{{$item.id}}"> + <a href="#" class="icon like" title="{{$item.vote.like.0}}" onclick="dolike({{$item.id}},'like'); return false"></a> + <a href="#" class="icon dislike" title="{{$item.vote.dislike.0}}" onclick="dolike({{$item.id}},'dislike'); return false"></a> + {{if $item.vote.share}}<a href="#" class="icon recycle wall-item-share-buttons" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}}); return false"></a>{{/if}} + <img id="like-rotator-{{$item.id}}" class="like-rotator" src="images/rotator.gif" alt="{{$item.wait}}" title="{{$item.wait}}" style="display: none;" /> + </div> + {{/if}} + {{if $item.plink}} + <div class="wall-item-links-wrapper"><a href="{{$item.plink.href}}" title="{{$item.plink.title}}" class="icon remote-link{{$item.sparkle}}"></a></div> + {{/if}} + {{if $item.edpost}} + <a class="editpost icon pencil" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"></a> + {{/if}} + + {{if $item.star}} + <a href="#" id="starred-{{$item.id}}" onclick="dostar({{$item.id}}); return false;" class="star-item icon {{$item.isstarred}}" title="{{$item.star.toggle}}"></a> + <a href="#" id="tagger-{{$item.id}}" onclick="itemTag({{$item.id}}); return false;" class="tag-item icon tagged" title="{{$item.star.tagger}}"></a> + {{/if}} + {{if $item.filer}} + <a href="#" id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item filer-icon" title="{{$item.filer}}"></a> + {{/if}} + <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" > + {{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$item.drop.delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{/if}} + </div> + {{if $item.drop.pagedropping}}<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />{{/if}} + <div class="wall-item-delete-end"></div> + </div> + </div> + <div class="wall-item-wrapper-end"></div> + <div class="wall-item-like {{$item.indent}}" id="wall-item-like-{{$item.id}}">{{$item.like}}</div> + <div class="wall-item-dislike {{$item.indent}}" id="wall-item-dislike-{{$item.id}}">{{$item.dislike}}</div> + <div class="wall-item-comment-wrapper" > + {{$item.comment}} + </div> + +<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div> +</div> diff --git a/view/tpl/smarty3/wall_thread.tpl b/view/tpl/smarty3/wall_thread.tpl new file mode 100644 index 000000000..39d0bee25 --- /dev/null +++ b/view/tpl/smarty3/wall_thread.tpl @@ -0,0 +1,120 @@ +{{if $item.comment_firstcollapsed}} + <div class="hide-comments-outer"> + <span id="hide-comments-total-{{$item.id}}" class="hide-comments-total">{{$item.num_comments}}</span> <span id="hide-comments-{{$item.id}}" class="hide-comments fakelink" onclick="showHideComments({{$item.id}});">{{$item.hide_text}}</span> + </div> + <div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;"> +{{/if}} +<div id="thread-wrapper-{{$item.id}}" class="thread-wrapper {{$item.toplevel}}"> +<a name="{{$item.id}}" ></a> +<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}}{{if $item.owner_url}} wallwall{{/if}}" id="wall-item-outside-wrapper-{{$item.id}}" > + <div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}" > + <div class="wall-item-info{{if $item.owner_url}} wallwall{{/if}}" id="wall-item-info-{{$item.id}}"> + {{if $item.owner_url}} + <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-{{$item.id}}" > + <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-photo-link" id="wall-item-ownerphoto-link-{{$item.id}}"> + <img src="{{$item.owner_photo}}" class="wall-item-photo{{$item.osparkle}}" id="wall-item-ownerphoto-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.owner_name}}" /></a> + </div> + <div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="{{$item.wall}}" /></div> + {{/if}} + <div class="wall-item-photo-wrapper{{if $item.owner_url}} wwfrom{{/if}}" id="wall-item-photo-wrapper-{{$item.id}}" + onmouseover="if (typeof t{{$item.id}} != 'undefined') clearTimeout(t{{$item.id}}); openMenu('wall-item-photo-menu-button-{{$item.id}}')" + onmouseout="t{{$item.id}}=setTimeout('closeMenu(\'wall-item-photo-menu-button-{{$item.id}}\'); closeMenu(\'wall-item-photo-menu-{{$item.id}}\');',200)"> + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}"> + <img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.name}}" /></a> + <span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span> + <div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}"> + <ul> + {{$item.item_photo_menu}} + </ul> + </div> + + </div> + <div class="wall-item-photo-end"></div> + <div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" > + {{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" /></div> + {{else}}<div class="wall-item-lock"></div>{{/if}} + <div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</div> + </div> + </div> + <div class="wall-item-author"> + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a>{{if $item.owner_url}} {{$item.to}} <a href="{{$item.owner_url}}" target="redir" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a> {{$item.vwall}}{{/if}}<br /> + <div class="wall-item-ago" id="wall-item-ago-{{$item.id}}" title="{{$item.localtime}}">{{$item.ago}}</div> + </div> + <div class="wall-item-content" id="wall-item-content-{{$item.id}}" > + <div class="wall-item-title" id="wall-item-title-{{$item.id}}">{{$item.title}}</div> + <div class="wall-item-title-end"></div> + <div class="wall-item-body" id="wall-item-body-{{$item.id}}" >{{$item.body}} + <div class="body-tag"> + {{foreach $item.tags as $tag}} + <span class='tag'>{{$tag}}</span> + {{/foreach}} + </div> + {{if $item.has_cats}} + <div class="categorytags"><span>{{$item.txt_cats}} {{foreach $item.categories as $cat}}{{$cat.name}} <a href="{{$cat.removeurl}}" title="{{$remove}}">[{{$remove}}]</a> {{if $cat.last}}{{else}}, {{/if}}{{/foreach}} + </div> + {{/if}} + + {{if $item.has_folders}} + <div class="filesavetags"><span>{{$item.txt_folders}} {{foreach $item.folders as $cat}}{{$cat.name}} <a href="{{$cat.removeurl}}" title="{{$remove}}">[{{$remove}}]</a> {{if $cat.last}}{{else}}, {{/if}}{{/foreach}} + </div> + {{/if}} + </div> + </div> + <div class="wall-item-tools" id="wall-item-tools-{{$item.id}}"> + {{if $item.vote}} + <div class="wall-item-like-buttons" id="wall-item-like-buttons-{{$item.id}}"> + <a href="#" class="icon like" title="{{$item.vote.like.0}}" onclick="dolike({{$item.id}},'like'); return false"></a> + {{if $item.nolike}} + <a href="#" class="icon dislike" title="{{$item.vote.dislike.0}}" onclick="dolike({{$item.id}},'dislike'); return false"></a> + {{/if}} + {{if $item.vote.share}}<a href="#" class="icon recycle wall-item-share-buttons" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}}); return false"></a>{{/if}} + </div> + {{/if}} + {{if $item.plink}} + <div class="wall-item-links-wrapper"><a href="{{$item.plink.href}}" title="{{$item.plink.title}}" target="external-link" class="icon remote-link{{$item.sparkle}}"></a></div> + {{/if}} + {{if $item.edpost}} + <a class="editpost icon pencil" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"></a> + {{/if}} + + {{if $item.star}} + <a href="#" id="starred-{{$item.id}}" onclick="dostar({{$item.id}}); return false;" class="star-item icon {{$item.isstarred}}" title="{{$item.star.toggle}}"></a> + <a href="#" id="tagger-{{$item.id}}" onclick="itemTag({{$item.id}}); return false;" class="tag-item icon tagged" title="{{$item.star.tagger}}"></a> + {{/if}} + {{if $item.filer}} + <a href="#" id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item filer-icon" title="{{$item.filer}}"></a> + {{/if}} + <img id="like-rotator-{{$item.id}}" class="like-rotator" src="images/rotator.gif" alt="{{$item.wait}}" title="{{$item.wait}}" style="display: none;" /> + + <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" > + {{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$item.drop.delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{/if}} + </div> + {{if $item.drop.pagedrop}}<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />{{/if}} + <div class="wall-item-delete-end"></div> + </div> + </div> + <div class="wall-item-wrapper-end"></div> + <div class="wall-item-like {{$item.indent}}" id="wall-item-like-{{$item.id}}">{{$item.like}}</div> + <div class="wall-item-dislike {{$item.indent}}" id="wall-item-dislike-{{$item.id}}">{{$item.dislike}}</div> + + {{if $item.threaded}} + {{if $item.comment}} + <div class="wall-item-comment-wrapper {{$item.indent}}" > + {{$item.comment}} + </div> + {{/if}} + {{/if}} + +<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div> +</div> +{{foreach $item.children as $child}} + {{include file="{{$child.template}}" item=$child}} +{{/foreach}} + +{{if $item.flatten}} +<div class="wall-item-comment-wrapper" > + {{$item.comment}} +</div> +{{/if}} +</div> +{{if $item.comment_lastcollapsed}}</div>{{/if}} diff --git a/view/tpl/smarty3/wallmessage.tpl b/view/tpl/smarty3/wallmessage.tpl new file mode 100644 index 000000000..bea386b95 --- /dev/null +++ b/view/tpl/smarty3/wallmessage.tpl @@ -0,0 +1,32 @@ + +<h3>{{$header}}</h3> + +<h4>{{$subheader}}</h4> + +<div id="prvmail-wrapper" > +<form id="prvmail-form" action="wallmessage/{{$nickname}}" method="post" > + +{{$parent}} + +<div id="prvmail-to-label">{{$to}}</div> +{{$recipname}} + +<div id="prvmail-subject-label">{{$subject}}</div> +<input type="text" size="64" maxlength="255" id="prvmail-subject" name="subject" value="{{$subjtxt}}" {{$readonly}} tabindex="11" /> + +<div id="prvmail-message-label">{{$yourmessage}}</div> +<textarea rows="8" cols="72" class="prvmail-text" id="prvmail-text" name="body" tabindex="12">{{$text}}</textarea> + + +<div id="prvmail-submit-wrapper" > + <input type="submit" id="prvmail-submit" name="submit" value="Submit" tabindex="13" /> + <div id="prvmail-link-wrapper" > + <div id="prvmail-link" class="icon border link" title="{{$insert}}" onclick="jotGetLink();" ></div> + </div> + <div id="prvmail-rotator-wrapper" > + <img id="prvmail-rotator" src="images/rotator.gif" alt="{{$wait}}" title="{{$wait}}" style="display: none;" /> + </div> +</div> +<div id="prvmail-end"></div> +</form> +</div> diff --git a/view/tpl/smarty3/wallmsg-header.tpl b/view/tpl/smarty3/wallmsg-header.tpl new file mode 100644 index 000000000..09f5b30a7 --- /dev/null +++ b/view/tpl/smarty3/wallmsg-header.tpl @@ -0,0 +1,82 @@ + +<script language="javascript" type="text/javascript" src="{{$baseurl}}/library/tinymce/jscripts/tiny_mce/tiny_mce_src.js"></script> +<script language="javascript" type="text/javascript"> + +var plaintext = '{{$editselect}}'; + +if(plaintext != 'none') { + tinyMCE.init({ + theme : "advanced", + mode : "specific_textareas", + editor_selector: /(profile-jot-text|prvmail-text)/, + plugins : "bbcode,paste", + theme_advanced_buttons1 : "bold,italic,underline,undo,redo,link,unlink,image,forecolor", + theme_advanced_buttons2 : "", + theme_advanced_buttons3 : "", + theme_advanced_toolbar_location : "top", + theme_advanced_toolbar_align : "center", + theme_advanced_blockformats : "blockquote,code", + gecko_spellcheck : true, + paste_text_sticky : true, + entity_encoding : "raw", + add_unload_trigger : false, + remove_linebreaks : false, + force_p_newlines : false, + force_br_newlines : true, + forced_root_block : '', + convert_urls: false, + content_css: "{{$baseurl}}/view/custom_tinymce.css", + //Character count + theme_advanced_path : false, + setup : function(ed) { + ed.onInit.add(function(ed) { + ed.pasteAsPlainText = true; + var editorId = ed.editorId; + var textarea = $('#'+editorId); + if (typeof(textarea.attr('tabindex')) != "undefined") { + $('#'+editorId+'_ifr').attr('tabindex', textarea.attr('tabindex')); + textarea.attr('tabindex', null); + } + }); + } + }); +} +else + $("#prvmail-text").contact_autocomplete(baseurl+"/acl"); + + +</script> +<script> + + function jotGetLink() { + reply = prompt("{{$linkurl}}"); + if(reply && reply.length) { + $('#profile-rotator').show(); + $.get('parse_url?url=' + reply, function(data) { + tinyMCE.execCommand('mceInsertRawHTML',false,data); + $('#profile-rotator').hide(); + }); + } + } + + function linkdropper(event) { + var linkFound = event.dataTransfer.types.contains("text/uri-list"); + if(linkFound) + event.preventDefault(); + } + + function linkdrop(event) { + var reply = event.dataTransfer.getData("text/uri-list"); + event.target.textContent = reply; + event.preventDefault(); + if(reply && reply.length) { + $('#profile-rotator').show(); + $.get('parse_url?url=' + reply, function(data) { + tinyMCE.execCommand('mceInsertRawHTML',false,data); + $('#profile-rotator').hide(); + }); + } + } + +</script> + diff --git a/view/tpl/smarty3/wallwall_item.tpl b/view/tpl/smarty3/wallwall_item.tpl new file mode 100644 index 000000000..4616cf0fa --- /dev/null +++ b/view/tpl/smarty3/wallwall_item.tpl @@ -0,0 +1,86 @@ +<a name="{{$item.id}}" ></a> +<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}} wallwall" id="wall-item-outside-wrapper-{{$item.id}}" > + <div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}" > + <div class="wall-item-info wallwall" id="wall-item-info-{{$item.id}}"> + <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-{{$item.id}}" > + <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-photo-link" id="wall-item-ownerphoto-link-{{$item.id}}"> + <img src="{{$item.owner_photo}}" class="wall-item-photo{{$item.osparkle}}" id="wall-item-ownerphoto-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.owner_name}}" /></a> + </div> + <div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="{{$item.wall}}" /></div> + <div class="wall-item-photo-wrapper wwfrom" id="wall-item-photo-wrapper-{{$item.id}}" + onmouseover="if (typeof t{{$item.id}} != 'undefined') clearTimeout(t{{$item.id}}); openMenu('wall-item-photo-menu-button-{{$item.id}}')" + onmouseout="t{{$item.id}}=setTimeout('closeMenu(\'wall-item-photo-menu-button-{{$item.id}}\'); closeMenu(\'wall-item-photo-menu-{{$item.id}}\');',200)"> + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}"> + <img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.name}}" /></a> + <span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span> + <div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}"> + <ul> + {{$item.item_photo_menu}} + </ul> + </div> + + </div> + <div class="wall-item-photo-end"></div> + <div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" > + {{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" /></div> + {{else}}<div class="wall-item-lock"></div>{{/if}} + <div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</div> + </div> + </div> + <div class="wall-item-author"> + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a> {{$item.to}} <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a> {{$item.vwall}}<br /> + <div id="wall-item-ago-{{$item.id}}" class="wall-item-ago"><abbr class="wall-item-ago-time" title="{{$item.localtime}}">{{$item.ago}}</abbr>{{if $item.app}}<span class="item.app">{{$item.str_app}}</span>{{/if}}</div> + </div> + <div class="wall-item-content" id="wall-item-content-{{$item.id}}" > + <div class="wall-item-title" id="wall-item-title-{{$item.id}}">{{$item.title}}</div> + <div class="wall-item-title-end"></div> + <div class="wall-item-body" id="wall-item-body-{{$item.id}}" >{{$item.body}} + <div class="body-tag"> + {{foreach $item.tags as $tag}} + <span class='tag'>{{$tag}}</span> + {{/foreach}} + </div> + </div> + </div> + <div class="wall-item-tools" id="wall-item-tools-{{$item.id}}"> + {{if $item.vote}} + <div class="wall-item-like-buttons" id="wall-item-like-buttons-{{$item.id}}"> + <a href="#" class="icon like" title="{{$item.vote.like.0}}" onclick="dolike({{$item.id}},'like'); return false"></a> + <a href="#" class="icon dislike" title="{{$item.vote.dislike.0}}" onclick="dolike({{$item.id}},'dislike'); return false"></a> + {{if $item.vote.share}}<a href="#" class="icon recycle wall-item-share-buttons" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}}); return false"></a>{{/if}} + <img id="like-rotator-{{$item.id}}" class="like-rotator" src="images/rotator.gif" alt="{{$item.wait}}" title="{{$item.wait}}" style="display: none;" /> + </div> + {{/if}} + {{if $item.plink}} + <div class="wall-item-links-wrapper"><a href="{{$item.plink.href}}" title="{{$item.plink.title}}" class="icon remote-link{{$item.sparkle}}"></a></div> + {{/if}} + {{if $item.edpost}} + <a class="editpost icon pencil" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"></a> + {{/if}} + + {{if $item.star}} + <a href="#" id="starred-{{$item.id}}" onclick="dostar({{$item.id}}); return false;" class="star-item icon {{$item.isstarred}}" title="{{$item.star.toggle}}"></a> + <a href="#" id="tagger-{{$item.id}}" onclick="itemTag({{$item.id}}); return false;" class="tag-item icon tagged" title="{{$item.star.tagger}}"></a> + {{/if}} + {{if $item.filer}} + <a href="#" id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item filer-icon" title="{{$item.filer}}"></a> + {{/if}} + + <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" > + {{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$item.drop.delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{/if}} + </div> + {{if $item.drop.pagedropping}}<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />{{/if}} + <div class="wall-item-delete-end"></div> + </div> + </div> + <div class="wall-item-wrapper-end"></div> + <div class="wall-item-like {{$item.indent}}" id="wall-item-like-{{$item.id}}">{{$item.like}}</div> + <div class="wall-item-dislike {{$item.indent}}" id="wall-item-dislike-{{$item.id}}">{{$item.dislike}}</div> + <div class="wall-item-comment-separator"></div> + <div class="wall-item-comment-wrapper"> + {{$item.comment}} + </div> + +<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div> +</div> + diff --git a/view/tpl/smarty3/wallwall_thread.tpl b/view/tpl/smarty3/wallwall_thread.tpl new file mode 100644 index 000000000..cc059429b --- /dev/null +++ b/view/tpl/smarty3/wallwall_thread.tpl @@ -0,0 +1,107 @@ +{{if $item.comment_firstcollapsed}} + <div class="hide-comments-outer"> + <span id="hide-comments-total-{{$item.id}}" class="hide-comments-total">{{$item.num_comments}}</span> <span id="hide-comments-{{$item.id}}" class="hide-comments fakelink" onclick="showHideComments({{$item.id}});">{{$item.hide_text}}</span> + </div> + <div id="collapsed-comments-{{$item.id}}" class="collapsed-comments" style="display: none;"> +{{/if}} +<div id="tread-wrapper-{{$item.id}}" class="tread-wrapper {{$item.toplevel}}"> +<a name="{{$item.id}}" ></a> +<div class="wall-item-outside-wrapper {{$item.indent}}{{$item.previewing}} wallwall" id="wall-item-outside-wrapper-{{$item.id}}" > + <div class="wall-item-content-wrapper {{$item.indent}}" id="wall-item-content-wrapper-{{$item.id}}" > + <div class="wall-item-info wallwall" id="wall-item-info-{{$item.id}}"> + <div class="wall-item-photo-wrapper wwto" id="wall-item-ownerphoto-wrapper-{{$item.id}}" > + <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-photo-link" id="wall-item-ownerphoto-link-{{$item.id}}"> + <img src="{{$item.owner_photo}}" class="wall-item-photo{{$item.osparkle}}" id="wall-item-ownerphoto-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.owner_name}}" /></a> + </div> + <div class="wall-item-arrowphoto-wrapper" ><img src="images/larrow.gif" alt="{{$item.wall}}" /></div> + <div class="wall-item-photo-wrapper wwfrom" id="wall-item-photo-wrapper-{{$item.id}}" + onmouseover="if (typeof t{{$item.id}} != 'undefined') clearTimeout(t{{$item.id}}); openMenu('wall-item-photo-menu-button-{{$item.id}}')" + onmouseout="t{{$item.id}}=setTimeout('closeMenu(\'wall-item-photo-menu-button-{{$item.id}}\'); closeMenu(\'wall-item-photo-menu-{{$item.id}}\');',200)"> + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-photo-link" id="wall-item-photo-link-{{$item.id}}"> + <img src="{{$item.thumb}}" class="wall-item-photo{{$item.sparkle}}" id="wall-item-photo-{{$item.id}}" style="height: 80px; width: 80px;" alt="{{$item.name}}" /></a> + <span onclick="openClose('wall-item-photo-menu-{{$item.id}}');" class="fakelink wall-item-photo-menu-button" id="wall-item-photo-menu-button-{{$item.id}}">menu</span> + <div class="wall-item-photo-menu" id="wall-item-photo-menu-{{$item.id}}"> + <ul> + {{$item.item_photo_menu}} + </ul> + </div> + + </div> + <div class="wall-item-photo-end"></div> + <div class="wall-item-wrapper" id="wall-item-wrapper-{{$item.id}}" > + {{if $item.lock}}<div class="wall-item-lock"><img src="images/lock_icon.gif" class="lockview" alt="{{$item.lock}}" onclick="lockview(event,{{$item.id}});" /></div> + {{else}}<div class="wall-item-lock"></div>{{/if}} + <div class="wall-item-location" id="wall-item-location-{{$item.id}}">{{$item.location}}</div> + </div> + </div> + <div class="wall-item-author"> + <a href="{{$item.profile_url}}" title="{{$item.linktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.sparkle}}" id="wall-item-name-{{$item.id}}" >{{$item.name}}</span></a> {{$item.to}} <a href="{{$item.owner_url}}" title="{{$item.olinktitle}}" class="wall-item-name-link"><span class="wall-item-name{{$item.osparkle}}" id="wall-item-ownername-{{$item.id}}">{{$item.owner_name}}</span></a> {{$item.vwall}}<br /> + <div class="wall-item-ago" id="wall-item-ago-{{$item.id}}">{{$item.ago}}</div> + </div> + <div class="wall-item-content" id="wall-item-content-{{$item.id}}" > + <div class="wall-item-title" id="wall-item-title-{{$item.id}}">{{$item.title}}</div> + <div class="wall-item-title-end"></div> + <div class="wall-item-body" id="wall-item-body-{{$item.id}}" >{{$item.body}} + <div class="body-tag"> + {{foreach $item.tags as $tag}} + <span class='tag'>{{$tag}}</span> + {{/foreach}} + </div> + </div> + </div> + <div class="wall-item-tools" id="wall-item-tools-{{$item.id}}"> + {{if $item.vote}} + <div class="wall-item-like-buttons" id="wall-item-like-buttons-{{$item.id}}"> + <a href="#" class="icon like" title="{{$item.vote.like.0}}" onclick="dolike({{$item.id}},'like'); return false"></a> + <a href="#" class="icon dislike" title="{{$item.vote.dislike.0}}" onclick="dolike({{$item.id}},'dislike'); return false"></a> + {{if $item.vote.share}}<a href="#" class="icon recycle wall-item-share-buttons" title="{{$item.vote.share.0}}" onclick="jotShare({{$item.id}}); return false"></a>{{/if}} + <img id="like-rotator-{{$item.id}}" class="like-rotator" src="images/rotator.gif" alt="{{$item.wait}}" title="{{$item.wait}}" style="display: none;" /> + </div> + {{/if}} + {{if $item.plink}} + <div class="wall-item-links-wrapper"><a href="{{$item.plink.href}}" title="{{$item.plink.title}}" class="icon remote-link{{$item.sparkle}}"></a></div> + {{/if}} + {{if $item.edpost}} + <a class="editpost icon pencil" href="{{$item.edpost.0}}" title="{{$item.edpost.1}}"></a> + {{/if}} + + {{if $item.star}} + <a href="#" id="starred-{{$item.id}}" onclick="dostar({{$item.id}}); return false;" class="star-item icon {{$item.isstarred}}" title="{{$item.star.toggle}}"></a> + <a href="#" id="tagger-{{$item.id}}" onclick="itemTag({{$item.id}}); return false;" class="tag-item icon tagged" title="{{$item.star.tagger}}"></a> + {{/if}} + {{if $item.filer}} + <a href="#" id="filer-{{$item.id}}" onclick="itemFiler({{$item.id}}); return false;" class="filer-item filer-icon" title="{{$item.filer}}"></a> + {{/if}} + + <div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-{{$item.id}}" > + {{if $item.drop.dropping}}<a href="item/drop/{{$item.id}}" onclick="return confirmDelete();" class="icon drophide" title="{{$item.drop.delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a>{{/if}} + </div> + {{if $item.drop.dropping}}<input type="checkbox" onclick="checkboxhighlight(this);" title="{{$item.drop.select}}" class="item-select" name="itemselected[]" value="{{$item.id}}" />{{/if}} + <div class="wall-item-delete-end"></div> + </div> + </div> + <div class="wall-item-wrapper-end"></div> + <div class="wall-item-like {{$item.indent}}" id="wall-item-like-{{$item.id}}">{{$item.like}}</div> + <div class="wall-item-dislike {{$item.indent}}" id="wall-item-dislike-{{$item.id}}">{{$item.dislike}}</div> + + {{if $item.threaded}} + {{if $item.comment}} + <div class="wall-item-comment-wrapper {{$item.indent}}" > + {{$item.comment}} + </div> + {{/if}} + {{/if}} + +<div class="wall-item-outside-wrapper-end {{$item.indent}}" ></div> +</div> +{{foreach $item.children as $item}} + {{include file="{{$item.template}}"}} +{{/foreach}} + +{{if $item.flatten}} +<div class="wall-item-comment-wrapper" > + {{$item.comment}} +</div> +{{/if}} +</div> +{{if $item.comment_lastcollapsed}}</div>{{/if}} diff --git a/view/tpl/smarty3/xchan_vcard.tpl b/view/tpl/smarty3/xchan_vcard.tpl new file mode 100644 index 000000000..5d754356f --- /dev/null +++ b/view/tpl/smarty3/xchan_vcard.tpl @@ -0,0 +1,15 @@ +<div class="vcard"> +<div class="fn">{{$name}}</div> +<div id="profile-photo-wrapper"><img class="vcard-photo photo" src="{{$photo}}" alt="name" /></div> +</div> + + + +<div id="profile-extra-links"> +<ul> +{{if $connect}} + <li><a id="follow-link" href="follow?f=&url={{$follow}}">{{$connect}}</a></li> +{{/if}} +</ul> +</div> + diff --git a/view/tpl/smarty3/xrd_host.tpl b/view/tpl/smarty3/xrd_host.tpl new file mode 100644 index 000000000..4bcc5bbdb --- /dev/null +++ b/view/tpl/smarty3/xrd_host.tpl @@ -0,0 +1,18 @@ +<?xml version='1.0' encoding='UTF-8'?> +<XRD xmlns='http://docs.oasis-open.org/ns/xri/xrd-1.0' + xmlns:hm='http://host-meta.net/xrd/1.0'> + + <hm:Host>{{$zhost}}</hm:Host> + + <Link rel='lrdd' template='{{$domain}}/xrd/?uri={uri}' /> + <Link rel='acct-mgmt' href='{{$domain}}/amcd' /> + <Link rel='http://services.mozilla.com/amcd/0.1' href='{{$domain}}/amcd' /> + <Link rel="http://oexchange.org/spec/0.8/rel/resident-target" type="application/xrd+xml" + href="{{$domain}}/oexchange/xrd" /> + + <Property xmlns:mk="http://salmon-protocol.org/ns/magic-key" + type="http://salmon-protocol.org/ns/magic-key" + mk:key_id="1">{{$bigkey}}</Property> + + +</XRD> diff --git a/view/tpl/smarty3/xrd_person.tpl b/view/tpl/smarty3/xrd_person.tpl new file mode 100644 index 000000000..035ab251f --- /dev/null +++ b/view/tpl/smarty3/xrd_person.tpl @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> +<XRD xmlns="http://docs.oasis-open.org/ns/xri/xrd-1.0"> + + <Subject>{{$accturi}}</Subject> + <Alias>{{$accturi}}</Alias> + <Alias>{{$profile_url}}</Alias> + + <Link rel="http://purl.org/macgirvin/dfrn/1.0" + href="{{$profile_url}}" /> + <Link rel="http://schemas.google.com/g/2010#updates-from" + type="application/atom+xml" + href="{{$atom}}" /> + <Link rel="http://webfinger.net/rel/profile-page" + type="text/html" + href="{{$profile_url}}" /> + <Link rel="http://microformats.org/profile/hcard" + type="text/html" + href="{{$hcard_url}}" /> + <Link rel="http://portablecontacts.net/spec/1.0" + href="{{$poco_url}}" /> + <Link rel="http://webfinger.net/rel/avatar" + type="image/jpeg" + href="{{$photo}}" /> + + <Property xmlns:mk="http://salmon-protocol.org/ns/magic-key" + type="http://salmon-protocol.org/ns/magic-key" + mk:key_id="1">{{$bigkey}}</Property> + +</XRD> diff --git a/view/tpl/threaded_conversation.tpl b/view/tpl/threaded_conversation.tpl index e91c49bb1..0f949265c 100644 --- a/view/tpl/threaded_conversation.tpl +++ b/view/tpl/threaded_conversation.tpl @@ -1,6 +1,6 @@ -{{ for $threads as $xyz }} -{{ for $xyz.items as $item }} -{{ inc $item.template }}{{ endinc }} +{{ for $threads as $thread }} +{{ for $thread.items as $thread_item }} +{{ inc $thread_item.template with $item=$thread_item }}{{ endinc }} {{ endfor }} {{ endfor }} diff --git a/view/tpl/wall_thread.tpl b/view/tpl/wall_thread.tpl index 0ee9594c8..9a02b2103 100644 --- a/view/tpl/wall_thread.tpl +++ b/view/tpl/wall_thread.tpl @@ -107,8 +107,8 @@ <div class="wall-item-outside-wrapper-end $item.indent" ></div> </div> -{{ for $item.children as $item }} - {{ inc $item.template }}{{ endinc }} +{{ for $item.children as $child }} + {{ inc $child.template with $item=$child }}{{ endinc }} {{ endfor }} {{ if $item.flatten }} |