Merge pull request #13 from fermionic/20130105-smarty3
implement smarty3
This commit is contained in:
		
							
								
								
									
										129
									
								
								boot.php
									
									
									
									
									
								
							
							
						
						
									
										129
									
								
								boot.php
									
									
									
									
									
								
							| @@ -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 | ||||
| 		 */ | ||||
| 	/** | ||||
| 	 * 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); | ||||
| 		} | ||||
| 	$a->set_template_engine(); // reset the template engine to the default in case the user's theme doesn't specify one | ||||
|  | ||||
| 		$block = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false); | ||||
|  | ||||
| 		$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; | ||||
| } | ||||
| } | ||||
|   | ||||
| @@ -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, | ||||
|   | ||||
| @@ -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')) | ||||
|   | ||||
| @@ -58,4 +58,4 @@ function get_features() { | ||||
|  | ||||
| 	call_hooks('get_features',$arr); | ||||
| 	return $arr; | ||||
| } | ||||
| } | ||||
|   | ||||
							
								
								
									
										43
									
								
								include/friendica_smarty.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										43
									
								
								include/friendica_smarty.php
									
									
									
									
									
										Normal file
									
								
							| @@ -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); | ||||
| 	} | ||||
| } | ||||
|  | ||||
|  | ||||
|  | ||||
| @@ -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 = '') { | ||||
|  | ||||
| 	$x = theme_include($s); | ||||
| 	if($x) | ||||
| 		return file_get_contents($x); | ||||
| 	$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); | ||||
|  | ||||
| 		if($template_file) { | ||||
| 			$template = new FriendicaSmarty(); | ||||
| 			$template->filename = $template_file; | ||||
|  | ||||
| 			return $template; | ||||
| 		} | ||||
| 	}	 | ||||
| }} | ||||
|  | ||||
|   | ||||
| @@ -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; | ||||
| }} | ||||
|  | ||||
|  | ||||
|   | ||||
							
								
								
									
										22
									
								
								index.php
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								index.php
									
									
									
									
									
								
							| @@ -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(); | ||||
|   | ||||
| @@ -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']); | ||||
|   | ||||
| @@ -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)); | ||||
|  | ||||
|   | ||||
| @@ -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); | ||||
|  | ||||
|   | ||||
| @@ -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) { | ||||
| 				 | ||||
|   | ||||
| @@ -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'), | ||||
| 				)); | ||||
| 				 | ||||
| 			} | ||||
|   | ||||
| @@ -48,3 +48,6 @@ function hcard_init(&$a) { | ||||
|  | ||||
| } | ||||
|  | ||||
| function hcard_aside(&$a) { | ||||
| 	profile_aside($a); | ||||
| } | ||||
|   | ||||
| @@ -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(); | ||||
|  | ||||
| } | ||||
| } | ||||
|   | ||||
| @@ -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' => '', | ||||
|   | ||||
							
								
								
									
										105
									
								
								mod/photos.php
									
									
									
									
									
								
							
							
						
						
									
										105
									
								
								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'), | ||||
|   | ||||
| @@ -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)); | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| } | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -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; | ||||
| }} | ||||
|  | ||||
|   | ||||
							
								
								
									
										278
									
								
								mod/profiles.php
									
									
									
									
									
								
							
							
						
						
									
										278
									
								
								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'); | ||||
|  | ||||
|  | ||||
|   | ||||
| @@ -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()) { | ||||
|   | ||||
| @@ -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; | ||||
|   | ||||
| @@ -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())) { | ||||
|   | ||||
| @@ -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'], | ||||
|   | ||||
							
								
								
									
										198
									
								
								mods/friendica-to-smarty-tpl.py
									
									
									
									
									
										Executable file
									
								
							
							
						
						
									
										198
									
								
								mods/friendica-to-smarty-tpl.py
									
									
									
									
									
										Executable file
									
								
							| @@ -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) | ||||
|  | ||||
|  | ||||
| @@ -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(), | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| <?php | ||||
|  | ||||
| function fancyred_init(&$a) { | ||||
| 	$a->set_template_engine('smarty3'); | ||||
| //	head_add_js('redbasic.js'); | ||||
| } | ||||
|   | ||||
							
								
								
									
										117
									
								
								view/theme/fancyred/tpl/smarty3/conv_item.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										117
									
								
								view/theme/fancyred/tpl/smarty3/conv_item.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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}} | ||||
							
								
								
									
										7
									
								
								view/theme/fancyred/tpl/smarty3/theme_settings.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								view/theme/fancyred/tpl/smarty3/theme_settings.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
| @@ -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(), | ||||
|   | ||||
| @@ -1,5 +1,6 @@ | ||||
| <?php | ||||
|  | ||||
| function redbasic_init(&$a) { | ||||
| 	$a->set_template_engine('smarty3'); | ||||
| //	head_add_js('redbasic.js'); | ||||
| } | ||||
|   | ||||
							
								
								
									
										7
									
								
								view/theme/redbasic/tpl/smarty3/theme_settings.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								view/theme/redbasic/tpl/smarty3/theme_settings.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
| @@ -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> | ||||
|   | ||||
| @@ -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 }} | ||||
|  | ||||
|   | ||||
| @@ -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> | ||||
|  | ||||
|   | ||||
| @@ -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> | ||||
| 	 | ||||
|   | ||||
| @@ -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}} | ||||
|   | ||||
| @@ -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> | ||||
| 	<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> | ||||
|   | ||||
							
								
								
									
										1
									
								
								view/tpl/smarty3/404.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								view/tpl/smarty3/404.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| <h1>{{$message}}</h1> | ||||
							
								
								
									
										50
									
								
								view/tpl/smarty3/abook_edit.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								view/tpl/smarty3/abook_edit.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										28
									
								
								view/tpl/smarty3/acl_selector.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								view/tpl/smarty3/acl_selector.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										42
									
								
								view/tpl/smarty3/admin_aside.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								view/tpl/smarty3/admin_aside.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
|  | ||||
							
								
								
									
										19
									
								
								view/tpl/smarty3/admin_logs.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										19
									
								
								view/tpl/smarty3/admin_logs.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										15
									
								
								view/tpl/smarty3/admin_plugins.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								view/tpl/smarty3/admin_plugins.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										36
									
								
								view/tpl/smarty3/admin_plugins_details.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										36
									
								
								view/tpl/smarty3/admin_plugins_details.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										98
									
								
								view/tpl/smarty3/admin_remoteupdate.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										98
									
								
								view/tpl/smarty3/admin_remoteupdate.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										82
									
								
								view/tpl/smarty3/admin_site.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								view/tpl/smarty3/admin_site.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										40
									
								
								view/tpl/smarty3/admin_summary.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								view/tpl/smarty3/admin_summary.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										89
									
								
								view/tpl/smarty3/admin_users.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								view/tpl/smarty3/admin_users.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										15
									
								
								view/tpl/smarty3/album_edit.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										15
									
								
								view/tpl/smarty3/album_edit.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										66
									
								
								view/tpl/smarty3/api_config_xml.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										66
									
								
								view/tpl/smarty3/api_config_xml.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										5
									
								
								view/tpl/smarty3/api_friends_xml.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								view/tpl/smarty3/api_friends_xml.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,5 @@ | ||||
| <users type="array"> | ||||
| 	{{foreach $users as $user}} | ||||
| 	{{include file="api_user_xml.tpl"}} | ||||
| 	{{/foreach}} | ||||
| </users> | ||||
							
								
								
									
										6
									
								
								view/tpl/smarty3/api_ratelimit_xml.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								view/tpl/smarty3/api_ratelimit_xml.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										46
									
								
								view/tpl/smarty3/api_status_xml.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								view/tpl/smarty3/api_status_xml.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										1
									
								
								view/tpl/smarty3/api_test_xml.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								view/tpl/smarty3/api_test_xml.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| <ok>{{$ok}}</ok> | ||||
							
								
								
									
										90
									
								
								view/tpl/smarty3/api_timeline_atom.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										90
									
								
								view/tpl/smarty3/api_timeline_atom.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										26
									
								
								view/tpl/smarty3/api_timeline_rss.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								view/tpl/smarty3/api_timeline_rss.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										20
									
								
								view/tpl/smarty3/api_timeline_xml.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								view/tpl/smarty3/api_timeline_xml.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										46
									
								
								view/tpl/smarty3/api_user_xml.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								view/tpl/smarty3/api_user_xml.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										7
									
								
								view/tpl/smarty3/apps.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										7
									
								
								view/tpl/smarty3/apps.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,7 @@ | ||||
| <h3>{{$title}}</h3> | ||||
|  | ||||
| <ul> | ||||
| 	{{foreach $apps as $ap}} | ||||
| 	<li>{{$ap}}</li> | ||||
| 	{{/foreach}} | ||||
| </ul> | ||||
							
								
								
									
										29
									
								
								view/tpl/smarty3/atom_feed.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								view/tpl/smarty3/atom_feed.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										29
									
								
								view/tpl/smarty3/atom_feed_dfrn.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										29
									
								
								view/tpl/smarty3/atom_feed_dfrn.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										17
									
								
								view/tpl/smarty3/atom_mail.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								view/tpl/smarty3/atom_mail.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
|  | ||||
							
								
								
									
										11
									
								
								view/tpl/smarty3/atom_suggest.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								view/tpl/smarty3/atom_suggest.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
|  | ||||
							
								
								
									
										37
									
								
								view/tpl/smarty3/auto_request.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										37
									
								
								view/tpl/smarty3/auto_request.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										10
									
								
								view/tpl/smarty3/birthdays_reminder.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										10
									
								
								view/tpl/smarty3/birthdays_reminder.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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}} | ||||
|  | ||||
							
								
								
									
										50
									
								
								view/tpl/smarty3/build_query.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										50
									
								
								view/tpl/smarty3/build_query.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
|  | ||||
							
								
								
									
										12
									
								
								view/tpl/smarty3/categories_widget.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								view/tpl/smarty3/categories_widget.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										12
									
								
								view/tpl/smarty3/channel.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								view/tpl/smarty3/channel.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										22
									
								
								view/tpl/smarty3/channels.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								view/tpl/smarty3/channels.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										1
									
								
								view/tpl/smarty3/chanview.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								view/tpl/smarty3/chanview.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| <iframe id="remote-channel" width="100%" src="{{$url}}" onload="resize_iframe()"></iframe> | ||||
							
								
								
									
										68
									
								
								view/tpl/smarty3/comment_item.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										68
									
								
								view/tpl/smarty3/comment_item.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										12
									
								
								view/tpl/smarty3/common_friends.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								view/tpl/smarty3/common_friends.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										6
									
								
								view/tpl/smarty3/common_tabs.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										6
									
								
								view/tpl/smarty3/common_tabs.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										12
									
								
								view/tpl/smarty3/contact_block.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										12
									
								
								view/tpl/smarty3/contact_block.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										89
									
								
								view/tpl/smarty3/contact_edit.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										89
									
								
								view/tpl/smarty3/contact_edit.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										30
									
								
								view/tpl/smarty3/contact_head.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								view/tpl/smarty3/contact_head.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
|  | ||||
							
								
								
									
										4
									
								
								view/tpl/smarty3/contact_slider.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								view/tpl/smarty3/contact_slider.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										9
									
								
								view/tpl/smarty3/contact_template.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										9
									
								
								view/tpl/smarty3/contact_template.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										26
									
								
								view/tpl/smarty3/contacts-template.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										26
									
								
								view/tpl/smarty3/contacts-template.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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}} | ||||
|  | ||||
|  | ||||
|  | ||||
|  | ||||
							
								
								
									
										2
									
								
								view/tpl/smarty3/content.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								view/tpl/smarty3/content.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,2 @@ | ||||
| <div id="content-begin"></div> | ||||
| <div id="content-end"></div> | ||||
							
								
								
									
										17
									
								
								view/tpl/smarty3/conv.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								view/tpl/smarty3/conv.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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}} | ||||
							
								
								
									
										14
									
								
								view/tpl/smarty3/conv_frame.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								view/tpl/smarty3/conv_frame.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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;" /> | ||||
|  | ||||
							
								
								
									
										115
									
								
								view/tpl/smarty3/conv_item.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										115
									
								
								view/tpl/smarty3/conv_item.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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}} | ||||
							
								
								
									
										28
									
								
								view/tpl/smarty3/conversation.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										28
									
								
								view/tpl/smarty3/conversation.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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}} | ||||
							
								
								
									
										4
									
								
								view/tpl/smarty3/convobj.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								view/tpl/smarty3/convobj.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,4 @@ | ||||
| {{foreach $threads as $item}} | ||||
| {{include file="{{$item.template}}"}} | ||||
| {{/foreach}} | ||||
|  | ||||
							
								
								
									
										46
									
								
								view/tpl/smarty3/crepair.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										46
									
								
								view/tpl/smarty3/crepair.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
|  | ||||
|  | ||||
							
								
								
									
										58
									
								
								view/tpl/smarty3/cropbody.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										58
									
								
								view/tpl/smarty3/cropbody.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										4
									
								
								view/tpl/smarty3/crophead.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										4
									
								
								view/tpl/smarty3/crophead.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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" /> | ||||
							
								
								
									
										57
									
								
								view/tpl/smarty3/delegate.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										57
									
								
								view/tpl/smarty3/delegate.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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 /> | ||||
|  | ||||
							
								
								
									
										21
									
								
								view/tpl/smarty3/dfrn_req_confirm.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								view/tpl/smarty3/dfrn_req_confirm.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										59
									
								
								view/tpl/smarty3/dfrn_request.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										59
									
								
								view/tpl/smarty3/dfrn_request.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										8
									
								
								view/tpl/smarty3/diasp_dec_hdr.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								view/tpl/smarty3/diasp_dec_hdr.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										16
									
								
								view/tpl/smarty3/directory_header.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										16
									
								
								view/tpl/smarty3/directory_header.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
|  | ||||
							
								
								
									
										11
									
								
								view/tpl/smarty3/directory_item.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								view/tpl/smarty3/directory_item.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										11
									
								
								view/tpl/smarty3/direntry.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										11
									
								
								view/tpl/smarty3/direntry.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										8
									
								
								view/tpl/smarty3/display-head.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										8
									
								
								view/tpl/smarty3/display-head.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
|  | ||||
							
								
								
									
										1
									
								
								view/tpl/smarty3/edpost_head.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										1
									
								
								view/tpl/smarty3/edpost_head.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1 @@ | ||||
| <h2>{{$title}}</h2> | ||||
							
								
								
									
										27
									
								
								view/tpl/smarty3/email_notify_html.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								view/tpl/smarty3/email_notify_html.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -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> | ||||
							
								
								
									
										13
									
								
								view/tpl/smarty3/email_notify_text.tpl
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								view/tpl/smarty3/email_notify_text.tpl
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,13 @@ | ||||
|  | ||||
| {{$preamble}} | ||||
| 	 | ||||
| {{$title}} | ||||
|  | ||||
| {{$textversion}} | ||||
| 				 | ||||
| {{$tsitelink}} | ||||
| {{$titemlink}} | ||||
|  | ||||
| {{$thanks}} | ||||
| {{$site_admin}} | ||||
|  | ||||
Some files were not shown because too many files have changed in this diff Show More
		Reference in New Issue
	
	Block a user