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 | 		// Allow themes to control internal parameters | ||||||
| 		// by changing App values in theme.php | 		// 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	$sourcename = ''; | ||||||
| 		public	$videowidth = 425; | 		public	$videowidth = 425; | ||||||
| 		public	$videoheight = 350; | 		public	$videoheight = 350; | ||||||
| 		public	$force_max_items = 0; | 		public	$force_max_items = 0; | ||||||
| 		public	$theme_thread_allow = true; | 		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 $scheme; | ||||||
| 		private $hostname; | 		private $hostname; | ||||||
| 		private $baseurl; | 		private $baseurl; | ||||||
| @@ -753,9 +772,29 @@ if(! class_exists('App')) { | |||||||
|  |  | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		function init_pagehead() { | 		function build_pagehead() { | ||||||
| 			$this->page['title'] = $this->config['sitename']; |  | ||||||
| 			$this->page['htmlhead'] = get_markup_template('head.tpl'); | 			$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) { | 		function set_curl_code($code) { | ||||||
| @@ -797,6 +836,32 @@ if(! class_exists('App')) { | |||||||
| 			return $this->cached_profile_image[$avatar_image]; | 			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']; | 	$_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"; | 	$a->set_template_engine(); // reset the template engine to the default in case the user's theme doesn't specify one | ||||||
| 		if (file_exists($theme_info_file)){ |  | ||||||
| 			require_once($theme_info_file); |  | ||||||
| 		} |  | ||||||
|  |  | ||||||
| 		$block = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false); | 	$theme_info_file = "view/theme/".current_theme()."/php/theme.php"; | ||||||
|  | 	if (file_exists($theme_info_file)){ | ||||||
| 		$a->set_widget('profile',profile_sidebar($a->profile, $block)); | 		require_once($theme_info_file); | ||||||
| 		return; |  | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
|  | 	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'); | 	head_add_js('mod_' . $a->module . '.js'); | ||||||
|  |  | ||||||
|  | 	$a->build_pagehead(); | ||||||
| 	$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() |  | ||||||
| 	)); |  | ||||||
|  |  | ||||||
| 	$arr = $a->get_widgets(); | 	$arr = $a->get_widgets(); | ||||||
| 	if(count($arr)) { | 	if(count($arr)) { | ||||||
| @@ -2022,4 +2077,4 @@ function construct_page(&$a) { | |||||||
| 	);  | 	);  | ||||||
|  |  | ||||||
| 	return; | 	return; | ||||||
| } | } | ||||||
|   | |||||||
| @@ -204,13 +204,28 @@ class Item extends BaseObject { | |||||||
|  |  | ||||||
| 		$body = prepare_body($item,true); | 		$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( | 		$tmp_item = array( | ||||||
| 			'template' => $this->get_template(), | 			'template' => $this->get_template(), | ||||||
| 			 | 			 | ||||||
| 			'type' => implode("",array_slice(explode("/",$item['verb']),-1)), | 			'type' => implode("",array_slice(explode("/",$item['verb']),-1)), | ||||||
| 			'tags' => $tags, | 			'tags' => $tags, | ||||||
| 			'body' => $body, | 			'body' => $body_e, | ||||||
| 			'text' => strip_tags(template_escape($body)), | 			'text' => strip_tags($body_e), | ||||||
| 			'id' => $this->get_id(), | 			'id' => $this->get_id(), | ||||||
| 			'linktitle' => sprintf( t('View %s\'s profile @ %s'), $profile_name, ((strlen($item['author-link'])) ? $item['author-link'] : $item['url'])), | 			'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'])), | 			'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:'), | 			'vwall' => t('via Wall-To-Wall:'), | ||||||
| 			'profile_url' => $profile_link, | 			'profile_url' => $profile_link, | ||||||
| 			'item_photo_menu' => item_photo_menu($item), | 			'item_photo_menu' => item_photo_menu($item), | ||||||
| 			'name' => template_escape($profile_name), | 			'name' => $name_e, | ||||||
| 			'thumb' => $profile_avatar, | 			'thumb' => $profile_avatar, | ||||||
| 			'osparkle' => $osparkle, | 			'osparkle' => $osparkle, | ||||||
| 			'sparkle' => $sparkle, | 			'sparkle' => $sparkle, | ||||||
| 			'title' => template_escape($item['title']), | 			'title' => $title_e, | ||||||
| 			'localtime' => datetime_convert('UTC', date_default_timezone_get(), $item['created'], 'r'), | 			'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'])), | 			'ago' => (($item['app']) ? sprintf( t('%s from %s'),relative_date($item['created']),$item['app']) : relative_date($item['created'])), | ||||||
| 			'lock' => $lock, | 			'lock' => $lock, | ||||||
| 			'location' => template_escape($location), | 			'location' => $location_e, | ||||||
| 			'indent' => $indent, | 			'indent' => $indent, | ||||||
| 			'owner_url' => $this->get_owner_url(), | 			'owner_url' => $this->get_owner_url(), | ||||||
| 			'owner_photo' => $this->get_owner_photo(), | 			'owner_photo' => $this->get_owner_photo(), | ||||||
| 			'owner_name' => template_escape($this->get_owner_name()), | 			'owner_name' => $owner_name_e, | ||||||
|  |  | ||||||
| // Item toolbar buttons | // Item toolbar buttons | ||||||
| 			'like'      => $like, | 			'like'      => $like, | ||||||
|   | |||||||
| @@ -344,7 +344,6 @@ function visible_activity($item) { | |||||||
| 	return true; | 	return true; | ||||||
| } | } | ||||||
|  |  | ||||||
|  |  | ||||||
| /** | /** | ||||||
|  * "Render" a conversation or list of items for HTML display. |  * "Render" a conversation or list of items for HTML display. | ||||||
|  * There are two major forms of display: |  * There are two major forms of display: | ||||||
| @@ -886,7 +885,7 @@ function status_editor($a,$x,$popup=false) { | |||||||
|  |  | ||||||
| 	$o = ''; | 	$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; | 	$plaintext = true; | ||||||
| 	if(feature_enabled(local_user(),'richtext')) | 	if(feature_enabled(local_user(),'richtext')) | ||||||
|   | |||||||
| @@ -58,4 +58,4 @@ function get_features() { | |||||||
|  |  | ||||||
| 	call_hooks('get_features',$arr); | 	call_hooks('get_features',$arr); | ||||||
| 	return $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 | <?php | ||||||
|  |  | ||||||
|  | require_once("include/friendica_smarty.php"); | ||||||
|  |  | ||||||
| // install and uninstall plugin | // install and uninstall plugin | ||||||
| if (! function_exists('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( | 	// Make sure $root ends with a slash / if it's not blank | ||||||
| 		'view/theme/$theme/$ext/$file', | 	if($root !== '' && $root[strlen($root)-1] !== '/') | ||||||
| 		'view/theme/$theme/$file', | 		$root = $root . '/'; | ||||||
| 		'view/theme/$parent/$ext/$file', |  | ||||||
| 		'view/theme/$parent/$file', |  | ||||||
| 		'view/$ext/$file', |  | ||||||
| 		'view/$file' |  | ||||||
| 	); |  | ||||||
|  |  | ||||||
| 	$theme_info = get_app()->theme_info; | 	$theme_info = $a->theme_info; | ||||||
|  |  | ||||||
| 	if(array_key_exists('extends',$theme_info)) | 	if(array_key_exists('extends',$theme_info)) | ||||||
| 		$parent = $theme_info['extends']; | 		$parent = $theme_info['extends']; | ||||||
| 	else | 	else | ||||||
| 		$parent = 'NOPATH'; | 		$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) { | 	foreach($paths as $p) { | ||||||
| 		$f = $t->replace($p,array( | 		// strpos() is faster than strstr when checking if one string is in another (http://php.net/manual/en/function.strstr.php) | ||||||
| 			'$theme' => current_theme(), | 		if(strpos($p,'NOPATH') !== false) | ||||||
| 			'$ext' => substr($file,strrpos($file,'.')+1), |  | ||||||
| 			'$parent' => $parent, |  | ||||||
| 			'$file' => $file |  | ||||||
| 		)); |  | ||||||
| 		if(strstr($f,'NOPATH')) |  | ||||||
| 			continue; | 			continue; | ||||||
| 		if(file_exists($f)) | 		if(file_exists($p)) | ||||||
| 			return $f; | 			return $p; | ||||||
| 	} | 	} | ||||||
| 	return ''; | 	return ''; | ||||||
| } | } | ||||||
| @@ -509,19 +513,38 @@ function get_intltext_template($s) { | |||||||
| 	if(! isset($a->language)) | 	if(! isset($a->language)) | ||||||
| 		$a->language = 'en'; | 		$a->language = 'en'; | ||||||
|  |  | ||||||
| 	if(file_exists("view/{$a->language}/$s")) | 	$engine = ''; | ||||||
| 		return file_get_contents("view/{$a->language}/$s"); | 	if($a->get_template_engine() === 'smarty3') | ||||||
| 	elseif(file_exists("view/en/$s")) | 		$engine = "/smarty3"; | ||||||
| 		return file_get_contents("view/en/$s"); |  | ||||||
|  | 	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 | 	else | ||||||
| 		return file_get_contents("view/$s"); | 		return file_get_contents("view/tpl/$engine/$s"); | ||||||
| }} | }} | ||||||
|  |  | ||||||
| if(! function_exists('get_markup_template')) { | if(! function_exists('get_markup_template')) { | ||||||
| function get_markup_template($s) { | function get_markup_template($s, $root = '') { | ||||||
|  |  | ||||||
| 	$x = theme_include($s); | 	$a = get_app(); | ||||||
| 	if($x) |  | ||||||
| 		return file_get_contents($x); | 	$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')) {   | if(! function_exists('replace_macros')) {   | ||||||
| function replace_macros($s,$r) { | function replace_macros($s,$r) { | ||||||
| 	global $t; | 	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')) | if((x($_SESSION,'authenticated')) || (x($_POST,'auth-params')) || ($a->module === 'login')) | ||||||
| 	require("auth.php"); | 	require("auth.php"); | ||||||
|  |  | ||||||
| /* |  | ||||||
|  * Create the page head after setting the language |  | ||||||
|  * and getting any auth credentials |  | ||||||
|  */ |  | ||||||
|  |  | ||||||
| $a->init_pagehead(); |  | ||||||
|  |  | ||||||
|  |  | ||||||
| if(! x($_SESSION,'sysmsg')) | if(! x($_SESSION,'sysmsg')) | ||||||
| 	$_SESSION['sysmsg'] = array(); | 	$_SESSION['sysmsg'] = array(); | ||||||
| @@ -280,18 +273,28 @@ if($a->module_loaded) { | |||||||
|  |  | ||||||
|  |  | ||||||
| 	if(! $a->error) { | 	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; | 		$aside_default = true; | ||||||
| 		call_hooks($a->module . '_mod_aside',$placeholder); | 		call_hooks($a->module . '_mod_aside',$placeholder); | ||||||
| 		if(function_exists(str_replace('-','_',current_theme()) . '_' . $a->module . '_aside')) { | 		if(function_exists(str_replace('-','_',current_theme()) . '_' . $a->module . '_aside')) { | ||||||
| 			$func = str_replace('-','_',current_theme()) . '_' . $a->module . '_aside'; | 			$func = str_replace('-','_',current_theme()) . '_' . $a->module . '_aside'; | ||||||
| 			$aside_default = $func($a); | 			$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'))) { | 			&& (function_exists(str_replace('-','_',$a->theme_info["extends"]) . '_' . $a->module . '_aside'))) { | ||||||
| 			$func = str_replace('-','_',$a->theme_info["extends"]) . '_' . $a->module . '_aside'; | 			$func = str_replace('-','_',$a->theme_info["extends"]) . '_' . $a->module . '_aside'; | ||||||
| 			$aside_default = $func($a); | 			$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->module . '_aside'; | ||||||
| 			$func($a); | 			$func($a); | ||||||
| 		} | 		} | ||||||
| @@ -329,7 +332,6 @@ if(stristr( implode("",$_SESSION['sysmsg']), t('Permission denied'))) { | |||||||
|  |  | ||||||
| call_hooks('page_end', $a->page['content']); | call_hooks('page_end', $a->page['content']); | ||||||
|  |  | ||||||
|  |  | ||||||
| construct_page($a); | construct_page($a); | ||||||
|  |  | ||||||
| session_write_close(); | session_write_close(); | ||||||
|   | |||||||
| @@ -610,7 +610,7 @@ function admin_page_users(&$a){ | |||||||
| 			t('Community/Celebrity Account'), | 			t('Community/Celebrity Account'), | ||||||
| 			t('Automatic Friend 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['register_date'] = relative_date($e['register_date']); | ||||||
| 		$e['login_date'] = relative_date($e['login_date']); | 		$e['login_date'] = relative_date($e['login_date']); | ||||||
| 		$e['lastitem_date'] = relative_date($e['lastitem_date']); | 		$e['lastitem_date'] = relative_date($e['lastitem_date']); | ||||||
|   | |||||||
| @@ -2,16 +2,6 @@ | |||||||
|  |  | ||||||
| function channel_init(&$a) { | 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) | 	if(argc() > 1) | ||||||
| 		$which = argv(1); | 		$which = argv(1); | ||||||
| 	else { | 	else { | ||||||
| @@ -28,10 +18,24 @@ function channel_aside(&$a) { | |||||||
| 		$profile = argv(1);		 | 		$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); | 	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('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)); | 	$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"; | 	$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) | 	if(argc() > 1) | ||||||
| @@ -60,6 +60,7 @@ function display_content(&$a) { | |||||||
|  |  | ||||||
| //	$nick = (($a->argc > 1) ? $a->argv[1] : ''); | //	$nick = (($a->argc > 1) ? $a->argv[1] : ''); | ||||||
| //	profile_load($a,$nick); | //	profile_load($a,$nick); | ||||||
|  | //	profile_aside($a); | ||||||
|  |  | ||||||
| //	$item_id = (($a->argc > 2) ? intval($a->argv[2]) : 0); | //	$item_id = (($a->argc > 2) ? intval($a->argv[2]) : 0); | ||||||
|  |  | ||||||
|   | |||||||
| @@ -261,7 +261,7 @@ function events_content(&$a) { | |||||||
|  |  | ||||||
| 		$links = array(); | 		$links = array(); | ||||||
|  |  | ||||||
| 		if(count($r)) { | 		if($r) { | ||||||
| 			$r = sort_by_date($r); | 			$r = sort_by_date($r); | ||||||
| 			foreach($r as $rr) { | 			foreach($r as $rr) { | ||||||
| 				$j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'j') : datetime_convert('UTC','UTC',$rr['start'],'j')); | 				$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 = ''; | 		$last_date = ''; | ||||||
| 		$fmt = t('l, F j'); | 		$fmt = t('l, F j'); | ||||||
|  |  | ||||||
| 		if(count($r)) { | 		if($r) { | ||||||
| 			$r = sort_by_date($r); | 			$r = sort_by_date($r); | ||||||
| 			foreach($r as $rr) { | 			foreach($r as $rr) { | ||||||
| 				 | 				 | ||||||
|   | |||||||
| @@ -55,9 +55,17 @@ function fbrowser_content($a){ | |||||||
| 				global $a; | 				global $a; | ||||||
| 				$types = Photo::supportedTypes(); | 				$types = Photo::supportedTypes(); | ||||||
| 				$ext = $types[$rr['type']]; | 				$ext = $types[$rr['type']]; | ||||||
|  |  | ||||||
|  | 				if($a->get_template_engine() === 'internal') { | ||||||
|  | 					$filename_e = template_escape($rr['filename']); | ||||||
|  | 				} | ||||||
|  | 				else { | ||||||
|  | 					$filename_e = $rr['filename']; | ||||||
|  | 				} | ||||||
|  |  | ||||||
| 				return array(  | 				return array(  | ||||||
| 					$a->get_baseurl() . '/photo/' . $rr['resource_id'] . '-' . $rr['hiq'] . '.' .$ext,  | 					$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 | 					$a->get_baseurl() . '/photo/' . $rr['resource_id'] . '-' . $rr['loq'] . '.'. $ext | ||||||
| 				); | 				); | ||||||
| 			} | 			} | ||||||
| @@ -70,6 +78,7 @@ function fbrowser_content($a){ | |||||||
| 				'$path' => $path, | 				'$path' => $path, | ||||||
| 				'$folders' => $albums, | 				'$folders' => $albums, | ||||||
| 				'$files' =>$files, | 				'$files' =>$files, | ||||||
|  | 				'$cancel' => t('Cancel'), | ||||||
| 			)); | 			)); | ||||||
| 				 | 				 | ||||||
| 				 | 				 | ||||||
| @@ -83,7 +92,15 @@ function fbrowser_content($a){ | |||||||
| 				function files2($rr){ global $a;  | 				function files2($rr){ global $a;  | ||||||
| 					list($m1,$m2) = explode("/",$rr['filetype']); | 					list($m1,$m2) = explode("/",$rr['filetype']); | ||||||
| 					$filetype = ( (file_exists("images/icons/$m1.png"))?$m1:"zip"); | 					$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); | 				$files = array_map("files2", $files); | ||||||
| 				//echo "<pre>"; var_dump($files); killme(); | 				//echo "<pre>"; var_dump($files); killme(); | ||||||
| @@ -96,6 +113,7 @@ function fbrowser_content($a){ | |||||||
| 					'$path' => array( array($a->get_baseurl()."/fbrowser/image/", t("Files")) ), | 					'$path' => array( array($a->get_baseurl()."/fbrowser/image/", t("Files")) ), | ||||||
| 					'$folders' => false, | 					'$folders' => false, | ||||||
| 					'$files' =>$files, | 					'$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']); | 		set_config('system','site_pubkey', $res['pubkey']); | ||||||
| 	} | 	} | ||||||
|  |  | ||||||
| 	$tpl = file_get_contents('view/xrd_host.tpl'); | 	$tpl = get_markup_template('xrd_host.tpl'); | ||||||
| 	echo str_replace(array( | 	echo replace_macros($tpl, 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); | 		'$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(); | 	session_write_close(); | ||||||
| 	exit(); | 	exit(); | ||||||
|  |  | ||||||
| } | } | ||||||
|   | |||||||
| @@ -362,6 +362,19 @@ function message_content(&$a) { | |||||||
| 			$rr['to']   = find_xchan_in_array($rr['to_xchan'],$c); | 			$rr['to']   = find_xchan_in_array($rr['to_xchan'],$c); | ||||||
| 			$rr['seen'] = (($rr['mail_flags'] & MAIL_SEEN) ? 1 : ""); | 			$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( | 			$o .= replace_macros($tpl, array( | ||||||
| 				'$id' => $rr['id'], | 				'$id' => $rr['id'], | ||||||
| 				'$from_name' => template_escape($rr['from']['xchan_name']), | 				'$from_name' => template_escape($rr['from']['xchan_name']), | ||||||
| @@ -385,6 +398,10 @@ function message_content(&$a) { | |||||||
|  |  | ||||||
| 		$o .= $header; | 		$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", | 		$r = q("SELECT parent_uri from mail WHERE channel_id = %d and id = %d limit 1", | ||||||
| 			intval(local_user()), | 			intval(local_user()), | ||||||
| 			intval(argv(1)) | 			intval(argv(1)) | ||||||
| @@ -432,7 +449,9 @@ function message_content(&$a) { | |||||||
| 	 | 	 | ||||||
| 		$a->page['htmlhead'] .= replace_macros($tpl, array( | 		$a->page['htmlhead'] .= replace_macros($tpl, array( | ||||||
| 			'$nickname' => $channel['channel_addr'], | 			'$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']) | //			if($extracted['images']) | ||||||
| //				$message['body'] = item_redir_and_replace_images($extracted['body'], $extracted['images'], $message['contact-id']); | //				$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( | 			$mails[] = array( | ||||||
| 				'id' => $message['id'], | 				'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_url' =>  z_root() . '/chanview/?f=&hash=' . $message['from_xchan'], | ||||||
| 				'from_photo' => $message['from']['xchan_photo_m'], | 				'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_url' =>  z_root() . '/chanview/?f=&hash=' . $message['to_xchan'], | ||||||
| 				'to_photo' => $message['to']['xchan_photo_m'], | 				'to_photo' => $message['to']['xchan_photo_m'], | ||||||
| 				'subject' => template_escape($message['title']), | 				'subject' => $subject_e, | ||||||
| 				'body' => template_escape(smilies(bbcode($message['body']))), | 				'body' => $body_e, | ||||||
| 				'delete' => t('Delete message'), | 				'delete' => t('Delete message'), | ||||||
| 				'date' => datetime_convert('UTC',date_default_timezone_get(),$message['created'],'D, d M Y - g:i A'), | 				'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'] . '" />'; | 		$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'] . '" />'; | 		$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'); | 		$tpl = get_markup_template('mail_display.tpl'); | ||||||
| 		$o = replace_macros($tpl, array( | 		$o = replace_macros($tpl, array( | ||||||
| 			'$thread_id' => $a->argv[1], | 			'$thread_id' => $a->argv[1], | ||||||
| @@ -491,7 +530,7 @@ logger('message: ' . print_r($message,true)); | |||||||
| 			'$to' => t('To:'), | 			'$to' => t('To:'), | ||||||
| 			'$showinputs' => '', | 			'$showinputs' => '', | ||||||
| 			'$subject' => t('Subject:'), | 			'$subject' => t('Subject:'), | ||||||
| 			'$subjtxt' => template_escape($message['title']), | 			'$subjtxt' => $subjtxt_e, | ||||||
| 			'$readonly' => ' readonly="readonly" style="background: #BBBBBB;" ', | 			'$readonly' => ' readonly="readonly" style="background: #BBBBBB;" ', | ||||||
| 			'$yourmessage' => t('Your message:'), | 			'$yourmessage' => t('Your message:'), | ||||||
| 			'$text' => '', | 			'$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'); | 		$tpl = get_markup_template('photos_upload.tpl'); | ||||||
| 		$o .= replace_macros($tpl,array( | 		$o .= replace_macros($tpl,array( | ||||||
| 			'$pagename' => t('Upload Photos'), | 			'$pagename' => t('Upload Photos'), | ||||||
| @@ -1072,9 +1081,9 @@ function photos_content(&$a) { | |||||||
| 			'$newalbum' => t('New album name: '), | 			'$newalbum' => t('New album name: '), | ||||||
| 			'$existalbumtext' => t('or existing album name: '), | 			'$existalbumtext' => t('or existing album name: '), | ||||||
| 			'$nosharetext' => t('Do not show a status post for this upload'), | 			'$nosharetext' => t('Do not show a status post for this upload'), | ||||||
| 			'$albumselect' => template_escape($albumselect), | 			'$albumselect' => $albumselect_e, | ||||||
| 			'$permissions' => t('Permissions'), | 			'$permissions' => t('Permissions'), | ||||||
| 			'$aclselect' => (($visitor) ? '' : template_escape(populate_acl($a->user, $celeb))), | 			'$aclselect' => $aclselect_e, | ||||||
| 			'$uploader' => $ret['addon_text'], | 			'$uploader' => $ret['addon_text'], | ||||||
| 			'$default' => (($ret['default_upload']) ? $default_upload : ''), | 			'$default' => (($ret['default_upload']) ? $default_upload : ''), | ||||||
| 			'$uploadurl' => $ret['post_url'] | 			'$uploadurl' => $ret['post_url'] | ||||||
| @@ -1116,11 +1125,18 @@ function photos_content(&$a) { | |||||||
| 		if($cmd === 'edit') {		 | 		if($cmd === 'edit') {		 | ||||||
| 			if(($album !== t('Profile Photos')) && ($album !== 'Contact Photos') && ($album !== t('Contact Photos'))) { | 			if(($album !== t('Profile Photos')) && ($album !== 'Contact Photos') && ($album !== t('Contact Photos'))) { | ||||||
| 				if($can_post) { | 				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'); | 					$edit_tpl = get_markup_template('album_edit.tpl'); | ||||||
| 					$o .= replace_macros($edit_tpl,array( | 					$o .= replace_macros($edit_tpl,array( | ||||||
| 						'$nametext' => t('New album name: '), | 						'$nametext' => t('New album name: '), | ||||||
| 						'$nickname' => $a->data['channel']['channel_address'], | 						'$nickname' => $a->data['channel']['channel_address'], | ||||||
| 						'$album' => template_escape($album), | 						'$album' => $album_e, | ||||||
| 						'$hexalbum' => bin2hex($album), | 						'$hexalbum' => bin2hex($album), | ||||||
| 						'$submit' => t('Submit'), | 						'$submit' => t('Submit'), | ||||||
| 						'$dropsubmit' => t('Delete Album') | 						'$dropsubmit' => t('Delete Album') | ||||||
| @@ -1160,6 +1176,15 @@ function photos_content(&$a) { | |||||||
| 				 | 				 | ||||||
| 				$ext = $phototypes[$rr['type']]; | 				$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( | 				$o .= replace_macros($tpl,array( | ||||||
| 					'$id' => $rr['id'], | 					'$id' => $rr['id'], | ||||||
| 					'$twist' => ' ' . $twist . rand(2,4), | 					'$twist' => ' ' . $twist . rand(2,4), | ||||||
| @@ -1167,8 +1192,8 @@ function photos_content(&$a) { | |||||||
| 						. (($_GET['order'] === 'posted') ? '?f=&order=posted' : ''), | 						. (($_GET['order'] === 'posted') ? '?f=&order=posted' : ''), | ||||||
| 					'$phototitle' => t('View Photo'), | 					'$phototitle' => t('View Photo'), | ||||||
| 					'$imgsrc' => $a->get_baseurl() . '/photo/' . $rr['resource_id'] . '-' . $rr['scale'] . '.' .$ext, | 					'$imgsrc' => $a->get_baseurl() . '/photo/' . $rr['resource_id'] . '-' . $rr['scale'] . '.' .$ext, | ||||||
| 					'$imgalt' => template_escape($rr['filename']), | 					'$imgalt' => $imgalt_e, | ||||||
| 					'$desc'=> template_escape($rr['desc']) | 					'$desc'=> $desc_e | ||||||
| 				)); | 				)); | ||||||
|  |  | ||||||
| 		} | 		} | ||||||
| @@ -1365,21 +1390,32 @@ function photos_content(&$a) { | |||||||
|  |  | ||||||
| 		$edit = Null; | 		$edit = Null; | ||||||
| 		if(($cmd === 'edit') && ($can_post)) { | 		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_tpl = get_markup_template('photo_edit.tpl'); | ||||||
| 			$edit = replace_macros($edit_tpl, array( | 			$edit = replace_macros($edit_tpl, array( | ||||||
| 				'$id' => $ph[0]['id'], | 				'$id' => $ph[0]['id'], | ||||||
| 				'$rotatecw' => t('Rotate CW (right)'), | 				'$rotatecw' => t('Rotate CW (right)'), | ||||||
| 				'$rotateccw' => t('Rotate CCW (left)'), | 				'$rotateccw' => t('Rotate CCW (left)'), | ||||||
| 				'$album' => template_escape($ph[0]['album']), | 				'$album' => $album_e, | ||||||
| 				'$newalbum' => t('New album name'),  | 				'$newalbum' => t('New album name'),  | ||||||
| 				'$nickname' => $a->data['channel']['channel_address'], | 				'$nickname' => $a->data['channel']['channel_address'], | ||||||
| 				'$resource_id' => $ph[0]['resource_id'], | 				'$resource_id' => $ph[0]['resource_id'], | ||||||
| 				'$capt_label' => t('Caption'), | 				'$capt_label' => t('Caption'), | ||||||
| 				'$caption' => template_escape($ph[0]['desc']), | 				'$caption' => $caption_e, | ||||||
| 				'$tag_label' => t('Add a Tag'), | 				'$tag_label' => t('Add a Tag'), | ||||||
| 				'$tags' => $link_item['tag'], | 				'$tags' => $link_item['tag'], | ||||||
| 				'$permissions' => t('Permissions'), | 				'$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'), | 				'$help_tags' => t('Example: @bob, @Barbara_Jensen, @jim@example.com, #California, #camping'), | ||||||
| 				'$item_id' => ((count($linked_items)) ? $link_item['id'] : 0), | 				'$item_id' => ((count($linked_items)) ? $link_item['id'] : 0), | ||||||
| 				'$submit' => t('Submit'), | 				'$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'))); | 						$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( | 					$comments .= replace_macros($template,array( | ||||||
| 						'$id' => $item['item_id'], | 						'$id' => $item['item_id'], | ||||||
| 						'$profile_url' => $profile_link, | 						'$profile_url' => $profile_link, | ||||||
| 						'$name' => template_escape($profile_name), | 						'$name' => $name_e, | ||||||
| 						'$thumb' => $profile_avatar, | 						'$thumb' => $profile_avatar, | ||||||
| 						'$sparkle' => $sparkle, | 						'$sparkle' => $sparkle, | ||||||
| 						'$title' => template_escape($item['title']), | 						'$title' => $title_e, | ||||||
| 						'$body' => template_escape(bbcode($item['body'])), | 						'$body' => $body_e, | ||||||
| 						'$ago' => relative_date($item['created']), | 						'$ago' => relative_date($item['created']), | ||||||
| 						'$indent' => (($item['parent'] != $item['item_id']) ? ' comment' : ''), | 						'$indent' => (($item['parent'] != $item['item_id']) ? ' comment' : ''), | ||||||
| 						'$drop' => $drop, | 						'$drop' => $drop, | ||||||
| @@ -1535,21 +1582,34 @@ function photos_content(&$a) { | |||||||
| 			$paginate = paginate($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'); | 		$photo_tpl = get_markup_template('photo_view.tpl'); | ||||||
| 		$o .= replace_macros($photo_tpl, array( | 		$o .= replace_macros($photo_tpl, array( | ||||||
| 			'$id' => $ph[0]['id'], | 			'$id' => $ph[0]['id'], | ||||||
| 			'$album' => array($album_link,template_escape($ph[0]['album'])), | 			'$album' => $album_e, | ||||||
| 			'$tools' => $tools, | 			'$tools' => $tools, | ||||||
| 			'$lock' => $lock, | 			'$lock' => $lock, | ||||||
| 			'$photo' => $photo, | 			'$photo' => $photo, | ||||||
| 			'$prevlink' => $prevlink, | 			'$prevlink' => $prevlink, | ||||||
| 			'$nextlink' => $nextlink, | 			'$nextlink' => $nextlink, | ||||||
| 			'$desc' => $ph[0]['desc'], | 			'$desc' => $ph[0]['desc'], | ||||||
| 			'$tags' => template_escape($tags), | 			'$tags' => $tags_e, | ||||||
| 			'$edit' => $edit,	 | 			'$edit' => $edit,	 | ||||||
| 			'$likebuttons' => $likebuttons, | 			'$likebuttons' => $likebuttons, | ||||||
| 			'$like' => template_escape($like), | 			'$like' => $like_e, | ||||||
| 			'$dislike' => template_escape($dislike), | 			'$dislike' => $dislike_e, | ||||||
| 			'$comments' => $comments, | 			'$comments' => $comments, | ||||||
| 			'$paginate' => $paginate, | 			'$paginate' => $paginate, | ||||||
| 		)); | 		)); | ||||||
| @@ -1593,16 +1653,25 @@ function photos_content(&$a) { | |||||||
| 				$twist = 'rotright'; | 				$twist = 'rotright'; | ||||||
| 			$ext = $phototypes[$rr['type']]; | 			$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( | 			$photos[] = array( | ||||||
| 				'id'       => $rr['id'], | 				'id'       => $rr['id'], | ||||||
| 				'twist'    => ' ' . $twist . rand(2,4), | 				'twist'    => ' ' . $twist . rand(2,4), | ||||||
| 				'link'  	=> $a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/image/' . $rr['resource_id'], | 				'link'  	=> $a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/image/' . $rr['resource_id'], | ||||||
| 				'title' 	=> t('View Photo'), | 				'title' 	=> t('View Photo'), | ||||||
| 				'src'     	=> $a->get_baseurl() . '/photo/' . $rr['resource_id'] . '-' . ((($rr['scale']) == 6) ? 4 : $rr['scale']) . '.' . $ext, | 				'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( | 				'album'	=> array( | ||||||
| 					'link'  => $a->get_baseurl() . '/photos/' . $a->data['channel']['channel_address'] . '/album/' . bin2hex($rr['album']), | 					'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'), | 					'alt'   => t('View Album'), | ||||||
| 				), | 				), | ||||||
| 				 | 				 | ||||||
| @@ -1611,7 +1680,7 @@ function photos_content(&$a) { | |||||||
| 	} | 	} | ||||||
| 	 | 	 | ||||||
| 	$tpl = get_markup_template('photos_recent.tpl');  | 	$tpl = get_markup_template('photos_recent.tpl');  | ||||||
| 	$o .= replace_macros($tpl,array( | 	$o .= replace_macros($tpl, array( | ||||||
| 		'$title' => t('Recent Photos'), | 		'$title' => t('Recent Photos'), | ||||||
| 		'$can_post' => $can_post, | 		'$can_post' => $can_post, | ||||||
| 		'$upload' => array(t('Upload New Photos'), $a->get_baseurl().'/photos/'.$a->data['channel']['channel_address'].'/upload'), | 		'$upload' => array(t('Upload New Photos'), $a->get_baseurl().'/photos/'.$a->data['channel']['channel_address'].'/upload'), | ||||||
|   | |||||||
| @@ -2,16 +2,6 @@ | |||||||
|  |  | ||||||
| function profile_init(&$a) { | 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) | 	if(argc() > 1) | ||||||
| 		$which = argv(1); | 		$which = argv(1); | ||||||
| 	else { | 	else { | ||||||
| @@ -28,6 +18,7 @@ function profile_aside(&$a) { | |||||||
| 		$profile = argv(1);		 | 		$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", | 	$x = q("select channel_id as profile_uid from channel where channel_address = '%s' limit 1", | ||||||
| 		dbesc(argv(1)) | 		dbesc(argv(1)) | ||||||
| @@ -37,13 +28,33 @@ function profile_aside(&$a) { | |||||||
| 		$channel_display = get_pconfig($a->profile['profile_uid'],'system','channel_format'); | 		$channel_display = get_pconfig($a->profile['profile_uid'],'system','channel_format'); | ||||||
| 		if(! $channel_display) | 		if(! $channel_display) | ||||||
| 			profile_load($a,$which,$profile); | 			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') | 		if($channel_display === 'full') | ||||||
| 			$a->page['template'] = 'full'; | 			$a->page['template'] = 'full'; | ||||||
| 		else { | 		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('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)); | 			$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) { | function profile_photo_post(&$a) { | ||||||
|  |  | ||||||
| 	if(! local_user()) { | 	if(! local_user()) { | ||||||
| @@ -318,7 +328,7 @@ function profile_photo_crop_ui_head(&$a, $ph){ | |||||||
| 	$a->config['imagecrop'] = $hash; | 	$a->config['imagecrop'] = $hash; | ||||||
| 	$a->config['imagecrop_resolution'] = $smallest; | 	$a->config['imagecrop_resolution'] = $smallest; | ||||||
| 	$a->config['imagecrop_ext'] = $ph->getExt(); | 	$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; | 	return; | ||||||
| }} | }} | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										278
									
								
								mod/profiles.php
									
									
									
									
									
								
							
							
						
						
									
										278
									
								
								mod/profiles.php
									
									
									
									
									
								
							| @@ -1,6 +1,162 @@ | |||||||
| <?php | <?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) { | function profiles_post(&$a) { | ||||||
|  |  | ||||||
| 	if(! local_user()) { | 	if(! local_user()) { | ||||||
| @@ -307,130 +463,12 @@ function profiles_post(&$a) { | |||||||
| function profiles_content(&$a) { | function profiles_content(&$a) { | ||||||
|  |  | ||||||
| 	$o = ''; | 	$o = ''; | ||||||
| 	nav_set_selected('profiles'); |  | ||||||
|  |  | ||||||
| 	if(! local_user()) { | 	if(! local_user()) { | ||||||
| 		notice( t('Permission denied.') . EOL); | 		notice( t('Permission denied.') . EOL); | ||||||
| 		return; | 		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)))) { | 	if((argc() > 1) && (intval(argv(1)))) { | ||||||
| 		$r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1", | 		$r = q("SELECT * FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1", | ||||||
| 			intval($a->argv[1]), | 			intval($a->argv[1]), | ||||||
| @@ -441,10 +479,6 @@ function profiles_content(&$a) { | |||||||
| 			return; | 			return; | ||||||
| 		} | 		} | ||||||
|  |  | ||||||
| 		$chan = $a->get_channel(); |  | ||||||
|  |  | ||||||
| 		profile_load($a,$chan['channel_address'],$r[0]['id']); |  | ||||||
|  |  | ||||||
| 		require_once('include/profile_selectors.php'); | 		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) { | function profperm_content(&$a) { | ||||||
|  |  | ||||||
| 	if(! local_user()) { | 	if(! local_user()) { | ||||||
|   | |||||||
| @@ -183,6 +183,8 @@ function setup_content(&$a) { | |||||||
|  |  | ||||||
| 			check_htconfig($checks); | 			check_htconfig($checks); | ||||||
|  |  | ||||||
|  | 			check_smarty3($checks); | ||||||
|  |  | ||||||
| 			check_keys($checks); | 			check_keys($checks); | ||||||
| 			 | 			 | ||||||
| 			if(x($_POST,'phpath')) | 			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) { | function check_htaccess(&$checks) { | ||||||
| 	$a = get_app(); | 	$a = get_app(); | ||||||
| 	$status = true; | 	$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) { | function viewcontacts_content(&$a) { | ||||||
|  |  | ||||||
| 	if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) { | 	if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) { | ||||||
|   | |||||||
| @@ -29,7 +29,7 @@ function xrd_init(&$a) { | |||||||
|  |  | ||||||
| 	$dspr = ''; | 	$dspr = ''; | ||||||
|  |  | ||||||
| 	$tpl = file_get_contents('view/xrd_person.tpl'); | 	$tpl = get_markup_template('view/xrd_person.tpl'); | ||||||
|  |  | ||||||
| 	$o = replace_macros($tpl, array( | 	$o = replace_macros($tpl, array( | ||||||
| 		'$nick'        => $r[0]['nickname'], | 		'$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',						 | 		'dark' => 'dark',						 | ||||||
| 	); | 	); | ||||||
|  |  | ||||||
| 	$t = file_get_contents( dirname(__file__). "/../tpl/theme_settings.tpl" ); | 	$t = get_markup_template('theme_settings.tpl'); | ||||||
| 	$o .= replace_macros($t, array( | 	$o .= replace_macros($t, array( | ||||||
| 		'$submit' => t('Submit'), | 		'$submit' => t('Submit'), | ||||||
| 		'$baseurl' => $a->get_baseurl(), | 		'$baseurl' => $a->get_baseurl(), | ||||||
|   | |||||||
| @@ -1,5 +1,6 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| function fancyred_init(&$a) { | function fancyred_init(&$a) { | ||||||
|  | 	$a->set_template_engine('smarty3'); | ||||||
| //	head_add_js('redbasic.js'); | //	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',						 | 		'dark' => 'dark',						 | ||||||
| 	); | 	); | ||||||
|  |  | ||||||
| 	$t = file_get_contents( dirname(__file__). "/../tpl/theme_settings.tpl" ); | 	$t = get_markup_template('theme_settings.tpl'); | ||||||
| 	$o .= replace_macros($t, array( | 	$o .= replace_macros($t, array( | ||||||
| 		'$submit' => t('Submit'), | 		'$submit' => t('Submit'), | ||||||
| 		'$baseurl' => $a->get_baseurl(), | 		'$baseurl' => $a->get_baseurl(), | ||||||
|   | |||||||
| @@ -1,5 +1,6 @@ | |||||||
| <?php | <?php | ||||||
|  |  | ||||||
| function redbasic_init(&$a) { | function redbasic_init(&$a) { | ||||||
|  | 	$a->set_template_engine('smarty3'); | ||||||
| //	head_add_js('redbasic.js'); | //	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='register_date'>$u.register_date</td> | ||||||
| 						<td class='login_date'>$u.login_date</td> | 						<td class='login_date'>$u.login_date</td> | ||||||
| 						<td class='lastitem_date'>$u.lastitem_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="checkbox"><input type="checkbox" class="users_ckbx" id="id_user_$u.uid" name="user[]" value="$u.uid"/></td> | ||||||
| 						<td class="tools"> | 						<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> | 							<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 class="wall-item-outside-wrapper-end $item.indent" ></div> | ||||||
| </div> | </div> | ||||||
| {{ if $item.toplevel }} | {{ if $item.toplevel }} | ||||||
| {{ for $item.children as $item }} | {{ for $item.children as $child }} | ||||||
| 	{{ inc $item.template }}{{ endinc }} | 	{{ inc $child.template with $item=$child }}{{ endinc }} | ||||||
| {{ endfor }} | {{ endfor }} | ||||||
| {{ endif }} | {{ endif }} | ||||||
|  |  | ||||||
|   | |||||||
| @@ -2,7 +2,7 @@ | |||||||
| <div class="directory-item lframe" id="directory-item-$id" > | <div class="directory-item lframe" id="directory-item-$id" > | ||||||
| 	<div class="contact-photo-wrapper" id="directory-photo-wrapper-$id" >  | 	<div class="contact-photo-wrapper" id="directory-photo-wrapper-$id" >  | ||||||
| 		<div class="contact-photo" id="directory-photo-$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> | ||||||
| 	</div> | 	</div> | ||||||
|  |  | ||||||
|   | |||||||
| @@ -77,7 +77,7 @@ | |||||||
| 		</div> | 		</div> | ||||||
| 	</div> | 	</div> | ||||||
| 	<div class="mceActionPanel"> | 	<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>	 | 	</div>	 | ||||||
| 	</body> | 	</body> | ||||||
| 	 | 	 | ||||||
|   | |||||||
| @@ -3,7 +3,7 @@ | |||||||
| <form  action="$baseurl/index.php?q=setup" method="post"> | <form  action="$baseurl/index.php?q=setup" method="post"> | ||||||
| <table> | <table> | ||||||
| {{ for $checks as $check }} | {{ 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 }} | 	{{if $check.help }} | ||||||
| 	<tr><td colspan="3"><blockquote>$check.help</blockquote></td></tr> | 	<tr><td colspan="3"><blockquote>$check.help</blockquote></td></tr> | ||||||
| 	{{endif}} | 	{{endif}} | ||||||
|   | |||||||
| @@ -1,3 +1,3 @@ | |||||||
| <div class="notif-item"> | <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> | 	<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> | </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