Decaf mobile: an (almost) Javascript-free theme

This commit is contained in:
Zach Prezkuta 2013-01-26 12:52:21 -07:00
commit 488a38cd85
300 changed files with 11117 additions and 328 deletions

View file

@ -1935,6 +1935,36 @@ function build_querystring($params, $name=null) {
return $ret; return $ret;
} }
function explode_querystring($query) {
$arg_st = strpos($query, '?');
if($arg_st !== false) {
$base = substr($query, 0, $arg_st);
$arg_st += 1;
}
else {
$base = '';
$arg_st = 0;
}
$args = explode('&', substr($query, $arg_st));
foreach($args as $k=>$arg) {
if($arg === '')
unset($args[$k]);
}
$args = array_values($args);
if(!$base) {
$base = $args[0];
unset($args[0]);
$args = array_values($args);
}
return array(
'base' => $base,
'args' => $args,
);
}
/** /**
* Returns the complete URL of the current page, e.g.: http(s)://something.com/network * Returns the complete URL of the current page, e.g.: http(s)://something.com/network
* *

View file

@ -222,13 +222,13 @@ function contact_photo_menu($contact) {
$posts_link = $a->get_baseurl() . '/network/?cid=' . $contact['id']; $posts_link = $a->get_baseurl() . '/network/?cid=' . $contact['id'];
$menu = Array( $menu = Array(
t("Poke") => $poke_link, 'poke' => array(t("Poke"), $poke_link),
t("View Status") => $status_link, 'status' => array(t("View Status"), $status_link),
t("View Profile") => $profile_link, 'profile' => array(t("View Profile"), $profile_link),
t("View Photos") => $photos_link, 'photos' => array(t("View Photos"), $photos_link),
t("Network Posts") => $posts_link, 'network' => array(t("Network Posts"), $posts_link),
t("Edit Contact") => $contact_url, 'edit' => array(t("Edit Contact"), $contact_url),
t("Send PM") => $pm_url, 'pm' => array(t("Send PM"), $pm_url),
); );
@ -236,7 +236,7 @@ function contact_photo_menu($contact) {
call_hooks('contact_photo_menu', $args); call_hooks('contact_photo_menu', $args);
$o = ""; /* $o = "";
foreach($menu as $k=>$v){ foreach($menu as $k=>$v){
if ($v!="") { if ($v!="") {
if(($k !== t("Network Posts")) && ($k !== t("Send PM")) && ($k !== t('Edit Contact'))) if(($k !== t("Network Posts")) && ($k !== t("Send PM")) && ($k !== t('Edit Contact')))
@ -245,7 +245,16 @@ function contact_photo_menu($contact) {
$o .= "<li><a href=\"$v\">$k</a></li>\n"; $o .= "<li><a href=\"$v\">$k</a></li>\n";
} }
} }
return $o; return $o;*/
foreach($menu as $k=>$v){
if ($v[1]!="") {
if(($v[0] !== t("Network Posts")) && ($v[0] !== t("Send PM")) && ($v[0] !== t('Edit Contact')))
$menu[$k][2] = 1;
else
$menu[$k][2] = 0;
}
}
return $menu;
}} }}

View file

@ -1,4 +1,7 @@
<?php <?php
require_once("include/contact_selectors.php");
/** /**
* *
*/ */
@ -243,9 +246,7 @@ function prune_deadguys($arr) {
} }
function get_acl_permissions($user = null) {
function populate_acl($user = null,$celeb = false) {
$allow_cid = $allow_gid = $deny_cid = $deny_gid = false; $allow_cid = $allow_gid = $deny_cid = $deny_gid = false;
if(is_array($user)) { if(is_array($user)) {
@ -265,6 +266,19 @@ function populate_acl($user = null,$celeb = false) {
$allow_cid = prune_deadguys($allow_cid); $allow_cid = prune_deadguys($allow_cid);
return array(
'allow_cid' => $allow_cid,
'allow_gid' => $allow_gid,
'deny_cid' => $deny_cid,
'deny_gid' => $deny_gid,
);
}
function populate_acl($user = null,$celeb = false) {
$perms = get_acl_permissions($user);
// We shouldn't need to prune deadguys from the block list. Either way they can't get the message. // We shouldn't need to prune deadguys from the block list. Either way they can't get the message.
// Also no point enumerating groups and checking them, that will take place on delivery. // Also no point enumerating groups and checking them, that will take place on delivery.
@ -311,10 +325,10 @@ function populate_acl($user = null,$celeb = false) {
'$showall'=> t("Visible to everybody"), '$showall'=> t("Visible to everybody"),
'$show' => t("show"), '$show' => t("show"),
'$hide' => t("don't show"), '$hide' => t("don't show"),
'$allowcid' => json_encode($allow_cid), '$allowcid' => json_encode($perms['allow_cid']),
'$allowgid' => json_encode($allow_gid), '$allowgid' => json_encode($perms['allow_gid']),
'$denycid' => json_encode($deny_cid), '$denycid' => json_encode($perms['deny_cid']),
'$denygid' => json_encode($deny_gid), '$denygid' => json_encode($perms['deny_gid']),
)); ));
@ -322,3 +336,238 @@ function populate_acl($user = null,$celeb = false) {
} }
function construct_acl_data(&$a, $user) {
// Get group and contact information for html ACL selector
$acl_data = acl_lookup(&$a, 'html');
$user_defaults = get_acl_permissions($user);
if($acl_data['groups']) {
foreach($acl_data['groups'] as $key=>$group) {
// Add a "selected" flag to groups that are posted to by default
if($user_defaults['allow_gid'] &&
in_array($group['id'], $user_defaults['allow_gid']) && !in_array($group['id'], $user_defaults['deny_gid']) )
$acl_data['groups'][$key]['selected'] = 1;
else
$acl_data['groups'][$key]['selected'] = 0;
}
}
if($acl_data['contacts']) {
foreach($acl_data['contacts'] as $key=>$contact) {
// Add a "selected" flag to groups that are posted to by default
if($user_defaults['allow_cid'] &&
in_array($contact['id'], $user_defaults['allow_cid']) && !in_array($contact['id'], $user_defaults['deny_cid']) )
$acl_data['contacts'][$key]['selected'] = 1;
else
$acl_data['contacts'][$key]['selected'] = 0;
}
}
return $acl_data;
}
function acl_lookup(&$a, $out_type = 'json') {
if(!local_user())
return "";
$start = (x($_REQUEST,'start')?$_REQUEST['start']:0);
$count = (x($_REQUEST,'count')?$_REQUEST['count']:100);
$search = (x($_REQUEST,'search')?$_REQUEST['search']:"");
$type = (x($_REQUEST,'type')?$_REQUEST['type']:"");
// For use with jquery.autocomplete for private mail completion
if(x($_REQUEST,'query') && strlen($_REQUEST['query'])) {
if(! $type)
$type = 'm';
$search = $_REQUEST['query'];
}
if ($search!=""){
$sql_extra = "AND `name` LIKE '%%".dbesc($search)."%%'";
$sql_extra2 = "AND (`attag` LIKE '%%".dbesc($search)."%%' OR `name` LIKE '%%".dbesc($search)."%%' OR `nick` LIKE '%%".dbesc($search)."%%')";
} else {
$sql_extra = $sql_extra2 = "";
}
// count groups and contacts
if ($type=='' || $type=='g'){
$r = q("SELECT COUNT(`id`) AS g FROM `group` WHERE `deleted` = 0 AND `uid` = %d $sql_extra",
intval(local_user())
);
$group_count = (int)$r[0]['g'];
} else {
$group_count = 0;
}
if ($type=='' || $type=='c'){
$r = q("SELECT COUNT(`id`) AS c FROM `contact`
WHERE `uid` = %d AND `self` = 0
AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0
AND `notify` != '' $sql_extra2" ,
intval(local_user())
);
$contact_count = (int)$r[0]['c'];
}
elseif ($type == 'm') {
// autocomplete for Private Messages
$r = q("SELECT COUNT(`id`) AS c FROM `contact`
WHERE `uid` = %d AND `self` = 0
AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0
AND `network` IN ('%s','%s','%s') $sql_extra2" ,
intval(local_user()),
dbesc(NETWORK_DFRN),
dbesc(NETWORK_ZOT),
dbesc(NETWORK_DIASPORA)
);
$contact_count = (int)$r[0]['c'];
}
elseif ($type == 'a') {
// autocomplete for Contacts
$r = q("SELECT COUNT(`id`) AS c FROM `contact`
WHERE `uid` = %d AND `self` = 0
AND `pending` = 0 $sql_extra2" ,
intval(local_user())
);
$contact_count = (int)$r[0]['c'];
} else {
$contact_count = 0;
}
$tot = $group_count+$contact_count;
$groups = array();
$contacts = array();
if ($type=='' || $type=='g'){
$r = q("SELECT `group`.`id`, `group`.`name`, GROUP_CONCAT(DISTINCT `group_member`.`contact-id` SEPARATOR ',') as uids
FROM `group`,`group_member`
WHERE `group`.`deleted` = 0 AND `group`.`uid` = %d
AND `group_member`.`gid`=`group`.`id`
$sql_extra
GROUP BY `group`.`id`
ORDER BY `group`.`name`
LIMIT %d,%d",
intval(local_user()),
intval($start),
intval($count)
);
foreach($r as $g){
// logger('acl: group: ' . $g['name'] . ' members: ' . $g['uids']);
$groups[] = array(
"type" => "g",
"photo" => "images/twopeople.png",
"name" => $g['name'],
"id" => intval($g['id']),
"uids" => array_map("intval", explode(",",$g['uids'])),
"link" => ''
);
}
}
if ($type=='' || $type=='c'){
$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact`
WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `notify` != ''
$sql_extra2
ORDER BY `name` ASC ",
intval(local_user())
);
}
elseif($type == 'm') {
$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact`
WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0
AND `network` IN ('%s','%s','%s')
$sql_extra2
ORDER BY `name` ASC ",
intval(local_user()),
dbesc(NETWORK_DFRN),
dbesc(NETWORK_ZOT),
dbesc(NETWORK_DIASPORA)
);
}
elseif($type == 'a') {
$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact`
WHERE `uid` = %d AND `pending` = 0
$sql_extra2
ORDER BY `name` ASC ",
intval(local_user())
);
}
else
$r = array();
if($type == 'm' || $type == 'a') {
$x = array();
$x['query'] = $search;
$x['photos'] = array();
$x['links'] = array();
$x['suggestions'] = array();
$x['data'] = array();
if(count($r)) {
foreach($r as $g) {
$x['photos'][] = $g['micro'];
$x['links'][] = $g['url'];
$x['suggestions'][] = $g['name'];
$x['data'][] = intval($g['id']);
}
}
echo json_encode($x);
killme();
}
if(count($r)) {
foreach($r as $g){
$contacts[] = array(
"type" => "c",
"photo" => $g['micro'],
"name" => $g['name'],
"id" => intval($g['id']),
"network" => $g['network'],
"link" => $g['url'],
"nick" => ($g['attag']) ? $g['attag'] : $g['nick'],
);
}
}
$items = array_merge($groups, $contacts);
if($out_type === 'html') {
$o = array(
'tot' => $tot,
'start' => $start,
'count' => $count,
'groups' => $groups,
'contacts' => $contacts,
);
return $o;
}
$o = array(
'tot' => $tot,
'start' => $start,
'count' => $count,
'items' => $items,
);
echo json_encode($o);
killme();
}

View file

@ -1,6 +1,7 @@
<?php <?php
require_once("include/bbcode.php"); require_once("include/bbcode.php");
require_once("include/acl_selectors.php");
// Note: the code in 'item_extract_images' and 'item_redir_and_replace_images' // Note: the code in 'item_extract_images' and 'item_redir_and_replace_images'
@ -704,6 +705,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
$o = replace_macros($page_template, array( $o = replace_macros($page_template, array(
'$baseurl' => $a->get_baseurl($ssl_state), '$baseurl' => $a->get_baseurl($ssl_state),
'$return_path' => $a->query_string,
'$live_update' => $live_update_div, '$live_update' => $live_update_div,
'$remove' => t('remove'), '$remove' => t('remove'),
'$mode' => $mode, '$mode' => $mode,
@ -908,7 +910,7 @@ function format_like($cnt,$arr,$type,$id) {
$str .= sprintf( t(', and %d other people'), $total - MAX_LIKERS ); $str .= sprintf( t(', and %d other people'), $total - MAX_LIKERS );
} }
$str = (($type === 'like') ? sprintf( t('%s like this.'), $str) : sprintf( t('%s don\'t like this.'), $str)); $str = (($type === 'like') ? sprintf( t('%s like this.'), $str) : sprintf( t('%s don\'t like this.'), $str));
$o .= "\t" . '<div id="' . $type . 'list-' . $id . '" style="display: none;" >' . $str . '</div>'; $o .= "\t" . '<div class="wall-item-' . $type . '-expanded" id="' . $type . 'list-' . $id . '" style="display: none;" >' . $str . '</div>';
} }
return $o; return $o;
}} }}
@ -962,8 +964,6 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
)); ));
$tpl = get_markup_template("jot.tpl");
$jotplugins = ''; $jotplugins = '';
$jotnets = ''; $jotnets = '';
@ -994,10 +994,31 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
if($notes_cid) if($notes_cid)
$jotnets .= '<input type="hidden" name="contact_allow[]" value="' . $notes_cid .'" />'; $jotnets .= '<input type="hidden" name="contact_allow[]" value="' . $notes_cid .'" />';
// Private/public post links for the non-JS ACL form
$private_post = 1;
if($_REQUEST['public'])
$private_post = 0;
$query_str = $a->query_string;
if(strpos($query_str, 'public=1') !== false)
$query_str = str_replace(array('?public=1', '&public=1'), array('', ''), $query_str);
// I think $a->query_string may never have ? in it, but I could be wrong
// It looks like it's from the index.php?q=[etc] rewrite that the web
// server does, which converts any ? to &, e.g. suggest&ignore=61 for suggest?ignore=61
if(strpos($query_str, '?') === false)
$public_post_link = '?public=1';
else
$public_post_link = '&public=1';
// $tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins)); // $tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));
$tpl = get_markup_template("jot.tpl");
$o .= replace_macros($tpl,array( $o .= replace_macros($tpl,array(
'$return_path' => $a->query_string, '$return_path' => $query_str,
'$action' => $a->get_baseurl(true) . '/item', '$action' => $a->get_baseurl(true) . '/item',
'$share' => (x($x,'button') ? $x['button'] : t('Share')), '$share' => (x($x,'button') ? $x['button'] : t('Share')),
'$upload' => t('Upload photo'), '$upload' => t('Upload photo'),
@ -1033,14 +1054,22 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
'$jotnets' => $jotnets, '$jotnets' => $jotnets,
'$emtitle' => t('Example: bob@example.com, mary@example.com'), '$emtitle' => t('Example: bob@example.com, mary@example.com'),
'$lockstate' => $x['lockstate'], '$lockstate' => $x['lockstate'],
'$acl' => $x['acl'],
'$bang' => $x['bang'], '$bang' => $x['bang'],
'$profile_uid' => $x['profile_uid'], '$profile_uid' => $x['profile_uid'],
'$preview' => ((feature_enabled($x['profile_uid'],'preview')) ? t('Preview') : ''), '$preview' => ((feature_enabled($x['profile_uid'],'preview')) ? t('Preview') : ''),
'$jotplugins' => $jotplugins, '$jotplugins' => $jotplugins,
'$sourceapp' => t($a->sourcename), '$sourceapp' => t($a->sourcename),
'$cancel' => t('Cancel'), '$cancel' => t('Cancel'),
'$rand_num' => random_digits(12) '$rand_num' => random_digits(12),
// ACL permissions box
'$acl' => $x['acl'],
'$acl_data' => $x['acl_data'],
'$group_perms' => t('Post to Groups'),
'$contact_perms' => t('Post to Contacts'),
'$private' => t('Private post'),
'$is_private' => $private_post,
'$public_link' => $public_post_link,
)); ));

View file

@ -3874,6 +3874,34 @@ function drop_item($id,$interactive = true) {
if((local_user() == $item['uid']) || ($cid) || (! $interactive)) { if((local_user() == $item['uid']) || ($cid) || (! $interactive)) {
// Check if we should do HTML-based delete confirmation
if($_REQUEST['confirm']) {
// <form> can't take arguments in its "action" parameter
// so add any arguments as hidden inputs
$query = explode_querystring($a->query_string);
$inputs = array();
foreach($query['args'] as $arg) {
if(strpos($arg, 'confirm=') === false) {
$arg_parts = explode('=', $arg);
$inputs[] = array('name' => $arg_parts[0], 'value' => $arg_parts[1]);
}
}
return replace_macros(get_markup_template('confirm.tpl'), array(
'$method' => 'get',
'$message' => t('Do you really want to delete this item?'),
'$extra_inputs' => $inputs,
'$confirm' => t('Yes'),
'$confirm_url' => $query['base'],
'$confirm_name' => 'confirmed',
'$cancel' => t('Cancel'),
));
}
// Now check how the user responded to the confirmation query
if($_REQUEST['canceled']) {
goaway($a->get_baseurl() . '/' . $_SESSION['return_url']);
}
logger('delete item: ' . $item['id'], LOGGER_DEBUG); logger('delete item: ' . $item['id'], LOGGER_DEBUG);
// delete the item // delete the item

View file

@ -8,8 +8,6 @@ function nav(&$a) {
* *
*/ */
$ssl_state = ((local_user()) ? true : false);
if(!(x($a->page,'nav'))) if(!(x($a->page,'nav')))
$a->page['nav'] = ''; $a->page['nav'] = '';
@ -19,6 +17,35 @@ function nav(&$a) {
$a->page['nav'] .= '<div id="panel" style="display: none;"></div>' ; $a->page['nav'] .= '<div id="panel" style="display: none;"></div>' ;
$nav_info = nav_info($a);
/**
* Build the page
*/
$tpl = get_markup_template('nav.tpl');
$a->page['nav'] .= replace_macros($tpl, array(
'$baseurl' => $a->get_baseurl(),
'$langselector' => lang_selector(),
'$sitelocation' => $nav_info['sitelocation'],
'$nav' => $nav_info['nav'],
'$banner' => $nav_info['banner'],
'$emptynotifications' => t('Nothing new here'),
'$userinfo' => $nav_info['userinfo'],
'$sel' => $a->nav_sel,
'$apps' => $a->apps,
'$clear_notifs' => t('Clear notifications')
));
call_hooks('page_header', $a->page['nav']);
}
function nav_info(&$a) {
$ssl_state = ((local_user()) ? true : false);
/** /**
* *
* Our network is distributed, and as you visit friends some of the * Our network is distributed, and as you visit friends some of the
@ -152,6 +179,9 @@ function nav(&$a) {
} }
$nav['navigation'] = array('navigation/', t('Navigation'), "", t('Site map'));
/** /**
* *
* Provide a banner/logo/whatever * Provide a banner/logo/whatever
@ -164,23 +194,15 @@ function nav(&$a) {
$banner .= '<a href="http://friendica.com"><img id="logo-img" src="images/friendica-32.png" alt="logo" /></a><span id="logo-text"><a href="http://friendica.com">Friendica</a></span>'; $banner .= '<a href="http://friendica.com"><img id="logo-img" src="images/friendica-32.png" alt="logo" /></a><span id="logo-text"><a href="http://friendica.com">Friendica</a></span>';
$tpl = get_markup_template('nav.tpl'); return array(
'sitelocation' => $sitelocation,
$a->page['nav'] .= replace_macros($tpl, array( 'nav' => $nav,
'$baseurl' => $a->get_baseurl(), 'banner' => $banner,
'$langselector' => lang_selector(), 'userinfo' => $userinfo,
'$sitelocation' => $sitelocation, );
'$nav' => $nav,
'$banner' => $banner,
'$emptynotifications' => t('Nothing new here'),
'$userinfo' => $userinfo,
'$sel' => $a->nav_sel,
'$apps' => $a->apps,
));
call_hooks('page_header', $a->page['nav']);
} }
/* /*
* Set a menu item in navbar as selected * Set a menu item in navbar as selected
* *

View file

@ -259,15 +259,15 @@ class Template {
public function replace($s, $r) { public function replace($s, $r) {
$this->r = $r; $this->r = $r;
// remove comments block
$s = preg_replace('/{#(.*?\s*?)*?#}/', "", $s);
$s = $this->_build_nodes($s); $s = $this->_build_nodes($s);
$s = preg_replace_callback('/\|\|([0-9]+)\|\|/', array($this, "_replcb_node"), $s); $s = preg_replace_callback('/\|\|([0-9]+)\|\|/', array($this, "_replcb_node"), $s);
if ($s == Null) if ($s == Null)
$this->_preg_error(); $this->_preg_error();
// remove comments block
$s = preg_replace('/{#[^#]*#}/', "", $s);
// replace strings recursively (limit to 10 loops) // replace strings recursively (limit to 10 loops)
$os = ""; $os = "";
$count = 0; $count = 0;

View file

@ -4,193 +4,7 @@
require_once("include/acl_selectors.php"); require_once("include/acl_selectors.php");
function acl_init(&$a){ function acl_init(&$a){
if(!local_user()) acl_lookup($a);
return "";
$start = (x($_REQUEST,'start')?$_REQUEST['start']:0);
$count = (x($_REQUEST,'count')?$_REQUEST['count']:100);
$search = (x($_REQUEST,'search')?$_REQUEST['search']:"");
$type = (x($_REQUEST,'type')?$_REQUEST['type']:"");
// For use with jquery.autocomplete for private mail completion
if(x($_REQUEST,'query') && strlen($_REQUEST['query'])) {
if(! $type)
$type = 'm';
$search = $_REQUEST['query'];
}
if ($search!=""){
$sql_extra = "AND `name` LIKE '%%".dbesc($search)."%%'";
$sql_extra2 = "AND (`attag` LIKE '%%".dbesc($search)."%%' OR `name` LIKE '%%".dbesc($search)."%%' OR `nick` LIKE '%%".dbesc($search)."%%')";
} else {
$sql_extra = $sql_extra2 = "";
}
// count groups and contacts
if ($type=='' || $type=='g'){
$r = q("SELECT COUNT(`id`) AS g FROM `group` WHERE `deleted` = 0 AND `uid` = %d $sql_extra",
intval(local_user())
);
$group_count = (int)$r[0]['g'];
} else {
$group_count = 0;
}
if ($type=='' || $type=='c'){
$r = q("SELECT COUNT(`id`) AS c FROM `contact`
WHERE `uid` = %d AND `self` = 0
AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0
AND `notify` != '' $sql_extra2" ,
intval(local_user())
);
$contact_count = (int)$r[0]['c'];
}
elseif ($type == 'm') {
// autocomplete for Private Messages
$r = q("SELECT COUNT(`id`) AS c FROM `contact`
WHERE `uid` = %d AND `self` = 0
AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0
AND `network` IN ('%s','%s','%s') $sql_extra2" ,
intval(local_user()),
dbesc(NETWORK_DFRN),
dbesc(NETWORK_ZOT),
dbesc(NETWORK_DIASPORA)
);
$contact_count = (int)$r[0]['c'];
}
elseif ($type == 'a') {
// autocomplete for Contacts
$r = q("SELECT COUNT(`id`) AS c FROM `contact`
WHERE `uid` = %d AND `self` = 0
AND `pending` = 0 $sql_extra2" ,
intval(local_user())
);
$contact_count = (int)$r[0]['c'];
} else {
$contact_count = 0;
}
$tot = $group_count+$contact_count;
$groups = array();
$contacts = array();
if ($type=='' || $type=='g'){
$r = q("SELECT `group`.`id`, `group`.`name`, GROUP_CONCAT(DISTINCT `group_member`.`contact-id` SEPARATOR ',') as uids
FROM `group`,`group_member`
WHERE `group`.`deleted` = 0 AND `group`.`uid` = %d
AND `group_member`.`gid`=`group`.`id`
$sql_extra
GROUP BY `group`.`id`
ORDER BY `group`.`name`
LIMIT %d,%d",
intval(local_user()),
intval($start),
intval($count)
);
foreach($r as $g){
// logger('acl: group: ' . $g['name'] . ' members: ' . $g['uids']);
$groups[] = array(
"type" => "g",
"photo" => "images/twopeople.png",
"name" => $g['name'],
"id" => intval($g['id']),
"uids" => array_map("intval", explode(",",$g['uids'])),
"link" => ''
);
}
}
if ($type=='' || $type=='c'){
$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact`
WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 AND `notify` != ''
$sql_extra2
ORDER BY `name` ASC ",
intval(local_user())
);
}
elseif($type == 'm') {
$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact`
WHERE `uid` = %d AND `self` = 0 AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0
AND `network` IN ('%s','%s','%s')
$sql_extra2
ORDER BY `name` ASC ",
intval(local_user()),
dbesc(NETWORK_DFRN),
dbesc(NETWORK_ZOT),
dbesc(NETWORK_DIASPORA)
);
}
elseif($type == 'a') {
$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag` FROM `contact`
WHERE `uid` = %d AND `pending` = 0
$sql_extra2
ORDER BY `name` ASC ",
intval(local_user())
);
}
else
$r = array();
if($type == 'm' || $type == 'a') {
$x = array();
$x['query'] = $search;
$x['photos'] = array();
$x['links'] = array();
$x['suggestions'] = array();
$x['data'] = array();
if(count($r)) {
foreach($r as $g) {
$x['photos'][] = $g['micro'];
$x['links'][] = $g['url'];
$x['suggestions'][] = $g['name'];
$x['data'][] = intval($g['id']);
}
}
echo json_encode($x);
killme();
}
if(count($r)) {
foreach($r as $g){
$contacts[] = array(
"type" => "c",
"photo" => $g['micro'],
"name" => $g['name'],
"id" => intval($g['id']),
"network" => $g['network'],
"link" => $g['url'],
"nick" => ($g['attag']) ? $g['attag'] : $g['nick'],
);
}
}
$items = array_merge($groups, $contacts);
$o = array(
'tot' => $tot,
'start' => $start,
'count' => $count,
'items' => $items,
);
echo json_encode($o);
killme();
} }

View file

@ -225,6 +225,36 @@ function contacts_content(&$a) {
if($cmd === 'drop') { if($cmd === 'drop') {
// Check if we should do HTML-based delete confirmation
if($_REQUEST['confirm']) {
// <form> can't take arguments in its "action" parameter
// so add any arguments as hidden inputs
$query = explode_querystring($a->query_string);
$inputs = array();
foreach($query['args'] as $arg) {
if(strpos($arg, 'confirm=') === false) {
$arg_parts = explode('=', $arg);
$inputs[] = array('name' => $arg_parts[0], 'value' => $arg_parts[1]);
}
}
$a->page['aside'] = '';
return replace_macros(get_markup_template('confirm.tpl'), array(
'$method' => 'get',
'$message' => t('Do you really want to delete this contact?'),
'$extra_inputs' => $inputs,
'$confirm' => t('Yes'),
'$confirm_url' => $query['base'],
'$confirm_name' => 'confirmed',
'$cancel' => t('Cancel'),
));
}
// Now check how the user responded to the confirmation query
if($_REQUEST['canceled']) {
goaway($a->get_baseurl(true) . '/' . $_SESSION['return_url']);
}
require_once('include/Contact.php'); require_once('include/Contact.php');
terminate_friendship($a->user,$a->contact,$orig_record[0]); terminate_friendship($a->user,$a->contact,$orig_record[0]);
@ -239,6 +269,10 @@ function contacts_content(&$a) {
} }
} }
$_SESSION['return_url'] = $a->query_string;
if((x($a->data,'contact')) && (is_array($a->data['contact']))) { if((x($a->data,'contact')) && (is_array($a->data['contact']))) {
$contact_id = $a->data['contact']['id']; $contact_id = $a->data['contact']['id'];
@ -405,8 +439,6 @@ function contacts_content(&$a) {
$ignored = false; $ignored = false;
$all = false; $all = false;
$_SESSION['return_url'] = $a->query_string;
if(($a->argc == 2) && ($a->argv[1] === 'all')) { if(($a->argc == 2) && ($a->argv[1] === 'all')) {
$sql_extra = ''; $sql_extra = '';
$all = true; $all = true;

View file

@ -112,7 +112,8 @@ function display_content(&$a, $update = 0) {
'acl' => populate_acl($a->user, $celeb), 'acl' => populate_acl($a->user, $celeb),
'bang' => '', 'bang' => '',
'visitor' => 'block', 'visitor' => 'block',
'profile_uid' => local_user() 'profile_uid' => local_user(),
'acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector
); );
$o .= status_editor($a,$x,0,true); $o .= status_editor($a,$x,0,true);
} }

View file

@ -85,16 +85,19 @@ function editpost_content(&$a) {
} }
} }
if($mail_enabled) { // I don't think there's any need for the $jotnets when editing the post,
// and including them makes it difficult for the JS-free theme, so let's
// disable them
/* if($mail_enabled) {
$selected = (($pubmail_enabled) ? ' checked="checked" ' : ''); $selected = (($pubmail_enabled) ? ' checked="checked" ' : '');
$jotnets .= '<div class="profile-jot-net"><input type="checkbox" name="pubmail_enable"' . $selected . ' value="1" /> ' $jotnets .= '<div class="profile-jot-net"><input type="checkbox" name="pubmail_enable"' . $selected . ' value="1" /> '
. t("Post to Email") . '</div>'; . t("Post to Email") . '</div>';
} }*/
call_hooks('jot_tool', $jotplugins); call_hooks('jot_tool', $jotplugins);
call_hooks('jot_networks', $jotnets); //call_hooks('jot_networks', $jotnets);
//$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins)); //$tpl = replace_macros($tpl,array('$jotplugins' => $jotplugins));

View file

@ -923,10 +923,12 @@ function item_content(&$a) {
require_once('include/security.php'); require_once('include/security.php');
$o = '';
if(($a->argc == 3) && ($a->argv[1] === 'drop') && intval($a->argv[2])) { if(($a->argc == 3) && ($a->argv[1] === 'drop') && intval($a->argv[2])) {
require_once('include/items.php'); require_once('include/items.php');
drop_item($a->argv[2]); $o = drop_item($a->argv[2]);
} }
return $o;
} }
/** /**

View file

@ -105,6 +105,10 @@ function like_content(&$a) {
} }
// See if we've been passed a return path to redirect to
$return_path = ((x($_REQUEST,'return')) ? $_REQUEST['return'] : '');
$r = q("SELECT * FROM `item` WHERE `verb` = '%s' AND `deleted` = 0 $r = q("SELECT * FROM `item` WHERE `verb` = '%s' AND `deleted` = 0
AND `contact-id` = %d AND ( `parent` = '%s' OR `parent-uri` = '%s' OR `thr-parent` = '%s') LIMIT 1", AND `contact-id` = %d AND ( `parent` = '%s' OR `parent-uri` = '%s' OR `thr-parent` = '%s') LIMIT 1",
dbesc($activity), dbesc($activity),
@ -137,7 +141,9 @@ function like_content(&$a) {
// proc_run('php',"include/notifier.php","like","$post_id"); // $post_id isn't defined here! // proc_run('php',"include/notifier.php","like","$post_id"); // $post_id isn't defined here!
$like_item_id = $like_item['id']; $like_item_id = $like_item['id'];
proc_run('php',"include/notifier.php","like","$like_item_id"); proc_run('php',"include/notifier.php","like","$like_item_id");
return;
like_content_return($a->get_baseurl(), $return_path);
return; // NOTREACHED
} }
$uri = item_new_uri($a->get_hostname(),$owner_uid); $uri = item_new_uri($a->get_hostname(),$owner_uid);
@ -221,11 +227,29 @@ EOT;
proc_run('php',"include/notifier.php","like","$post_id"); proc_run('php',"include/notifier.php","like","$post_id");
killme(); like_content_return($a->get_baseurl(), $return_path);
killme(); // NOTREACHED
// return; // NOTREACHED // return; // NOTREACHED
} }
// Decide how to return. If we were called with a 'return' argument,
// then redirect back to the calling page. If not, just quietly end
function like_content_return($baseurl, $return_path) {
if($return_path) {
$rand = '_=' . time();
if(strpos($return_path, '?')) $rand = "&$rand";
else $rand = "?$rand";
goaway($baseurl . "/" . $return_path . $rand);
}
killme();
}
function store_diaspora_like_retract_sig($activity, $item, $like_item, $contact) { function store_diaspora_like_retract_sig($activity, $item, $like_item, $contact) {
// Note that we can only create a signature for a user of the local server. We don't have // Note that we can only create a signature for a user of the local server. We don't have
// a key for remote users. That is ok, because if a remote user is "unlike"ing a post, it // a key for remote users. That is ok, because if a remote user is "unlike"ing a post, it

View file

@ -1,5 +1,7 @@
<?php <?php
require_once("include/text.php");
function manage_post(&$a) { function manage_post(&$a) {
@ -68,6 +70,10 @@ function manage_post(&$a) {
unset($_SESSION['return_url']); unset($_SESSION['return_url']);
if(x($_SESSION,'submanage')) if(x($_SESSION,'submanage'))
unset($_SESSION['submanage']); unset($_SESSION['submanage']);
if(x($_SESSION,'sysmsg'))
unset($_SESSION['sysmsg']);
if(x($_SESSION,'sysmsg_info'))
unset($_SESSION['sysmsg_info']);
require_once('include/security.php'); require_once('include/security.php');
authenticate_success($r[0],true,true); authenticate_success($r[0],true,true);
@ -91,27 +97,18 @@ function manage_content(&$a) {
return; return;
} }
$o = '<h3>' . t('Manage Identities and/or Pages') . '</h3>'; $identities = $a->identities;
foreach($identities as $key=>$id) {
$identities[$key]['selected'] = (($id['nickname'] === $a->user['nickname']) ? ' selected="selected" ' : '');
$o .= '<div id="identity-manage-desc">' . t('Toggle between different identities or community/group pages which share your account details or which you have been granted "manage" permissions') . '</div>';
$o .= '<div id="identity-manage-choose">' . t('Select an identity to manage: ') . '</div>';
$o .= '<div id="identity-selector-wrapper">' . "\r\n";
$o .= '<form action="manage" method="post" >' . "\r\n";
$o .= '<select name="identity" size="4" onchange="this.form.submit();" >' . "\r\n";
foreach($a->identities as $rr) {
$selected = (($rr['nickname'] === $a->user['nickname']) ? ' selected="selected" ' : '');
$o .= '<option ' . $selected . 'value="' . $rr['uid'] . '">' . $rr['username'] . ' (' . $rr['nickname'] . ')</option>' . "\r\n";
} }
$o .= '</select>' . "\r\n"; $o = replace_macros(get_markup_template('manage.tpl'), array(
$o .= '<div id="identity-select-break"></div>' . "\r\n"; '$title' => t('Manage Identities and/or Pages'),
'$desc' => t('Toggle between different identities or community/group pages which share your account details or which you have been granted "manage" permissions'),
// $o .= '<input id="identity-submit" type="submit" name="submit" value="' . t('Submit') . '" />'; '$choose' => t('Select an identity to manage: '),
$o .= '</div></form>' . "\r\n"; '$identities' => $identities,
'$submit' => t('Submit'),
));
return $o; return $o;

View file

@ -82,6 +82,8 @@ function message_post(&$a) {
$a->argc = 2; $a->argc = 2;
$a->argv[1] = 'new'; $a->argv[1] = 'new';
} }
else
goaway($a->get_baseurl(true) . '/' . $_SESSION['return_url']);
} }
@ -185,6 +187,36 @@ function message_content(&$a) {
if(($a->argc == 3) && ($a->argv[1] === 'drop' || $a->argv[1] === 'dropconv')) { if(($a->argc == 3) && ($a->argv[1] === 'drop' || $a->argv[1] === 'dropconv')) {
if(! intval($a->argv[2])) if(! intval($a->argv[2]))
return; return;
// Check if we should do HTML-based delete confirmation
if($_REQUEST['confirm']) {
// <form> can't take arguments in its "action" parameter
// so add any arguments as hidden inputs
$query = explode_querystring($a->query_string);
$inputs = array();
foreach($query['args'] as $arg) {
if(strpos($arg, 'confirm=') === false) {
$arg_parts = explode('=', $arg);
$inputs[] = array('name' => $arg_parts[0], 'value' => $arg_parts[1]);
}
}
//$a->page['aside'] = '';
return replace_macros(get_markup_template('confirm.tpl'), array(
'$method' => 'get',
'$message' => t('Do you really want to delete this message?'),
'$extra_inputs' => $inputs,
'$confirm' => t('Yes'),
'$confirm_url' => $query['base'],
'$confirm_name' => 'confirmed',
'$cancel' => t('Cancel'),
));
}
// Now check how the user responded to the confirmation query
if($_REQUEST['canceled']) {
goaway($a->get_baseurl(true) . '/' . $_SESSION['return_url']);
}
$cmd = $a->argv[1]; $cmd = $a->argv[1];
if($cmd === 'drop') { if($cmd === 'drop') {
$r = q("DELETE FROM `mail` WHERE `id` = %d AND `uid` = %d LIMIT 1", $r = q("DELETE FROM `mail` WHERE `id` = %d AND `uid` = %d LIMIT 1",
@ -194,7 +226,8 @@ function message_content(&$a) {
if($r) { if($r) {
info( t('Message deleted.') . EOL ); info( t('Message deleted.') . EOL );
} }
goaway($a->get_baseurl(true) . '/message' ); //goaway($a->get_baseurl(true) . '/message' );
goaway($a->get_baseurl(true) . '/' . $_SESSION['return_url']);
} }
else { else {
$r = q("SELECT `parent-uri`,`convid` FROM `mail` WHERE `id` = %d AND `uid` = %d LIMIT 1", $r = q("SELECT `parent-uri`,`convid` FROM `mail` WHERE `id` = %d AND `uid` = %d LIMIT 1",
@ -224,7 +257,8 @@ function message_content(&$a) {
if($r) if($r)
info( t('Conversation removed.') . EOL ); info( t('Conversation removed.') . EOL );
} }
goaway($a->get_baseurl(true) . '/message' ); //goaway($a->get_baseurl(true) . '/message' );
goaway($a->get_baseurl(true) . '/' . $_SESSION['return_url']);
} }
} }
@ -304,6 +338,9 @@ function message_content(&$a) {
return $o; return $o;
} }
$_SESSION['return_url'] = $a->query_string;
if($a->argc == 1) { if($a->argc == 1) {
// list messages // list messages

27
mod/navigation.php Normal file
View file

@ -0,0 +1,27 @@
<?php
require_once("include/nav.php");
function navigation_content(&$a) {
$nav_info = nav_info($a);
/**
* Build the page
*/
$tpl = get_markup_template('navigation.tpl');
return replace_macros($tpl, array(
'$baseurl' => $a->get_baseurl(),
'$langselector' => lang_selector(),
'$sitelocation' => $nav_info['sitelocation'],
'$nav' => $nav_info['nav'],
'$banner' => $nav_info['banner'],
'$emptynotifications' => t('Nothing new here'),
'$userinfo' => $nav_info['userinfo'],
'$sel' => $a->nav_sel,
'$apps' => $a->apps,
'$clear_notifs' => t('Clear notifications')
));
}

View file

@ -560,10 +560,12 @@ function network_content(&$a, $update = 0) {
'default_location' => $a->user['default-location'], 'default_location' => $a->user['default-location'],
'nickname' => $a->user['nickname'], 'nickname' => $a->user['nickname'],
'lockstate' => ((($group) || ($cid) || ($nets) || (is_array($a->user) && ((strlen($a->user['allow_cid'])) || (strlen($a->user['allow_gid'])) || (strlen($a->user['deny_cid'])) || (strlen($a->user['deny_gid']))))) ? 'lock' : 'unlock'), 'lockstate' => ((($group) || ($cid) || ($nets) || (is_array($a->user) && ((strlen($a->user['allow_cid'])) || (strlen($a->user['allow_gid'])) || (strlen($a->user['deny_cid'])) || (strlen($a->user['deny_gid']))))) ? 'lock' : 'unlock'),
'default_perms' => get_acl_permissions($a->user),
'acl' => populate_acl((($group || $cid || $nets) ? $def_acl : $a->user), $celeb), 'acl' => populate_acl((($group || $cid || $nets) ? $def_acl : $a->user), $celeb),
'bang' => (($group || $cid || $nets) ? '!' : ''), 'bang' => (($group || $cid || $nets) ? '!' : ''),
'visitor' => 'block', 'visitor' => 'block',
'profile_uid' => local_user() 'profile_uid' => local_user(),
'acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector
); );
$o .= status_editor($a,$x); $o .= status_editor($a,$x);

View file

@ -60,8 +60,8 @@ function notes_content(&$a,$update = false) {
'bang' => '', 'bang' => '',
'visitor' => 'block', 'visitor' => 'block',
'profile_uid' => local_user(), 'profile_uid' => local_user(),
'button' => t('Save') 'button' => t('Save'),
'acl_data' => '',
); );
$o .= status_editor($a,$x,$a->contact['id']); $o .= status_editor($a,$x,$a->contact['id']);

View file

@ -166,6 +166,11 @@ function photos_post(&$a) {
return; // NOTREACHED return; // NOTREACHED
} }
// Check if the user has responded to a delete confirmation query
if($_REQUEST['canceled']) {
goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']);
}
$newalbum = notags(trim($_POST['albumname'])); $newalbum = notags(trim($_POST['albumname']));
if($newalbum != $album) { if($newalbum != $album) {
q("UPDATE `photo` SET `album` = '%s' WHERE `album` = '%s' AND `uid` = %d", q("UPDATE `photo` SET `album` = '%s' WHERE `album` = '%s' AND `uid` = %d",
@ -181,6 +186,25 @@ function photos_post(&$a) {
if($_POST['dropalbum'] == t('Delete Album')) { if($_POST['dropalbum'] == t('Delete Album')) {
// Check if we should do HTML-based delete confirmation
if($_REQUEST['confirm']) {
$drop_url = $a->query_string;
$extra_inputs = array(
array('name' => 'albumname', 'value' => $_POST['albumname']),
);
$a->page['content'] = replace_macros(get_markup_template('confirm.tpl'), array(
'$method' => 'post',
'$message' => t('Do you really want to delete this photo album and all its photos?'),
'$extra_inputs' => $extra_inputs,
'$confirm' => t('Delete Album'),
'$confirm_url' => $drop_url,
'$confirm_name' => 'dropalbum', // Needed so that confirmation will bring us back into this if statement
'$cancel' => t('Cancel'),
));
$a->error = 1; // Set $a->error so the other module functions don't execute
return;
}
$res = array(); $res = array();
// get the list of photos we are about to delete // get the list of photos we are about to delete
@ -242,10 +266,32 @@ function photos_post(&$a) {
return; // NOTREACHED return; // NOTREACHED
} }
// Check if the user has responded to a delete confirmation query for a single photo
if(($a->argc > 2) && $_REQUEST['canceled']) {
goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']);
}
if(($a->argc > 2) && (x($_POST,'delete')) && ($_POST['delete'] == t('Delete Photo'))) { if(($a->argc > 2) && (x($_POST,'delete')) && ($_POST['delete'] == t('Delete Photo'))) {
// same as above but remove single photo // same as above but remove single photo
// Check if we should do HTML-based delete confirmation
if($_REQUEST['confirm']) {
$drop_url = $a->query_string;
$a->page['content'] = replace_macros(get_markup_template('confirm.tpl'), array(
'$method' => 'post',
'$message' => t('Do you really want to delete this photo?'),
'$extra_inputs' => array(),
'$confirm' => t('Delete Photo'),
'$confirm_url' => $drop_url,
'$confirm_name' => 'delete', // Needed so that confirmation will bring us back into this if statement
'$cancel' => t('Cancel'),
));
$a->error = 1; // Set $a->error so the other module functions don't execute
return;
}
if($visitor) { if($visitor) {
$r = q("SELECT `id`, `resource-id` FROM `photo` WHERE `contact-id` = %d AND `uid` = %d AND `resource-id` = '%s' LIMIT 1", $r = q("SELECT `id`, `resource-id` FROM `photo` WHERE `contact-id` = %d AND `uid` = %d AND `resource-id` = '%s' LIMIT 1",
intval($visitor), intval($visitor),
@ -284,7 +330,7 @@ function photos_post(&$a) {
} }
} }
goaway($a->get_baseurl() . '/' . $_SESSION['photo_return']); goaway($a->get_baseurl() . '/photos/' . $a->data['user']['nickname']);
return; // NOTREACHED return; // NOTREACHED
} }
@ -1024,8 +1070,10 @@ function photos_content(&$a) {
call_hooks('photo_upload_form',$ret); call_hooks('photo_upload_form',$ret);
$default_upload = '<input id="photos-upload-choose" type="file" name="userfile" /> <div class="photos-upload-submit-wrapper" > $default_upload_box = replace_macros(get_markup_template('photos_default_uploader_box.tpl'), array());
<input type="submit" name="submit" value="' . t('Submit') . '" id="photos-upload-submit" /> </div>'; $default_upload_submit = replace_macros(get_markup_template('photos_default_uploader_submit.tpl'), array(
'$submit' => t('Submit'),
));
$usage_message = ''; $usage_message = '';
$limit = service_class_fetch($a->data['user']['uid'],'photo_upload_limit'); $limit = service_class_fetch($a->data['user']['uid'],'photo_upload_limit');
@ -1038,6 +1086,25 @@ function photos_content(&$a) {
} }
// Private/public post links for the non-JS ACL form
$private_post = 1;
if($_REQUEST['public'])
$private_post = 0;
$query_str = $a->query_string;
if(strpos($query_str, 'public=1') !== false)
$query_str = str_replace(array('?public=1', '&public=1'), array('', ''), $query_str);
// I think $a->query_string may never have ? in it, but I could be wrong
// It looks like it's from the index.php?q=[etc] rewrite that the web
// server does, which converts any ? to &, e.g. suggest&ignore=61 for suggest?ignore=61
if(strpos($query_str, '?') === false)
$public_post_link = '?public=1';
else
$public_post_link = '&public=1';
$tpl = get_markup_template('photos_upload.tpl'); $tpl = get_markup_template('photos_upload.tpl');
if($a->theme['template_engine'] === 'internal') { if($a->theme['template_engine'] === 'internal') {
@ -1060,9 +1127,20 @@ function photos_content(&$a) {
'$albumselect' => $albumselect_e, '$albumselect' => $albumselect_e,
'$permissions' => t('Permissions'), '$permissions' => t('Permissions'),
'$aclselect' => $aclselect_e, '$aclselect' => $aclselect_e,
'$uploader' => $ret['addon_text'], '$alt_uploader' => $ret['addon_text'],
'$default' => (($ret['default_upload']) ? $default_upload : ''), '$default_upload_box' => (($ret['default_upload']) ? $default_upload_box : ''),
'$uploadurl' => $ret['post_url'] '$default_upload_submit' => (($ret['default_upload']) ? $default_upload_submit : ''),
'$uploadurl' => $ret['post_url'],
// ACL permissions box
'$acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector
'$group_perms' => t('Show to Groups'),
'$contact_perms' => t('Show to Contacts'),
'$private' => t('Private Photo'),
'$public' => t('Public Photo'),
'$is_private' => $private_post,
'$return_path' => $query_str,
'$public_link' => $public_post_link,
)); ));
@ -1372,6 +1450,24 @@ function photos_content(&$a) {
if(($cmd === 'edit') && ($can_post)) { if(($cmd === 'edit') && ($can_post)) {
$edit_tpl = get_markup_template('photo_edit.tpl'); $edit_tpl = get_markup_template('photo_edit.tpl');
// Private/public post links for the non-JS ACL form
$private_post = 1;
if($_REQUEST['public'])
$private_post = 0;
$query_str = $a->query_string;
if(strpos($query_str, 'public=1') !== false)
$query_str = str_replace(array('?public=1', '&public=1'), array('', ''), $query_str);
// I think $a->query_string may never have ? in it, but I could be wrong
// It looks like it's from the index.php?q=[etc] rewrite that the web
// server does, which converts any ? to &, e.g. suggest&ignore=61 for suggest?ignore=61
if(strpos($query_str, '?') === false)
$public_post_link = '?public=1';
else
$public_post_link = '&public=1';
if($a->theme['template_engine'] === 'internal') { if($a->theme['template_engine'] === 'internal') {
$album_e = template_escape($ph[0]['album']); $album_e = template_escape($ph[0]['album']);
$caption_e = template_escape($ph[0]['desc']); $caption_e = template_escape($ph[0]['desc']);
@ -1400,7 +1496,17 @@ function photos_content(&$a) {
'$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'),
'$delete' => t('Delete Photo') '$delete' => t('Delete Photo'),
// ACL permissions box
'$acl_data' => construct_acl_data($a, $ph[0]), // For non-Javascript ACL selector
'$group_perms' => t('Show to Groups'),
'$contact_perms' => t('Show to Contacts'),
'$private' => t('Private photo'),
'$public' => t('Public photo'),
'$is_private' => $private_post,
'$return_path' => $query_str,
'$public_link' => $public_post_link,
)); ));
} }
@ -1418,9 +1524,10 @@ function photos_content(&$a) {
$likebuttons = replace_macros($like_tpl,array( $likebuttons = replace_macros($like_tpl,array(
'$id' => $link_item['id'], '$id' => $link_item['id'],
'$likethis' => t("I like this \x28toggle\x29"), '$likethis' => t("I like this \x28toggle\x29"),
'$nolike' => t("I don't like this \x28toggle\x29"), '$nolike' => (feature_enabled(local_user(), 'dislike') ? t("I don't like this \x28toggle\x29") : ''),
'$share' => t('Share'), '$share' => t('Share'),
'$wait' => t('Please wait') '$wait' => t('Please wait'),
'$return_path' => $a->query_string,
)); ));
} }

View file

@ -198,7 +198,8 @@ function profile_content(&$a, $update = 0) {
'acl' => (($is_owner) ? populate_acl($a->user, $celeb) : ''), 'acl' => (($is_owner) ? populate_acl($a->user, $celeb) : ''),
'bang' => '', 'bang' => '',
'visitor' => (($is_owner || $commvisitor) ? 'block' : 'none'), 'visitor' => (($is_owner || $commvisitor) ? 'block' : 'none'),
'profile_uid' => $a->profile['profile_uid'] 'profile_uid' => $a->profile['profile_uid'],
'acl_data' => ( $is_owner ? construct_acl_data($a, $a->user) : '' ), // For non-Javascript ACL selector
); );
$o .= status_editor($a,$x); $o .= status_editor($a,$x);

View file

@ -1012,6 +1012,25 @@ function settings_content(&$a) {
require_once('include/group.php'); require_once('include/group.php');
$group_select = mini_group_select(local_user(),$a->user['def_gid']); $group_select = mini_group_select(local_user(),$a->user['def_gid']);
// Private/public post links for the non-JS ACL form
$private_post = 1;
if($_REQUEST['public'])
$private_post = 0;
$query_str = $a->query_string;
if(strpos($query_str, 'public=1') !== false)
$query_str = str_replace(array('?public=1', '&public=1'), array('', ''), $query_str);
// I think $a->query_string may never have ? in it, but I could be wrong
// It looks like it's from the index.php?q=[etc] rewrite that the web
// server does, which converts any ? to &, e.g. suggest&ignore=61 for suggest?ignore=61
if(strpos($query_str, '?') === false)
$public_post_link = '?public=1';
else
$public_post_link = '&public=1';
$o .= replace_macros($stpl, array( $o .= replace_macros($stpl, array(
'$ptitle' => t('Account Settings'), '$ptitle' => t('Account Settings'),
@ -1046,6 +1065,17 @@ function settings_content(&$a) {
'$blockwall'=> $blockwall, // array('blockwall', t('Allow friends to post to your profile page:'), !$blockwall, ''), '$blockwall'=> $blockwall, // array('blockwall', t('Allow friends to post to your profile page:'), !$blockwall, ''),
'$blocktags'=> $blocktags, // array('blocktags', t('Allow friends to tag your posts:'), !$blocktags, ''), '$blocktags'=> $blocktags, // array('blocktags', t('Allow friends to tag your posts:'), !$blocktags, ''),
// ACL permissions box
'$acl_data' => construct_acl_data($a, $a->user), // For non-Javascript ACL selector
'$group_perms' => t('Show to Groups'),
'$contact_perms' => t('Show to Contacts'),
'$private' => t('Default Private Post'),
'$public' => t('Default Public Post'),
'$is_private' => $private_post,
'$return_path' => $query_str,
'$public_link' => $public_post_link,
'$settings_perms' => t('Default Permissions for New Posts'),
'$group_select' => $group_select, '$group_select' => $group_select,

View file

@ -28,6 +28,16 @@ function starred_init(&$a) {
intval($message_id) intval($message_id)
); );
// See if we've been passed a return path to redirect to
$return_path = ((x($_REQUEST,'return')) ? $_REQUEST['return'] : '');
if($return_path) {
$rand = '_=' . time();
if(strpos($return_path, '?')) $rand = "&$rand";
else $rand = "?$rand";
goaway($a->get_baseurl() . "/" . $return_path . $rand);
}
// the json doesn't really matter, it will either be 0 or 1 // the json doesn't really matter, it will either be 0 or 1
echo json_encode($starred); echo json_encode($starred);

View file

@ -9,11 +9,39 @@ function suggest_init(&$a) {
return; return;
if(x($_GET,'ignore') && intval($_GET['ignore'])) { if(x($_GET,'ignore') && intval($_GET['ignore'])) {
// Check if we should do HTML-based delete confirmation
if($_REQUEST['confirm']) {
// <form> can't take arguments in its "action" parameter
// so add any arguments as hidden inputs
$query = explode_querystring($a->query_string);
$inputs = array();
foreach($query['args'] as $arg) {
if(strpos($arg, 'confirm=') === false) {
$arg_parts = explode('=', $arg);
$inputs[] = array('name' => $arg_parts[0], 'value' => $arg_parts[1]);
}
}
$a->page['content'] = replace_macros(get_markup_template('confirm.tpl'), array(
'$method' => 'get',
'$message' => t('Do you really want to delete this suggestion?'),
'$extra_inputs' => $inputs,
'$confirm' => t('Yes'),
'$confirm_url' => $query['base'],
'$confirm_name' => 'confirmed',
'$cancel' => t('Cancel'),
));
$a->error = 1; // Set $a->error so the other module functions don't execute
return;
}
// Now check how the user responded to the confirmation query
if(!$_REQUEST['canceled']) {
q("insert into gcign ( uid, gcid ) values ( %d, %d ) ", q("insert into gcign ( uid, gcid ) values ( %d, %d ) ",
intval(local_user()), intval(local_user()),
intval($_GET['ignore']) intval($_GET['ignore'])
); );
} }
}
} }
@ -56,6 +84,7 @@ function suggest_content(&$a) {
'$name' => $rr['name'], '$name' => $rr['name'],
'$photo' => $rr['photo'], '$photo' => $rr['photo'],
'$ignlnk' => $a->get_baseurl() . '/suggest?ignore=' . $rr['id'], '$ignlnk' => $a->get_baseurl() . '/suggest?ignore=' . $rr['id'],
'$ignid' => $rr['id'],
'$conntxt' => t('Connect'), '$conntxt' => t('Connect'),
'$connlnk' => $connlnk, '$connlnk' => $connlnk,
'$ignore' => t('Ignore/Hide') '$ignore' => t('Ignore/Hide')

View file

@ -588,7 +588,7 @@ class Item extends BaseObject {
$qcomment = (($qc) ? explode("\n",$qc) : null); $qcomment = (($qc) ? explode("\n",$qc) : null);
} }
$comment_box = replace_macros($template,array( $comment_box = replace_macros($template,array(
'$return_path' => '', '$return_path' => $a->query_string,
'$threaded' => $this->is_threaded(), '$threaded' => $this->is_threaded(),
// '$jsreload' => (($conv->get_mode() === 'display') ? $_SESSION['return_url'] : ''), // '$jsreload' => (($conv->get_mode() === 'display') ? $_SESSION['return_url'] : ''),
'$jsreload' => '', '$jsreload' => '',

View file

@ -7,7 +7,7 @@
<input type="hidden" name="type" value="$type" /> <input type="hidden" name="type" value="$type" />
<input type="hidden" name="profile_uid" value="$profile_uid" /> <input type="hidden" name="profile_uid" value="$profile_uid" />
<input type="hidden" name="parent" value="$parent" /> <input type="hidden" name="parent" value="$parent" />
<input type="hidden" name="return" value="$return_path" /> {#<!--<input type="hidden" name="return" value="$return_path" />-->#}
<input type="hidden" name="jsreload" value="$jsreload" /> <input type="hidden" name="jsreload" value="$jsreload" />
<input type="hidden" name="preview" id="comment-preview-inp-$id" value="0" /> <input type="hidden" name="preview" id="comment-preview-inp-$id" value="0" />
<input type="hidden" name="post_id_random" value="$rand_num" /> <input type="hidden" name="post_id_random" value="$rand_num" />

14
view/confirm.tpl Normal file
View file

@ -0,0 +1,14 @@
<center>
<form action="$confirm_url" id="confirm-form" method="$method">
<span id="confirm-message">$message</span>
{{ for $extra_inputs as $input }}
<input type="hidden" name="$input.name" value="$input.value" />
{{ endfor }}
<input class="confirm-button" id="confirm-submit-button" type="submit" name="$confirm_name" value="$confirm" />
<input class="confirm-button" id="confirm-cancel-button" type="submit" name="canceled" value="$cancel" />
</form>
</center>

View file

@ -11,7 +11,13 @@
<span onclick="openClose('contact-photo-menu-$contact.id');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-$contact.id">menu</span> <span onclick="openClose('contact-photo-menu-$contact.id');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-$contact.id">menu</span>
<div class="contact-photo-menu" id="contact-photo-menu-$contact.id"> <div class="contact-photo-menu" id="contact-photo-menu-$contact.id">
<ul> <ul>
$contact.photo_menu {{ for $contact.photo_menu as $c }}
{{ if $c.2 }}
<li><a target="redir" href="$c.1">$c.0</a></li>
{{ else }}
<li><a href="$c.1">$c.0</a></li>
{{ endif }}
{{ endfor }}
</ul> </ul>
</div> </div>
{{ endif }} {{ endif }}

View file

@ -1,5 +1,7 @@
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$id"> <div class="wall-item-like-buttons" id="wall-item-like-buttons-$id">
<a href="#" class="icon like" title="$likethis" onclick="dolike($id,'like'); return false"></a> <a href="#" class="icon like" title="$likethis" onclick="dolike($id,'like'); return false"></a>
{{ if $nolike }}
<a href="#" class="icon dislike" title="$nolike" onclick="dolike($id,'dislike'); return false"></a> <a href="#" class="icon dislike" title="$nolike" onclick="dolike($id,'dislike'); return false"></a>
{{ endif }}
<img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" /> <img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
</div> </div>

17
view/manage.tpl Normal file
View file

@ -0,0 +1,17 @@
<h3>$title</h3>
<div id="identity-manage-desc">$desc</div>
<div id="identity-manage-choose">$choose</div>
<div id="identity-selector-wrapper">
<form action="manage" method="post" >
<select name="identity" size="4" onchange="this.form.submit();" >
{{ for $identities as $id }}
<option $id.selected value="$id.uid">$id.username ($id.nickname)</option>
{{ endfor }}
</select>
<div id="identity-select-break"></div>
{#<!--<input id="identity-submit" type="submit" name="submit" value="$submit" />-->#}
</div></form>

103
view/navigation.tpl Normal file
View file

@ -0,0 +1,103 @@
{#
# LOGIN/REGISTER
#}
<center>
{# Use nested if's since the Friendica template engine doesn't support AND or OR in if statements #}
{{ if $nav.login }}
<div id="navigation-login-wrapper" >
{{ else }}
{{ if $nav.register }}
<div id="navigation-login-wrapper" >
{{ endif }}
{{ endif }}
{{ if $nav.login }}<a id="navigation-login-link" class="navigation-link $nav.login.2" href="$nav.login.0" title="$nav.login.3" >$nav.login.1</a><br/> {{ endif }}
{{ if $nav.register }}<a id="navigation-register-link" class="navigation-link $nav.register.2 $sel.register" href="$nav.register.0" title="$nav.register.3" >$nav.register.1</a><br/>{{ endif }}
{{ if $nav.login }}
</div>
{{ else }}
{{ if $nav.register }}
</div>
{{ endif }}
{{ endif }}
{#
# NETWORK/HOME
#}
{{ if $nav.network }}
<div id="navigation-network-wrapper" >
{{ else }}
{{ if $nav.home }}
<div id="navigation-network-wrapper" >
{{ else }}
{{ if $nav.community }}
<div id="navigation-network-wrapper" >
{{ endif }}
{{ endif }}
{{ endif }}
{{ if $nav.network }}
<a id="navigation-network-link" class="navigation-link navigation-commlink $nav.network.2 $sel.network" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a><br/>
<a class="navigation-link navigation-commlink" href="$nav.net_reset.0" title="$nav.net_reset.3">$nav.net_reset.1</a><br/>
{{ endif }}
{{ if $nav.home }}
<a id="navigation-home-link" class="navigation-link navigation-commlink $nav.home.2 $sel.home" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a><br/>
{{ endif }}
{{ if $nav.community }}
<a id="navigation-community-link" class="navigation-link navigation-commlink $nav.community.2 $sel.community" href="$nav.community.0" title="$nav.community.3" >$nav.community.1</a><br/>
{{ endif }}
{{ if $nav.network }}
</div>
{{ else }}
{{ if $nav.home }}
</div>
{{ else }}
{{ if $nav.community }}
</div>
{{ endif }}
{{ endif }}
{{ endif }}
{#
# PRIVATE MESSAGES
#}
{{ if $nav.messages }}
<div id="navigation-messages-wrapper">
<a id="navigation-messages-link" class="navigation-link navigation-commlink $nav.messages.2 $sel.messages" href="$nav.messages.0" title="$nav.messages.3" >$nav.messages.1</a><br/>
</div>
{{ endif }}
{#
# CONTACTS
#}
<div id="navigation-contacts-wrapper">
{{ if $nav.contacts }}<a id="navigation-contacts-link" class="navigation-link $nav.contacts.2" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a><br/>{{ endif }}
<a id="navigation-directory-link" class="navigation-link $nav.directory.2" href="$nav.directory.0" title="$nav.directory.3" >$nav.directory.1</a><br/>
{{ if $nav.introductions }}
<a id="navigation-notify-link" class="navigation-link navigation-commlink $nav.introductions.2 $sel.introductions" href="$nav.introductions.0" title="$nav.introductions.3" >$nav.introductions.1</a><br/>
{{ endif }}
</div>
{#
# NOTIFICATIONS
#}
{{ if $nav.notifications }}
<div id="navigation-notifications-wrapper">
<a id="navigation-notifications-link" class="navigation-link navigation-commlink" href="$nav.notifications.0" rel="#navigation-notifications-menu" title="$nav.notifications.1">$nav.notifications.1</a><br/>
</div>
{{ endif }}
{#
# MISCELLANEOUS
#}
<div id="navigation-misc-wrapper">
{{ if $nav.settings }}<a id="navigation-settings-link" class="navigation-link $nav.settings.2" href="$nav.settings.0" title="$nav.settings.3">$nav.settings.1</a><br/>{{ endif }}
{{ if $nav.manage }}<a id="navigation-manage-link" class="navigation-link navigation-commlink $nav.manage.2 $sel.manage" href="$nav.manage.0" title="$nav.manage.3">$nav.manage.1</a><br/>{{ endif }}
{{ if $nav.profiles }}<a id="navigation-profiles-link" class="navigation-link $nav.profiles.2" href="$nav.profiles.0" title="$nav.profiles.3" >$nav.profiles.1</a><br/>{{ endif }}
{{ if $nav.admin }}<a id="navigation-admin-link" class="navigation-link $nav.admin.2" href="$nav.admin.0" title="$nav.admin.3" >$nav.admin.1</a><br/>{{ endif }}
<a id="navigation-search-link" class="navigation-link $nav.search.2" href="$nav.search.0" title="$nav.search.3" >$nav.search.1</a><br/>
{{ if $nav.apps }}<a id="navigation-apps-link" class="navigation-link $nav.apps.2" href="$nav.apps.0" title="$nav.apps.3" >$nav.apps.1</a><br/>{{ endif }}
{{ if $nav.help }} <a id="navigation-help-link" class="navigation-link $nav.help.2" target="friendica-help" href="$nav.help.0" title="$nav.help.3" >$nav.help.1</a><br/>{{ endif }}
</div>
{{ if $nav.logout }}<a id="navigation-logout-link" class="navigation-link $nav.logout.2" href="$nav.logout.0" title="$nav.logout.3" >$nav.logout.1</a><br/>{{ endif }}
</center>

View file

@ -0,0 +1 @@
<input id="photos-upload-choose" type="file" name="userfile" />

View file

@ -0,0 +1,3 @@
<div class="photos-upload-submit-wrapper" >
<input type="submit" name="submit" value="$submit" id="photos-upload-submit" />
</div>

View file

@ -39,9 +39,10 @@
<div id="photos-upload-spacer"></div> <div id="photos-upload-spacer"></div>
$uploader $alt_uploader
$default $default_upload_box
$default_upload_submit
<div class="photos-upload-end" ></div> <div class="photos-upload-end" ></div>
</form> </form>

View file

@ -3,7 +3,7 @@
<input type="hidden" name="type" value="$type" /> <input type="hidden" name="type" value="$type" />
<input type="hidden" name="profile_uid" value="$profile_uid" /> <input type="hidden" name="profile_uid" value="$profile_uid" />
<input type="hidden" name="parent" value="$parent" /> <input type="hidden" name="parent" value="$parent" />
<input type="hidden" name="return" value="$return_path" /> {#<!--<input type="hidden" name="return" value="$return_path" />-->#}
<input type="hidden" name="jsreload" value="$jsreload" /> <input type="hidden" name="jsreload" value="$jsreload" />
<input type="hidden" name="preview" id="comment-preview-inp-$id" value="0" /> <input type="hidden" name="preview" id="comment-preview-inp-$id" value="0" />
<input type="hidden" name="post_id_random" value="$rand_num" /> <input type="hidden" name="post_id_random" value="$rand_num" />

View file

@ -3,7 +3,7 @@
<input type="hidden" name="type" value="$type" /> <input type="hidden" name="type" value="$type" />
<input type="hidden" name="profile_uid" value="$profile_uid" /> <input type="hidden" name="profile_uid" value="$profile_uid" />
<input type="hidden" name="parent" value="$parent" /> <input type="hidden" name="parent" value="$parent" />
<input type="hidden" name="return" value="$return_path" /> {#<!--<input type="hidden" name="return" value="$return_path" />-->#}
<input type="hidden" name="jsreload" value="$jsreload" /> <input type="hidden" name="jsreload" value="$jsreload" />
<input type="hidden" name="preview" id="comment-preview-inp-$id" value="0" /> <input type="hidden" name="preview" id="comment-preview-inp-$id" value="0" />
<input type="hidden" name="post_id_random" value="$rand_num" /> <input type="hidden" name="post_id_random" value="$rand_num" />

View file

@ -0,0 +1,31 @@
Photo album display?
- The "lock" icon for private items
- change it to black?
- when clicked, the popup window displays poorly
- Edit photo page: bottom buttons are off-center in Dolphin Mini
- BB code buttons for status updates
- Get "add contact" back on contacts page
- Allow creating a new private message
- Admin: access to more pages than summary?
- Find a way to show embedded videos at the normal size for tablets that can handle it
- Need to find a way to deal with freakin annoying elements that don't respect screen width limits.
Specifically, need to find a way to keep them from forcing a horizontal scroll bar to show up and
making the rest of the body text overflow the item's borders that is screen-width sensitive (it's
annoying to have a 300px truncated code block on a 1024px wide screen). At least the following cause problems:
- code blocks
- blockquote blocks
- #reallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallyreallylongtags
- Needs to be faster!
- Reduce DOM elements (~2400 for 10 items, ~8400 for 40 items)
- Sometimes, when "Permission denied", wrong login page is shown

View file

@ -0,0 +1,29 @@
<a name="acl-wrapper-target"></a>
<div id="acl-wrapper">
<div id="acl-public-switch">
<a href="$return_path#acl-wrapper-target" {{ if $is_private == 1 }}class="acl-public-switch-selected"{{ endif }} >$private</a>
<a href="$return_path$public_link#acl-wrapper-target" {{ if $is_private == 0 }}class="acl-public-switch-selected"{{ endif }} >$public</a>
</div>
<div id="acl-list">
<div id="acl-list-content">
<div id="acl-html-groups" class="acl-html-select-wrapper">
$group_perms<br />
<select name="group_allow[]" multiple {{ if $is_private == 0 }}disabled{{ endif }} id="acl-html-group-select" class="acl-html-select" size=7>
{{ for $acl_data.groups as $group }}
<option value="$group.id" {{ if $is_private == 1 }}{{ if $group.selected }}selected{{ endif }}{{ endif }}>$group.name</option>
{{ endfor }}
</select>
</div>
<div id="acl-html-contacts" class="acl-html-select-wrapper">
$contact_perms<br />
<select name="contact_allow[]" multiple {{ if $is_private == 0 }}disabled{{ endif }} id="acl-html-contact-select" class="acl-html-select" size=7>
{{ for $acl_data.contacts as $contact }}
<option value="$contact.id" {{ if $is_private == 1 }}{{ if $contact.selected }}selected{{ endif }}{{ endif }}>$contact.name ($contact.networkName)</option>
{{ endfor }}
</select>
</div>
</div>
</div>
<span id="acl-fields"></span>
</div>

View file

@ -0,0 +1,23 @@
<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 data-src="{0}"><p>{1}</p>
<a href="#" class='acl-button-show'>$show</a>
<a href="#" class='acl-button-hide'>$hide</a>
</div>
{#<!--<script>
window.allowCID = $allowcid;
window.allowGID = $allowgid;
window.denyCID = $denycid;
window.denyGID = $denygid;
window.aclInit = "true";
</script>-->#}

View file

@ -0,0 +1,31 @@
<h4><a href="$admurl">$admtxt</a></h4>
<ul class='admin linklist'>
<li class='admin button $admin.site.2'><a href='$admin.site.0'>$admin.site.1</a></li>
<li class='admin 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 button $admin.plugins.2'><a href='$admin.plugins.0'>$admin.plugins.1</a></li>
<li class='admin button $admin.themes.2'><a href='$admin.themes.0'>$admin.themes.1</a></li>
<li class='admin 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 button $admin.update.2'><a href='$admin.update.0'>$admin.update.1</a></li>
<li class='admin button $admin.update.2'><a href='https://kakste.com/profile/inthegit'>Important Changes</a></li>
</ul>
{{ endif }}
{{ if $admin.plugins_admin }}<h4>$plugadmtxt</h4>{{ endif }}
<ul class='admin linklist'>
{{ for $admin.plugins_admin as $l }}
<li class='admin button $l.2'><a href='$l.0'>$l.1</a></li>
{{ endfor }}
</ul>
<h4>$logtxt</h4>
<ul class='admin linklist'>
<li class='admin button $admin.logs.2'><a href='$admin.logs.0'>$admin.logs.1</a></li>
</ul>

View file

@ -0,0 +1,61 @@
<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'>
{{ inc field_input.tpl with $field=$sitename }}{{ endinc }}
{{ inc field_textarea.tpl with $field=$banner }}{{ endinc }}
{{ inc field_select.tpl with $field=$language }}{{ endinc }}
{{ inc field_select.tpl with $field=$theme }}{{ endinc }}
{{ inc field_select.tpl with $field=$theme_mobile }}{{ endinc }}
{{ inc field_select.tpl with $field=$ssl_policy }}{{ endinc }}
<div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
<h3>$registration</h3>
{{ inc field_input.tpl with $field=$register_text }}{{ endinc }}
{{ inc field_select.tpl with $field=$register_policy }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$no_multi_reg }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$no_openid }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$no_regfullname }}{{ endinc }}
<div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
<h3>$upload</h3>
{{ inc field_input.tpl with $field=$maximagesize }}{{ endinc }}
{{ inc field_input.tpl with $field=$maximagelength }}{{ endinc }}
{{ inc field_input.tpl with $field=$jpegimagequality }}{{ endinc }}
<h3>$corporate</h3>
{{ inc field_input.tpl with $field=$allowed_sites }}{{ endinc }}
{{ inc field_input.tpl with $field=$allowed_email }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$block_public }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$force_publish }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$no_community_page }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$ostatus_disabled }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$diaspora_enabled }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$dfrn_only }}{{ endinc }}
{{ inc field_input.tpl with $field=$global_directory }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$thread_allow }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$newuser_private }}{{ endinc }}
<div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
<h3>$advanced</h3>
{{ inc field_checkbox.tpl with $field=$no_utf }}{{ endinc }}
{{ inc field_checkbox.tpl with $field=$verifyssl }}{{ endinc }}
{{ inc field_input.tpl with $field=$proxy }}{{ endinc }}
{{ inc field_input.tpl with $field=$proxyuser }}{{ endinc }}
{{ inc field_input.tpl with $field=$timeout }}{{ endinc }}
{{ inc field_input.tpl with $field=$delivery_interval }}{{ endinc }}
{{ inc field_input.tpl with $field=$poll_interval }}{{ endinc }}
{{ inc field_input.tpl with $field=$maxloadavg }}{{ endinc }}
{{ inc field_input.tpl with $field=$abandon_days }}{{ endinc }}
<div class="submit"><input type="submit" name="page_site" value="$submit" /></div>
</form>
</div>

View file

@ -0,0 +1,98 @@
<script>
function confirm_delete(uname){
return confirm( "$confirm_delete".format(uname));
}
function confirm_delete_multi(){
return confirm("$confirm_delete_multi");
}
{#/*function selectall(cls){
$j("."+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>
{{ for $th_pending as $th }}<th>$th</th>{{ endfor }}
<th></th>
<th></th>
</tr>
</thead>
<tbody>
{{ for $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='tool like'></span></a>
<a href="$baseurl/regmod/deny/$u.hash" title='$deny'><span class='tool dislike'></span></a>
</td>
</tr>
{{ endfor }}
</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>
{{ endif }}
<h3>$h_users</h3>
{{ if $users }}
<table id='users'>
<thead>
<tr>
<th></th>
{{ for $th_users as $th }}<th>$th</th>{{ endfor }}
<th></th>
<th></th>
</tr>
</thead>
<tbody>
{{ for $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 {{ if $u.is_admin }}($siteadmin){{ endif }}</td>
<td class="checkbox">
{{ if $u.is_admin }}
&nbsp;
{{ else }}
<input type="checkbox" class="users_ckbx" id="id_user_$u.uid" name="user[]" value="$u.uid"/></td>
{{ endif }}
<td class="tools">
{{ if $u.is_admin }}
&nbsp;
{{ else }}
<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/delete/$u.uid?t=$form_security_token" title='$delete' onclick="return confirm_delete('$u.name')"><span class='icon drop'></span></a>
{{ endif }}
</td>
</tr>
{{ endfor }}
</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?!?
{{ endif }}
</form>
</div>

View 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" >
<input id="photo-album-edit-form-confirm" type="hidden" name="confirm" value="1" />
<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(function(){remove('photo-album-edit-form-confirm');});" />
</form>
</div>
<div id="photo-album-edit-end" ></div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 B

View file

@ -0,0 +1,12 @@
{#<!--<div id="categories-sidebar" class="widget">
<h3>$title</h3>
<div id="nets-desc">$desc</div>
<ul class="categories-ul">
<li class="tool"><a href="$base" class="categories-link categories-all{{ if $sel_all }} categories-selected{{ endif }}">$all</a></li>
{{ for $terms as $term }}
<li class="tool"><a href="$base?f=&category=$term.name" class="categories-link{{ if $term.selected }} categories-selected{{ endif }}">$term.name</a></li>
{{ endfor }}
</ul>
</div>-->#}

View file

@ -0,0 +1,79 @@
{#<!-- <script>
$(document).ready( function () {
$(document).mouseup(function(e) {
var container = $("#comment-edit-wrapper-$id");
if( container.has(e.target).length === 0) {
commentClose(document.getElementById('comment-edit-text-$id'),$id);
cmtBbClose($id);
}
});
});
</script>-->#}
<div class="comment-wwedit-wrapper $indent" id="comment-edit-wrapper-$id" style="display: block;" >
<a name="comment-wwedit-wrapper-pos"></a>
<form class="comment-edit-form $indent" id="comment-edit-form-$id" action="item" method="post" >
{#<!-- <span id="hide-commentbox-$id" class="hide-commentbox fakelink" onclick="showHideCommentBox($id);">$comment</span>
<form class="comment-edit-form" style="display: none;" 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="source" value="$sourceapp" />
<input type="hidden" name="profile_uid" value="$profile_uid" />
<input type="hidden" name="parent" value="$parent" />
<input type="hidden" name="return" value="$return_path#comment-wwedit-wrapper-pos" />
<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 comment-edit-photo-link" id="comment-edit-photo-$id" 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($id);" onBlur="commentClose(this,$id);cmtBbClose($id);" >$comment</textarea>-->#}
<textarea id="comment-edit-text-$id" class="comment-edit-text-full" name="body" ></textarea>
{#<!--{{ if $qcomment }}
<select id="qcomment-select-$id" name="qcomment-$id" class="qcomment" onchange="qCommentInsert(this,$id);" >
<option value=""></option>
{{ for $qcomment as $qc }}
<option value="$qc">$qc</option>
{{ endfor }}
</select>
{{ endif }}-->#}
<div class="comment-edit-text-end"></div>
<div class="comment-edit-submit-wrapper" id="comment-edit-submit-wrapper-$id" >
<input type="submit" id="comment-edit-submit-$id" class="comment-edit-submit" name="submit" value="$submit" />
{#<!--<span onclick="preview_comment($id);" id="comment-edit-preview-link-$id" class="preview-link fakelink">$preview</span>
<div id="comment-edit-preview-$id" class="comment-edit-preview" style="display:none;"></div>-->#}
</div>
{#<!--<div class="comment-edit-end"></div>-->#}
</form>
</div>

View file

@ -0,0 +1,6 @@
<ul class="tabs">
{{ for $tabs as $tab }}
<li id="$tab.id"><a href="$tab.url" class="tab button $tab.sel"{{ if $tab.title }} title="$tab.title"{{ endif }}>$tab.label</a></li>
{{ endfor }}
<div id="tabs-end"></div>
</ul>

View file

@ -0,0 +1,12 @@
{#<!--<div id="contact-block">
<h4 class="contact-block-h4">$contacts</h4>
{{ if $micropro }}
<a class="allcontact-link" href="viewcontacts/$nickname">$viewcontacts</a>
<div class='contact-block-content'>
{{ for $micropro as $m }}
$m
{{ endfor }}
</div>
{{ endif }}
</div>
<div class="clear"></div>-->#}

View file

@ -0,0 +1,93 @@
<h2>$header</h2>
<div id="contact-edit-wrapper" >
$tab_str
<div id="contact-edit-drop-link-wrapper" >
<a href="contacts/$contact_id/drop?confirm=1" class="icon drophide" id="contact-edit-drop-link" onclick="id=this.id;return confirmDelete(function(){changeHref(id, 'contacts/$contact_id/drop')});" title="$delete" {#onmouseover="imgbright(this);" onmouseout="imgdull(this);"#}></a>
</div>
<div id="contact-edit-drop-link-end"></div>
<div class="vcard">
<div class="fn">$name</div>
<div id="profile-photo-wrapper"><img class="photo" style="width: 175px; height: 175px;" src="$photo" alt="$name" /></div>
</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>
{{ endif }}
{{ if $insecure }}
<li><div id="insecure-message">$insecure</div></li>
{{ endif }}
{{ if $blocked }}
<li><div id="block-message">$blocked</div></li>
{{ endif }}
{{ if $ignored }}
<li><div id="ignore-message">$ignored</div></li>
{{ endif }}
{{ if $archived }}
<li><div id="archive-message">$archived</div></li>
{{ endif }}
<li>&nbsp;</li>
{{ if $common_text }}
<li><div id="contact-edit-common"><a href="$common_link">$common_text</a></div></li>
{{ endif }}
{{ if $all_friends }}
<li><div id="contact-edit-allfriends"><a href="allfriends/$contact_id">$all_friends</a></div></li>
{{ endif }}
<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>
{{ endif }}
</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">
{{ 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 $poll_interval</span> <span id="contact-edit-update-now" class="button"><a id="update_now_link" href="contacts/$contact_id/update" >$udnow</a></span>
</div>
{{ endif }}
<div id="contact-edit-end" ></div>
{{inc field_checkbox.tpl with $field=$hidden }}{{endinc}}
<div id="contact-edit-info-wrapper">
<h4>$lbl_info1</h4>
<textarea id="contact-edit-info" rows="8"{# cols="35"#} 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>

View file

View file

@ -0,0 +1,38 @@
<div class="contact-entry-wrapper" id="contact-entry-wrapper-$contact.id" >
<div class="contact-entry-photo-wrapper" >
<div class="contact-entry-photo mframe" id="contact-entry-photo-$contact.id"
{#onmouseover="if (typeof t$contact.id != 'undefined') clearTimeout(t$contact.id);"
onmouseout="t$contact.id=setTimeout('closeMenu(\'contact-photo-menu-$contact.id\');',200)"#} >
{#<!-- <a href="$contact.url" title="$contact.img_hover" /><img src="$contact.thumb" $contact.sparkle alt="$contact.name" /></a>-->#}
{#<!--<span onclick="openClose('contact-photo-menu-$contact.id');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-$contact.id">-->#}
<a href="$contact.photo_menu.edit.1" title="$contact.photo_menu.edit.0">
<img src="$contact.thumb" $contact.sparkle alt="$contact.name" />
</a>
{#<!--</span>-->#}
{#<!-- {{ if $contact.photo_menu }}
<span onclick="openClose('contact-photo-menu-$contact.id');" class="fakelink contact-photo-menu-button" id="contact-photo-menu-button-$contact.id">menu</span>
<div class="contact-photo-menu" id="contact-photo-menu-$contact.id">
<ul>
{{ for $contact.photo_menu as $c }}
{{ if $c.2 }}
<li><a target="redir" href="$c.1">$c.0</a></li>
{{ else }}
<li><a href="$c.1">$c.0</a></li>
{{ endif }}
{{ endfor }}
</ul>
</div>
{{ endif }}-->#}
</div>
</div>
<div class="contact-entry-photo-end" ></div>
<div class="contact-entry-name" id="contact-entry-name-$contact.id" >$contact.name</div><br />
{{ if $contact.alt_text }}<div class="contact-entry-details" id="contact-entry-rel-$contact.id" >$contact.alt_text</div>{{ endif }}
<div class="contact-entry-network" id="contact-entry-network-$contact.id" >$contact.network</div>
<div class="contact-entry-end" ></div>
</div>

View file

@ -0,0 +1,4 @@
{#<!--
<script src="$baseurl/library/jquery_ac/friendica.complete.min.js" ></script>
-->#}

View file

@ -0,0 +1,5 @@
{#<!--
<script>
window.autocompleteType = 'contacts-head';
</script>
-->#}

View file

@ -0,0 +1,28 @@
<h1>$header{{ if $total }} ($total){{ endif }}</h1>
{{ if $finding }}<h4>$finding</h4>{{ endif }}
<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
<div id="contacts-display-wrapper">
{{ for $contacts as $contact }}
{{ inc contact_template.tpl }}{{ endinc }}
{{ endfor }}
</div>
<div id="contact-edit-end"></div>
$paginate

View file

@ -0,0 +1,2 @@
$follow_widget

View file

@ -0,0 +1,29 @@
$live_update
{{ for $threads as $thread }}
<div id="tread-wrapper-$thread.id" class="tread-wrapper">
{{ for $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;">
{{endif}}
{{if $item.comment_lastcollapsed}}</div>{{endif}}
{{ inc $item.template }}{{ endinc }}
{{ endfor }}
</div>
{{ endfor }}
<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>
{{ endif }}-->#}

View file

@ -0,0 +1,27 @@
<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>
<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="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>

View 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>
<script type="text/javascript" language="javascript">initCrop();</script>-->#}

View file

@ -0,0 +1 @@
<link rel="stylesheet" href="library/cropper/cropper.css" type="text/css" />

View file

@ -0,0 +1,44 @@
<!DOCTYPE html >
<html>
<head>
<title><?php if(x($page,'title')) echo $page['title'] ?></title>
<script>var baseurl="<?php echo $a->get_baseurl() ?>";</script>
<?php if(x($page,'htmlhead')) echo $page['htmlhead'] ?>
</head>
<body <?php if($a->module === 'home') echo 'onLoad="setTimeout(\'homeRedirect()\', 1500)"'?>>
<?php if(x($page,'nav')) echo $page['nav']; ?>
<?php if( $a->module === 'home' ) { ?>
<center>
<div class="login-button">
<a href="login" class="login-button-link"><img class="login-button-image" src="images/friendica-1600.png" title="Click to log in"></a>
</div>
</center>
<?php } elseif ( $a->module === 'login' || $a->module === 'register' || $a->module === 'lostpass' ) {
?>
<div class='section-wrapper'>
<section><?php if(x($page,'content')) echo $page['content']; ?>
</section>
</div>
<footer><?php if(x($page,'footer')) echo $page['footer']; ?></footer>
<?php } else { ?>
<div class='main-container'>
<!-- <div class='main-content-container'>-->
<div class='section-wrapper'>
<?php if( ($a->module === 'settings' || $a->module === 'message' || $a->module === 'profile') && x($page,'aside')) echo $page['aside']; ?>
<section><?php if(x($page,'content')) echo $page['content']; ?>
<div id="page-footer"></div>
</section>
</div>
<right_aside><?php if(x($page,'right_aside')) echo $page['right_aside']; ?></right_aside>
<?php if( ($a->module === 'contacts') && x($page,'aside')) echo $page['aside']; ?>
<footer><?php if(x($page,'footer')) echo $page['footer']; ?></footer>
<!-- </div>-->
</div>
<?php } ?>
<?php if(x($page,'end')) echo $page['end']; ?>
</body>
</html>

View file

@ -0,0 +1,4 @@
{#<!--<script>
window.autoCompleteType = 'display-head';
</script>
-->#}

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View file

@ -0,0 +1,24 @@
<!--[if IE]>
<script type="text/javascript" src="https://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
{#<!--<script type="text/javascript" src="$baseurl/library/tinymce/jscripts/tiny_mce/tiny_mce.js" ></script>
<script type="text/javascript">
tinyMCE.init({ mode : "none"});
</script>-->#}
{#<!--<script type="text/javascript" src="$baseurl/js/jquery.js" ></script>
<script type="text/javascript">var $j = jQuery.noConflict();</script>
<script type="text/javascript" src="$baseurl/view/theme/decaf-mobile/js/jquery.divgrow-1.3.1.f1.js" ></script>
<script type="text/javascript" src="$baseurl/js/jquery.textinputs.js" ></script>
<script type="text/javascript" src="$baseurl/view/theme/decaf-mobile/js/fk.autocomplete.js" ></script>-->#}
{#<!--<script type="text/javascript" src="$baseurl/library/fancybox/jquery.fancybox-1.3.4.pack.js"></script>-->#}
{#<!--<script type="text/javascript" src="$baseurl/library/tiptip/jquery.tipTip.minified.js"></script>-->#}
{#<!--<script type="text/javascript" src="$baseurl/library/jgrowl/jquery.jgrowl_minimized.js"></script>
<script type="text/javascript" src="$baseurl/view/theme/decaf-mobile/js/acl.js" ></script>
<script type="text/javascript" src="$baseurl/js/webtoolkit.base64.js" ></script>
<script type="text/javascript" src="$baseurl/view/theme/decaf-mobile/js/main.js" ></script>-->#}
<script type="text/javascript" src="$baseurl/view/theme/decaf-mobile/js/theme.js"></script>
<!--<script type="text/javascript" src="$baseurl/view/theme/decaf-mobile/js/jquery.package.js" ></script>
<script type="text/javascript">var $j = jQuery.noConflict();</script>
<script type="text/javascript" src="$baseurl/view/theme/decaf-mobile/js/decaf-mobile.package.js" ></script>-->

View file

@ -0,0 +1,4 @@
{#<!--<script language="javascript" type="text/javascript"
src="$baseurl/library/fullcalendar/fullcalendar.min.js"></script>
-->#}

View file

@ -0,0 +1,6 @@
<link rel='stylesheet' type='text/css' href='$baseurl/library/fullcalendar/fullcalendar.css' />
{#<!--
<script language="javascript" type="text/javascript">
window.aclType = 'event_head';
</script>
-->#}

View file

@ -0,0 +1,6 @@
<div class='field checkbox' id='div_id_$field.0'>
<label id='label_id_$field.0' for='id_$field.0'>$field.1</label>
<input type="checkbox" name='$field.0' id='id_$field.0' value="1" {{ if $field.2 }}checked="checked"{{ endif }}><br />
<span class='field_help' id='help_id_$field.0'>$field.3</span>
</div>

View file

@ -0,0 +1,6 @@
<div class='field input' id='wrapper_$field.0'>
<label for='id_$field.0'>$field.1</label><br />
<input name='$field.0' id='id_$field.0' value="$field.2">
<span class='field_help'>$field.3</span>
</div>

View file

@ -0,0 +1,6 @@
<div class='field input openid' id='wrapper_$field.0'>
<label for='id_$field.0'>$field.1</label><br />
<input name='$field.0' id='id_$field.0' value="$field.2">
<span class='field_help'>$field.3</span>
</div>

View file

@ -0,0 +1,6 @@
<div class='field password' id='wrapper_$field.0'>
<label for='id_$field.0'>$field.1</label><br />
<input type='password' name='$field.0' id='id_$field.0' value="$field.2">
<span class='field_help'>$field.3</span>
</div>

View file

@ -0,0 +1,9 @@
<div class='field select'>
<label for='id_$field.0'>$field.1</label>
<select name='$field.0' id='id_$field.0' {#{{ if $field.5 }}onchange="previewTheme(this);"{{ endif }}#} >
{{ for $field.4 as $opt=>$val }}<option value="$opt" {{ if $opt==$field.2 }}selected="selected"{{ endif }}>$val</option>{{ endfor }}
</select>
<span class='field_help'>$field.3</span>
<div id="theme-preview"></div>
</div>

View file

@ -0,0 +1,14 @@
{#<!-- <div class='field yesno'>
<label for='id_$field.0'>$field.1</label>
<div class='onoff' id="id_$field.0_onoff">
<input type="hidden" name='$field.0' id='id_$field.0' value="$field.2">
<a href="#" class='off'>
{{ if $field.4 }}$field.4.0{{ else }}OFF{{ endif }}
</a>
<a href="#" class='on'>
{{ if $field.4 }}$field.4.1{{ else }}ON{{ endif }}
</a>
</div>
<span class='field_help'>$field.3</span>
</div>-->#}
{{ inc field_checkbox.tpl }}{{ endinc }}

Binary file not shown.

After

Width:  |  Height:  |  Size: 615 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 699 B

View file

@ -0,0 +1,12 @@
<div class="widget{{ if $class }} $class{{ endif }}">
{#<!-- {{if $title}}<h3>$title</h3>{{endif}}-->#}
{{if $desc}}<div class="desc">$desc</div>{{endif}}
<ul class="tabs links-widget">
{{ for $items as $item }}
<li class="tool"><a href="$item.url" class="tab {{ if $item.selected }}selected{{ endif }}">$item.label</a></li>
{{ endfor }}
<div id="tabs-end"></div>
</ul>
</div>

View file

@ -0,0 +1,9 @@
<div class="group-delete-wrapper button" id="group-delete-wrapper-$id" >
<a href="group/drop/$id?t=$form_security_token"
onclick="return confirmDelete();"
id="group-delete-icon-$id"
class="icon drophide group-delete-icon"
{#onmouseover="imgbright(this);"
onmouseout="imgdull(this);"#} ></a>
</div>
<div class="group-delete-end"></div>

View file

@ -0,0 +1,33 @@
<div class="widget" id="group-sidebar">
<h3>$title</h3>
<div id="sidebar-group-list">
<ul id="sidebar-group-ul">
{{ for $groups as $group }}
<li class="sidebar-group-li">
{{ if $group.cid }}
<input type="checkbox"
class="{{ if $group.selected }}ticked{{ else }}unticked {{ endif }} action"
{#onclick="contactgroupChangeMember('$group.id','$group.cid');return true;"#}
{{ if $group.ismember }}checked="checked"{{ endif }}
/>
{{ endif }}
{{ if $group.edit }}
<a class="groupsideedit" href="$group.edit.href" title="$edittext"><span id="edit-sidebar-group-element-$group.id" class="group-edit-icon iconspacer small-pencil"></span></a>
{{ endif }}
<a id="sidebar-group-element-$group.id" class="sidebar-group-element {{ if $group.selected }}group-selected{{ endif }}" href="$group.href">$group.text</a>
</li>
{{ endfor }}
</ul>
</div>
<div id="sidebar-new-group">
<a href="group/new">$createtext</a>
</div>
{{ if $ungrouped }}
<div id="sidebar-ungrouped">
<a href="nogroup">$ungrouped</a>
</div>
{{ endif }}
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 383 B

View file

@ -0,0 +1,29 @@
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
{#<!--<meta content='width=device-width, minimum-scale=1 maximum-scale=1' name='viewport'>
<meta content='True' name='HandheldFriendly'>
<meta content='320' name='MobileOptimized'>-->#}
<meta name="viewport" content="width=device-width; initial-scale = 1.0; maximum-scale=1.0; user-scalable=no" />
{#<!--<meta name="viewport" content="width=100%; initial-scale=1; maximum-scale=1; minimum-scale=1; user-scalable=no;" />-->#}
<base href="$baseurl/" />
<meta name="generator" content="$generator" />
{#<!--<link rel="stylesheet" href="$baseurl/library/fancybox/jquery.fancybox-1.3.4.css" type="text/css" media="screen" />
<link rel="stylesheet" href="$baseurl/library/tiptip/tipTip.css" type="text/css" media="screen" />
<link rel="stylesheet" href="$baseurl/library/jgrowl/jquery.jgrowl.css" type="text/css" media="screen" />-->#}
<link rel="stylesheet" type="text/css" href="$stylesheet" media="all" />
<link rel="shortcut icon" href="$baseurl/images/friendica-32.png" />
<link rel="search"
href="$baseurl/opensearch"
type="application/opensearchdescription+xml"
title="Search in Friendica" />
<script>
window.delItem = "$delitem";
{#/* window.commentEmptyText = "$comment";
window.showMore = "$showmore";
window.showFewer = "$showfewer";
var updateInterval = $update_interval;
var localUser = {{ if $local_user }}$local_user{{ else }}false{{ endif }};*/#}
</script>

Binary file not shown.

After

Width:  |  Height:  |  Size: 562 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 475 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 574 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 530 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 488 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 813 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 568 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 480 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 425 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 321 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 305 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 266 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 219 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 520 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,019 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 708 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 770 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 923 B

View file

@ -0,0 +1,165 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 821 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 594 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 402 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 366 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1,014 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 795 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 613 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 534 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 649 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 633 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 515 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 432 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 454 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 572 B

View file

@ -0,0 +1,5 @@
<script type="text/javascript" src="$baseurl/js/ajaxupload.min.js" ></script>
{#<!--
<script>if(typeof window.jotInit != 'undefined') initEditor();</script>
-->#}

View file

@ -0,0 +1,17 @@
<script>
{#/* var none = "none"; // ugly hack: $editselect shouldn't be a string if TinyMCE is enabled, but should if it isn't
window.editSelect = $editselect;
window.isPublic = "$ispublic";
window.nickname = "$nickname";
window.linkURL = "$linkurl";
window.vidURL = "$vidurl";
window.audURL = "$audurl";
window.whereAreU = "$whereareu";
window.term = "$term";
window.baseURL = "$baseurl";
window.geoTag = function () { $geotag }*/#}
window.jotId = "#profile-jot-text";
window.imageUploadButton = 'wall-image-upload';
</script>

View file

@ -0,0 +1,99 @@
<div id="profile-jot-wrapper" >
<div id="profile-jot-banner-wrapper">
<div id="profile-jot-desc" >&nbsp;</div>
<div id="character-counter" class="grey"></div>
</div>
<div id="profile-jot-banner-end"></div>
<form id="profile-jot-form" action="$action" method="post" >
<input type="hidden" name="type" value="$ptyp" />
<input type="hidden" name="profile_uid" value="$profile_uid" />
<input type="hidden" name="return" value="$return_path" />
<input type="hidden" name="location" id="jot-location" value="$defloc" />
<input type="hidden" name="coord" id="jot-coord" value="" />
<input type="hidden" name="post_id" value="$post_id" />
<input type="hidden" name="source" value="$sourceapp" />
<input type="hidden" name="preview" id="jot-preview" value="0" />
<input type="hidden" name="post_id_random" value="$rand_num" />
<div id="jot-title-wrap"><input name="title" id="jot-title" type="text" placeholder="$placeholdertitle" value="$title" class="jothidden" ></div>
{{ if $placeholdercategory }}
<div id="jot-category-wrap"><input name="category" id="jot-category" type="text" placeholder="$placeholdercategory" value="$category" class="jothidden" /></div>
{{ endif }}
<div id="jot-text-wrap">
{#<!--<img id="profile-jot-text-loading" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />-->#}
<textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" placeholder=$share >{{ if $content }}$content{{ endif }}</textarea>
</div>
<div id="profile-jot-submit-wrapper" class="jothidden">
<input type="submit" id="profile-jot-submit" name="submit" value="$share" />
<div id="profile-rotator-wrapper" style="display: $visitor;" >
<img id="profile-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
</div>
<div id="profile-upload-wrapper" style="display: $visitor;" >
<div id="wall-image-upload-div" style="display: none;" ><a href="#" onclick="return false;" id="wall-image-upload" class="icon camera" title="$upload"></a></div>
</div>
<div id="profile-attach-wrapper" style="display: $visitor;" >
<div id="wall-file-upload-div" style="display: none;" ><a href="#" onclick="return false;" id="wall-file-upload" class="icon attach" title="$attach"></a></div>
</div>
{#<!--<div id="profile-link-wrapper" style="display: $visitor;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
<a id="profile-link" class="icon link" title="$weblink" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;"></a>-->#}
{#<!--<div id="profile-link-wrapper" style="display: $visitor;" >
<a id="profile-link" class="icon link" title="$weblink" onclick="jotGetLink(); return false;"></a>
</div>
<div id="profile-video-wrapper" style="display: $visitor;" >
<a id="profile-video" class="icon video" title="$video" onclick="jotVideoURL();return false;"></a>
</div>
<div id="profile-audio-wrapper" style="display: $visitor;" >
<a id="profile-audio" class="icon audio" title="$audio" onclick="jotAudioURL();return false;"></a>
</div>
<div id="profile-location-wrapper" style="display: $visitor;" >
<a id="profile-location" class="icon globe" title="$setloc" onclick="jotGetLocation();return false;"></a>
</div>
<div id="profile-nolocation-wrapper" style="display: none;" >
<a id="profile-nolocation" class="icon noglobe" title="$noloc" onclick="jotClearLocation();return false;"></a>
</div> -->#}
{#<!--<div id="profile-jot-perms" class="profile-jot-perms" style="display: $pvisit;" >
<a href="#profile-jot-acl-wrapper" id="jot-perms-icon" class="icon $lockstate" title="$permset" ></a>$bang
</div>
<span onclick="preview_post();" id="jot-preview-link" class="fakelink">$preview</span>-->#}
<div id="profile-jot-perms-end"></div>
<div id="profile-jot-plugin-wrapper">
$jotplugins
</div>
<div id="jot-preview-content" style="display:none;"></div>
{#<!--<div style="display: none;">-->#}
<div id="profile-jot-acl-wrapper">
{#<!--$acl
<hr style="clear:both"/>
<div id="profile-jot-email-label">$emailcc</div><input type="text" name="emailcc" id="profile-jot-email" title="$emtitle" />
$jotnets
<div id="profile-jot-networks-end"></div>-->#}
{{ if $acl_data }}
{{ inc acl_html_selector.tpl }}{{ endinc }}
{{ endif }}
$jotnets
</div>
{#<!--</div>-->#}
</div>
<div id="profile-jot-end"></div>
</form>
</div>
{#<!--{{ if $content }}<script>window.jotInit = true;</script>{{ endif }}-->#}
<script>
document.getElementById('wall-image-upload-div').style.display = "inherit";
document.getElementById('wall-file-upload-div').style.display = "inherit";
</script>

View file

@ -0,0 +1,11 @@
if(navigator.geolocation) {
navigator.geolocation.getCurrentPosition(function(position) {
var lat = position.coords.latitude.toFixed(4);
var lon = position.coords.longitude.toFixed(4);
$j('#jot-coord').val(lat + ', ' + lon);
$j('#profile-nolocation-wrapper').show();
});
}

View file

@ -0,0 +1,77 @@
// For Firefox < 3.6, which doesn't support document.readyState
// verify that document.readyState is undefined
// verify that document.addEventListener is there
// these two conditions are basically telling us
// we are using Firefox < 3.6
/*if(document.readyState == null && document.addEventListener){
// on DOMContentLoaded event, supported since ages
document.addEventListener("DOMContentLoaded", function DOMContentLoaded(){
// remove the listener itself
document.removeEventListener("DOMContentLoaded", DOMContentLoaded, false);
// assign readyState as complete
document.readyState = "complete";
}, false);
// set readyState = loading or interactive
// it does not really matter for this purpose
document.readyState = "loading";
}*/
document.addEventListener('DOMContentLoaded', function(){
if(typeof window.AjaxUpload != "undefined") {
var uploader = new window.AjaxUpload(
window.imageUploadButton,
{ action: 'wall_upload/'+window.nickname,
name: 'userfile',
onSubmit: function(file,ext) { $j('#profile-rotator').show(); },
onComplete: function(file,response) {
var currentText = $j(window.jotId).val();
$j(window.jotId).val(currentText + response);
$j('#profile-rotator').hide();
}
}
);
if(document.getElementById('wall-file-upload') != null) {
var file_uploader = new window.AjaxUpload(
'wall-file-upload',
{ action: 'wall_attach/'+window.nickname,
name: 'userfile',
onSubmit: function(file,ext) { $j('#profile-rotator').show(); },
onComplete: function(file,response) {
var currentText = $j(window.jotId).val();
$j(window.jotId).val(currentText + response);
$j('#profile-rotator').hide();
}
}
);
}
}
});
function confirmDelete(f) {
response = confirm(window.delItem);
if(response && typeof f == 'function') {
f();
}
return response;
}
function changeHref(elemId, url) {
elem = document.getElementById(elemId);
elem.href = url;
}
function remove(elemId) {
elem = document.getElementById(elemId);
elem.parentNode.removeChild(elem);
}
function openClose(el) {}
// It's better to separate Javascript from the HTML, but the wall_thread
// items require more work to find since they contain the item ID in the id field
//document.getElementById('photo-album-edit-drop').onclick = function(){return confirmDelete(function(){remove('photo-album-edit-form-confirm');});}
//document.getElementById('photo-edit-delete-button').onclick = function(){return confirmDelete(function(){remove('photo-edit-form-confirm');});}

View file

@ -0,0 +1,10 @@
<div id="lang-select-icon" class="icon s22 language" title="$title" onclick="openClose('language-selector');" ></div>
<div id="language-selector" style="display: none;" >
<form action="#" method="post" >
<select name="system_language" onchange="this.form.submit();" >
{{ for $langs.0 as $v=>$l }}
<option value="$v" {{if $v==$langs.1}}selected="selected"{{endif}}>$l</option>
{{ endfor }}
</select>
</form>
</div>

View file

@ -0,0 +1,7 @@
<div class="wall-item-like-buttons" id="wall-item-like-buttons-$id">
<a href="like/$id?verb=like&return=$return_path#$item.id" class="icon like" title="$likethis" ></a>
{{ if $nolike }}
<a href="like/$id?verb=dislike&return=$return_path#$item.id" class="icon dislike" title="$nolike" ></a>
{{ endif }}
<img id="like-rotator-$id" class="like-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 237 B

View file

@ -0,0 +1,180 @@
html {
width: 100%;
}
body {
font-family: helvetica,arial,freesans,clean,sans-serif;
font-size: 16px;
background-color: #ffffff;
color: #505050;/* ZP Change*/
margin: 0px;
}
a, a:visited, a:link { color: #3465a4; text-decoration: none; }
a:hover {text-decoration: underline; }
img { border :0px; }
nav {
display: none;
}
/* popup notifications */
div.jGrowl div.notice {
background: #511919 url("../../../images/icons/48/notice.png") no-repeat 5px center;
color: #ffffff;
padding-left: 58px;
margin: 0px;
}
div.jGrowl div.info {
background: #364e59 url("../../../images/icons/48/info.png") no-repeat 5px center;
color: #ffffff;
padding-left: 58px;
margin: 0px;
}
#jGrowl.top-right {
top: 15px;
right: 10px;
}
div.jGrowl-notification {
border-radius: 7px;
}
.login-button {
margin-top: 90px;
margin-left: auto;
margin-right: auto;
}
img.login-button-image {
max-width: 300px;
}
div.section-wrapper {
position: relative;
width: 300px;
margin-left: auto;
margin-right: auto;
}
.login-form {
margin-top: 40px;
}
.field {
position: relative;
margin-bottom: 15px;
}
.field label {
margin-left: 25px;
font-weight: 700;
float: none;
width: auto;
}
.field input {
font-size: 18px;
width: 200px;
margin-left: 50px;
}
.field.checkbox label {
margin-left: auto;
float: auto;
/*margin-left: 100px;*/
}
.field.checkbox input {
width: auto;
margin-left: 30px;
}
#div_id_remember {
margin-top: 10px;
margin-bottom: 10px;
}
#login_openid {
margin-top: 50px;
}
#login_openid input {
background: url(login-bg.gif) no-repeat;
background-position: 0 50%;
width: 182px;
padding-left: 18px;
margin-left: 50px;
}
#login-footer {
margin-top: 10px;
text-align: center;
}
.login-extra-links, .agreement {
font-size: 14px;
}
#login-submit-button, #register-submit-button, #lostpass-submit-button {
font-size: 20px;
padding: 0.5em 1em;
}
#register-link {
margin-right: 100px;
}
.register-form {
margin-top: 15px;
}
.register-form h2, .lostpass-form h2 {
text-align: center;
}
.error-message {
width: 270px;
color: #FF0000;
font-size: 1.1em;
text-align: justify;
border: 1px solid #FF8888;
background-color: #FFEEEE;
padding: 10px;
margin-left: auto;
margin-right: auto;
}
.register-explain-wrapper {
width: 290px;
text-align: justify;
font-size: 14px;
margin-left: 5px;
}
#register-footer {
margin-top: 60px;
text-align: center;
}
.lostpass-form {
margin-top: 100px;
}
#lostpass-desc {
width: 290px;
margin-left: 5px;
margin-bottom: 30px;
text-align: justify;
font-size: 14px;
}
#login-submit-wrapper {
text-align: center;
}
footer {
text-align: center;
padding-top: 3em;
padding-bottom: 1em;
}

View file

@ -0,0 +1,45 @@
<div class="login-form">
<form action="$dest_url" method="post" >
<input type="hidden" name="auth-params" value="login" />
<div id="login_standard">
{{ inc field_input.tpl with $field=$lname }}{{ endinc }}
{{ inc field_password.tpl with $field=$lpassword }}{{ endinc }}
</div>
{{ if $openid }}
<div id="login_openid">
{{ inc field_openid.tpl with $field=$lopenid }}{{ endinc }}
</div>
{{ endif }}
<br />
<div id='login-footer'>
{#<!--<div class="login-extra-links">
By signing in you agree to the latest <a href="tos.html" title="$tostitle" id="terms-of-service-link" >$toslink</a> and <a href="privacy.html" title="$privacytitle" id="privacy-link" >$privacylink</a>
</div>-->#}
<br />
{{ inc field_checkbox.tpl with $field=$lremember }}{{ endinc }}
<div id="login-submit-wrapper" >
<input type="submit" name="submit" id="login-submit-button" value="$login" />
</div>
<br /><br />
<div class="login-extra-links">
{{ if $register }}<a href="register" title="$register.title" id="register-link">$register.desc</a>{{ endif }}
<a href="lostpass" title="$lostpass" id="lost-password-link" >$lostlink</a>
</div>
</div>
{{ for $hiddens as $k=>$v }}
<input type="hidden" name="$k" value="$v" />
{{ endfor }}
</form>
</div>
{#<!--<script type="text/javascript">window.loginName = "$lname.0";</script>-->#}

View file

@ -0,0 +1,2 @@
{#<!--<link rel="stylesheet" href="$baseurl/view/theme/frost-mobile/login-style.css" type="text/css" media="all" />-->#}

View file

@ -0,0 +1,21 @@
<div class="lostpass-form">
<h2>$title</h2>
<br /><br /><br />
<form action="lostpass" method="post" >
<div id="login-name-wrapper" class="field input">
<label for="login-name" id="label-login-name">$name</label><br />
<input type="text" maxlength="60" name="login-name" id="login-name" value="" />
</div>
<div id="login-extra-end"></div>
<p id="lostpass-desc">
$desc
</p>
<br />
<div id="login-submit-wrapper" >
<input type="submit" name="submit" id="lostpass-submit-button" value="$submit" />
</div>
<div id="login-submit-end"></div>
</form>
</div>

View file

@ -0,0 +1,18 @@
<div class="mail-conv-outside-wrapper">
<div class="mail-conv-sender" >
<a href="$mail.from_url" class="mail-conv-sender-url" ><img class="mframe mail-conv-sender-photo$mail.sparkle" src="$mail.from_photo" heigth="80" width="80" alt="$mail.from_name" /></a>
</div>
<div class="mail-conv-detail" >
<div class="mail-conv-sender-name" >$mail.from_name</div>
<div class="mail-conv-date">$mail.date</div>
<div class="mail-conv-subject">$mail.subject</div>
</div>
<div class="mail-conv-body">$mail.body</div>
</div>
<div class="mail-conv-outside-wrapper-end"></div>
<div class="mail-conv-delete-wrapper" id="mail-conv-delete-wrapper-$mail.id" ><a href="message/drop/$mail.id?confirm=1" class="icon drophide delete-icon mail-list-delete-icon" onclick="id=this.id;return confirmDelete(function(){changeHref(id, 'message/drop/$mail.id')});" title="$mail.delete" id="mail-conv-delete-icon-$mail.id" class="mail-conv-delete-icon" {#onmouseover="imgbright(this);" onmouseout="imgdull(this);#}" ></a></div>
<div class="mail-conv-delete-end"></div>
<hr class="mail-conv-break" />

View file

@ -0,0 +1,16 @@
<div class="mail-list-outside-wrapper">
<div class="mail-list-sender" >
<a href="$from_url" class="mail-list-sender-url" ><img class="mail-list-sender-photo$sparkle" src="$from_photo" height="80" width="80" alt="$from_name" /></a>
</div>
<div class="mail-list-detail">
<div class="mail-list-sender-name" >$from_name</div>
<div class="mail-list-date">$date</div>
<div class="mail-list-subject"><a href="message/$id" class="mail-list-link">$subject</a></div>
<div class="mail-list-delete-wrapper" id="mail-list-delete-wrapper-$id" >
<a href="message/dropconv/$id?confirm=1" onclick="id=this.id;return confirmDelete(function(){changeHref(id, 'message/dropconv/$id')});" title="$delete" class="icon drophide mail-list-delete delete-icon" id="mail-list-delete-$id" {#onmouseover="imgbright(this);" onmouseout="imgdull(this);"#} ></a>
</div>
</div>
</div>
<div class="mail-list-delete-end"></div>
<div class="mail-list-outside-wrapper-end"></div>

View file

@ -0,0 +1,18 @@
<h3>$title</h3>
<div id="identity-manage-desc">$desc</div>
<div id="identity-manage-choose">$choose</div>
<div id="identity-selector-wrapper">
<form action="manage" method="post" >
<select name="identity" size="4" onchange="this.form.submit();" >
{{ for $identities as $id }}
<option $id.selected value="$id.uid">$id.username ($id.nickname)</option>
{{ endfor }}
</select>
<div id="identity-select-break"></div>
{# name="submit" interferes with this.form.submit() #}
<input id="identity-submit" type="submit" {#name="submit"#} value="$submit" />
</div></form>

View file

@ -0,0 +1,4 @@
{#<!--
<script src="$baseurl/library/jquery_ac/friendica.complete.min.js" ></script>
-->#}

View file

View file

View file

@ -0,0 +1,2 @@
<script type="text/javascript" src="$baseurl/js/ajaxupload.min.js" ></script>

View file

@ -0,0 +1,10 @@
<script language="javascript" type="text/javascript">
{#/* window.nickname = "$nickname";
window.linkURL = "$linkurl";
var plaintext = "none";
window.autocompleteType = 'msg-header';*/#}
window.jotId = "#prvmail-text";
window.imageUploadButton = 'prvmail-upload';
</script>

View file

@ -0,0 +1,155 @@
<nav>
{#<!-- $langselector -->#}
{#<!-- <div id="site-location">$sitelocation</div> -->#}
<span id="nav-link-wrapper" >
{#<!-- <a id="system-menu-link" class="nav-link" href="#system-menu" title="Menu">Menu</a>-->#}
<div class="nav-button-container">
{#<!-- <a class="system-menu-link nav-link" href="#system-menu" title="Menu">-->#}
<a href="$nav.navigation.0" title="$nav.navigation.3" >
<img rel="#system-menu-list" class="nav-link" src="view/theme/decaf-mobile/images/menu.png">
</a>
{#<!-- </a>-->#}
{#<!--<ul id="system-menu-list" class="nav-menu-list">
{{ if $nav.login }}
<a id="nav-login-link" class="nav-load-page-link $nav.login.2" href="$nav.login.0" title="$nav.login.3" >$nav.login.1</a>
{{ endif }}
{{ if $nav.register }}
<a id="nav-register-link" class="nav-load-page-link $nav.register.2 $sel.register" href="$nav.register.0" title="$nav.register.3" >$nav.register.1</a>
{{ endif }}
{{ if $nav.settings }}
<li><a id="nav-settings-link" class="$nav.settings.2 nav-load-page-link" href="$nav.settings.0" title="$nav.settings.3">$nav.settings.1</a></li>
{{ endif }}
{{ if $nav.manage }}
<li>
<a id="nav-manage-link" class="nav-load-page-link $nav.manage.2 $sel.manage" href="$nav.manage.0" title="$nav.manage.3">$nav.manage.1</a>
</li>
{{ endif }}
{{ if $nav.profiles }}
<li><a id="nav-profiles-link" class="$nav.profiles.2 nav-load-page-link" href="$nav.profiles.0" title="$nav.profiles.3" >$nav.profiles.1</a></li>
{{ endif }}
{{ if $nav.admin }}
<li><a id="nav-admin-link" class="$nav.admin.2 nav-load-page-link" href="$nav.admin.0" title="$nav.admin.3" >$nav.admin.1</a></li>
{{ endif }}
<li><a id="nav-search-link" class="$nav.search.2 nav-load-page-link" href="$nav.search.0" title="$nav.search.3" >$nav.search.1</a></li>
{{ if $nav.apps }}
<li><a id="nav-apps-link" class="$nav.apps.2 nav-load-page-link" href="$nav.apps.0" title="$nav.apps.3" >$nav.apps.1</a></li>
{{ endif }}
{{ if $nav.help }}
<li><a id="nav-help-link" class="$nav.help.2 nav-load-page-link" target="friendica-help" href="$nav.help.0" title="$nav.help.3" >$nav.help.1</a></li>
{{ endif }}
{{ if $nav.logout }}
<li><a id="nav-logout-link" class="$nav.logout.2" href="$nav.logout.0" title="$nav.logout.3" >$nav.logout.1</a></li>
{{ endif }}
</ul>-->#}
</div>
{{ if $nav.notifications }}
{#<!-- <a id="nav-notifications-linkmenu" class="nav-link" href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1">$nav.notifications.1</a>-->#}
<div class="nav-button-container">
{#<!-- <a id="nav-notifications-linkmenu" class="nav-link" href="$nav.notifications.0" rel="#nav-notifications-menu" title="$nav.notifications.1">-->#}
<a href="$nav.notifications.all.0">
<img rel="#nav-notifications-menu" class="nav-link" src="view/theme/decaf-mobile/images/notifications.png">
</a>
{#<!-- </a>-->#}
{#<!--<span id="notify-update" class="nav-ajax-left"></span>
<ul id="nav-notifications-menu" class="notifications-menu-popup">
<li id="nav-notifications-see-all"><a href="$nav.notifications.all.0">$nav.notifications.all.1</a></li>
<li id="nav-notifications-mark-all"><a href="#" onclick="notifyMarkAll(); return false;">$nav.notifications.mark.1</a></li>
<li class="empty">$emptynotifications</li>
</ul>-->#}
</div>
{{ endif }}
{#<!-- <a id="contacts-menu-link" class="nav-link" href="#contacts-menu" title="Contacts">Contacts</a>-->#}
{{ if $nav.contacts }}
<div class="nav-button-container">
{#<!-- <a class="contacts-menu-link nav-link" href="#contacts-menu" title="Contacts">-->#}
<a id="nav-contacts-link" class="$nav.contacts.2 nav-load-page-link" href="$nav.contacts.0" title="$nav.contacts.3" >
<img rel="#contacts-menu-list" class="nav-link" src="view/theme/decaf-mobile/images/contacts.png">
</a>
{#<!--</a>-->#}
{{ if $nav.introductions }}
<span id="intro-update" class="nav-ajax-left"></span>
{{ endif }}
{#<!--<ul id="contacts-menu-list" class="nav-menu-list">
{{ if $nav.contacts }}
<li><a id="nav-contacts-link" class="$nav.contacts.2 nav-load-page-link" href="$nav.contacts.0" title="$nav.contacts.3" >$nav.contacts.1</a><li>
{{ endif }}
<li><a id="nav-directory-link" class="$nav.directory.2 nav-load-page-link" href="$nav.directory.0" title="$nav.directory.3" >$nav.directory.1</a><li>
{{ if $nav.introductions }}
<li>
<a id="nav-notify-link" class="$nav.introductions.2 $sel.introductions nav-load-page-link" href="$nav.introductions.0" title="$nav.introductions.3" >$nav.introductions.1</a>
</li>
{{ endif }}
</ul>-->#}
</div>
{{ endif }}
{{ if $nav.messages }}
{#<!-- <a id="nav-messages-link" class="nav-link $nav.messages.2 $sel.messages nav-load-page-link" href="$nav.messages.0" title="$nav.messages.3" >$nav.messages.1</a>-->#}
<div class="nav-button-container">
<a id="nav-messages-link" class="$nav.messages.2 $sel.messages nav-load-page-link" href="$nav.messages.0" title="$nav.messages.3" >
<img src="view/theme/decaf-mobile/images/message.png" class="nav-link">
</a>
<span id="mail-update" class="nav-ajax-left"></span>
</div>
{{ endif }}
{#<!-- <a id="network-menu-link" class="nav-link" href="#network-menu" title="Network">Network</a>-->#}
{{ if $nav.network }}
<div class="nav-button-container">
{#<!-- <a class="network-menu-link nav-link" href="#network-menu" title="Network">-->#}
<a id="nav-network-link" class="$nav.network.2 $sel.network nav-load-page-link" href="/" >
<img rel="#network-menu-list" class="nav-link" src="view/theme/decaf-mobile/images/network.png">
</a>
{#<!-- </a>-->#}
<span id="net-update" class="nav-ajax-left"></span>
</div>
{{ endif }}
<!-- <ul id="network-menu-list" class="nav-menu-list">
{{ if $nav.network }}
<li>
<a id="nav-network-link" class="$nav.network.2 $sel.network nav-load-page-link" href="$nav.network.0" title="$nav.network.3" >$nav.network.1</a>
</li>
{{ endif }}
{{ if $nav.network }}
<li>
<a class="nav-menu-icon network-reset-link nav-link" href="$nav.net_reset.0" title="$nav.net_reset.3">$nav.net_reset.1</a>
</li>
{{ endif }}
{{ if $nav.home }}
<li><a id="nav-home-link" class="$nav.home.2 $sel.home nav-load-page-link" href="$nav.home.0" title="$nav.home.3" >$nav.home.1</a></li>
{{ endif }}
{{ if $nav.community }}
<li>
<a id="nav-community-link" class="$nav.community.2 $sel.community nav-load-page-link" href="$nav.community.0" title="$nav.community.3" >$nav.community.1</a>
</li>
{{ endif }}
</ul>
</div>-->
</span>
{#<!--<span id="nav-end"></span>-->#}
<span id="banner">$banner</span>
</nav>
{#<!--<ul id="nav-notifications-template" style="display:none;" rel="template">
<li class="{4}"><a href="{0}"><img data-src="{1}" height="24" width="24" alt="" />{2} <span class="notif-when">{3}</span></a></li>
</ul>-->#}

View file

@ -0,0 +1,4 @@
<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$id" >
<a href="item/drop/$id?confirm=1" onclick="return confirmDelete(function(){this.href='item/drop/$id'});" class="icon drophide" title="$delete" {#onmouseover="imgbright(this);" onmouseout="imgdull(this);"#} ></a>
</div>
<div class="wall-item-delete-end"></div>

View file

@ -0,0 +1,60 @@
<form action="photos/$nickname/$resource_id" method="post" id="photo_edit_form" >
<input type="hidden" name="item_id" value="$item_id" />
<input id="photo-edit-form-confirm" type="hidden" name="confirm" value="1" />
<div class="photo-edit-input-text">
<label id="photo-edit-albumname-label" for="photo-edit-albumname">$newalbum</label>
<input id="photo-edit-albumname" type="text" size="32" name="albname" value="$album" />
</div>
<div id="photo-edit-albumname-end"></div>
<div class="photo-edit-input-text">
<label id="photo-edit-caption-label" for="photo-edit-caption">$capt_label</label>
<input id="photo-edit-caption" type="text" size="32" name="desc" value="$caption" />
</div>
<div id="photo-edit-caption-end"></div>
<div class="photo-edit-input-text">
<label id="photo-edit-tags-label" for="photo-edit-newtag" >$tag_label</label>
<input name="newtag" id="photo-edit-newtag" size="32" title="$help_tags" type="text" />
</div>
<div id="photo-edit-tags-end"></div>
<div class="photo-edit-rotate-choice">
<label id="photo-edit-rotate-cw-label" for="photo-edit-rotate-cw">$rotatecw</label>
<input id="photo-edit-rotate-cw" class="photo-edit-rotate" type="radio" name="rotate" value="1" /><br />
</div>
<div class="photo-edit-rotate-choice">
<label id="photo-edit-rotate-ccw-label" for="photo-edit-rotate-ccw">$rotateccw</label>
<input id="photo-edit-rotate-ccw" class="photo-edit-rotate" type="radio" name="rotate" value="2" />
</div>
<div id="photo-edit-rotate-end"></div>
<div id="photo-edit-perms" class="photo-edit-perms" >
{#<!--<a href="#photo-edit-perms-select" id="photo-edit-perms-menu" class="popupbox button" title="$permissions"/>
<span id="jot-perms-icon" class="icon $lockstate photo-perms-icon" ></span><div class="photo-jot-perms-text">$permissions</div>
</a>
<div id="photo-edit-perms-menu-end"></div>
<div style="display: none;">-->#}
<div id="photo-edit-perms-select" >
{#<!--$aclselect-->#}
{{ inc acl_html_selector.tpl }}{{ endinc }}
</div>
{#<!--</div>-->#}
</div>
<div id="photo-edit-perms-end"></div>
<input id="photo-edit-submit-button" type="submit" name="submit" value="$submit" />
<input id="photo-edit-delete-button" type="submit" name="delete" value="$delete" onclick="return confirmDelete(function(){remove('photo-edit-form-confirm');});" />
<div id="photo-edit-end"></div>
</form>

View file

@ -0,0 +1,7 @@
{#<!--
<script>
window.prevLink = "$prevlink";
window.nextLink = "$nextlink";
window.photoEdit = true;
</script>-->#}

View file

@ -0,0 +1,42 @@
<div id="live-display"></div>
<h3><a href="$album.0">$album.1</a></h3>
<div id="photo-edit-link-wrap">
{{ if $tools }}
<a id="photo-edit-link" href="$tools.edit.0">$tools.edit.1</a>
|
<a id="photo-toprofile-link" href="$tools.profile.0">$tools.profile.1</a>
{{ endif }}
{{ if $lock }} | <img src="images/lock_icon.gif" class="lockview" alt="$lock" {#onclick="lockview(event,'photo/$id');"#} /> {{ endif }}
</div>
<div id="photo-nav">
{{ if $prevlink }}<div id="photo-prev-link"><a href="$prevlink.0"><img src="view/theme/decaf-mobile/images/arrow-left.png"></a></div>{{ endif }}
{{ if $nextlink }}<div id="photo-next-link"><a href="$nextlink.0"><img src="view/theme/decaf-mobile/images/arrow-right.png"></a></div>{{ endif }}
</div>
<div id="photo-photo"><a href="$photo.href" title="$photo.title"><img src="$photo.src" /></a></div>
<div id="photo-photo-end"></div>
<div id="photo-caption">$desc</div>
{{ if $tags }}
<div id="in-this-photo-text">$tags.0</div>
<div id="in-this-photo">$tags.1</div>
{{ endif }}
{{ if $tags.2 }}<div id="tag-remove"><a href="$tags.2">$tags.3</a></div>{{ endif }}
{{ if $edit }}
$edit
{{ else }}
{{ if $likebuttons }}
<div id="photo-like-div">
$likebuttons
$like
$dislike
</div>
{{ endif }}
$comments
$paginate
{{ endif }}

View file

@ -0,0 +1,5 @@
{#<!--
<script>
window.isPublic = "$ispublic";
</script>
-->#}

View file

@ -0,0 +1,51 @@
<h3>$pagename</h3>
<div id="photos-usage-message">$usage</div>
<form action="photos/$nickname" enctype="multipart/form-data" method="post" name="photos-upload-form" id="photos-upload-form" >
<div id="photos-upload-new-wrapper" >
<div id="photos-upload-newalbum-div">
<label id="photos-upload-newalbum-text" for="photos-upload-newalbum" >$newalbum</label>
</div>
<input id="photos-upload-newalbum" type="text" name="newalbum" />
</div>
<div id="photos-upload-new-end"></div>
<div id="photos-upload-exist-wrapper">
<div id="photos-upload-existing-album-text">$existalbumtext</div>
<select id="photos-upload-album-select" name="album">
$albumselect
</select>
</div>
<div id="photos-upload-exist-end"></div>
$default_upload_box
<div id="photos-upload-noshare-div" class="photos-upload-noshare-div" >
<input id="photos-upload-noshare" type="checkbox" name="not_visible" value="1" checked />
<label id="photos-upload-noshare-text" for="photos-upload-noshare" >$nosharetext</label>
</div>
{#<!--<div id="photos-upload-perms" class="photos-upload-perms" >
<a href="#photos-upload-permissions-wrapper" id="photos-upload-perms-menu" class="button popupbox" />
<span id="jot-perms-icon" class="icon $lockstate" ></span>$permissions
</a>
</div>
<div id="photos-upload-perms-end"></div>
<div style="display: none;">-->#}
<div id="photos-upload-permissions-wrapper">
{#<!--$aclselect-->#}
{{ inc acl_html_selector.tpl }}{{ endinc }}
</div>
{#<!--</div>-->#}
<div id="photos-upload-spacer"></div>
$alt_uploader
$default_upload_submit
<div class="photos-upload-end" ></div>
</form>

View file

@ -0,0 +1,8 @@
{#<!--
<script type="text/javascript" src="js/country.min.js" ></script>
<script language="javascript" type="text/javascript">
Fill_Country('$country_name');
Fill_States('$region');
</script>
-->#}

View file

@ -0,0 +1,5 @@
{#<!--
<script language="javascript" type="text/javascript">
window.editSelect = "none";
</script>
-->#}

View file

@ -0,0 +1,324 @@
$default
<h1>$banner</h1>
<div id="profile-edit-links">
<ul>
<li><a href="profile/$profile_id/view?tab=profile" id="profile-edit-view-link" title="$viewprof">$viewprof</a></li>
<li><a href="$profile_clone_link" id="profile-edit-clone-link" title="$cr_prof">$cl_prof</a></li>
<li></li>
<li><a href="$profile_drop_link" id="profile-edit-drop-link" title="$del_prof" $disabled >$del_prof</a></li>
</ul>
</div>
<div id="profile-edit-links-end"></div>
<div id="profile-edit-wrapper" >
<form id="profile-edit-form" name="form1" action="profiles/$profile_id" method="post" >
<input type='hidden' name='form_security_token' value='$form_security_token'>
<div id="profile-edit-profile-name-wrapper" >
<label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >$lbl_profname </label>
<input type="text" size="28" name="profile_name" id="profile-edit-profile-name" value="$profile_name" /><div class="required">*</div>
</div>
<div id="profile-edit-profile-name-end"></div>
<div id="profile-edit-name-wrapper" >
<label id="profile-edit-name-label" for="profile-edit-name" >$lbl_fullname </label>
<input type="text" size="28" name="name" id="profile-edit-name" value="$name" />
</div>
<div id="profile-edit-name-end"></div>
<div id="profile-edit-pdesc-wrapper" >
<label id="profile-edit-pdesc-label" for="profile-edit-pdesc" >$lbl_title </label>
<input type="text" size="28" name="pdesc" id="profile-edit-pdesc" value="$pdesc" />
</div>
<div id="profile-edit-pdesc-end"></div>
<div id="profile-edit-gender-wrapper" >
<label id="profile-edit-gender-label" for="gender-select" >$lbl_gender </label>
$gender
</div>
<div id="profile-edit-gender-end"></div>
<div id="profile-edit-dob-wrapper" >
<label id="profile-edit-dob-label" for="dob-select" >$lbl_bd </label>
<div id="profile-edit-dob" >
$dob $age
</div>
</div>
<div id="profile-edit-dob-end"></div>
$hide_friends
<div class="profile-edit-submit-wrapper" >
<input type="submit" name="submit" class="profile-edit-submit-button" value="$submit" />
</div>
<div class="profile-edit-submit-end"></div>
<div id="profile-edit-address-wrapper" >
<label id="profile-edit-address-label" for="profile-edit-address" >$lbl_address </label>
<input type="text" size="28" name="address" id="profile-edit-address" value="$address" />
</div>
<div id="profile-edit-address-end"></div>
<div id="profile-edit-locality-wrapper" >
<label id="profile-edit-locality-label" for="profile-edit-locality" >$lbl_city </label>
<input type="text" size="28" name="locality" id="profile-edit-locality" value="$locality" />
</div>
<div id="profile-edit-locality-end"></div>
<div id="profile-edit-postal-code-wrapper" >
<label id="profile-edit-postal-code-label" for="profile-edit-postal-code" >$lbl_zip </label>
<input type="text" size="28" name="postal_code" id="profile-edit-postal-code" value="$postal_code" />
</div>
<div id="profile-edit-postal-code-end"></div>
<div id="profile-edit-country-name-wrapper" >
<label id="profile-edit-country-name-label" for="profile-edit-country-name" >$lbl_country </label>
<input type="text" size="28" name="country_name" id="profile-edit-country-name" value="$country_name" />
{#<!--<select name="country_name" id="profile-edit-country-name" onChange="Fill_States('$region');">
<option selected="selected" >$country_name</option>
<option>temp</option>
</select>-->#}
</div>
<div id="profile-edit-country-name-end"></div>
<div id="profile-edit-region-wrapper" >
<label id="profile-edit-region-label" for="profile-edit-region" >$lbl_region </label>
<input type="text" size="28" name="region" id="profile-edit-region" value="$region" />
{#<!--<select name="region" id="profile-edit-region" onChange="Update_Globals();" >
<option selected="selected" >$region</option>
<option>temp</option>
</select>-->#}
</div>
<div id="profile-edit-region-end"></div>
<div id="profile-edit-hometown-wrapper" >
<label id="profile-edit-hometown-label" for="profile-edit-hometown" >$lbl_hometown </label>
<input type="text" size="28" name="hometown" id="profile-edit-hometown" value="$hometown" />
</div>
<div id="profile-edit-hometown-end"></div>
<div class="profile-edit-submit-wrapper" >
<input type="submit" name="submit" class="profile-edit-submit-button" value="$submit" />
</div>
<div class="profile-edit-submit-end"></div>
<div id="profile-edit-marital-wrapper" >
<label id="profile-edit-marital-label" for="profile-edit-marital" >$lbl_marital </label>
$marital
</div>
<label id="profile-edit-with-label" for="profile-edit-with" > $lbl_with </label>
<input type="text" size="28" name="with" id="profile-edit-with" title="$lbl_ex1" value="$with" />
<label id="profile-edit-howlong-label" for="profile-edit-howlong" > $lbl_howlong </label>
<input type="text" size="28" name="howlong" id="profile-edit-howlong" title="$lbl_howlong" value="$howlong" />
<div id="profile-edit-marital-end"></div>
<div id="profile-edit-sexual-wrapper" >
<label id="profile-edit-sexual-label" for="sexual-select" >$lbl_sexual </label>
$sexual
</div>
<div id="profile-edit-sexual-end"></div>
<div id="profile-edit-homepage-wrapper" >
<label id="profile-edit-homepage-label" for="profile-edit-homepage" >$lbl_homepage </label>
<input type="text" size="28" name="homepage" id="profile-edit-homepage" value="$homepage" />
</div>
<div id="profile-edit-homepage-end"></div>
<div id="profile-edit-politic-wrapper" >
<label id="profile-edit-politic-label" for="profile-edit-politic" >$lbl_politic </label>
<input type="text" size="28" name="politic" id="profile-edit-politic" value="$politic" />
</div>
<div id="profile-edit-politic-end"></div>
<div id="profile-edit-religion-wrapper" >
<label id="profile-edit-religion-label" for="profile-edit-religion" >$lbl_religion </label>
<input type="text" size="28" name="religion" id="profile-edit-religion" value="$religion" />
</div>
<div id="profile-edit-religion-end"></div>
<div id="profile-edit-pubkeywords-wrapper" >
<label id="profile-edit-pubkeywords-label" for="profile-edit-pubkeywords" >$lbl_pubkey </label>
<input type="text" size="28" name="pub_keywords" id="profile-edit-pubkeywords" title="$lbl_ex2" value="$pub_keywords" />
</div><div id="profile-edit-pubkeywords-desc">$lbl_pubdsc</div>
<div id="profile-edit-pubkeywords-end"></div>
<div id="profile-edit-prvkeywords-wrapper" >
<label id="profile-edit-prvkeywords-label" for="profile-edit-prvkeywords" >$lbl_prvkey </label>
<input type="text" size="28" name="prv_keywords" id="profile-edit-prvkeywords" title="$lbl_ex2" value="$prv_keywords" />
</div><div id="profile-edit-prvkeywords-desc">$lbl_prvdsc</div>
<div id="profile-edit-prvkeywords-end"></div>
<div class="profile-edit-submit-wrapper" >
<input type="submit" name="submit" class="profile-edit-submit-button" value="$submit" />
</div>
<div class="profile-edit-submit-end"></div>
<div id="about-jot-wrapper" class="profile-jot-box">
<p id="about-jot-desc" >
$lbl_about
</p>
<textarea rows="10" cols="30" id="profile-about-text" class="profile-edit-textarea" name="about" >$about</textarea>
</div>
<div id="about-jot-end"></div>
<div id="interest-jot-wrapper" class="profile-jot-box" >
<p id="interest-jot-desc" >
$lbl_hobbies
</p>
<textarea rows="10" cols="30" id="interest-jot-text" class="profile-edit-textarea" name="interest" >$interest</textarea>
</div>
<div id="interest-jot-end"></div>
<div id="likes-jot-wrapper" class="profile-jot-box" >
<p id="likes-jot-desc" >
$lbl_likes
</p>
<textarea rows="10" cols="30" id="likes-jot-text" class="profile-edit-textarea" name="likes" >$likes</textarea>
</div>
<div id="likes-jot-end"></div>
<div id="dislikes-jot-wrapper" class="profile-jot-box" >
<p id="dislikes-jot-desc" >
$lbl_dislikes
</p>
<textarea rows="10" cols="30" id="dislikes-jot-text" class="profile-edit-textarea" name="dislikes" >$dislikes</textarea>
</div>
<div id="dislikes-jot-end"></div>
<div id="contact-jot-wrapper" class="profile-jot-box" >
<p id="contact-jot-desc" >
$lbl_social
</p>
<textarea rows="10" cols="30" id="contact-jot-text" class="profile-edit-textarea" name="contact" >$contact</textarea>
</div>
<div id="contact-jot-end"></div>
<div class="profile-edit-submit-wrapper" >
<input type="submit" name="submit" class="profile-edit-submit-button" value="$submit" />
</div>
<div class="profile-edit-submit-end"></div>
<div id="music-jot-wrapper" class="profile-jot-box" >
<p id="music-jot-desc" >
$lbl_music
</p>
<textarea rows="10" cols="30" id="music-jot-text" class="profile-edit-textarea" name="music" >$music</textarea>
</div>
<div id="music-jot-end"></div>
<div id="book-jot-wrapper" class="profile-jot-box" >
<p id="book-jot-desc" >
$lbl_book
</p>
<textarea rows="10" cols="30" id="book-jot-text" class="profile-edit-textarea" name="book" >$book</textarea>
</div>
<div id="book-jot-end"></div>
<div id="tv-jot-wrapper" class="profile-jot-box" >
<p id="tv-jot-desc" >
$lbl_tv
</p>
<textarea rows="10" cols="30" id="tv-jot-text" class="profile-edit-textarea" name="tv" >$tv</textarea>
</div>
<div id="tv-jot-end"></div>
<div id="film-jot-wrapper" class="profile-jot-box" >
<p id="film-jot-desc" >
$lbl_film
</p>
<textarea rows="10" cols="30" id="film-jot-text" class="profile-edit-textarea" name="film" >$film</textarea>
</div>
<div id="film-jot-end"></div>
<div class="profile-edit-submit-wrapper" >
<input type="submit" name="submit" class="profile-edit-submit-button" value="$submit" />
</div>
<div class="profile-edit-submit-end"></div>
<div id="romance-jot-wrapper" class="profile-jot-box" >
<p id="romance-jot-desc" >
$lbl_love
</p>
<textarea rows="10" cols="30" id="romance-jot-text" class="profile-edit-textarea" name="romance" >$romance</textarea>
</div>
<div id="romance-jot-end"></div>
<div id="work-jot-wrapper" class="profile-jot-box" >
<p id="work-jot-desc" >
$lbl_work
</p>
<textarea rows="10" cols="30" id="work-jot-text" class="profile-edit-textarea" name="work" >$work</textarea>
</div>
<div id="work-jot-end"></div>
<div id="education-jot-wrapper" class="profile-jot-box" >
<p id="education-jot-desc" >
$lbl_school
</p>
<textarea rows="10" cols="30" id="education-jot-text" class="profile-edit-textarea" name="education" >$education</textarea>
</div>
<div id="education-jot-end"></div>
<div class="profile-edit-submit-wrapper" >
<input type="submit" name="submit" class="profile-edit-submit-button" value="$submit" />
</div>
<div class="profile-edit-submit-end"></div>
</form>
</div>

View file

@ -0,0 +1,19 @@
<h1>$title</h1>
<form enctype="multipart/form-data" action="profile_photo" method="post">
<input type='hidden' name='form_security_token' value='$form_security_token'>
<div id="profile-photo-upload-wrapper">
<label id="profile-photo-upload-label" for="profile-photo-upload">$lbl_upfile </label>
<input name="userfile" type="file" id="profile-photo-upload" size="25" />
</div>
<div id="profile-photo-submit-wrapper">
<input type="submit" name="submit" id="profile-photo-submit" value="$submit">
</div>
</form>
<div id="profile-photo-link-select-wrapper">
$select
</div>

View file

@ -0,0 +1,51 @@
<div class="vcard">
<div class="fn label">$profile.name</div>
{{ if $pdesc }}<div class="title">$profile.pdesc</div>{{ endif }}
<div id="profile-photo-wrapper"><img class="photo" width="175" height="175" src="$profile.photo?rev=$profile.picdate" alt="$profile.name"></div>
{{ if $location }}
<dl class="location"><dt class="location-label">$location</dt>
<dd class="adr">
{{ if $profile.address }}<div class="street-address">$profile.address</div>{{ endif }}
<span class="city-state-zip">
<span class="locality">$profile.locality</span>{{ if $profile.locality }}, {{ endif }}
<span class="region">$profile.region</span>
<span class="postal-code">$profile.postal_code</span>
</span>
{{ if $profile.country_name }}<span class="country-name">$profile.country_name</span>{{ endif }}
</dd>
</dl>
{{ endif }}
{{ if $gender }}<dl class="mf"><dt class="gender-label">$gender</dt> <dd class="x-gender">$profile.gender</dd></dl>{{ endif }}
{{ if $profile.pubkey }}<div class="key" style="display:none;">$profile.pubkey</div>{{ endif }}
{{ if $marital }}<dl class="marital"><dt class="marital-label"><span class="heart">&hearts;</span>$marital</dt><dd class="marital-text">$profile.marital</dd></dl>{{ endif }}
{{ if $homepage }}<dl class="homepage"><dt class="homepage-label">$homepage</dt><dd class="homepage-url"><a href="$profile.homepage" target="external-link">$profile.homepage</a></dd></dl>{{ endif }}
{{ inc diaspora_vcard.tpl }}{{ endinc }}
<div id="profile-vcard-break"></div>
<div id="profile-extra-links">
<ul>
{{ if $connect }}
<li><a id="dfrn-request-link" href="dfrn_request/$profile.nickname">$connect</a></li>
{{ endif }}
{{ if $wallmessage }}
<li><a id="wallmessage-link" href="wallmessage/$profile.nickname">$wallmessage</a></li>
{{ endif }}
</ul>
</div>
</div>
$contact_block

View file

@ -0,0 +1,43 @@
<h3>$header</h3>
<div id="prvmail-wrapper" >
<form id="prvmail-form" action="message" method="post" >
$parent
<div id="prvmail-to-label">$to</div>
{{ if $showinputs }}
<input type="text" id="recip" name="messageto" value="$prefill" maxlength="255" size="64" tabindex="10" />
<input type="hidden" id="recip-complete" name="messageto" value="$preid">
{{ else }}
$select
{{ endif }}
<div id="prvmail-subject-label">$subject</div>
<input type="text" size="28" maxlength="255" id="prvmail-subject" name="subject" value="$subjtxt" $readonly tabindex="11" />
<div id="prvmail-message-label">$yourmessage</div>
<textarea rows="8" cols="32" class="prvmail-text" id="prvmail-text" name="body" tabindex="12">$text</textarea>
<div id="prvmail-submit-wrapper" >
<input type="submit" id="prvmail-submit" name="submit" value="$submit" tabindex="13" />
<div id="prvmail-upload-wrapper" style="display: none;">
<div id="prvmail-upload" class="icon border camera" title="$upload" ></div>
</div>
{#<!--<div id="prvmail-link-wrapper" >
<div id="prvmail-link" class="icon border link" title="$insert" onclick="jotGetLink();" ></div>
</div>-->#}
<div id="prvmail-rotator-wrapper" >
<img id="prvmail-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
</div>
</div>
<div id="prvmail-end"></div>
</form>
</div>
<script>
document.getElementById('prvmail-upload-wrapper').style.display = "inherit";
</script>

View file

@ -0,0 +1,80 @@
<div class='register-form'>
<h2>$regtitle</h2>
<br />
<form action="register" method="post" id="register-form">
<input type="hidden" name="photo" value="$photo" />
$registertext
<p id="register-realpeople">$realpeople</p>
<br />
{{ if $oidlabel }}
<div id="register-openid-wrapper" >
<label for="register-openid" id="label-register-openid" >$oidlabel</label><input type="text" maxlength="60" size="32" name="openid_url" class="openid" id="register-openid" value="$openid" >
</div>
<div id="register-openid-end" ></div>
{{ endif }}
<div class="register-explain-wrapper">
<p id="register-fill-desc">$fillwith $fillext</p>
</div>
<br /><br />
{{ if $invitations }}
<p id="register-invite-desc">$invite_desc</p>
<div id="register-invite-wrapper" >
<label for="register-invite" id="label-register-invite" >$invite_label</label>
<input type="text" maxlength="60" size="32" name="invite_id" id="register-invite" value="$invite_id" >
</div>
<div id="register-name-end" ></div>
{{ endif }}
<div id="register-name-wrapper" class="field input" >
<label for="register-name" id="label-register-name" >$namelabel</label><br />
<input type="text" maxlength="60" size="32" name="username" id="register-name" value="$username" >
</div>
<div id="register-name-end" ></div>
<div id="register-email-wrapper" class="field input" >
<label for="register-email" id="label-register-email" >$addrlabel</label><br />
<input type="text" maxlength="60" size="32" name="email" id="register-email" value="$email" >
</div>
<div id="register-email-end" ></div>
<div id="register-nickname-wrapper" class="field input" >
<label for="register-nickname" id="label-register-nickname" >$nicklabel</label><br />
<input type="text" maxlength="60" size="32" name="nickname" id="register-nickname" value="$nickname" >
</div>
<div id="register-nickname-end" ></div>
<div class="register-explain-wrapper">
<p id="register-nickname-desc" >$nickdesc</p>
</div>
$publish
<div id="register-footer">
{#<!--<div class="agreement">
By clicking '$regbutt' you are agreeing to the latest <a href="tos.html" title="$tostitle" id="terms-of-service-link" >$toslink</a> and <a href="privacy.html" title="$privacytitle" id="privacy-link" >$privacylink</a>
</div>-->#}
<br />
<div id="register-submit-wrapper">
<input type="submit" name="submit" id="register-submit-button" value="$regbutt" />
</div>
<div id="register-submit-end" ></div>
</div>
</form>
<br /><br /><br />
$license
</div>

Binary file not shown.

After

Width:  |  Height:  |  Size: 87 KiB

View file

@ -0,0 +1,64 @@
<a name="$item.id" ></a>
{#<!--<div class="wall-item-outside-wrapper $item.indent$item.previewing" id="wall-item-outside-wrapper-$item.id" >-->#}
<div class="wall-item-content-wrapper $item.indent" id="wall-item-content-wrapper-$item.id" >
<div class="wall-item-info" id="wall-item-info-$item.id">
{#<!--<div class="wall-item-photo-wrapper" id="wall-item-photo-wrapper-$item.id"
onmouseover="if (typeof t$item.id != 'undefined') clearTimeout(t$item.id); openMenu('wall-item-photo-menu-button-$item.id')"
onmouseout="t$item.id=setTimeout('closeMenu(\'wall-item-photo-menu-button-$item.id\'); closeMenu(\'wall-item-photo-menu-$item.id\');',200)">-->#}
<a href="$item.profile_url" target="redir" 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="wall-item-lock lockview" alt="$item.lock" {#onclick="lockview(event,$item.id);" #}/>{#<!--</div>-->#}
{{ else }}<div class="wall-item-lock"></div>{{ endif }}
<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" target="redir" title="$item.linktitle" class="wall-item-name-link"><span class="wall-item-name$item.sparkle" id="wall-item-name-$item.id" >$item.name</span></a>
<div 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>
{{ if $item.has_cats }}
<div class="categorytags"><span>$item.txt_cats {{ for $item.categories as $cat }}$cat.name{{ if $cat.removeurl }} <a href="$cat.removeurl" title="$remove">[$remove]</a>{{ endif }} {{ if $cat.last }}{{ else }}, {{ endif }}{{ endfor }}
</div>
{{ endif }}
{{ if $item.has_folders }}
<div class="filesavetags"><span>$item.txt_folders {{ for $item.folders as $cat }}$cat.name{{ if $cat.removeurl }} <a href="$cat.removeurl" title="$remove">[$remove]</a>{{ endif }}{{ if $cat.last }}{{ else }}, {{ endif }}{{ endfor }}
</div>
{{ endif }}
</div>
<div class="wall-item-tools" id="wall-item-tools-$item.id">
{#<!--<div class="wall-item-delete-wrapper" id="wall-item-delete-wrapper-$item.id" >-->#}
{{ if $item.drop.dropping }}<a href="item/drop/$item.id?confirm=1" onclick="id=this.id;return confirmDelete(function(){changeHref(id, 'item/drop/$item.id')});" class="wall-item-delete-wrapper icon drophide" title="$item.drop.delete" id="wall-item-delete-wrapper-$item.id" {#onmouseover="imgbright(this);" onmouseout="imgdull(this);"#} ></a>{{ endif }}
{#<!--</div>-->#}
{#<!--{{ if $item.drop.pagedrop }}<input type="checkbox" onclick="checkboxhighlight(this);" title="$item.drop.select" class="item-select" name="itemselected[]" value="$item.id" />{{ endif }}-->#}
{#<!--<div class="wall-item-delete-end"></div>-->#}
</div>
</div>
{#<!--<div class="wall-item-wrapper-end"></div>-->#}
<div class="wall-item-conv" id="wall-item-conv-$item.id" >
{{ if $item.conv }}
<a href='$item.conv.href' id='context-$item.id' title='$item.conv.title'>$item.conv.title</a>
{{ endif }}
</div>
{#<!--<div class="wall-item-outside-wrapper-end $item.indent" ></div>-->#}
{#<!--</div>-->#}

View file

@ -0,0 +1,5 @@
{#<!--
<script>
window.isPublic = "$ispublic";
</script>
-->#}

View file

@ -0,0 +1,148 @@
<h1>$ptitle</h1>
$nickname_block
<form action="settings" id="settings-form" method="post" autocomplete="off" >
<input type='hidden' name='form_security_token' value='$form_security_token'>
<h3 class="settings-heading">$h_pass</h3>
{{inc field_password.tpl with $field=$password1 }}{{endinc}}
{{inc field_password.tpl with $field=$password2 }}{{endinc}}
{{ if $oid_enable }}
{{inc field_input.tpl with $field=$openid }}{{endinc}}
{{ endif }}
<div class="settings-submit-wrapper" >
<input type="submit" name="submit" class="settings-submit" value="$submit" />
</div>
<h3 class="settings-heading">$h_basic</h3>
{{inc field_input.tpl with $field=$username }}{{endinc}}
{{inc field_input.tpl with $field=$email }}{{endinc}}
{{inc field_custom.tpl with $field=$timezone }}{{endinc}}
{{inc field_input.tpl with $field=$defloc }}{{endinc}}
{{inc field_checkbox.tpl with $field=$allowloc }}{{endinc}}
<div class="settings-submit-wrapper" >
<input type="submit" name="submit" class="settings-submit" value="$submit" />
</div>
<h3 class="settings-heading">$h_prv</h3>
<input type="hidden" name="visibility" value="$visibility" />
{{inc field_input.tpl with $field=$maxreq }}{{endinc}}
$profile_in_dir
$profile_in_net_dir
$hide_friends
$hide_wall
$blockwall
$blocktags
$suggestme
$unkmail
{{inc field_input.tpl with $field=$cntunkmail }}{{endinc}}
{{inc field_input.tpl with $field=$expire.days }}{{endinc}}
<div class="field input">
<span class="field_help"><a href="#advanced-expire-popup" id="advanced-expire" class='popupbox' title="$expire.advanced">$expire.label</a></span>
<div style="display: none;">
<div id="advanced-expire-popup" style="width:auto;height:auto;overflow:auto;">
<h3>$expire.advanced</h3>
{{ inc field_yesno.tpl with $field=$expire.items }}{{endinc}}
{{ inc field_yesno.tpl with $field=$expire.notes }}{{endinc}}
{{ inc field_yesno.tpl with $field=$expire.starred }}{{endinc}}
{{ inc field_yesno.tpl with $field=$expire.network_only }}{{endinc}}
</div>
</div>
</div>
<div id="settings-perms-wrapper" class="field">
<label for="settings-default-perms">$settings_perms</label><br/>
<div id="settings-default-perms" class="settings-default-perms" >
{#<!-- <a href="#settings-jot-acl-wrapper" id="settings-default-perms-menu" class='popupbox'>$permissions $permdesc</a>
<div id="settings-default-perms-menu-end"></div>
<div id="settings-default-perms-select" style="display: none; margin-bottom: 20px" >
<div style="display: none;">-->#}
<div id="settings-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;margin-bottom: 20px">
{#<!--$aclselect-->#}
{{ inc acl_html_selector.tpl }}{{ endinc }}
</div>
{#<!-- </div>
</div>-->#}
</div>
</div>
<br/>
<div id="settings-default-perms-end"></div>
$group_select
<div class="settings-submit-wrapper" >
<input type="submit" name="submit" class="settings-submit" value="$submit" />
</div>
<h3 class="settings-heading">$h_not</h3>
<div id="settings-notifications">
<div id="settings-activity-desc">$activity_options</div>
{{inc field_checkbox.tpl with $field=$post_newfriend }}{{endinc}}
{{inc field_checkbox.tpl with $field=$post_joingroup }}{{endinc}}
{{inc field_checkbox.tpl with $field=$post_profilechange }}{{endinc}}
<div id="settings-notify-desc">$lbl_not</div>
<div class="group">
{{inc field_intcheckbox.tpl with $field=$notify1 }}{{endinc}}
{{inc field_intcheckbox.tpl with $field=$notify2 }}{{endinc}}
{{inc field_intcheckbox.tpl with $field=$notify3 }}{{endinc}}
{{inc field_intcheckbox.tpl with $field=$notify4 }}{{endinc}}
{{inc field_intcheckbox.tpl with $field=$notify5 }}{{endinc}}
{{inc field_intcheckbox.tpl with $field=$notify6 }}{{endinc}}
{{inc field_intcheckbox.tpl with $field=$notify7 }}{{endinc}}
</div>
</div>
<div class="settings-submit-wrapper" >
<input type="submit" name="submit" class="settings-submit" value="$submit" />
</div>
<h3 class="settings-heading">$h_advn</h3>
<div id="settings-pagetype-desc">$h_descadvn</div>
$pagetype
<div class="settings-submit-wrapper" >
<input type="submit" name="submit" class="settings-submit" value="$submit" />
</div>

View file

@ -0,0 +1,2 @@
<script>$j(function(){ previewTheme($j("#id_$theme.0")[0]); });</script>

View file

@ -0,0 +1,34 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<a name="acl-wrapper-target"></a>
<div id="acl-wrapper">
<div id="acl-public-switch">
<a href="{{$return_path}}#acl-wrapper-target" {{if $is_private == 1}}class="acl-public-switch-selected"{{/if}} >{{$private}}</a>
<a href="{{$return_path}}{{$public_link}}#acl-wrapper-target" {{if $is_private == 0}}class="acl-public-switch-selected"{{/if}} >{{$public}}</a>
</div>
<div id="acl-list">
<div id="acl-list-content">
<div id="acl-html-groups" class="acl-html-select-wrapper">
{{$group_perms}}<br />
<select name="group_allow[]" multiple {{if $is_private == 0}}disabled{{/if}} id="acl-html-group-select" class="acl-html-select" size=7>
{{foreach $acl_data.groups as $group}}
<option value="{{$group.id}}" {{if $is_private == 1}}{{if $group.selected}}selected{{/if}}{{/if}}>{{$group.name}}</option>
{{/foreach}}
</select>
</div>
<div id="acl-html-contacts" class="acl-html-select-wrapper">
{{$contact_perms}}<br />
<select name="contact_allow[]" multiple {{if $is_private == 0}}disabled{{/if}} id="acl-html-contact-select" class="acl-html-select" size=7>
{{foreach $acl_data.contacts as $contact}}
<option value="{{$contact.id}}" {{if $is_private == 1}}{{if $contact.selected}}selected{{/if}}{{/if}}>{{$contact.name}} ({{$contact.networkName}})</option>
{{/foreach}}
</select>
</div>
</div>
</div>
<span id="acl-fields"></span>
</div>

View file

@ -0,0 +1,28 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<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 data-src="{0}"><p>{1}{7}</p>
<a href="#" class='acl-button-show'>{{$show}}</a>
<a href="#" class='acl-button-hide'>{{$hide}}</a>
</div>
{{*<!--<script>
window.allowCID = {{$allowcid}};
window.allowGID = {{$allowgid}};
window.denyCID = {{$denycid}};
window.denyGID = {{$denygid}};
window.aclInit = "true";
</script>-->*}}

View file

@ -0,0 +1,36 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<h4><a href="{{$admurl}}">{{$admtxt}}</a></h4>
<ul class='admin linklist'>
<li class='admin button {{$admin.site.2}}'><a href='{{$admin.site.0}}'>{{$admin.site.1}}</a></li>
<li class='admin 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 button {{$admin.plugins.2}}'><a href='{{$admin.plugins.0}}'>{{$admin.plugins.1}}</a></li>
<li class='admin button {{$admin.themes.2}}'><a href='{{$admin.themes.0}}'>{{$admin.themes.1}}</a></li>
<li class='admin 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 button {{$admin.update.2}}'><a href='{{$admin.update.0}}'>{{$admin.update.1}}</a></li>
<li class='admin 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 button {{$l.2}}'><a href='{{$l.0}}'>{{$l.1}}</a></li>
{{/foreach}}
</ul>
<h4>{{$logtxt}}</h4>
<ul class='admin linklist'>
<li class='admin button {{$admin.logs.2}}'><a href='{{$admin.logs.0}}'>{{$admin.logs.1}}</a></li>
</ul>

View file

@ -0,0 +1,66 @@
{{*
* AUTOMATICALLY GENERATED TEMPLATE
* DO NOT EDIT THIS FILE, CHANGES WILL BE OVERWRITTEN
*
*}}
<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=$theme_mobile}}
{{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}}
{{include file="field_checkbox.tpl" field=$no_multi_reg}}
{{include file="field_checkbox.tpl" field=$no_openid}}
{{include file="field_checkbox.tpl" field=$no_regfullname}}
<div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>
<h3>{{$upload}}</h3>
{{include file="field_input.tpl" field=$maximagesize}}
{{include file="field_input.tpl" field=$maximagelength}}
{{include file="field_input.tpl" field=$jpegimagequality}}
<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_checkbox.tpl" field=$ostatus_disabled}}
{{include file="field_checkbox.tpl" field=$diaspora_enabled}}
{{include file="field_checkbox.tpl" field=$dfrn_only}}
{{include file="field_input.tpl" field=$global_directory}}
{{include file="field_checkbox.tpl" field=$thread_allow}}
{{include file="field_checkbox.tpl" field=$newuser_private}}
<div class="submit"><input type="submit" name="page_site" value="{{$submit}}" /></div>
<h3>{{$advanced}}</h3>
{{include file="field_checkbox.tpl" field=$no_utf}}
{{include file="field_checkbox.tpl" field=$verifyssl}}
{{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>

Some files were not shown because too many files have changed in this diff Show more