Merge remote-tracking branch 'upstream/develop' into 1602-diaspora
This commit is contained in:
commit
918efbafac
3
boot.php
3
boot.php
|
@ -1509,6 +1509,9 @@ function killme() {
|
|||
* @brief Redirect to another URL and terminate this process.
|
||||
*/
|
||||
function goaway($s) {
|
||||
if (!strstr(normalise_link($s), normalise_link(App::get_baseurl())))
|
||||
$s = App::get_baseurl()."/".$s;
|
||||
|
||||
header("Location: $s");
|
||||
killme();
|
||||
}
|
||||
|
|
|
@ -37,10 +37,7 @@ General
|
|||
* o: Profile
|
||||
* t: Contacts
|
||||
* d: Common friends
|
||||
* b: Toggle Blocked status
|
||||
* i: Toggle Ignored status
|
||||
* v: Toggle Archive status
|
||||
* r: Repair
|
||||
* r: Advanced
|
||||
|
||||
/message
|
||||
--------
|
||||
|
|
|
@ -737,12 +737,10 @@ function diaspora_request($importer,$xml) {
|
|||
return;
|
||||
}
|
||||
|
||||
$g = q("select def_gid from user where uid = %d limit 1",
|
||||
intval($importer['uid'])
|
||||
);
|
||||
if($g && intval($g[0]['def_gid'])) {
|
||||
$def_gid = get_default_group($importer['uid'], $ret["network"]);
|
||||
if (intval($def_gid)) {
|
||||
require_once('include/group.php');
|
||||
group_add_member($importer['uid'],'',$contact_record['id'],$g[0]['def_gid']);
|
||||
group_add_member($importer['uid'], '', $contact_record['id'], $def_gid);
|
||||
}
|
||||
|
||||
if($importer['page-flags'] == PAGE_NORMAL) {
|
||||
|
|
|
@ -258,12 +258,10 @@ function new_contact($uid,$url,$interactive = false) {
|
|||
$contact_id = $r[0]['id'];
|
||||
$result['cid'] = $contact_id;
|
||||
|
||||
$g = q("select def_gid from user where uid = %d limit 1",
|
||||
intval($uid)
|
||||
);
|
||||
if($g && intval($g[0]['def_gid'])) {
|
||||
$def_gid = get_default_group($uid, $contact["network"]);
|
||||
if (intval($def_gid)) {
|
||||
require_once('include/group.php');
|
||||
group_add_member($uid,'',$contact_id,$g[0]['def_gid']);
|
||||
group_add_member($uid, '', $contact_id, $def_gid);
|
||||
}
|
||||
|
||||
require_once("include/Photo.php");
|
||||
|
|
|
@ -188,7 +188,7 @@ function group_public_members($gid) {
|
|||
}
|
||||
|
||||
|
||||
function mini_group_select($uid,$gid = 0) {
|
||||
function mini_group_select($uid,$gid = 0, $label = "") {
|
||||
|
||||
$grps = array();
|
||||
$o = '';
|
||||
|
@ -205,8 +205,11 @@ function mini_group_select($uid,$gid = 0) {
|
|||
}
|
||||
logger('groups: ' . print_r($grps,true));
|
||||
|
||||
if ($label == "")
|
||||
$label = t('Default privacy group for new contacts');
|
||||
|
||||
$o = replace_macros(get_markup_template('group_selection.tpl'), array(
|
||||
'$label' => t('Default privacy group for new contacts'),
|
||||
'$label' => $label,
|
||||
'$groups' => $grps
|
||||
));
|
||||
return $o;
|
||||
|
@ -375,3 +378,28 @@ function groups_count_unseen() {
|
|||
|
||||
return $r;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Returns the default group for a given user and network
|
||||
*
|
||||
* @param int $uid User id
|
||||
* @param string $network network name
|
||||
*
|
||||
* @return int group id
|
||||
*/
|
||||
function get_default_group($uid, $network = "") {
|
||||
|
||||
$default_group = 0;
|
||||
|
||||
if ($network == NETWORK_OSTATUS)
|
||||
$default_group = get_pconfig($uid, "ostatus", "default_group");
|
||||
|
||||
if ($default_group != 0)
|
||||
return $default_group;
|
||||
|
||||
$g = q("SELECT `def_gid` FROM `user` WHERE `uid` = %d LIMIT 1", intval($uid));
|
||||
if($g && intval($g[0]["def_gid"]))
|
||||
$default_group = $g[0]["def_gid"];
|
||||
|
||||
return $default_group;
|
||||
}
|
||||
|
|
|
@ -537,7 +537,7 @@ function ostatus_import($xml,$importer,&$contact, &$hub) {
|
|||
} else
|
||||
$item["parent-uri"] = $item["uri"];
|
||||
|
||||
$item_id = ostatus_completion($conversation, $importer["uid"], $item);
|
||||
$item_id = ostatus_completion($conversation, $importer["uid"], $item, $self);
|
||||
|
||||
if (!$item_id) {
|
||||
logger("Error storing item", LOGGER_DEBUG);
|
||||
|
@ -676,17 +676,57 @@ function ostatus_conv_fetch_actor($actor) {
|
|||
update_gcontact($contact);
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Fetches the conversation url for a given item link or conversation id
|
||||
*
|
||||
* @param string $self The link to the posting
|
||||
* @param string $conversation_id The conversation id
|
||||
*
|
||||
* @return string The conversation url
|
||||
*/
|
||||
function ostatus_fetch_conversation($self, $conversation_id = "") {
|
||||
|
||||
function ostatus_completion($conversation_url, $uid, $item = array()) {
|
||||
if ($conversation_id != "") {
|
||||
$elements = explode(":", $conversation_id);
|
||||
|
||||
if ((count($elements) <= 2) OR ($elements[0] != "tag"))
|
||||
return $conversation_id;
|
||||
}
|
||||
|
||||
if ($self == "")
|
||||
return "";
|
||||
|
||||
$json = str_replace(".atom", ".json", $self);
|
||||
|
||||
$raw = fetch_url($json);
|
||||
if ($raw == "")
|
||||
return "";
|
||||
|
||||
$data = json_decode($raw);
|
||||
if (!is_object($data))
|
||||
return "";
|
||||
|
||||
$conversation_id = $data->statusnet_conversation_id;
|
||||
|
||||
$pos = strpos($self, "/api/statuses/show/");
|
||||
$base_url = substr($self, 0, $pos);
|
||||
|
||||
return $base_url."/conversation/".$conversation_id;
|
||||
}
|
||||
|
||||
function ostatus_completion($conversation_url, $uid, $item = array(), $self = "") {
|
||||
|
||||
$a = get_app();
|
||||
|
||||
$item_stored = -1;
|
||||
|
||||
$conversation_url = ostatus_convert_href($conversation_url);
|
||||
//$conversation_url = ostatus_convert_href($conversation_url);
|
||||
$conversation_url = ostatus_fetch_conversation($self, $conversation_url);
|
||||
|
||||
// If the thread shouldn't be completed then store the item and go away
|
||||
if ((intval(get_config('system','ostatus_poll_interval')) == -2) AND (count($item) > 0)) {
|
||||
// Don't do a completion on liked content
|
||||
if (((intval(get_config('system','ostatus_poll_interval')) == -2) AND (count($item) > 0)) OR
|
||||
($item["verb"] == ACTIVITY_LIKE) OR ($conversation_url == "")) {
|
||||
//$arr["app"] .= " (OStatus-NoCompletion)";
|
||||
$item_stored = item_store($item, true);
|
||||
return($item_stored);
|
||||
|
@ -725,7 +765,7 @@ function ostatus_completion($conversation_url, $uid, $item = array()) {
|
|||
$pageno = 1;
|
||||
$items = array();
|
||||
|
||||
logger('fetching conversation url '.$conv.' for user '.$uid);
|
||||
logger('fetching conversation url '.$conv.' (Self: '.$self.') for user '.$uid);
|
||||
|
||||
do {
|
||||
$conv_arr = z_fetch_url($conv."?page=".$pageno);
|
||||
|
@ -778,6 +818,8 @@ function ostatus_completion($conversation_url, $uid, $item = array()) {
|
|||
$r = q("SELECT `nurl` FROM `contact` WHERE `uid` = %d AND `self`", intval($uid));
|
||||
$importer = $r[0];
|
||||
|
||||
$new_parent = true;
|
||||
|
||||
foreach ($items as $single_conv) {
|
||||
|
||||
// Update the gcontact table
|
||||
|
@ -809,6 +851,9 @@ function ostatus_completion($conversation_url, $uid, $item = array()) {
|
|||
// 2. This first post is a post inside our thread
|
||||
// 3. This first post is a post inside another thread
|
||||
if (($first_id != $parent["uri"]) AND ($parent["uri"] != "")) {
|
||||
|
||||
$new_parent = true;
|
||||
|
||||
$new_parents = q("SELECT `id`, `parent`, `uri`, `contact-id`, `type`, `verb`, `visible` FROM `item` WHERE `id` IN
|
||||
(SELECT `parent` FROM `item`
|
||||
WHERE `uid` = %d AND `uri` = '%s' AND `network` IN ('%s','%s')) LIMIT 1",
|
||||
|
@ -909,12 +954,14 @@ function ostatus_completion($conversation_url, $uid, $item = array()) {
|
|||
if (isset($single_conv->actor->url))
|
||||
$actor = $single_conv->actor->url;
|
||||
|
||||
$contact = q("SELECT `id` FROM `contact` WHERE `uid` = %d AND `nurl` = '%s' AND `network` != '%s'",
|
||||
$contact = q("SELECT `id`, `rel` FROM `contact` WHERE `uid` = %d AND `nurl` = '%s' AND `network` != '%s'",
|
||||
$uid, normalise_link($actor), NETWORK_STATUSNET);
|
||||
|
||||
if (count($contact)) {
|
||||
logger("Found contact for url ".$actor, LOGGER_DEBUG);
|
||||
$contact_id = $contact[0]["id"];
|
||||
|
||||
$not_following = !in_array($contact[0]["rel"], array(CONTACT_IS_SHARING, CONTACT_IS_FRIEND));
|
||||
} else {
|
||||
logger("No contact found for url ".$actor, LOGGER_DEBUG);
|
||||
|
||||
|
@ -925,6 +972,14 @@ function ostatus_completion($conversation_url, $uid, $item = array()) {
|
|||
logger("Global contact ".$global_contact_id." found for url ".$actor, LOGGER_DEBUG);
|
||||
|
||||
$contact_id = $parent["contact-id"];
|
||||
|
||||
$not_following = true;
|
||||
}
|
||||
|
||||
// Do we only want to import threads that were started by our contacts?
|
||||
if ($not_following AND $new_parent AND get_config('system','ostatus_full_threads')) {
|
||||
logger("Don't import uri ".$first_id." because we don't follow the person ".$actor, LOGGER_DEBUG);
|
||||
continue;
|
||||
}
|
||||
|
||||
$arr = array();
|
||||
|
|
|
@ -598,6 +598,7 @@ function admin_page_site_post(&$a) {
|
|||
$dfrn_only = ((x($_POST,'dfrn_only')) ? True : False);
|
||||
$ostatus_disabled = !((x($_POST,'ostatus_disabled')) ? True : False);
|
||||
$ostatus_poll_interval = ((x($_POST,'ostatus_poll_interval')) ? intval(trim($_POST['ostatus_poll_interval'])) : 0);
|
||||
$ostatus_full_threads = ((x($_POST,'ostatus_full_threads')) ? True : False);
|
||||
$diaspora_enabled = ((x($_POST,'diaspora_enabled')) ? True : False);
|
||||
$ssl_policy = ((x($_POST,'ssl_policy')) ? intval($_POST['ssl_policy']) : 0);
|
||||
$force_ssl = ((x($_POST,'force_ssl')) ? True : False);
|
||||
|
@ -746,6 +747,7 @@ function admin_page_site_post(&$a) {
|
|||
set_config('system','dfrn_only', $dfrn_only);
|
||||
set_config('system','ostatus_disabled', $ostatus_disabled);
|
||||
set_config('system','ostatus_poll_interval', $ostatus_poll_interval);
|
||||
set_config('system','ostatus_full_threads', $ostatus_full_threads);
|
||||
set_config('system','diaspora_enabled', $diaspora_enabled);
|
||||
|
||||
set_config('config','private_addons', $private_addons);
|
||||
|
@ -947,6 +949,7 @@ function admin_page_site(&$a) {
|
|||
'$max_author_posts_community_page' => array('max_author_posts_community_page', t("Posts per user on community page"), get_config('system','max_author_posts_community_page'), t("The maximum number of posts per user on the community page. (Not valid for 'Global Community')")),
|
||||
'$ostatus_disabled' => array('ostatus_disabled', t("Enable OStatus support"), !get_config('system','ostatus_disabled'), t("Provide built-in OStatus \x28StatusNet, GNU Social etc.\x29 compatibility. All communications in OStatus are public, so privacy warnings will be occasionally displayed.")),
|
||||
'$ostatus_poll_interval' => array('ostatus_poll_interval', t("OStatus conversation completion interval"), (string) intval(get_config('system','ostatus_poll_interval')), t("How often shall the poller check for new entries in OStatus conversations? This can be a very ressource task."), $ostatus_poll_choices),
|
||||
'$ostatus_full_threads' => array('ostatus_full_threads', t("Only import OStatus threads from our contacts"), get_config('system','ostatus_full_threads'), t("Normally we import every content from our OStatus contacts. With this option we only store threads that are started by a contact that is known on our system.")),
|
||||
'$ostatus_not_able' => t("OStatus support can only be enabled if threading is enabled."),
|
||||
'$diaspora_able' => $diaspora_able,
|
||||
'$diaspora_not_able' => t("Diaspora support can't be enabled because Friendica was installed into a sub directory."),
|
||||
|
|
119
mod/contacts.php
119
mod/contacts.php
|
@ -565,6 +565,9 @@ function contacts_content(&$a) {
|
|||
($contact['rel'] == CONTACT_IS_FOLLOWER))
|
||||
$follow = $a->get_baseurl(true)."/follow?url=".urlencode($contact["url"]);
|
||||
|
||||
// Load contactact related actions like hide, suggest, delete and others
|
||||
$contact_actions = contact_actions($contact);
|
||||
|
||||
|
||||
$o .= replace_macros($tpl, array(
|
||||
//'$header' => t('Contact Editor'),
|
||||
|
@ -584,7 +587,7 @@ function contacts_content(&$a) {
|
|||
'$lblcrepair' => t("Repair URL settings"),
|
||||
'$lblrecent' => t('View conversations'),
|
||||
'$lblsuggest' => $lblsuggest,
|
||||
'$delete' => t('Delete contact'),
|
||||
//'$delete' => t('Delete contact'),
|
||||
'$nettype' => $nettype,
|
||||
'$poll_interval' => $poll_interval,
|
||||
'$poll_enabled' => $poll_enabled,
|
||||
|
@ -622,7 +625,11 @@ function contacts_content(&$a) {
|
|||
'$about' => bbcode($contact["about"], false, false),
|
||||
'$about_label' => t("About:"),
|
||||
'$keywords' => $contact["keywords"],
|
||||
'$keywords_label' => t("Tags:")
|
||||
'$keywords_label' => t("Tags:"),
|
||||
'$contact_action_button' => t("Actions"),
|
||||
'$contact_actions' => $contact_actions,
|
||||
'$contact_status' => t("Status"),
|
||||
'$contact_settings_label' => t('Contact Settings'),
|
||||
|
||||
));
|
||||
|
||||
|
@ -800,6 +807,17 @@ function contacts_content(&$a) {
|
|||
return $o;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief List of pages for the Contact TabBar
|
||||
*
|
||||
* Available Pages are 'Status', 'Profile', 'Contacts' and 'Common Friends'
|
||||
*
|
||||
* @param app $a
|
||||
* @param int $contact_id The ID of the contact
|
||||
* @param int $active_tab 1 if tab should be marked as active
|
||||
*
|
||||
* @return array with with contact TabBar data
|
||||
*/
|
||||
function contacts_tab($a, $contact_id, $active_tab) {
|
||||
// tabs
|
||||
$tabs = array(
|
||||
|
@ -821,6 +839,7 @@ function contacts_tab($a, $contact_id, $active_tab) {
|
|||
)
|
||||
);
|
||||
|
||||
// Show this tab only if there is visible friend list
|
||||
$x = count_all_friends(local_user(), $contact_id);
|
||||
if ($x)
|
||||
$tabs[] = array('label'=>t('Contacts'),
|
||||
|
@ -830,6 +849,7 @@ function contacts_tab($a, $contact_id, $active_tab) {
|
|||
'id' => 'allfriends-tab',
|
||||
'accesskey' => 't');
|
||||
|
||||
// Show this tab only if there is visible common friend list
|
||||
$common = count_common_friends(local_user(),$contact_id);
|
||||
if ($common)
|
||||
$tabs[] = array('label'=>t('Common Friends'),
|
||||
|
@ -839,35 +859,13 @@ function contacts_tab($a, $contact_id, $active_tab) {
|
|||
'id' => 'common-loc-tab',
|
||||
'accesskey' => 'd');
|
||||
|
||||
$tabs[] = array('label' => t('Repair'),
|
||||
$tabs[] = array('label' => t('Advanced'),
|
||||
'url' => 'crepair/' . $contact_id,
|
||||
'sel' => (($active_tab == 5)?'active':''),
|
||||
'title' => t('Advanced Contact Settings'),
|
||||
'id' => 'repair-tab',
|
||||
'id' => 'advanced-tab',
|
||||
'accesskey' => 'r');
|
||||
|
||||
|
||||
$tabs[] = array('label' => (($contact['blocked']) ? t('Unblock') : t('Block') ),
|
||||
'url' => 'contacts/' . $contact_id . '/block',
|
||||
'sel' => '',
|
||||
'title' => t('Toggle Blocked status'),
|
||||
'id' => 'toggle-block-tab',
|
||||
'accesskey' => 'b');
|
||||
|
||||
$tabs[] = array('label' => (($contact['readonly']) ? t('Unignore') : t('Ignore') ),
|
||||
'url' => 'contacts/' . $contact_id . '/ignore',
|
||||
'sel' => '',
|
||||
'title' => t('Toggle Ignored status'),
|
||||
'id' => 'toggle-ignore-tab',
|
||||
'accesskey' => 'i');
|
||||
|
||||
$tabs[] = array('label' => (($contact['archive']) ? t('Unarchive') : t('Archive') ),
|
||||
'url' => 'contacts/' . $contact_id . '/archive',
|
||||
'sel' => '',
|
||||
'title' => t('Toggle Archive status'),
|
||||
'id' => 'toggle-archive-tab',
|
||||
'accesskey' => 'v');
|
||||
|
||||
$tab_tpl = get_markup_template('common_tabs.tpl');
|
||||
$tab_str = replace_macros($tab_tpl, array('$tabs' => $tabs));
|
||||
|
||||
|
@ -954,3 +952,72 @@ function _contact_detail_for_template($rr){
|
|||
);
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Gives a array with actions which can performed to a given contact
|
||||
*
|
||||
* This includes actions like e.g. 'block', 'hide', 'archive', 'delete' and others
|
||||
*
|
||||
* @param array $contact Data about the Contact
|
||||
* @return array with contact related actions
|
||||
*/
|
||||
function contact_actions($contact) {
|
||||
|
||||
$poll_enabled = in_array($contact['network'], array(NETWORK_DFRN, NETWORK_OSTATUS, NETWORK_FEED, NETWORK_MAIL, NETWORK_MAIL2));
|
||||
$contact_action = array();
|
||||
|
||||
// Provide friend suggestion only for Friendica contacts
|
||||
if($contact['network'] === NETWORK_DFRN) {
|
||||
$contact_actions['suggest'] = array(
|
||||
'label' => t('Suggest friends'),
|
||||
'url' => 'fsuggest/' . $contact['id'],
|
||||
'title' => '',
|
||||
'sel' => '',
|
||||
'id' => 'suggest',
|
||||
);
|
||||
}
|
||||
|
||||
if($poll_enabled) {
|
||||
$contact_actions['update'] = array(
|
||||
'label' => t('Update now'),
|
||||
'url' => 'contacts/' . $contact['id'] . '/update',
|
||||
'title' => '',
|
||||
'sel' => '',
|
||||
'id' => 'update',
|
||||
);
|
||||
}
|
||||
|
||||
$contact_actions['block'] = array(
|
||||
'label' => (intval($contact['blocked']) ? t('Unblock') : t('Block') ),
|
||||
'url' => 'contacts/' . $contact['id'] . '/block',
|
||||
'title' => t('Toggle Blocked status'),
|
||||
'sel' => (intval($contact['blocked']) ? 'active' : ''),
|
||||
'id' => 'toggle-block',
|
||||
);
|
||||
|
||||
$contact_actions['ignore'] = array(
|
||||
'label' => (intval($contact['readonly']) ? t('Unignore') : t('Ignore') ),
|
||||
'url' => 'contacts/' . $contact['id'] . '/ignore',
|
||||
'title' => t('Toggle Ignored status'),
|
||||
'sel' => (intval($contact['readonly']) ? 'active' : ''),
|
||||
'id' => 'toggle-ignore',
|
||||
);
|
||||
|
||||
$contact_actions['archive'] = array(
|
||||
'label' => (intval($contact['archive']) ? t('Unarchive') : t('Archive') ),
|
||||
'url' => 'contacts/' . $contact['id'] . '/archive',
|
||||
'title' => t('Toggle Archive status'),
|
||||
'sel' => (intval($contact['archive']) ? 'active' : ''),
|
||||
'id' => 'toggle-archive',
|
||||
);
|
||||
|
||||
$contact_actions['delete'] = array(
|
||||
'label' => t('Delete'),
|
||||
'url' => 'contacts/' . $contact['id'] . '/drop',
|
||||
'title' => t('Delete contact'),
|
||||
'sel' => '',
|
||||
'id' => 'delete',
|
||||
);
|
||||
|
||||
return $contact_actions;
|
||||
}
|
||||
|
|
|
@ -489,13 +489,10 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
$g = q("select def_gid from user where uid = %d limit 1",
|
||||
intval($uid)
|
||||
);
|
||||
if($contact && $g && intval($g[0]['def_gid'])) {
|
||||
$def_gid = get_default_group($uid, $contact["network"]);
|
||||
if($contact && intval($def_gid)) {
|
||||
require_once('include/group.php');
|
||||
group_add_member($uid,'',$contact['id'],$g[0]['def_gid']);
|
||||
group_add_member($uid, '', $contact['id'], $def_gid);
|
||||
}
|
||||
|
||||
// Let's send our user to the contact editor in case they want to
|
||||
|
|
|
@ -174,18 +174,16 @@ function dfrn_request_post(&$a) {
|
|||
info( t("Introduction complete.") . EOL);
|
||||
}
|
||||
|
||||
$r = q("select id from contact where uid = %d and url = '%s' and `site-pubkey` = '%s' limit 1",
|
||||
$r = q("SELECT `id`, `network` FROM `contact` WHERE `uid` = %d AND `url` = '%s' AND `site-pubkey` = '%s' LIMIT 1",
|
||||
intval(local_user()),
|
||||
dbesc($dfrn_url),
|
||||
$parms['key'] // this was already escaped
|
||||
);
|
||||
if(count($r)) {
|
||||
$g = q("select def_gid from user where uid = %d limit 1",
|
||||
intval(local_user())
|
||||
);
|
||||
if($g && intval($g[0]['def_gid'])) {
|
||||
$def_gid = get_default_group(local_user(), $r[0]["network"]);
|
||||
if(intval($def_gid)) {
|
||||
require_once('include/group.php');
|
||||
group_add_member(local_user(),'',$r[0]['id'],$g[0]['def_gid']);
|
||||
group_add_member(local_user(), '', $r[0]['id'], $def_gid);
|
||||
}
|
||||
$forwardurl = $a->get_baseurl()."/contacts/".$r[0]['id'];
|
||||
} else
|
||||
|
@ -388,19 +386,17 @@ function dfrn_request_post(&$a) {
|
|||
intval($rel)
|
||||
);
|
||||
|
||||
$r = q("select id from contact where poll = '%s' and uid = %d limit 1",
|
||||
$r = q("SELECT `id`, `network` FROM `contact` WHERE `poll` = '%s' AND `uid` = %d LIMIT 1",
|
||||
dbesc($poll),
|
||||
intval($uid)
|
||||
);
|
||||
if(count($r)) {
|
||||
$contact_id = $r[0]['id'];
|
||||
|
||||
$g = q("select def_gid from user where uid = %d limit 1",
|
||||
intval($uid)
|
||||
);
|
||||
if($g && intval($g[0]['def_gid'])) {
|
||||
$def_gid = get_default_group($uid, $r[0]["network"]);
|
||||
if (intval($def_gid)) {
|
||||
require_once('include/group.php');
|
||||
group_add_member($uid,'',$contact_id,$g[0]['def_gid']);
|
||||
group_add_member($uid, '', $contact_id, $def_gid);
|
||||
}
|
||||
|
||||
$photo = avatar_img($addr);
|
||||
|
|
|
@ -199,6 +199,7 @@ function settings_post(&$a) {
|
|||
if(x($_POST, 'general-submit')) {
|
||||
set_pconfig(local_user(), 'system', 'no_intelligent_shortening', intval($_POST['no_intelligent_shortening']));
|
||||
set_pconfig(local_user(), 'system', 'ostatus_autofriend', intval($_POST['snautofollow']));
|
||||
set_pconfig(local_user(), 'ostatus', 'default_group', $_POST['group-selection']);
|
||||
set_pconfig(local_user(), 'ostatus', 'legacy_contact', $_POST['legacy_contact']);
|
||||
} elseif(x($_POST, 'imap-submit')) {
|
||||
|
||||
|
@ -797,8 +798,11 @@ function settings_content(&$a) {
|
|||
$settings_connectors .= '<span class="field_help">'.t('If you receive a message from an unknown OStatus user, this option decides what to do. If it is checked, a new contact will be created for every unknown user.').'</span>';
|
||||
$settings_connectors .= '</div>';
|
||||
|
||||
$default_group = get_pconfig(local_user(), 'ostatus', 'default_group');
|
||||
$legacy_contact = get_pconfig(local_user(), 'ostatus', 'legacy_contact');
|
||||
|
||||
$settings_connectors .= mini_group_select(local_user(), $default_group, t("Default group for OStatus contacts"));
|
||||
|
||||
if ($legacy_contact != "")
|
||||
$a->page['htmlhead'] = '<meta http-equiv="refresh" content="0; URL='.$a->get_baseurl().'/ostatus_subscribe?url='.urlencode($legacy_contact).'">';
|
||||
|
||||
|
|
|
@ -1,6 +1,32 @@
|
|||
/* General style rules .*/
|
||||
.pull-right { float: right }
|
||||
|
||||
/* General designing elements */
|
||||
.btn {
|
||||
outline: none;
|
||||
-moz-box-shadow: inset 0px 1px 0px 0px #ffffff;
|
||||
-webkit-box-shadow: inset 0px 1px 0px 0px #ffffff;
|
||||
box-shadow: inset 0px 1px 0px 0px #ffffff;
|
||||
background-color: #ededed;
|
||||
text-indent: 0;
|
||||
border: 1px solid #dcdcdc;
|
||||
display: inline-block;
|
||||
color: #777777;
|
||||
padding: 5px 10px;
|
||||
text-align: center;
|
||||
}
|
||||
a.btn, a.btn:hover {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.menu-popup .divider {
|
||||
height: 1px;
|
||||
margin: 3px 0;
|
||||
overflow: hidden;
|
||||
background-color: #2d2d2d;
|
||||
}
|
||||
|
||||
/* List of social Networks */
|
||||
img.connector, img.connector-disabled {
|
||||
height: 40px;
|
||||
|
@ -351,3 +377,26 @@ td.federation-data {
|
|||
#live-community {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
/* contact-edit */
|
||||
#contact-edit-status-wrapper {
|
||||
border: 1px solid;
|
||||
padding: 10px;
|
||||
}
|
||||
#contact-edit-actions {
|
||||
float: right;
|
||||
display: inline-block;
|
||||
position: relative;
|
||||
}
|
||||
#contact-edit-actions > .menu-popup {
|
||||
right: 0;
|
||||
left: auto;
|
||||
}
|
||||
|
||||
#contact-edit-settings-label:after {
|
||||
content: ' »';
|
||||
}
|
||||
|
||||
#contact-edit-settings {
|
||||
display: none;
|
||||
}
|
||||
|
|
|
@ -87,6 +87,7 @@
|
|||
{{if $thread_allow.2}}
|
||||
{{include file="field_checkbox.tpl" field=$ostatus_disabled}}
|
||||
{{include file="field_select.tpl" field=$ostatus_poll_interval}}
|
||||
{{include file="field_checkbox.tpl" field=$ostatus_full_threads}}
|
||||
{{else}}
|
||||
<div class='field checkbox' id='div_id_{{$ostatus_disabled.0}}'>
|
||||
<label for='id_{{$ostatus_disabled.0}}'>{{$ostatus_disabled.1}}</label>
|
||||
|
|
|
@ -1,81 +1,73 @@
|
|||
|
||||
{{if $header}}<h2>{{$header}}</h2>{{/if}}
|
||||
|
||||
<div id="contact-edit-wrapper" >
|
||||
|
||||
{{* Insert Tab-Nav *}}
|
||||
{{$tab_str}}
|
||||
|
||||
<div id="contact-edit-drop-link" >
|
||||
<a href="contacts/{{$contact_id}}/drop" class="icon drophide" id="contact-edit-drop-link" onclick="return confirmDelete();" title="{{$delete}}" onmouseover="imgbright(this);" onmouseout="imgdull(this);"></a>
|
||||
</div>
|
||||
|
||||
<div id="contact-edit-drop-link-end"></div>
|
||||
|
||||
|
||||
<div id="contact-edit-nav-wrapper" >
|
||||
<div id="contact-edit-links">
|
||||
<div id="contact-edit-status-wrapper">
|
||||
<span id="contact-edit-contact-status">{{$contact_status}}</span>
|
||||
|
||||
{{* This is the Action menu where contact related actions like 'ignore', 'hide' can be performed *}}
|
||||
<div id="contact-edit-actions">
|
||||
<a class="btn" rel="#contact-actions-menu" href="#" id="contact-edit-actions-button">{{$contact_action_button}}</a>
|
||||
|
||||
<ul role="menu" aria-haspopup="true" id="contact-actions-menu" class="menu-popup" >
|
||||
{{if $lblsuggest}}<li role="menuitem"><a href="#" title="{{$contact_actions.suggest.title}}" onclick="window.location.href='{{$contact_actions.suggest.url}}'; return false;">{{$contact_actions.suggest.label}}</a></li>{{/if}}
|
||||
{{if $poll_enabled}}<li role="menuitem"><a href="#" title="{{$contact_actions.update.title}}" onclick="window.location.href='{{$contact_actions.update.url}}'; return false;">{{$contact_actions.update.label}}</a></li>{{/if}}
|
||||
<li class="divider"></li>
|
||||
<li role="menuitem"><a href="#" title="{{$contact_actions.block.title}}" onclick="window.location.href='{{$contact_actions.block.url}}'; return false;">{{$contact_actions.block.label}}</a></li>
|
||||
<li role="menuitem"><a href="#" title="{{$contact_actions.ignore.title}}" onclick="window.location.href='{{$contact_actions.ignore.url}}'; return false;">{{$contact_actions.ignore.label}}</a></li>
|
||||
<li role="menuitem"><a href="#" title="{{$contact_actions.archive.title}}" onclick="window.location.href='{{$contact_actions.archive.url}}'; return false;">{{$contact_actions.archive.label}}</a></li>
|
||||
<li role="menuitem"><a href="#" title="{{$contact_actions.delete.title}}" onclick="return confirmDelete();">{{$contact_actions.delete.label}}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{* Block with status information about the contact *}}
|
||||
<ul>
|
||||
{{if $relation_text}}
|
||||
<li><div id="contact-edit-rel">{{$relation_text}}</div></li>
|
||||
{{if $relation_text}}<li><div id="contact-edit-rel">{{$relation_text}}</div></li>{{/if}}
|
||||
|
||||
{{if $poll_enabled}}
|
||||
<li><div id="contact-edit-last-update-text">{{$lastupdtext}} <span id="contact-edit-last-updated">{{$last_update}}</span></div>
|
||||
{{if $poll_interval}}
|
||||
<span id="contact-edit-poll-text">{{$updpub}}</span> {{$poll_interval}}
|
||||
{{/if}}
|
||||
{{if $lost_contact}}
|
||||
<li><div id="lost-contact-message">{{$lost_contact}}</div></li>
|
||||
{{/if}}
|
||||
{{if $insecure}}
|
||||
<li><div id="insecure-message">{{$insecure}}</div></li>
|
||||
{{/if}}
|
||||
{{if $blocked}}
|
||||
<li><div id="block-message">{{$blocked}}</div></li>
|
||||
{{/if}}
|
||||
{{if $ignored}}
|
||||
<li><div id="ignore-message">{{$ignored}}</div></li>
|
||||
{{/if}}
|
||||
{{if $archived}}
|
||||
<li><div id="archive-message">{{$archived}}</div></li>
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{if $lost_contact}}<li><div id="lost-contact-message">{{$lost_contact}}</div></li>{{/if}}
|
||||
{{if $insecure}}<li><div id="insecure-message">{{$insecure}}</div></li> {{/if}}
|
||||
{{if $blocked}}<li><div id="block-message">{{$blocked}}</div></li>{{/if}}
|
||||
{{if $ignored}}<li><div id="ignore-message">{{$ignored}}</div></li>{{/if}}
|
||||
{{if $archived}}<li><div id="archive-message">{{$archived}}</div></li>{{/if}}
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
|
||||
{{if $common_text}}
|
||||
<li><div id="contact-edit-common"><a href="{{$common_link}}">{{$common_text}}</a></div></li>
|
||||
{{/if}}
|
||||
{{if $all_friends}}
|
||||
<li><div id="contact-edit-allfriends"><a href="allfriends/{{$contact_id}}">{{$all_friends}}</a></div></li>
|
||||
{{/if}}
|
||||
|
||||
|
||||
<!-- <li><a href="network/0?nets=all&cid={{$contact_id}}" id="contact-edit-view-recent">{{$lblrecent}}</a></li> -->
|
||||
{{if $lblsuggest}}
|
||||
<li><a href="fsuggest/{{$contact_id}}" id="contact-edit-suggest">{{$lblsuggest}}</a></li>
|
||||
{{/if}}
|
||||
{{if $follow}}
|
||||
<li><div id="contact-edit-follow"><a href="{{$follow}}">{{$follow_text}}</a></div></li>
|
||||
{{/if}}
|
||||
|
||||
{{if $follow}}<li><div id="contact-edit-follow"><a href="{{$follow}}">{{$follow_text}}</a></div></li>{{/if}}
|
||||
</ul>
|
||||
</div> {{* End of contact-edit-status-wrapper *}}
|
||||
|
||||
{{* Some information about the contact from the profile *}}
|
||||
<dl><dt>{{$profileurllabel}}</dt><dd><a target="blank" href="{{$url}}">{{$profileurl}}</a></dd></dl>
|
||||
{{if $location}}<dl><dt>{{$location_label}}</dt><dd>{{$location}}</dd></dl>{{/if}}
|
||||
{{if $keywords}}<dl><dt>{{$keywords_label}}</dt><dd>{{$keywords}}</dd></dl>{{/if}}
|
||||
{{if $about}}<dl><dt>{{$about_label}}</dt><dd>{{$about}}</dd></dl>{{/if}}
|
||||
</div>
|
||||
</div>
|
||||
<div id="contact-edit-nav-end"></div>
|
||||
</div>{{* End of contact-edit-links *}}
|
||||
|
||||
<div id="contact-edit-links-end"></div>
|
||||
|
||||
<hr />
|
||||
|
||||
<h4 id="contact-edit-settings-label" class="fakelink" onclick="openClose('contact-edit-settings')">{{$contact_settings_label}}</h4>
|
||||
<div id="contact-edit-settings">
|
||||
<form action="contacts/{{$contact_id}}" method="post" >
|
||||
<input type="hidden" name="contact_id" value="{{$contact_id}}">
|
||||
|
||||
<div id="contact-edit-poll-wrapper">
|
||||
{{if $poll_enabled}}
|
||||
<div id="contact-edit-last-update-text">{{$lastupdtext}} <span id="contact-edit-last-updated">{{$last_update}}</span></div>
|
||||
{{if $poll_interval}}
|
||||
<span id="contact-edit-poll-text">{{$updpub}}</span> {{$poll_interval}}
|
||||
{{/if}}
|
||||
<span id="contact-edit-update-now" class="button"><a href="contacts/{{$contact_id}}/update" >{{$udnow}}</a></span>
|
||||
{{/if}}
|
||||
</div>
|
||||
<div id="contact-edit-end" ></div>
|
||||
{{include file="field_checkbox.tpl" field=$notify}}
|
||||
{{if $fetch_further_information}}
|
||||
|
@ -102,3 +94,5 @@
|
|||
{{/if}}
|
||||
</form>
|
||||
</div>
|
||||
</div>{{* End of contact-edit-nav-wrapper *}}
|
||||
</div>
|
||||
|
|
|
@ -83,6 +83,26 @@ blockquote {
|
|||
margin-right: 5px;
|
||||
}
|
||||
|
||||
ul.menu-popup {
|
||||
position: absolute;
|
||||
display: none;
|
||||
width: auto;
|
||||
margin: 2px 0 0;
|
||||
padding: 0px;
|
||||
list-style: none;
|
||||
z-index: 100000;
|
||||
border: 2px solid #444444;
|
||||
background: #FFFFFF;
|
||||
}
|
||||
.menu-popup li a {
|
||||
padding: 2px;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
a.btn, a.btn:hover {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
|
||||
/* nav */
|
||||
|
@ -144,7 +164,7 @@ nav #banner #logo-text a:hover { text-decoration: none; }
|
|||
height: 15px;
|
||||
margin-top: 67px;
|
||||
margin-right: 2px;
|
||||
//padding: 6px 10px;
|
||||
/*padding: 6px 10px;*/
|
||||
padding: 6px 3px;
|
||||
float: left;
|
||||
bottom: 140px;
|
||||
|
@ -244,7 +264,7 @@ section {
|
|||
display:block;
|
||||
float:left;
|
||||
padding: 0.4em;
|
||||
//margin-right: 1em;
|
||||
/*margin-right: 1em;*/
|
||||
margin-right: 3px ;
|
||||
}
|
||||
.tab.active {
|
||||
|
@ -3371,17 +3391,6 @@ div.jGrowl div.info {
|
|||
.nav-notify.show {
|
||||
display: block;
|
||||
}
|
||||
ul.menu-popup {
|
||||
position: absolute;
|
||||
display: none;
|
||||
width: 10em;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
list-style: none;
|
||||
z-index: 100000;
|
||||
top: 90px;
|
||||
left: 200px;
|
||||
}
|
||||
#nav-notifications-menu {
|
||||
width: 320px;
|
||||
max-height: 400px;
|
||||
|
@ -3391,6 +3400,8 @@ ul.menu-popup {
|
|||
-webkit-border-radius: 5px;
|
||||
border-radius:5px;
|
||||
border: 1px solid #888;
|
||||
top: 90px;
|
||||
left: 200px;
|
||||
}
|
||||
#nav-notifications-menu .contactname { font-weight: bold; font-size: 0.9em; }
|
||||
#nav-notifications-menu img { float: left; margin-right: 5px; }
|
||||
|
|
|
@ -13,7 +13,6 @@
|
|||
if($(listID).is(":visible")) {
|
||||
$(listID).hide();
|
||||
$(listID+"-wrapper").show();
|
||||
alert($(listID+"-wrapper").attr("id"));
|
||||
}
|
||||
else {
|
||||
$(listID).show();
|
||||
|
|
|
@ -139,6 +139,47 @@ blockquote {
|
|||
margin-right: 5px;
|
||||
}
|
||||
|
||||
.btn {
|
||||
outline: none;
|
||||
-moz-box-shadow: inset 0px 1px 0px 0px #ffffff;
|
||||
-webkit-box-shadow: inset 0px 1px 0px 0px #ffffff;
|
||||
box-shadow: inset 0px 1px 0px 0px #ffffff;
|
||||
background-color: #ededed;
|
||||
text-indent: 0;
|
||||
border: 1px solid #dcdcdc;
|
||||
display: inline-block;
|
||||
color: #777777;
|
||||
padding: 5px 10px;
|
||||
text-align: center;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
.menu-popup {
|
||||
width: auto;
|
||||
border: 2px solid #444444;
|
||||
background: #FFFFFF;
|
||||
position: absolute;
|
||||
margin: 2px 0 0;
|
||||
display: none;
|
||||
z-index: 10000;
|
||||
}
|
||||
|
||||
.menu-popup li a {
|
||||
display: block;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.menu-popup li a:hover {
|
||||
color: #FFFFFF;
|
||||
background: #3465A4;
|
||||
text-decoration: none;
|
||||
}
|
||||
ul.menu-popup li.divider {
|
||||
height: 1px;
|
||||
margin: 3px 0;
|
||||
overflow: hidden;
|
||||
background-color: #2d2d2d;
|
||||
}
|
||||
|
||||
|
||||
/* nav */
|
||||
|
@ -2045,6 +2086,19 @@ input#profile-jot-email {
|
|||
margin-left: 15px;
|
||||
}
|
||||
|
||||
#contact-edit-status-wrapper {
|
||||
padding: 10px;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
#contact-edit-contact-status {
|
||||
font-weight: bold;
|
||||
}
|
||||
#contact-edit-actions {
|
||||
float: right;
|
||||
display: inline-block;
|
||||
}
|
||||
#contact-edit-wrapper {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
@ -2059,14 +2113,10 @@ input#profile-jot-email {
|
|||
}
|
||||
|
||||
#contact-edit-last-update-text {
|
||||
float: left;
|
||||
clear: left;
|
||||
margin-top: 30px;
|
||||
}
|
||||
|
||||
#contact-edit-poll-text {
|
||||
float: left;
|
||||
clear: left;
|
||||
margin-top: 15px;
|
||||
margin-bottom: 0px;
|
||||
}
|
||||
|
|
|
@ -6,12 +6,6 @@
|
|||
|
||||
{{$tab_str}}
|
||||
|
||||
<div id="contact-edit-drop-link" >
|
||||
<a href="contacts/{{$contact_id}}/drop" class="icon drophide" id="contact-edit-drop-link" onclick="return confirmDelete();" title="{{$delete}}" {{*onmouseover="imgbright(this);" onmouseout="imgdull(this);"*}}></a>
|
||||
</div>
|
||||
|
||||
<div id="contact-edit-drop-link-end"></div>
|
||||
|
||||
<div 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>
|
||||
|
@ -20,9 +14,31 @@
|
|||
|
||||
<div id="contact-edit-nav-wrapper" >
|
||||
<div id="contact-edit-links">
|
||||
<div id="contact-edit-status-wrapper">
|
||||
<span id="contact-edit-contact-status">{{$contact_status}}</span>
|
||||
|
||||
<div id="contact-edit-actions">
|
||||
<div class="btn" id="contact-edit-actions-button" onclick="openClose('contact-actions-menu')">{{$contact_action_button}}</div>
|
||||
|
||||
<ul role="menu" aria-haspopup="true" id="contact-actions-menu" class="menu-popup" >
|
||||
{{if $lblsuggest}}<li role="menuitem"><a href="#" title="{{$contact_actions.suggest.title}}" onclick="window.location.href='{{$contact_actions.suggest.url}}'; return false;">{{$contact_actions.suggest.label}}</a></li>{{/if}}
|
||||
{{if $poll_enabled}}<li role="menuitem"><a href="#" title="{{$contact_actions.update.title}}" onclick="window.location.href='{{$contact_actions.update.url}}'; return false;">{{$contact_actions.update.label}}</a></li>{{/if}}
|
||||
<li class="divider"></li>
|
||||
<li role="menuitem"><a href="#" title="{{$contact_actions.block.title}}" onclick="window.location.href='{{$contact_actions.block.url}}'; return false;">{{$contact_actions.block.label}}</a></li>
|
||||
<li role="menuitem"><a href="#" title="{{$contact_actions.ignore.title}}" onclick="window.location.href='{{$contact_actions.ignore.url}}'; return false;">{{$contact_actions.ignore.label}}</a></li>
|
||||
<li role="menuitem"><a href="#" title="{{$contact_actions.archive.title}}" onclick="window.location.href='{{$contact_actions.archive.url}}'; return false;">{{$contact_actions.archive.label}}</a></li>
|
||||
<li role="menuitem"><a href="#" title="{{$contact_actions.delete.title}}" onclick="return confirmDelete();">{{$contact_actions.delete.label}}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<ul>
|
||||
<li><div id="contact-edit-rel">{{$relation_text}}</div></li>
|
||||
<li><div id="contact-edit-nettype">{{$nettype}}</div></li>
|
||||
{{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>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if $lost_contact}}
|
||||
<li><div id="lost-contact-message">{{$lost_contact}}</div></li>
|
||||
{{/if}}
|
||||
|
@ -39,36 +55,16 @@
|
|||
<li><div id="archive-message">{{$archived}}</div></li>
|
||||
{{/if}}
|
||||
|
||||
<li> </li>
|
||||
|
||||
{{if $common_text}}
|
||||
<li><div id="contact-edit-common"><a href="{{$common_link}}">{{$common_text}}</a></div></li>
|
||||
{{/if}}
|
||||
{{if $all_friends}}
|
||||
<li><div id="contact-edit-allfriends"><a href="allfriends/{{$contact_id}}">{{$all_friends}}</a></div></li>
|
||||
{{/if}}
|
||||
|
||||
|
||||
<li><a href="network/0?nets=all&cid={{$contact_id}}" id="contact-edit-view-recent">{{$lblrecent}}</a></li>
|
||||
{{if $lblsuggest}}
|
||||
<li><a href="fsuggest/{{$contact_id}}" id="contact-edit-suggest">{{$lblsuggest}}</a></li>
|
||||
{{/if}}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<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>
|
||||
{{/if}}
|
||||
<div id="contact-edit-end" ></div>
|
||||
|
||||
{{include file="field_checkbox.tpl" field=$hidden}}
|
||||
|
|
|
@ -113,6 +113,51 @@ blockquote {
|
|||
|
||||
.pull-right { float: right }
|
||||
|
||||
.btn {
|
||||
outline: none;
|
||||
-moz-box-shadow: inset 0px 1px 0px 0px #ffffff;
|
||||
-webkit-box-shadow: inset 0px 1px 0px 0px #ffffff;
|
||||
box-shadow: inset 0px 1px 0px 0px #ffffff;
|
||||
background-color: #ededed;
|
||||
text-indent: 0;
|
||||
border: 1px solid #dcdcdc;
|
||||
display: inline-block;
|
||||
color: #777777;
|
||||
padding: 5px 10px;
|
||||
text-align: center;
|
||||
border-radius: 8px;
|
||||
}
|
||||
a.btn {
|
||||
text-decoration: none;
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.menu-popup {
|
||||
width: auto;
|
||||
border: 2px solid #444444;
|
||||
background: #FFFFFF;
|
||||
position: absolute;
|
||||
margin: 2px 0 0;
|
||||
display: none;
|
||||
z-index: 10000;
|
||||
}
|
||||
|
||||
.menu-popup li a {
|
||||
display: block;
|
||||
padding: 2px;
|
||||
}
|
||||
|
||||
.menu-popup li a:hover {
|
||||
color: #FFFFFF;
|
||||
background: #3465A4;
|
||||
text-decoration: none;
|
||||
}
|
||||
ul.menu-popup li.divider {
|
||||
height: 1px;
|
||||
margin: 3px 0;
|
||||
overflow: hidden;
|
||||
background-color: #2d2d2d;
|
||||
}
|
||||
|
||||
|
||||
/* nav */
|
||||
|
@ -1952,6 +1997,20 @@ input#dfrn-url {
|
|||
margin-left: 15px;
|
||||
}
|
||||
|
||||
#contact-edit-status-wrapper {
|
||||
padding: 10px;
|
||||
border: 1px solid #aaa;
|
||||
border-radius: 8px;
|
||||
}
|
||||
|
||||
#contact-edit-contact-status {
|
||||
font-weight: bold;
|
||||
}
|
||||
#contact-edit-actions {
|
||||
float: right;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
#contact-edit-wrapper {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
@ -1989,11 +2048,6 @@ input#dfrn-url {
|
|||
margin-top: 5px;
|
||||
}
|
||||
|
||||
#contact-edit-drop-link {
|
||||
float: right;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
#contact-edit-nav-end {
|
||||
clear: both;
|
||||
}
|
||||
|
|
|
@ -6,18 +6,33 @@
|
|||
|
||||
{{$tab_str}}
|
||||
|
||||
<div id="contact-edit-drop-link" >
|
||||
<a href="contacts/{{$contact_id}}/drop" class="icon drophide" id="contact-edit-drop-link" onclick="return confirmDelete();" title="{{$delete}}" {{*onmouseover="imgbright(this);" onmouseout="imgdull(this);"*}}></a>
|
||||
</div>
|
||||
|
||||
<div id="contact-edit-drop-link-end"></div>
|
||||
|
||||
|
||||
<div id="contact-edit-nav-wrapper" >
|
||||
<div id="contact-edit-links">
|
||||
<div id="contact-edit-status-wrapper">
|
||||
<span id="contact-edit-contact-status">{{$contact_status}}</span>
|
||||
|
||||
<div id="contact-edit-actions">
|
||||
<a class="btn" rel="#contact-actions-menu" href="#" id="contact-edit-actions-button">{{$contact_action_button}}</a>
|
||||
|
||||
<ul role="menu" aria-haspopup="true" id="contact-actions-menu" class="menu-popup" >
|
||||
{{if $lblsuggest}}<li role="menuitem"><a href="#" title="{{$contact_actions.suggest.title}}" onclick="window.location.href='{{$contact_actions.suggest.url}}'; return false;">{{$contact_actions.suggest.label}}</a></li>{{/if}}
|
||||
{{if $poll_enabled}}<li role="menuitem"><a href="#" title="{{$contact_actions.update.title}}" onclick="window.location.href='{{$contact_actions.update.url}}'; return false;">{{$contact_actions.update.label}}</a></li>{{/if}}
|
||||
<li class="divider"></li>
|
||||
<li role="menuitem"><a href="#" title="{{$contact_actions.block.title}}" onclick="window.location.href='{{$contact_actions.block.url}}'; return false;">{{$contact_actions.block.label}}</a></li>
|
||||
<li role="menuitem"><a href="#" title="{{$contact_actions.ignore.title}}" onclick="window.location.href='{{$contact_actions.ignore.url}}'; return false;">{{$contact_actions.ignore.label}}</a></li>
|
||||
<li role="menuitem"><a href="#" title="{{$contact_actions.archive.title}}" onclick="window.location.href='{{$contact_actions.archive.url}}'; return false;">{{$contact_actions.archive.label}}</a></li>
|
||||
<li role="menuitem"><a href="#" title="{{$contact_actions.delete.title}}" onclick="return confirmDelete();">{{$contact_actions.delete.label}}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
<ul>
|
||||
<li><div id="contact-edit-rel">{{$relation_text}}</div></li>
|
||||
<li><div id="contact-edit-nettype">{{$nettype}}</div></li>
|
||||
{{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>
|
||||
</div>
|
||||
{{/if}}
|
||||
{{if $lost_contact}}
|
||||
<li><div id="lost-contact-message">{{$lost_contact}}</div></li>
|
||||
{{/if}}
|
||||
|
@ -34,36 +49,16 @@
|
|||
<li><div id="archive-message">{{$archived}}</div></li>
|
||||
{{/if}}
|
||||
|
||||
<li> </li>
|
||||
|
||||
{{if $common_text}}
|
||||
<li><div id="contact-edit-common"><a href="{{$common_link}}">{{$common_text}}</a></div></li>
|
||||
{{/if}}
|
||||
{{if $all_friends}}
|
||||
<li><div id="contact-edit-allfriends"><a href="allfriends/{{$contact_id}}">{{$all_friends}}</a></div></li>
|
||||
{{/if}}
|
||||
|
||||
|
||||
<li><a href="network/?cid={{$contact_id}}" id="contact-edit-view-recent">{{$lblrecent}}</a></li>
|
||||
{{if $lblsuggest}}
|
||||
<li><a href="fsuggest/{{$contact_id}}" id="contact-edit-suggest">{{$lblsuggest}}</a></li>
|
||||
{{/if}}
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<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}}</span> {{$poll_interval}} <span id="contact-edit-update-now" class="button"><a href="contacts/{{$contact_id}}/update" >{{$udnow}}</a></span>
|
||||
</div>
|
||||
{{/if}}
|
||||
<div id="contact-edit-end" ></div>
|
||||
|
||||
{{include file="field_checkbox.tpl" field=$hidden}}
|
||||
|
|
|
@ -463,7 +463,7 @@ a:hover {
|
|||
text-decoration: underline;
|
||||
}
|
||||
blockquote {
|
||||
background: #FFFFFF;
|
||||
background: #ffffff;
|
||||
padding: 1em;
|
||||
margin-left: 1em;
|
||||
border-left: 1em solid #e6e6e6;
|
||||
|
@ -1655,6 +1655,9 @@ span[id^="showmore-wrap"] {
|
|||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
#contact-edit-status-wrapper {
|
||||
border-color: #364e59;
|
||||
}
|
||||
/* editor */
|
||||
.jothidden {
|
||||
display: none;
|
||||
|
|
|
@ -463,7 +463,7 @@ a:hover {
|
|||
text-decoration: underline;
|
||||
}
|
||||
blockquote {
|
||||
background: #FFFFFF;
|
||||
background: #ffffff;
|
||||
padding: 1em;
|
||||
margin-left: 1em;
|
||||
border-left: 1em solid #e6e6e6;
|
||||
|
@ -1655,6 +1655,9 @@ span[id^="showmore-wrap"] {
|
|||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
#contact-edit-status-wrapper {
|
||||
border-color: #9ade00;
|
||||
}
|
||||
/* editor */
|
||||
.jothidden {
|
||||
display: none;
|
||||
|
|
|
@ -420,7 +420,7 @@
|
|||
body {
|
||||
font-family: Liberation Sans, helvetica, arial, clean, sans-serif;
|
||||
font-size: 11px;
|
||||
background-color: #F6ECF9;
|
||||
background-color: #f6ecf9;
|
||||
color: #2d2d2d;
|
||||
margin: 50px 0 0 0;
|
||||
display: table;
|
||||
|
@ -463,7 +463,7 @@ a:hover {
|
|||
text-decoration: underline;
|
||||
}
|
||||
blockquote {
|
||||
background: #FFFFFF;
|
||||
background: #ffffff;
|
||||
padding: 1em;
|
||||
margin-left: 1em;
|
||||
border-left: 1em solid #e6e6e6;
|
||||
|
@ -1655,6 +1655,9 @@ span[id^="showmore-wrap"] {
|
|||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
#contact-edit-status-wrapper {
|
||||
border-color: #86608e;
|
||||
}
|
||||
/* editor */
|
||||
.jothidden {
|
||||
display: none;
|
||||
|
@ -1753,7 +1756,7 @@ span[id^="showmore-wrap"] {
|
|||
height: 20px;
|
||||
width: 500px;
|
||||
font-weight: bold;
|
||||
border: 1px solid #F6ECF9;
|
||||
border: 1px solid #f6ecf9;
|
||||
}
|
||||
#jot #jot-title:-webkit-input-placeholder {
|
||||
font-weight: normal;
|
||||
|
@ -1780,7 +1783,7 @@ span[id^="showmore-wrap"] {
|
|||
margin: 0;
|
||||
height: 20px;
|
||||
width: 200px;
|
||||
border: 1px solid #F6ECF9;
|
||||
border: 1px solid #f6ecf9;
|
||||
}
|
||||
#jot #jot-category:hover {
|
||||
border: 1px solid #999999;
|
||||
|
|
|
@ -959,6 +959,7 @@ span[id^="showmore-wrap"] {
|
|||
text-overflow: ellipsis;
|
||||
}
|
||||
|
||||
#contact-edit-status-wrapper { border-color: @JotToolsOverBackgroundColor;}
|
||||
/* editor */
|
||||
.jothidden { display: none; }
|
||||
#jot {
|
||||
|
|
|
@ -236,6 +236,39 @@ section {
|
|||
color: #efefef;
|
||||
}
|
||||
|
||||
ul.menu-popup {
|
||||
position: absolute;
|
||||
display: none;
|
||||
width: auto;
|
||||
margin: 2px 0 0;
|
||||
padding: 0px;
|
||||
list-style: none;
|
||||
z-index: 100000;
|
||||
color: #2e3436;
|
||||
border-top: 1px;
|
||||
background: #eeeeee;
|
||||
border: 1px solid #7C7D7B;
|
||||
border-radius: 0px 0px 5px 5px;
|
||||
-webkit-border-radius: 0px 0px 5px 5px;
|
||||
-moz-border-radius: 0px 0px 5px 5px;
|
||||
box-shadow: 5px 5px 10px #242424;
|
||||
-moz-box-shadow: 5px 5px 10px #242424;
|
||||
-webkit-box-shadow: 5px 5px 10px #242424;
|
||||
}
|
||||
ul.menu-popup li a {
|
||||
white-space: nowrap;
|
||||
display: block;
|
||||
padding: 5px 2px;
|
||||
color: #2e3436;
|
||||
}
|
||||
ul.menu-popup li a:hover {
|
||||
color: #efefef;
|
||||
background: -webkit-gradient( linear, left top, left bottom, color-stop(0.05, #1873a2), color-stop(1, #6da6c4) );
|
||||
background: -moz-linear-gradient( center top, #1873a2 5%, #6da6c4 100% );
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1873a2', endColorstr='#6da6c4');
|
||||
background-color: #1873a2;
|
||||
}
|
||||
|
||||
/* ========= */
|
||||
/* = Login = */
|
||||
/* ========= */
|
||||
|
@ -4271,16 +4304,6 @@ a.active {
|
|||
.nav-notify.show {
|
||||
display: block;
|
||||
}
|
||||
ul.menu-popup {
|
||||
position: absolute;
|
||||
display: none;
|
||||
width: 10em;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
list-style: none;
|
||||
z-index: 100000;
|
||||
top: 40px;
|
||||
}
|
||||
#nav-notifications-menu {
|
||||
width: 320px;
|
||||
max-height: 400px;
|
||||
|
@ -4298,6 +4321,7 @@ ul.menu-popup {
|
|||
box-shadow: 5px 5px 10px #242424;
|
||||
-moz-box-shadow: 5px 5px 10px #242424;
|
||||
-webkit-box-shadow: 5px 5px 10px #242424;
|
||||
top: 40px;
|
||||
}
|
||||
|
||||
#nav-notifications-menu .contactname {
|
||||
|
@ -4406,6 +4430,10 @@ ul.menu-popup {
|
|||
background: #000000;
|
||||
}
|
||||
|
||||
.notify-seen a {
|
||||
color: #efefef !important;
|
||||
}
|
||||
|
||||
/* Pages profile widget ----------------------------------------------------------- */
|
||||
|
||||
#page-profile,
|
||||
|
|
|
@ -8,6 +8,12 @@ hr { background-color: #343434 !important; }
|
|||
a, .wall-item-name, .fakelink {
|
||||
color: #989898 !important;
|
||||
}
|
||||
.btn, .btn:hover{
|
||||
color: #989898;
|
||||
border: 2px solid #0C1116;
|
||||
background-color: #0C1116;
|
||||
text-shadow: none;
|
||||
}
|
||||
|
||||
nav {
|
||||
color: #989898 !important;
|
||||
|
@ -36,7 +42,7 @@ body, section, blockquote, blockquote.shared_content, #profile-jot-form,
|
|||
}
|
||||
|
||||
#profile-jot-acl-wrapper, #event-notice, #event-wrapper,
|
||||
#cboxLoadedContent, .contact-photo-menu {
|
||||
#cboxLoadedContent, .contact-photo-menu, #contact-edit-status-wrapper {
|
||||
background-color: #252C33 !important;
|
||||
}
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ img {
|
|||
margin-right: 1em;
|
||||
}
|
||||
|
||||
#adminpage table {width:100%; border-bottom: 1p solid #000000; margin: 5px 0px;}
|
||||
#adminpage table {width:100%; border-bottom: 1px solid #000000; margin: 5px 0px;}
|
||||
#adminpage table th { text-align: left;}
|
||||
#adminpage td .icon { float: left;}
|
||||
#adminpage table#users img { width: 16px; height: 16px; }
|
||||
|
@ -247,15 +247,6 @@ div.pager {
|
|||
float: left;
|
||||
}
|
||||
|
||||
#contact-edit-drop-link-end {
|
||||
/* clear: both; */
|
||||
}
|
||||
|
||||
#contact-edit-links ul {
|
||||
list-style: none;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
.hide-comments-outer {
|
||||
margin-left: 80px;
|
||||
margin-bottom: 5px;
|
||||
|
@ -385,6 +376,14 @@ code {
|
|||
overflow: auto;
|
||||
padding: 0px;
|
||||
}
|
||||
.menu-popup .divider {
|
||||
width: 90%;
|
||||
height: 1px;
|
||||
margin: 3px auto;
|
||||
overflow: hidden;
|
||||
background-color: #737373;
|
||||
opacity: 0.4;
|
||||
}
|
||||
#saved-search-ul .tool:hover,
|
||||
#nets-sidebar .tool:hover,
|
||||
#sidebar-group-list .tool:hover {
|
||||
|
@ -793,7 +792,8 @@ nav #nav-user-linklabel:hover #nav-user-menu,
|
|||
nav #nav-user-linkmenu:hover #nav-user-menu,
|
||||
nav #nav-apps-link:hover #nav-apps-menu,
|
||||
nav #nav-site-linkmenu:hover #nav-site-menu,
|
||||
nav #nav-notifications-linkmenu:hover #nav-notifications-menu {
|
||||
nav #nav-notifications-linkmenu:hover #nav-notifications-menu,
|
||||
#contact-edit-actions:hover #contact-actions-menu {
|
||||
display:block;
|
||||
visibility:visible;
|
||||
opacity:1;
|
||||
|
@ -2935,6 +2935,48 @@ a.mail-list-link {
|
|||
color: #999999;
|
||||
}
|
||||
|
||||
/* contact edit page */
|
||||
#contact-edit-nav-wrapper {
|
||||
margin-top: 24px;
|
||||
}
|
||||
#contact-edit-status-wrapper {
|
||||
border-color: #c9d8f6;
|
||||
background-color: #e0e8fa;
|
||||
border-radius: 3px;
|
||||
}
|
||||
|
||||
#contact-edit-contact-status {
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
#contact-edit-drop-link-end {
|
||||
/* clear: both; */
|
||||
}
|
||||
|
||||
#contact-edit-links ul {
|
||||
list-style: none;
|
||||
list-style-type: none;
|
||||
}
|
||||
|
||||
#contact-edit-settings {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
a.btn#contact-edit-actions-button {
|
||||
cursor: pointer;
|
||||
border-radius: 3px;
|
||||
font-size: inherit;
|
||||
font-weight: normal;
|
||||
height: auto;
|
||||
line-height: inherit;
|
||||
padding: 5px 10px;
|
||||
}
|
||||
|
||||
#lost-contact-message, #insecure-message,
|
||||
#block-message, #ignore-message, #archive-message {
|
||||
color: #CB4437;
|
||||
}
|
||||
|
||||
/* photo album page */
|
||||
.photo-top-image-wrapper {
|
||||
position: relative;
|
||||
|
|
98
view/theme/vier/templates/contact_edit.tpl
Normal file
98
view/theme/vier/templates/contact_edit.tpl
Normal file
|
@ -0,0 +1,98 @@
|
|||
|
||||
{{if $header}}<h2>{{$header}}</h2>{{/if}}
|
||||
|
||||
<div id="contact-edit-wrapper" >
|
||||
|
||||
{{* Insert Tab-Nav *}}
|
||||
{{$tab_str}}
|
||||
|
||||
|
||||
<div id="contact-edit-nav-wrapper" >
|
||||
<div id="contact-edit-links">
|
||||
<div id="contact-edit-status-wrapper">
|
||||
<span id="contact-edit-contact-status">{{$contact_status}}</span>
|
||||
|
||||
{{* This is the Action menu where contact related actions like 'ignore', 'hide' can be performed *}}
|
||||
<div id="contact-edit-actions">
|
||||
<a class="btn" id="contact-edit-actions-button">{{$contact_action_button}}</a>
|
||||
|
||||
<ul role="menu" aria-haspopup="true" id="contact-actions-menu" class="menu-popup" >
|
||||
{{if $lblsuggest}}<li role="menuitem"><a href="#" title="{{$contact_actions.suggest.title}}" onclick="window.location.href='{{$contact_actions.suggest.url}}'; return false;">{{$contact_actions.suggest.label}}</a></li>{{/if}}
|
||||
{{if $poll_enabled}}<li role="menuitem"><a href="#" title="{{$contact_actions.update.title}}" onclick="window.location.href='{{$contact_actions.update.url}}'; return false;">{{$contact_actions.update.label}}</a></li>{{/if}}
|
||||
<li class="divider"></li>
|
||||
<li role="menuitem"><a href="#" title="{{$contact_actions.block.title}}" onclick="window.location.href='{{$contact_actions.block.url}}'; return false;">{{$contact_actions.block.label}}</a></li>
|
||||
<li role="menuitem"><a href="#" title="{{$contact_actions.ignore.title}}" onclick="window.location.href='{{$contact_actions.ignore.url}}'; return false;">{{$contact_actions.ignore.label}}</a></li>
|
||||
<li role="menuitem"><a href="#" title="{{$contact_actions.archive.title}}" onclick="window.location.href='{{$contact_actions.archive.url}}'; return false;">{{$contact_actions.archive.label}}</a></li>
|
||||
<li role="menuitem"><a href="#" title="{{$contact_actions.delete.title}}" onclick="return confirmDelete();">{{$contact_actions.delete.label}}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
{{* Block with status information about the contact *}}
|
||||
<ul>
|
||||
{{if $relation_text}}<li><div id="contact-edit-rel">{{$relation_text}}</div></li>{{/if}}
|
||||
|
||||
{{if $poll_enabled}}
|
||||
<li><div id="contact-edit-last-update-text">{{$lastupdtext}} <span id="contact-edit-last-updated">{{$last_update}}</span></div>
|
||||
{{if $poll_interval}}
|
||||
<span id="contact-edit-poll-text">{{$updpub}}</span> {{$poll_interval}}
|
||||
{{/if}}
|
||||
</li>
|
||||
{{/if}}
|
||||
|
||||
{{if $lost_contact}}<li><div id="lost-contact-message">{{$lost_contact}}</div></li>{{/if}}
|
||||
{{if $insecure}}<li><div id="insecure-message">{{$insecure}}</div></li> {{/if}}
|
||||
{{if $blocked}}<li><div id="block-message">{{$blocked}}</div></li>{{/if}}
|
||||
{{if $ignored}}<li><div id="ignore-message">{{$ignored}}</div></li>{{/if}}
|
||||
{{if $archived}}<li><div id="archive-message">{{$archived}}</div></li>{{/if}}
|
||||
</ul>
|
||||
|
||||
<ul>
|
||||
<!-- <li><a href="network/0?nets=all&cid={{$contact_id}}" id="contact-edit-view-recent">{{$lblrecent}}</a></li> -->
|
||||
{{if $follow}}<li><div id="contact-edit-follow"><a href="{{$follow}}">{{$follow_text}}</a></div></li>{{/if}}
|
||||
</ul>
|
||||
</div> {{* End of contact-edit-status-wrapper *}}
|
||||
|
||||
{{* Some information about the contact from the profile *}}
|
||||
<dl><dt>{{$profileurllabel}}</dt><dd><a target="blank" href="{{$url}}">{{$profileurl}}</a></dd></dl>
|
||||
{{if $location}}<dl><dt>{{$location_label}}</dt><dd>{{$location}}</dd></dl>{{/if}}
|
||||
{{if $keywords}}<dl><dt>{{$keywords_label}}</dt><dd>{{$keywords}}</dd></dl>{{/if}}
|
||||
{{if $about}}<dl><dt>{{$about_label}}</dt><dd>{{$about}}</dd></dl>{{/if}}
|
||||
</div>{{* End of contact-edit-links *}}
|
||||
|
||||
<div id="contact-edit-links-end"></div>
|
||||
|
||||
<hr />
|
||||
|
||||
<h4 id="contact-edit-settings-label" class="fakelink" onclick="openClose('contact-edit-settings')">{{$contact_settings_label}}</h4>
|
||||
<div id="contact-edit-settings">
|
||||
<form action="contacts/{{$contact_id}}" method="post" >
|
||||
<input type="hidden" name="contact_id" value="{{$contact_id}}">
|
||||
|
||||
<div id="contact-edit-end" ></div>
|
||||
{{include file="field_checkbox.tpl" field=$notify}}
|
||||
{{if $fetch_further_information}}
|
||||
{{include file="field_select.tpl" field=$fetch_further_information}}
|
||||
{{if $fetch_further_information.2 == 2 }} {{include file="field_textarea.tpl" field=$ffi_keyword_blacklist}} {{/if}}
|
||||
{{/if}}
|
||||
{{include file="field_checkbox.tpl" field=$hidden}}
|
||||
|
||||
<div id="contact-edit-info-wrapper">
|
||||
<h4>{{$lbl_info1}}</h4>
|
||||
<textarea id="contact-edit-info" rows="8" cols="60" name="info">{{$info}}</textarea>
|
||||
<input class="contact-edit-submit" type="submit" name="submit" value="{{$submit|escape:'html'}}" />
|
||||
</div>
|
||||
<div id="contact-edit-info-end"></div>
|
||||
|
||||
{{if $profile_select}}
|
||||
<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|escape:'html'}}" />
|
||||
{{/if}}
|
||||
</form>
|
||||
</div>
|
||||
</div>{{* End of contact-edit-nav-wrapper *}}
|
||||
</div>
|
Loading…
Reference in a new issue