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.
|
* @brief Redirect to another URL and terminate this process.
|
||||||
*/
|
*/
|
||||||
function goaway($s) {
|
function goaway($s) {
|
||||||
|
if (!strstr(normalise_link($s), normalise_link(App::get_baseurl())))
|
||||||
|
$s = App::get_baseurl()."/".$s;
|
||||||
|
|
||||||
header("Location: $s");
|
header("Location: $s");
|
||||||
killme();
|
killme();
|
||||||
}
|
}
|
||||||
|
|
|
@ -37,10 +37,7 @@ General
|
||||||
* o: Profile
|
* o: Profile
|
||||||
* t: Contacts
|
* t: Contacts
|
||||||
* d: Common friends
|
* d: Common friends
|
||||||
* b: Toggle Blocked status
|
* r: Advanced
|
||||||
* i: Toggle Ignored status
|
|
||||||
* v: Toggle Archive status
|
|
||||||
* r: Repair
|
|
||||||
|
|
||||||
/message
|
/message
|
||||||
--------
|
--------
|
||||||
|
|
|
@ -737,12 +737,10 @@ function diaspora_request($importer,$xml) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$g = q("select def_gid from user where uid = %d limit 1",
|
$def_gid = get_default_group($importer['uid'], $ret["network"]);
|
||||||
intval($importer['uid'])
|
if (intval($def_gid)) {
|
||||||
);
|
|
||||||
if($g && intval($g[0]['def_gid'])) {
|
|
||||||
require_once('include/group.php');
|
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) {
|
if($importer['page-flags'] == PAGE_NORMAL) {
|
||||||
|
|
|
@ -258,12 +258,10 @@ function new_contact($uid,$url,$interactive = false) {
|
||||||
$contact_id = $r[0]['id'];
|
$contact_id = $r[0]['id'];
|
||||||
$result['cid'] = $contact_id;
|
$result['cid'] = $contact_id;
|
||||||
|
|
||||||
$g = q("select def_gid from user where uid = %d limit 1",
|
$def_gid = get_default_group($uid, $contact["network"]);
|
||||||
intval($uid)
|
if (intval($def_gid)) {
|
||||||
);
|
|
||||||
if($g && intval($g[0]['def_gid'])) {
|
|
||||||
require_once('include/group.php');
|
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");
|
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();
|
$grps = array();
|
||||||
$o = '';
|
$o = '';
|
||||||
|
@ -205,8 +205,11 @@ function mini_group_select($uid,$gid = 0) {
|
||||||
}
|
}
|
||||||
logger('groups: ' . print_r($grps,true));
|
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(
|
$o = replace_macros(get_markup_template('group_selection.tpl'), array(
|
||||||
'$label' => t('Default privacy group for new contacts'),
|
'$label' => $label,
|
||||||
'$groups' => $grps
|
'$groups' => $grps
|
||||||
));
|
));
|
||||||
return $o;
|
return $o;
|
||||||
|
@ -375,3 +378,28 @@ function groups_count_unseen() {
|
||||||
|
|
||||||
return $r;
|
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
|
} else
|
||||||
$item["parent-uri"] = $item["uri"];
|
$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) {
|
if (!$item_id) {
|
||||||
logger("Error storing item", LOGGER_DEBUG);
|
logger("Error storing item", LOGGER_DEBUG);
|
||||||
|
@ -676,17 +676,57 @@ function ostatus_conv_fetch_actor($actor) {
|
||||||
update_gcontact($contact);
|
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();
|
$a = get_app();
|
||||||
|
|
||||||
$item_stored = -1;
|
$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 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)";
|
//$arr["app"] .= " (OStatus-NoCompletion)";
|
||||||
$item_stored = item_store($item, true);
|
$item_stored = item_store($item, true);
|
||||||
return($item_stored);
|
return($item_stored);
|
||||||
|
@ -725,7 +765,7 @@ function ostatus_completion($conversation_url, $uid, $item = array()) {
|
||||||
$pageno = 1;
|
$pageno = 1;
|
||||||
$items = array();
|
$items = array();
|
||||||
|
|
||||||
logger('fetching conversation url '.$conv.' for user '.$uid);
|
logger('fetching conversation url '.$conv.' (Self: '.$self.') for user '.$uid);
|
||||||
|
|
||||||
do {
|
do {
|
||||||
$conv_arr = z_fetch_url($conv."?page=".$pageno);
|
$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));
|
$r = q("SELECT `nurl` FROM `contact` WHERE `uid` = %d AND `self`", intval($uid));
|
||||||
$importer = $r[0];
|
$importer = $r[0];
|
||||||
|
|
||||||
|
$new_parent = true;
|
||||||
|
|
||||||
foreach ($items as $single_conv) {
|
foreach ($items as $single_conv) {
|
||||||
|
|
||||||
// Update the gcontact table
|
// 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
|
// 2. This first post is a post inside our thread
|
||||||
// 3. This first post is a post inside another thread
|
// 3. This first post is a post inside another thread
|
||||||
if (($first_id != $parent["uri"]) AND ($parent["uri"] != "")) {
|
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
|
$new_parents = q("SELECT `id`, `parent`, `uri`, `contact-id`, `type`, `verb`, `visible` FROM `item` WHERE `id` IN
|
||||||
(SELECT `parent` FROM `item`
|
(SELECT `parent` FROM `item`
|
||||||
WHERE `uid` = %d AND `uri` = '%s' AND `network` IN ('%s','%s')) LIMIT 1",
|
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))
|
if (isset($single_conv->actor->url))
|
||||||
$actor = $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);
|
$uid, normalise_link($actor), NETWORK_STATUSNET);
|
||||||
|
|
||||||
if (count($contact)) {
|
if (count($contact)) {
|
||||||
logger("Found contact for url ".$actor, LOGGER_DEBUG);
|
logger("Found contact for url ".$actor, LOGGER_DEBUG);
|
||||||
$contact_id = $contact[0]["id"];
|
$contact_id = $contact[0]["id"];
|
||||||
|
|
||||||
|
$not_following = !in_array($contact[0]["rel"], array(CONTACT_IS_SHARING, CONTACT_IS_FRIEND));
|
||||||
} else {
|
} else {
|
||||||
logger("No contact found for url ".$actor, LOGGER_DEBUG);
|
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);
|
logger("Global contact ".$global_contact_id." found for url ".$actor, LOGGER_DEBUG);
|
||||||
|
|
||||||
$contact_id = $parent["contact-id"];
|
$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();
|
$arr = array();
|
||||||
|
|
|
@ -598,6 +598,7 @@ function admin_page_site_post(&$a) {
|
||||||
$dfrn_only = ((x($_POST,'dfrn_only')) ? True : False);
|
$dfrn_only = ((x($_POST,'dfrn_only')) ? True : False);
|
||||||
$ostatus_disabled = !((x($_POST,'ostatus_disabled')) ? 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_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);
|
$diaspora_enabled = ((x($_POST,'diaspora_enabled')) ? True : False);
|
||||||
$ssl_policy = ((x($_POST,'ssl_policy')) ? intval($_POST['ssl_policy']) : 0);
|
$ssl_policy = ((x($_POST,'ssl_policy')) ? intval($_POST['ssl_policy']) : 0);
|
||||||
$force_ssl = ((x($_POST,'force_ssl')) ? True : False);
|
$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','dfrn_only', $dfrn_only);
|
||||||
set_config('system','ostatus_disabled', $ostatus_disabled);
|
set_config('system','ostatus_disabled', $ostatus_disabled);
|
||||||
set_config('system','ostatus_poll_interval', $ostatus_poll_interval);
|
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('system','diaspora_enabled', $diaspora_enabled);
|
||||||
|
|
||||||
set_config('config','private_addons', $private_addons);
|
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')")),
|
'$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_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_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."),
|
'$ostatus_not_able' => t("OStatus support can only be enabled if threading is enabled."),
|
||||||
'$diaspora_able' => $diaspora_able,
|
'$diaspora_able' => $diaspora_able,
|
||||||
'$diaspora_not_able' => t("Diaspora support can't be enabled because Friendica was installed into a sub directory."),
|
'$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))
|
($contact['rel'] == CONTACT_IS_FOLLOWER))
|
||||||
$follow = $a->get_baseurl(true)."/follow?url=".urlencode($contact["url"]);
|
$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(
|
$o .= replace_macros($tpl, array(
|
||||||
//'$header' => t('Contact Editor'),
|
//'$header' => t('Contact Editor'),
|
||||||
|
@ -584,7 +587,7 @@ function contacts_content(&$a) {
|
||||||
'$lblcrepair' => t("Repair URL settings"),
|
'$lblcrepair' => t("Repair URL settings"),
|
||||||
'$lblrecent' => t('View conversations'),
|
'$lblrecent' => t('View conversations'),
|
||||||
'$lblsuggest' => $lblsuggest,
|
'$lblsuggest' => $lblsuggest,
|
||||||
'$delete' => t('Delete contact'),
|
//'$delete' => t('Delete contact'),
|
||||||
'$nettype' => $nettype,
|
'$nettype' => $nettype,
|
||||||
'$poll_interval' => $poll_interval,
|
'$poll_interval' => $poll_interval,
|
||||||
'$poll_enabled' => $poll_enabled,
|
'$poll_enabled' => $poll_enabled,
|
||||||
|
@ -622,7 +625,11 @@ function contacts_content(&$a) {
|
||||||
'$about' => bbcode($contact["about"], false, false),
|
'$about' => bbcode($contact["about"], false, false),
|
||||||
'$about_label' => t("About:"),
|
'$about_label' => t("About:"),
|
||||||
'$keywords' => $contact["keywords"],
|
'$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;
|
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) {
|
function contacts_tab($a, $contact_id, $active_tab) {
|
||||||
// tabs
|
// tabs
|
||||||
$tabs = array(
|
$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);
|
$x = count_all_friends(local_user(), $contact_id);
|
||||||
if ($x)
|
if ($x)
|
||||||
$tabs[] = array('label'=>t('Contacts'),
|
$tabs[] = array('label'=>t('Contacts'),
|
||||||
|
@ -830,6 +849,7 @@ function contacts_tab($a, $contact_id, $active_tab) {
|
||||||
'id' => 'allfriends-tab',
|
'id' => 'allfriends-tab',
|
||||||
'accesskey' => 't');
|
'accesskey' => 't');
|
||||||
|
|
||||||
|
// Show this tab only if there is visible common friend list
|
||||||
$common = count_common_friends(local_user(),$contact_id);
|
$common = count_common_friends(local_user(),$contact_id);
|
||||||
if ($common)
|
if ($common)
|
||||||
$tabs[] = array('label'=>t('Common Friends'),
|
$tabs[] = array('label'=>t('Common Friends'),
|
||||||
|
@ -839,35 +859,13 @@ function contacts_tab($a, $contact_id, $active_tab) {
|
||||||
'id' => 'common-loc-tab',
|
'id' => 'common-loc-tab',
|
||||||
'accesskey' => 'd');
|
'accesskey' => 'd');
|
||||||
|
|
||||||
$tabs[] = array('label' => t('Repair'),
|
$tabs[] = array('label' => t('Advanced'),
|
||||||
'url' => 'crepair/' . $contact_id,
|
'url' => 'crepair/' . $contact_id,
|
||||||
'sel' => (($active_tab == 5)?'active':''),
|
'sel' => (($active_tab == 5)?'active':''),
|
||||||
'title' => t('Advanced Contact Settings'),
|
'title' => t('Advanced Contact Settings'),
|
||||||
'id' => 'repair-tab',
|
'id' => 'advanced-tab',
|
||||||
'accesskey' => 'r');
|
'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_tpl = get_markup_template('common_tabs.tpl');
|
||||||
$tab_str = replace_macros($tab_tpl, array('$tabs' => $tabs));
|
$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) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$def_gid = get_default_group($uid, $contact["network"]);
|
||||||
$g = q("select def_gid from user where uid = %d limit 1",
|
if($contact && intval($def_gid)) {
|
||||||
intval($uid)
|
|
||||||
);
|
|
||||||
if($contact && $g && intval($g[0]['def_gid'])) {
|
|
||||||
require_once('include/group.php');
|
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
|
// 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);
|
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()),
|
intval(local_user()),
|
||||||
dbesc($dfrn_url),
|
dbesc($dfrn_url),
|
||||||
$parms['key'] // this was already escaped
|
$parms['key'] // this was already escaped
|
||||||
);
|
);
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
$g = q("select def_gid from user where uid = %d limit 1",
|
$def_gid = get_default_group(local_user(), $r[0]["network"]);
|
||||||
intval(local_user())
|
if(intval($def_gid)) {
|
||||||
);
|
|
||||||
if($g && intval($g[0]['def_gid'])) {
|
|
||||||
require_once('include/group.php');
|
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'];
|
$forwardurl = $a->get_baseurl()."/contacts/".$r[0]['id'];
|
||||||
} else
|
} else
|
||||||
|
@ -388,19 +386,17 @@ function dfrn_request_post(&$a) {
|
||||||
intval($rel)
|
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),
|
dbesc($poll),
|
||||||
intval($uid)
|
intval($uid)
|
||||||
);
|
);
|
||||||
if(count($r)) {
|
if(count($r)) {
|
||||||
$contact_id = $r[0]['id'];
|
$contact_id = $r[0]['id'];
|
||||||
|
|
||||||
$g = q("select def_gid from user where uid = %d limit 1",
|
$def_gid = get_default_group($uid, $r[0]["network"]);
|
||||||
intval($uid)
|
if (intval($def_gid)) {
|
||||||
);
|
|
||||||
if($g && intval($g[0]['def_gid'])) {
|
|
||||||
require_once('include/group.php');
|
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);
|
$photo = avatar_img($addr);
|
||||||
|
|
|
@ -199,6 +199,7 @@ function settings_post(&$a) {
|
||||||
if(x($_POST, 'general-submit')) {
|
if(x($_POST, 'general-submit')) {
|
||||||
set_pconfig(local_user(), 'system', 'no_intelligent_shortening', intval($_POST['no_intelligent_shortening']));
|
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(), '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']);
|
set_pconfig(local_user(), 'ostatus', 'legacy_contact', $_POST['legacy_contact']);
|
||||||
} elseif(x($_POST, 'imap-submit')) {
|
} 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 .= '<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>';
|
$settings_connectors .= '</div>';
|
||||||
|
|
||||||
|
$default_group = get_pconfig(local_user(), 'ostatus', 'default_group');
|
||||||
$legacy_contact = get_pconfig(local_user(), 'ostatus', 'legacy_contact');
|
$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 != "")
|
if ($legacy_contact != "")
|
||||||
$a->page['htmlhead'] = '<meta http-equiv="refresh" content="0; URL='.$a->get_baseurl().'/ostatus_subscribe?url='.urlencode($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 .*/
|
/* General style rules .*/
|
||||||
.pull-right { float: right }
|
.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 */
|
/* List of social Networks */
|
||||||
img.connector, img.connector-disabled {
|
img.connector, img.connector-disabled {
|
||||||
height: 40px;
|
height: 40px;
|
||||||
|
@ -277,20 +303,20 @@ a {
|
||||||
margin: 10px 0 10px;
|
margin: 10px 0 10px;
|
||||||
}
|
}
|
||||||
.version-match {
|
.version-match {
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
color: #00a700;
|
color: #00a700;
|
||||||
}
|
}
|
||||||
.federation-graph {
|
.federation-graph {
|
||||||
width: 400px;
|
width: 400px;
|
||||||
height: 400px;
|
height: 400px;
|
||||||
float: right;
|
float: right;
|
||||||
margin: 20px;
|
margin: 20px;
|
||||||
}
|
}
|
||||||
.federation-network-graph {
|
.federation-network-graph {
|
||||||
width: 240px;
|
width: 240px;
|
||||||
height: 240px;
|
height: 240px;
|
||||||
float: left;
|
float: left;
|
||||||
margin: 20px;
|
margin: 20px;
|
||||||
}
|
}
|
||||||
ul.federation-stats,
|
ul.federation-stats,
|
||||||
ul.credits {
|
ul.credits {
|
||||||
|
@ -302,10 +328,10 @@ ul.credits li {
|
||||||
width: 240px;
|
width: 240px;
|
||||||
}
|
}
|
||||||
table#federation-stats {
|
table#federation-stats {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
}
|
}
|
||||||
td.federation-data {
|
td.federation-data {
|
||||||
border-bottom: 1px solid #000;
|
border-bottom: 1px solid #000;
|
||||||
}
|
}
|
||||||
|
|
||||||
.contact-entry-photo img {
|
.contact-entry-photo img {
|
||||||
|
@ -329,25 +355,48 @@ td.federation-data {
|
||||||
}
|
}
|
||||||
|
|
||||||
.crepair-label {
|
.crepair-label {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
float: left;
|
float: left;
|
||||||
width: 250px;
|
width: 250px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.crepair-input {
|
.crepair-input {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
float: left;
|
float: left;
|
||||||
width: 200px;
|
width: 200px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.renderinfo {
|
.renderinfo {
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
||||||
.p-addr {
|
.p-addr {
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
||||||
#live-community {
|
#live-community {
|
||||||
clear: both;
|
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}}
|
{{if $thread_allow.2}}
|
||||||
{{include file="field_checkbox.tpl" field=$ostatus_disabled}}
|
{{include file="field_checkbox.tpl" field=$ostatus_disabled}}
|
||||||
{{include file="field_select.tpl" field=$ostatus_poll_interval}}
|
{{include file="field_select.tpl" field=$ostatus_poll_interval}}
|
||||||
|
{{include file="field_checkbox.tpl" field=$ostatus_full_threads}}
|
||||||
{{else}}
|
{{else}}
|
||||||
<div class='field checkbox' id='div_id_{{$ostatus_disabled.0}}'>
|
<div class='field checkbox' id='div_id_{{$ostatus_disabled.0}}'>
|
||||||
<label for='id_{{$ostatus_disabled.0}}'>{{$ostatus_disabled.1}}</label>
|
<label for='id_{{$ostatus_disabled.0}}'>{{$ostatus_disabled.1}}</label>
|
||||||
|
|
|
@ -1,104 +1,98 @@
|
||||||
|
|
||||||
{{if $header}}<h2>{{$header}}</h2>{{/if}}
|
{{if $header}}<h2>{{$header}}</h2>{{/if}}
|
||||||
|
|
||||||
<div id="contact-edit-wrapper" >
|
<div id="contact-edit-wrapper" >
|
||||||
|
|
||||||
|
{{* Insert Tab-Nav *}}
|
||||||
{{$tab_str}}
|
{{$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-nav-wrapper" >
|
||||||
<div id="contact-edit-links">
|
<div id="contact-edit-links">
|
||||||
<ul>
|
<div id="contact-edit-status-wrapper">
|
||||||
{{if $relation_text}}
|
<span id="contact-edit-contact-status">{{$contact_status}}</span>
|
||||||
<li><div id="contact-edit-rel">{{$relation_text}}</div></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>
|
{{* 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>
|
||||||
|
|
||||||
{{if $common_text}}
|
<ul role="menu" aria-haspopup="true" id="contact-actions-menu" class="menu-popup" >
|
||||||
<li><div id="contact-edit-common"><a href="{{$common_link}}">{{$common_text}}</a></div></li>
|
{{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}}
|
{{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}}
|
||||||
{{if $all_friends}}
|
<li class="divider"></li>
|
||||||
<li><div id="contact-edit-allfriends"><a href="allfriends/{{$contact_id}}">{{$all_friends}}</a></div></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>
|
||||||
{{/if}}
|
<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}}
|
||||||
|
|
||||||
<!-- <li><a href="network/0?nets=all&cid={{$contact_id}}" id="contact-edit-view-recent">{{$lblrecent}}</a></li> -->
|
{{if $poll_enabled}}
|
||||||
{{if $lblsuggest}}
|
<li><div id="contact-edit-last-update-text">{{$lastupdtext}} <span id="contact-edit-last-updated">{{$last_update}}</span></div>
|
||||||
<li><a href="fsuggest/{{$contact_id}}" id="contact-edit-suggest">{{$lblsuggest}}</a></li>
|
{{if $poll_interval}}
|
||||||
{{/if}}
|
<span id="contact-edit-poll-text">{{$updpub}}</span> {{$poll_interval}}
|
||||||
{{if $follow}}
|
{{/if}}
|
||||||
<li><div id="contact-edit-follow"><a href="{{$follow}}">{{$follow_text}}</a></div></li>
|
</li>
|
||||||
{{/if}}
|
{{/if}}
|
||||||
|
|
||||||
</ul>
|
{{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>
|
<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 $location}}<dl><dt>{{$location_label}}</dt><dd>{{$location}}</dd></dl>{{/if}}
|
||||||
{{if $keywords}}<dl><dt>{{$keywords_label}}</dt><dd>{{$keywords}}</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}}
|
{{if $about}}<dl><dt>{{$about_label}}</dt><dd>{{$about}}</dd></dl>{{/if}}
|
||||||
</div>
|
</div>{{* End of contact-edit-links *}}
|
||||||
</div>
|
|
||||||
<div id="contact-edit-nav-end"></div>
|
|
||||||
|
|
||||||
<hr />
|
<div id="contact-edit-links-end"></div>
|
||||||
|
|
||||||
<form action="contacts/{{$contact_id}}" method="post" >
|
<hr />
|
||||||
<input type="hidden" name="contact_id" value="{{$contact_id}}">
|
|
||||||
|
|
||||||
<div id="contact-edit-poll-wrapper">
|
<h4 id="contact-edit-settings-label" class="fakelink" onclick="openClose('contact-edit-settings')">{{$contact_settings_label}}</h4>
|
||||||
{{if $poll_enabled}}
|
<div id="contact-edit-settings">
|
||||||
<div id="contact-edit-last-update-text">{{$lastupdtext}} <span id="contact-edit-last-updated">{{$last_update}}</span></div>
|
<form action="contacts/{{$contact_id}}" method="post" >
|
||||||
{{if $poll_interval}}
|
<input type="hidden" name="contact_id" value="{{$contact_id}}">
|
||||||
<span id="contact-edit-poll-text">{{$updpub}}</span> {{$poll_interval}}
|
|
||||||
|
<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}}
|
{{/if}}
|
||||||
<span id="contact-edit-update-now" class="button"><a href="contacts/{{$contact_id}}/update" >{{$udnow}}</a></span>
|
</form>
|
||||||
{{/if}}
|
</div>
|
||||||
</div>
|
</div>{{* End of contact-edit-nav-wrapper *}}
|
||||||
<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>
|
||||||
|
|
|
@ -83,6 +83,26 @@ blockquote {
|
||||||
margin-right: 5px;
|
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 */
|
/* nav */
|
||||||
|
@ -140,12 +160,12 @@ nav #banner #logo-text a:hover { text-decoration: none; }
|
||||||
|
|
||||||
|
|
||||||
.nav-commlink, .nav-login-link {
|
.nav-commlink, .nav-login-link {
|
||||||
display: block;
|
display: block;
|
||||||
height: 15px;
|
height: 15px;
|
||||||
margin-top: 67px;
|
margin-top: 67px;
|
||||||
margin-right: 2px;
|
margin-right: 2px;
|
||||||
//padding: 6px 10px;
|
/*padding: 6px 10px;*/
|
||||||
padding: 6px 3px;
|
padding: 6px 3px;
|
||||||
float: left;
|
float: left;
|
||||||
bottom: 140px;
|
bottom: 140px;
|
||||||
border: 1px solid #babdb6;
|
border: 1px solid #babdb6;
|
||||||
|
@ -244,7 +264,7 @@ section {
|
||||||
display:block;
|
display:block;
|
||||||
float:left;
|
float:left;
|
||||||
padding: 0.4em;
|
padding: 0.4em;
|
||||||
//margin-right: 1em;
|
/*margin-right: 1em;*/
|
||||||
margin-right: 3px ;
|
margin-right: 3px ;
|
||||||
}
|
}
|
||||||
.tab.active {
|
.tab.active {
|
||||||
|
@ -3371,17 +3391,6 @@ div.jGrowl div.info {
|
||||||
.nav-notify.show {
|
.nav-notify.show {
|
||||||
display: block;
|
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 {
|
#nav-notifications-menu {
|
||||||
width: 320px;
|
width: 320px;
|
||||||
max-height: 400px;
|
max-height: 400px;
|
||||||
|
@ -3391,6 +3400,8 @@ ul.menu-popup {
|
||||||
-webkit-border-radius: 5px;
|
-webkit-border-radius: 5px;
|
||||||
border-radius:5px;
|
border-radius:5px;
|
||||||
border: 1px solid #888;
|
border: 1px solid #888;
|
||||||
|
top: 90px;
|
||||||
|
left: 200px;
|
||||||
}
|
}
|
||||||
#nav-notifications-menu .contactname { font-weight: bold; font-size: 0.9em; }
|
#nav-notifications-menu .contactname { font-weight: bold; font-size: 0.9em; }
|
||||||
#nav-notifications-menu img { float: left; margin-right: 5px; }
|
#nav-notifications-menu img { float: left; margin-right: 5px; }
|
||||||
|
|
|
@ -13,7 +13,6 @@
|
||||||
if($(listID).is(":visible")) {
|
if($(listID).is(":visible")) {
|
||||||
$(listID).hide();
|
$(listID).hide();
|
||||||
$(listID+"-wrapper").show();
|
$(listID+"-wrapper").show();
|
||||||
alert($(listID+"-wrapper").attr("id"));
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
$(listID).show();
|
$(listID).show();
|
||||||
|
|
|
@ -139,6 +139,47 @@ blockquote {
|
||||||
margin-right: 5px;
|
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 */
|
/* nav */
|
||||||
|
@ -2045,6 +2086,19 @@ input#profile-jot-email {
|
||||||
margin-left: 15px;
|
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 {
|
#contact-edit-wrapper {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
@ -2059,14 +2113,10 @@ input#profile-jot-email {
|
||||||
}
|
}
|
||||||
|
|
||||||
#contact-edit-last-update-text {
|
#contact-edit-last-update-text {
|
||||||
float: left;
|
|
||||||
clear: left;
|
|
||||||
margin-top: 30px;
|
margin-top: 30px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#contact-edit-poll-text {
|
#contact-edit-poll-text {
|
||||||
float: left;
|
|
||||||
clear: left;
|
|
||||||
margin-top: 15px;
|
margin-top: 15px;
|
||||||
margin-bottom: 0px;
|
margin-bottom: 0px;
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,12 +6,6 @@
|
||||||
|
|
||||||
{{$tab_str}}
|
{{$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="vcard">
|
||||||
<div class="fn">{{$name}}</div>
|
<div class="fn">{{$name}}</div>
|
||||||
<div id="profile-photo-wrapper"><img class="photo" style="width: 175px; height: 175px;" src="{{$photo}}" alt="{{$name}}" /></div>
|
<div id="profile-photo-wrapper"><img class="photo" style="width: 175px; height: 175px;" src="{{$photo}}" alt="{{$name}}" /></div>
|
||||||
|
@ -20,41 +14,49 @@
|
||||||
|
|
||||||
<div id="contact-edit-nav-wrapper" >
|
<div id="contact-edit-nav-wrapper" >
|
||||||
<div id="contact-edit-links">
|
<div id="contact-edit-links">
|
||||||
<ul>
|
<div id="contact-edit-status-wrapper">
|
||||||
<li><div id="contact-edit-rel">{{$relation_text}}</div></li>
|
<span id="contact-edit-contact-status">{{$contact_status}}</span>
|
||||||
<li><div id="contact-edit-nettype">{{$nettype}}</div></li>
|
|
||||||
{{if $lost_contact}}
|
|
||||||
<li><div id="lost-contact-message">{{$lost_contact}}</div></li>
|
|
||||||
{{/if}}
|
|
||||||
{{if $insecure}}
|
|
||||||
<li><div id="insecure-message">{{$insecure}}</div></li>
|
|
||||||
{{/if}}
|
|
||||||
{{if $blocked}}
|
|
||||||
<li><div id="block-message">{{$blocked}}</div></li>
|
|
||||||
{{/if}}
|
|
||||||
{{if $ignored}}
|
|
||||||
<li><div id="ignore-message">{{$ignored}}</div></li>
|
|
||||||
{{/if}}
|
|
||||||
{{if $archived}}
|
|
||||||
<li><div id="archive-message">{{$archived}}</div></li>
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
<li> </li>
|
<div id="contact-edit-actions">
|
||||||
|
<div class="btn" id="contact-edit-actions-button" onclick="openClose('contact-actions-menu')">{{$contact_action_button}}</div>
|
||||||
|
|
||||||
{{if $common_text}}
|
<ul role="menu" aria-haspopup="true" id="contact-actions-menu" class="menu-popup" >
|
||||||
<li><div id="contact-edit-common"><a href="{{$common_link}}">{{$common_text}}</a></div></li>
|
{{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}}
|
{{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}}
|
||||||
{{if $all_friends}}
|
<li class="divider"></li>
|
||||||
<li><div id="contact-edit-allfriends"><a href="allfriends/{{$contact_id}}">{{$all_friends}}</a></div></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>
|
||||||
{{/if}}
|
<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}}
|
||||||
|
{{if $insecure}}
|
||||||
|
<li><div id="insecure-message">{{$insecure}}</div></li>
|
||||||
|
{{/if}}
|
||||||
|
{{if $blocked}}
|
||||||
|
<li><div id="block-message">{{$blocked}}</div></li>
|
||||||
|
{{/if}}
|
||||||
|
{{if $ignored}}
|
||||||
|
<li><div id="ignore-message">{{$ignored}}</div></li>
|
||||||
|
{{/if}}
|
||||||
|
{{if $archived}}
|
||||||
|
<li><div id="archive-message">{{$archived}}</div></li>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
<li><a href="network/0?nets=all&cid={{$contact_id}}" id="contact-edit-view-recent">{{$lblrecent}}</a></li>
|
</ul>
|
||||||
{{if $lblsuggest}}
|
</div>
|
||||||
<li><a href="fsuggest/{{$contact_id}}" id="contact-edit-suggest">{{$lblsuggest}}</a></li>
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="contact-edit-nav-end"></div>
|
<div id="contact-edit-nav-end"></div>
|
||||||
|
@ -63,12 +65,6 @@
|
||||||
<form action="contacts/{{$contact_id}}" method="post" >
|
<form action="contacts/{{$contact_id}}" method="post" >
|
||||||
<input type="hidden" name="contact_id" value="{{$contact_id}}">
|
<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>
|
<div id="contact-edit-end" ></div>
|
||||||
|
|
||||||
{{include file="field_checkbox.tpl" field=$hidden}}
|
{{include file="field_checkbox.tpl" field=$hidden}}
|
||||||
|
|
|
@ -113,6 +113,51 @@ blockquote {
|
||||||
|
|
||||||
.pull-right { float: right }
|
.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 */
|
/* nav */
|
||||||
|
@ -1952,6 +1997,20 @@ input#dfrn-url {
|
||||||
margin-left: 15px;
|
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 {
|
#contact-edit-wrapper {
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
@ -1989,11 +2048,6 @@ input#dfrn-url {
|
||||||
margin-top: 5px;
|
margin-top: 5px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#contact-edit-drop-link {
|
|
||||||
float: right;
|
|
||||||
margin-right: 20px;
|
|
||||||
}
|
|
||||||
|
|
||||||
#contact-edit-nav-end {
|
#contact-edit-nav-end {
|
||||||
clear: both;
|
clear: both;
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,50 +6,51 @@
|
||||||
|
|
||||||
{{$tab_str}}
|
{{$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-nav-wrapper" >
|
||||||
<div id="contact-edit-links">
|
<div id="contact-edit-links">
|
||||||
<ul>
|
<div id="contact-edit-status-wrapper">
|
||||||
<li><div id="contact-edit-rel">{{$relation_text}}</div></li>
|
<span id="contact-edit-contact-status">{{$contact_status}}</span>
|
||||||
<li><div id="contact-edit-nettype">{{$nettype}}</div></li>
|
|
||||||
{{if $lost_contact}}
|
|
||||||
<li><div id="lost-contact-message">{{$lost_contact}}</div></li>
|
|
||||||
{{/if}}
|
|
||||||
{{if $insecure}}
|
|
||||||
<li><div id="insecure-message">{{$insecure}}</div></li>
|
|
||||||
{{/if}}
|
|
||||||
{{if $blocked}}
|
|
||||||
<li><div id="block-message">{{$blocked}}</div></li>
|
|
||||||
{{/if}}
|
|
||||||
{{if $ignored}}
|
|
||||||
<li><div id="ignore-message">{{$ignored}}</div></li>
|
|
||||||
{{/if}}
|
|
||||||
{{if $archived}}
|
|
||||||
<li><div id="archive-message">{{$archived}}</div></li>
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
<li> </li>
|
<div id="contact-edit-actions">
|
||||||
|
<a class="btn" rel="#contact-actions-menu" href="#" id="contact-edit-actions-button">{{$contact_action_button}}</a>
|
||||||
|
|
||||||
{{if $common_text}}
|
<ul role="menu" aria-haspopup="true" id="contact-actions-menu" class="menu-popup" >
|
||||||
<li><div id="contact-edit-common"><a href="{{$common_link}}">{{$common_text}}</a></div></li>
|
{{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}}
|
{{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}}
|
||||||
{{if $all_friends}}
|
<li class="divider"></li>
|
||||||
<li><div id="contact-edit-allfriends"><a href="allfriends/{{$contact_id}}">{{$all_friends}}</a></div></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>
|
||||||
{{/if}}
|
<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}}
|
||||||
|
{{if $insecure}}
|
||||||
|
<li><div id="insecure-message">{{$insecure}}</div></li>
|
||||||
|
{{/if}}
|
||||||
|
{{if $blocked}}
|
||||||
|
<li><div id="block-message">{{$blocked}}</div></li>
|
||||||
|
{{/if}}
|
||||||
|
{{if $ignored}}
|
||||||
|
<li><div id="ignore-message">{{$ignored}}</div></li>
|
||||||
|
{{/if}}
|
||||||
|
{{if $archived}}
|
||||||
|
<li><div id="archive-message">{{$archived}}</div></li>
|
||||||
|
{{/if}}
|
||||||
|
|
||||||
<li><a href="network/?cid={{$contact_id}}" id="contact-edit-view-recent">{{$lblrecent}}</a></li>
|
</ul>
|
||||||
{{if $lblsuggest}}
|
</div>
|
||||||
<li><a href="fsuggest/{{$contact_id}}" id="contact-edit-suggest">{{$lblsuggest}}</a></li>
|
|
||||||
{{/if}}
|
|
||||||
|
|
||||||
</ul>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="contact-edit-nav-end"></div>
|
<div id="contact-edit-nav-end"></div>
|
||||||
|
@ -58,12 +59,6 @@
|
||||||
<form action="contacts/{{$contact_id}}" method="post" >
|
<form action="contacts/{{$contact_id}}" method="post" >
|
||||||
<input type="hidden" name="contact_id" value="{{$contact_id}}">
|
<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>
|
<div id="contact-edit-end" ></div>
|
||||||
|
|
||||||
{{include file="field_checkbox.tpl" field=$hidden}}
|
{{include file="field_checkbox.tpl" field=$hidden}}
|
||||||
|
|
|
@ -463,7 +463,7 @@ a:hover {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
blockquote {
|
blockquote {
|
||||||
background: #FFFFFF;
|
background: #ffffff;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
margin-left: 1em;
|
margin-left: 1em;
|
||||||
border-left: 1em solid #e6e6e6;
|
border-left: 1em solid #e6e6e6;
|
||||||
|
@ -1655,6 +1655,9 @@ span[id^="showmore-wrap"] {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
#contact-edit-status-wrapper {
|
||||||
|
border-color: #364e59;
|
||||||
|
}
|
||||||
/* editor */
|
/* editor */
|
||||||
.jothidden {
|
.jothidden {
|
||||||
display: none;
|
display: none;
|
||||||
|
|
|
@ -463,7 +463,7 @@ a:hover {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
blockquote {
|
blockquote {
|
||||||
background: #FFFFFF;
|
background: #ffffff;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
margin-left: 1em;
|
margin-left: 1em;
|
||||||
border-left: 1em solid #e6e6e6;
|
border-left: 1em solid #e6e6e6;
|
||||||
|
@ -1655,6 +1655,9 @@ span[id^="showmore-wrap"] {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
#contact-edit-status-wrapper {
|
||||||
|
border-color: #9ade00;
|
||||||
|
}
|
||||||
/* editor */
|
/* editor */
|
||||||
.jothidden {
|
.jothidden {
|
||||||
display: none;
|
display: none;
|
||||||
|
|
|
@ -420,7 +420,7 @@
|
||||||
body {
|
body {
|
||||||
font-family: Liberation Sans, helvetica, arial, clean, sans-serif;
|
font-family: Liberation Sans, helvetica, arial, clean, sans-serif;
|
||||||
font-size: 11px;
|
font-size: 11px;
|
||||||
background-color: #F6ECF9;
|
background-color: #f6ecf9;
|
||||||
color: #2d2d2d;
|
color: #2d2d2d;
|
||||||
margin: 50px 0 0 0;
|
margin: 50px 0 0 0;
|
||||||
display: table;
|
display: table;
|
||||||
|
@ -463,7 +463,7 @@ a:hover {
|
||||||
text-decoration: underline;
|
text-decoration: underline;
|
||||||
}
|
}
|
||||||
blockquote {
|
blockquote {
|
||||||
background: #FFFFFF;
|
background: #ffffff;
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
margin-left: 1em;
|
margin-left: 1em;
|
||||||
border-left: 1em solid #e6e6e6;
|
border-left: 1em solid #e6e6e6;
|
||||||
|
@ -1655,6 +1655,9 @@ span[id^="showmore-wrap"] {
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
#contact-edit-status-wrapper {
|
||||||
|
border-color: #86608e;
|
||||||
|
}
|
||||||
/* editor */
|
/* editor */
|
||||||
.jothidden {
|
.jothidden {
|
||||||
display: none;
|
display: none;
|
||||||
|
@ -1753,7 +1756,7 @@ span[id^="showmore-wrap"] {
|
||||||
height: 20px;
|
height: 20px;
|
||||||
width: 500px;
|
width: 500px;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
border: 1px solid #F6ECF9;
|
border: 1px solid #f6ecf9;
|
||||||
}
|
}
|
||||||
#jot #jot-title:-webkit-input-placeholder {
|
#jot #jot-title:-webkit-input-placeholder {
|
||||||
font-weight: normal;
|
font-weight: normal;
|
||||||
|
@ -1780,7 +1783,7 @@ span[id^="showmore-wrap"] {
|
||||||
margin: 0;
|
margin: 0;
|
||||||
height: 20px;
|
height: 20px;
|
||||||
width: 200px;
|
width: 200px;
|
||||||
border: 1px solid #F6ECF9;
|
border: 1px solid #f6ecf9;
|
||||||
}
|
}
|
||||||
#jot #jot-category:hover {
|
#jot #jot-category:hover {
|
||||||
border: 1px solid #999999;
|
border: 1px solid #999999;
|
||||||
|
|
|
@ -408,19 +408,19 @@ aside {
|
||||||
.group-delete-wrapper {
|
.group-delete-wrapper {
|
||||||
float: right;
|
float: right;
|
||||||
margin-right: 50px;
|
margin-right: 50px;
|
||||||
.drophide {
|
.drophide {
|
||||||
background-image: url('../../../images/icons/22/delete.png');
|
background-image: url('../../../images/icons/22/delete.png');
|
||||||
display: block; width: 22px; height: 22px;
|
display: block; width: 22px; height: 22px;
|
||||||
opacity: 0.3;
|
opacity: 0.3;
|
||||||
position: relative;
|
position: relative;
|
||||||
top: -50px;
|
top: -50px;
|
||||||
}
|
}
|
||||||
.drop {
|
.drop {
|
||||||
background-image: url('../../../images/icons/22/delete.png');
|
background-image: url('../../../images/icons/22/delete.png');
|
||||||
display: block; width: 22px; height: 22px;
|
display: block; width: 22px; height: 22px;
|
||||||
position: relative;
|
position: relative;
|
||||||
top: -50px;
|
top: -50px;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
/*
|
/*
|
||||||
#group-members {
|
#group-members {
|
||||||
|
@ -502,7 +502,7 @@ section {
|
||||||
}
|
}
|
||||||
|
|
||||||
.sparkle {
|
.sparkle {
|
||||||
cursor: url('icons/lock.cur'), pointer;
|
cursor: url('icons/lock.cur'), pointer;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* wall item */
|
/* wall item */
|
||||||
|
@ -959,6 +959,7 @@ span[id^="showmore-wrap"] {
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#contact-edit-status-wrapper { border-color: @JotToolsOverBackgroundColor;}
|
||||||
/* editor */
|
/* editor */
|
||||||
.jothidden { display: none; }
|
.jothidden { display: none; }
|
||||||
#jot {
|
#jot {
|
||||||
|
|
|
@ -236,6 +236,39 @@ section {
|
||||||
color: #efefef;
|
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 = */
|
/* = Login = */
|
||||||
/* ========= */
|
/* ========= */
|
||||||
|
@ -4271,16 +4304,6 @@ a.active {
|
||||||
.nav-notify.show {
|
.nav-notify.show {
|
||||||
display: block;
|
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 {
|
#nav-notifications-menu {
|
||||||
width: 320px;
|
width: 320px;
|
||||||
max-height: 400px;
|
max-height: 400px;
|
||||||
|
@ -4298,6 +4321,7 @@ ul.menu-popup {
|
||||||
box-shadow: 5px 5px 10px #242424;
|
box-shadow: 5px 5px 10px #242424;
|
||||||
-moz-box-shadow: 5px 5px 10px #242424;
|
-moz-box-shadow: 5px 5px 10px #242424;
|
||||||
-webkit-box-shadow: 5px 5px 10px #242424;
|
-webkit-box-shadow: 5px 5px 10px #242424;
|
||||||
|
top: 40px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#nav-notifications-menu .contactname {
|
#nav-notifications-menu .contactname {
|
||||||
|
@ -4406,6 +4430,10 @@ ul.menu-popup {
|
||||||
background: #000000;
|
background: #000000;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.notify-seen a {
|
||||||
|
color: #efefef !important;
|
||||||
|
}
|
||||||
|
|
||||||
/* Pages profile widget ----------------------------------------------------------- */
|
/* Pages profile widget ----------------------------------------------------------- */
|
||||||
|
|
||||||
#page-profile,
|
#page-profile,
|
||||||
|
|
|
@ -8,6 +8,12 @@ hr { background-color: #343434 !important; }
|
||||||
a, .wall-item-name, .fakelink {
|
a, .wall-item-name, .fakelink {
|
||||||
color: #989898 !important;
|
color: #989898 !important;
|
||||||
}
|
}
|
||||||
|
.btn, .btn:hover{
|
||||||
|
color: #989898;
|
||||||
|
border: 2px solid #0C1116;
|
||||||
|
background-color: #0C1116;
|
||||||
|
text-shadow: none;
|
||||||
|
}
|
||||||
|
|
||||||
nav {
|
nav {
|
||||||
color: #989898 !important;
|
color: #989898 !important;
|
||||||
|
@ -36,7 +42,7 @@ body, section, blockquote, blockquote.shared_content, #profile-jot-form,
|
||||||
}
|
}
|
||||||
|
|
||||||
#profile-jot-acl-wrapper, #event-notice, #event-wrapper,
|
#profile-jot-acl-wrapper, #event-notice, #event-wrapper,
|
||||||
#cboxLoadedContent, .contact-photo-menu {
|
#cboxLoadedContent, .contact-photo-menu, #contact-edit-status-wrapper {
|
||||||
background-color: #252C33 !important;
|
background-color: #252C33 !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -24,72 +24,72 @@ img {
|
||||||
}
|
}
|
||||||
|
|
||||||
#pending-update {
|
#pending-update {
|
||||||
float:right;
|
float:right;
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
background-color: #FF0000;
|
background-color: #FF0000;
|
||||||
padding: 0em 0.3em;
|
padding: 0em 0.3em;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admin.linklist {
|
.admin.linklist {
|
||||||
border: 0px;
|
border: 0px;
|
||||||
padding: 0px;
|
padding: 0px;
|
||||||
list-style: none;
|
list-style: none;
|
||||||
margin-top: 0px;
|
margin-top: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
.admin.link {
|
.admin.link {
|
||||||
list-style-position: inside;
|
list-style-position: inside;
|
||||||
font-size: 1em;
|
font-size: 1em;
|
||||||
/* padding-left: 5px;
|
/* padding-left: 5px;
|
||||||
margin: 5px; */
|
margin: 5px; */
|
||||||
}
|
}
|
||||||
|
|
||||||
#adminpage dl {
|
#adminpage dl {
|
||||||
clear: left;
|
clear: left;
|
||||||
margin-bottom: 2px;
|
margin-bottom: 2px;
|
||||||
padding-bottom: 2px;
|
padding-bottom: 2px;
|
||||||
border-bottom: 1px solid black;
|
border-bottom: 1px solid black;
|
||||||
}
|
}
|
||||||
|
|
||||||
#adminpage dt {
|
#adminpage dt {
|
||||||
width: 200px;
|
width: 200px;
|
||||||
float: left;
|
float: left;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
#adminpage dd {
|
#adminpage dd {
|
||||||
margin-left: 200px;
|
margin-left: 200px;
|
||||||
}
|
}
|
||||||
#adminpage h3 {
|
#adminpage h3 {
|
||||||
border-bottom: 1px solid #898989;
|
border-bottom: 1px solid #898989;
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#adminpage .submit {
|
#adminpage .submit {
|
||||||
clear:left;
|
clear:left;
|
||||||
}
|
}
|
||||||
|
|
||||||
#adminpage #pluginslist {
|
#adminpage #pluginslist {
|
||||||
margin: 0px; padding: 0px;
|
margin: 0px; padding: 0px;
|
||||||
}
|
}
|
||||||
|
|
||||||
#adminpage .plugin {
|
#adminpage .plugin {
|
||||||
list-style: none;
|
list-style: none;
|
||||||
display: block;
|
display: block;
|
||||||
/* border: 1px solid #888888; */
|
/* border: 1px solid #888888; */
|
||||||
padding: 1em;
|
padding: 1em;
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
clear: left;
|
clear: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
#adminpage .toggleplugin {
|
#adminpage .toggleplugin {
|
||||||
float:left;
|
float:left;
|
||||||
margin-right: 1em;
|
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 table th { text-align: left;}
|
||||||
#adminpage td .icon { float: left;}
|
#adminpage td .icon { float: left;}
|
||||||
#adminpage table#users img { width: 16px; height: 16px; }
|
#adminpage table#users img { width: 16px; height: 16px; }
|
||||||
|
@ -247,15 +247,6 @@ div.pager {
|
||||||
float: left;
|
float: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
#contact-edit-drop-link-end {
|
|
||||||
/* clear: both; */
|
|
||||||
}
|
|
||||||
|
|
||||||
#contact-edit-links ul {
|
|
||||||
list-style: none;
|
|
||||||
list-style-type: none;
|
|
||||||
}
|
|
||||||
|
|
||||||
.hide-comments-outer {
|
.hide-comments-outer {
|
||||||
margin-left: 80px;
|
margin-left: 80px;
|
||||||
margin-bottom: 5px;
|
margin-bottom: 5px;
|
||||||
|
@ -385,6 +376,14 @@ code {
|
||||||
overflow: auto;
|
overflow: auto;
|
||||||
padding: 0px;
|
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,
|
#saved-search-ul .tool:hover,
|
||||||
#nets-sidebar .tool:hover,
|
#nets-sidebar .tool:hover,
|
||||||
#sidebar-group-list .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-user-linkmenu:hover #nav-user-menu,
|
||||||
nav #nav-apps-link:hover #nav-apps-menu,
|
nav #nav-apps-link:hover #nav-apps-menu,
|
||||||
nav #nav-site-linkmenu:hover #nav-site-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;
|
display:block;
|
||||||
visibility:visible;
|
visibility:visible;
|
||||||
opacity:1;
|
opacity:1;
|
||||||
|
@ -2935,6 +2935,48 @@ a.mail-list-link {
|
||||||
color: #999999;
|
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 album page */
|
||||||
.photo-top-image-wrapper {
|
.photo-top-image-wrapper {
|
||||||
position: relative;
|
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