Merge develop into manage

Conflicts:
	view/global.css
This commit is contained in:
rabuzarus 2015-10-25 16:57:04 +01:00
commit 4c263aa4ac
21 changed files with 511 additions and 127 deletions

View File

@ -140,6 +140,7 @@ class exAuth
$sQuery = "SELECT `uid`, `password` FROM `user` WHERE `nickname`='". $db->escape($sUser) ."'"; $sQuery = "SELECT `uid`, `password` FROM `user` WHERE `nickname`='". $db->escape($sUser) ."'";
$this->writeDebugLog("[debug] using query ". $sQuery); $this->writeDebugLog("[debug] using query ". $sQuery);
if ($oResult = q($sQuery)){ if ($oResult = q($sQuery)){
$uid = $oResult[0]["uid"];
$Error = ($oResult[0]["password"] != hash('whirlpool',$aCommand[3])); $Error = ($oResult[0]["password"] != hash('whirlpool',$aCommand[3]));
/* /*
if ($oResult[0]["password"] == hash('whirlpool',$aCommand[3])) { if ($oResult[0]["password"] == hash('whirlpool',$aCommand[3])) {
@ -156,9 +157,10 @@ class exAuth
} else { } else {
$this->writeLog("[MySQL] invalid query: ". $sQuery); $this->writeLog("[MySQL] invalid query: ". $sQuery);
$Error = true; $Error = true;
$uid = -1;
} }
if ($Error) { if ($Error) {
$oConfig = q("SELECT `v` FROM `pconfig` WHERE `uid`=1 AND `cat` = 'xmpp' AND `k`='password' LIMIT 1;"); $oConfig = q("SELECT `v` FROM `pconfig` WHERE `uid`=%d AND `cat` = 'xmpp' AND `k`='password' LIMIT 1;", intval($uid));
$this->writeLog("[exAuth] got password ".$oConfig[0]["v"]); $this->writeLog("[exAuth] got password ".$oConfig[0]["v"]);
$Error = ($aCommand[3] != $oConfig[0]["v"]); $Error = ($aCommand[3] != $oConfig[0]["v"]);
} }

View File

@ -88,7 +88,7 @@ function network_to_name($s, $profile = "") {
NETWORK_PUMPIO => t('pump.io'), NETWORK_PUMPIO => t('pump.io'),
NETWORK_TWITTER => t('Twitter'), NETWORK_TWITTER => t('Twitter'),
NETWORK_DIASPORA2 => t('Diaspora Connector'), NETWORK_DIASPORA2 => t('Diaspora Connector'),
NETWORK_STATUSNET => t('Statusnet'), NETWORK_STATUSNET => t('GNU Social'),
NETWORK_APPNET => t('App.net') NETWORK_APPNET => t('App.net')
); );

View File

@ -4392,7 +4392,7 @@ function subscribe_to_hub($url,$importer,$contact,$hubmode = 'subscribe') {
} }
function atom_author($tag,$name,$uri,$h,$w,$photo) { function atom_author($tag,$name,$uri,$h,$w,$photo,$geo) {
$o = ''; $o = '';
if(! $tag) if(! $tag)
return $o; return $o;
@ -4410,6 +4410,10 @@ function atom_author($tag,$name,$uri,$h,$w,$photo) {
$o .= "\t".'<link rel="avatar" type="image/jpeg" media:width="' . $w . '" media:height="' . $h . '" href="' . $photo . '" />' . "\r\n"; $o .= "\t".'<link rel="avatar" type="image/jpeg" media:width="' . $w . '" media:height="' . $h . '" href="' . $photo . '" />' . "\r\n";
if ($tag == "author") { if ($tag == "author") {
if($geo)
$o .= '<georss:point>'.xmlify($geo).'</georss:point>'."\r\n";
$r = q("SELECT `profile`.`locality`, `profile`.`region`, `profile`.`country-name`, $r = q("SELECT `profile`.`locality`, `profile`.`region`, `profile`.`country-name`,
`profile`.`name`, `profile`.`pub_keywords`, `profile`.`about`, `profile`.`name`, `profile`.`pub_keywords`, `profile`.`about`,
`profile`.`homepage`,`contact`.`nick` FROM `profile` `profile`.`homepage`,`contact`.`nick` FROM `profile`
@ -4473,11 +4477,11 @@ function atom_entry($item,$type,$author,$owner,$comment = false,$cid = 0) {
$o = "\r\n\r\n<entry>\r\n"; $o = "\r\n\r\n<entry>\r\n";
if(is_array($author)) if(is_array($author))
$o .= atom_author('author',$author['name'],$author['url'],80,80,$author['thumb']); $o .= atom_author('author',$author['name'],$author['url'],80,80,$author['thumb'], $item['coord']);
else else
$o .= atom_author('author',(($item['author-name']) ? $item['author-name'] : $item['name']),(($item['author-link']) ? $item['author-link'] : $item['url']),80,80,(($item['author-avatar']) ? $item['author-avatar'] : $item['thumb'])); $o .= atom_author('author',(($item['author-name']) ? $item['author-name'] : $item['name']),(($item['author-link']) ? $item['author-link'] : $item['url']),80,80,(($item['author-avatar']) ? $item['author-avatar'] : $item['thumb']), $item['coord']);
if(strlen($item['owner-name'])) if(strlen($item['owner-name']))
$o .= atom_author('dfrn:owner',$item['owner-name'],$item['owner-link'],80,80,$item['owner-avatar']); $o .= atom_author('dfrn:owner',$item['owner-name'],$item['owner-link'],80,80,$item['owner-avatar'], $item['coord']);
if(($item['parent'] != $item['id']) || ($item['parent-uri'] !== $item['uri']) || (($item['thr-parent'] !== '') && ($item['thr-parent'] !== $item['uri']))) { if(($item['parent'] != $item['id']) || ($item['parent-uri'] !== $item['uri']) || (($item['thr-parent'] !== '') && ($item['thr-parent'] !== $item['uri']))) {
$parent = q("SELECT `guid` FROM `item` WHERE `id` = %d", intval($item["parent"])); $parent = q("SELECT `guid` FROM `item` WHERE `id` = %d", intval($item["parent"]));

View File

@ -748,8 +748,11 @@ function poco_check_server($server_url, $network = "", $force = false) {
} }
if (!$serverret["success"] OR ($serverret["body"] == "") OR (sizeof($xmlobj) == 0) OR !is_object($xmlobj)) { if (!$serverret["success"] OR ($serverret["body"] == "") OR (sizeof($xmlobj) == 0) OR !is_object($xmlobj)) {
$last_failure = datetime_convert(); // Workaround for bad configured servers (known nginx problem)
$failure = true; if ($serverret["debug"]["http_code"] != "403") {
$last_failure = datetime_convert();
$failure = true;
}
} elseif ($network == NETWORK_DIASPORA) } elseif ($network == NETWORK_DIASPORA)
$last_contact = datetime_convert(); $last_contact = datetime_convert();

View File

@ -550,6 +550,7 @@ function contacts_content(&$a) {
'url' => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/block', 'url' => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/block',
'sel' => '', 'sel' => '',
'title' => t('Toggle Blocked status'), 'title' => t('Toggle Blocked status'),
'id' => 'toggle-block-tab',
'accesskey' => 'b', 'accesskey' => 'b',
), ),
array( array(
@ -557,6 +558,7 @@ function contacts_content(&$a) {
'url' => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/ignore', 'url' => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/ignore',
'sel' => '', 'sel' => '',
'title' => t('Toggle Ignored status'), 'title' => t('Toggle Ignored status'),
'id' => 'toggle-ignore-tab',
'accesskey' => 'i', 'accesskey' => 'i',
), ),
@ -565,6 +567,7 @@ function contacts_content(&$a) {
'url' => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/archive', 'url' => $a->get_baseurl(true) . '/contacts/' . $contact_id . '/archive',
'sel' => '', 'sel' => '',
'title' => t('Toggle Archive status'), 'title' => t('Toggle Archive status'),
'id' => 'toggle-archive-tab',
'accesskey' => 'v', 'accesskey' => 'v',
), ),
array( array(
@ -572,6 +575,7 @@ function contacts_content(&$a) {
'url' => $a->get_baseurl(true) . '/crepair/' . $contact_id, 'url' => $a->get_baseurl(true) . '/crepair/' . $contact_id,
'sel' => '', 'sel' => '',
'title' => t('Advanced Contact Settings'), 'title' => t('Advanced Contact Settings'),
'id' => 'repair-tab',
'accesskey' => 'r', 'accesskey' => 'r',
) )
); );
@ -693,6 +697,7 @@ function contacts_content(&$a) {
'url' => $a->get_baseurl(true) . '/suggest', 'url' => $a->get_baseurl(true) . '/suggest',
'sel' => '', 'sel' => '',
'title' => t('Suggest potential friends'), 'title' => t('Suggest potential friends'),
'id' => 'suggestions-tab',
'accesskey' => 'g', 'accesskey' => 'g',
), ),
array( array(
@ -700,6 +705,7 @@ function contacts_content(&$a) {
'url' => $a->get_baseurl(true) . '/contacts/all', 'url' => $a->get_baseurl(true) . '/contacts/all',
'sel' => ($all) ? 'active' : '', 'sel' => ($all) ? 'active' : '',
'title' => t('Show all contacts'), 'title' => t('Show all contacts'),
'id' => 'showall-tab',
'accesskey' => 'l', 'accesskey' => 'l',
), ),
array( array(
@ -707,6 +713,7 @@ function contacts_content(&$a) {
'url' => $a->get_baseurl(true) . '/contacts', 'url' => $a->get_baseurl(true) . '/contacts',
'sel' => ((! $all) && (! $blocked) && (! $hidden) && (! $search) && (! $nets) && (! $ignored) && (! $archived)) ? 'active' : '', 'sel' => ((! $all) && (! $blocked) && (! $hidden) && (! $search) && (! $nets) && (! $ignored) && (! $archived)) ? 'active' : '',
'title' => t('Only show unblocked contacts'), 'title' => t('Only show unblocked contacts'),
'id' => 'showunblocked-tab',
'accesskey' => 'o', 'accesskey' => 'o',
), ),
@ -715,6 +722,7 @@ function contacts_content(&$a) {
'url' => $a->get_baseurl(true) . '/contacts/blocked', 'url' => $a->get_baseurl(true) . '/contacts/blocked',
'sel' => ($blocked) ? 'active' : '', 'sel' => ($blocked) ? 'active' : '',
'title' => t('Only show blocked contacts'), 'title' => t('Only show blocked contacts'),
'id' => 'showblocked-tab',
'accesskey' => 'b', 'accesskey' => 'b',
), ),
@ -723,6 +731,7 @@ function contacts_content(&$a) {
'url' => $a->get_baseurl(true) . '/contacts/ignored', 'url' => $a->get_baseurl(true) . '/contacts/ignored',
'sel' => ($ignored) ? 'active' : '', 'sel' => ($ignored) ? 'active' : '',
'title' => t('Only show ignored contacts'), 'title' => t('Only show ignored contacts'),
'id' => 'showignored-tab',
'accesskey' => 'i', 'accesskey' => 'i',
), ),
@ -731,6 +740,7 @@ function contacts_content(&$a) {
'url' => $a->get_baseurl(true) . '/contacts/archived', 'url' => $a->get_baseurl(true) . '/contacts/archived',
'sel' => ($archived) ? 'active' : '', 'sel' => ($archived) ? 'active' : '',
'title' => t('Only show archived contacts'), 'title' => t('Only show archived contacts'),
'id' => 'showarchived-tab',
'accesskey' => 'y', 'accesskey' => 'y',
), ),
@ -739,6 +749,7 @@ function contacts_content(&$a) {
'url' => $a->get_baseurl(true) . '/contacts/hidden', 'url' => $a->get_baseurl(true) . '/contacts/hidden',
'sel' => ($hidden) ? 'active' : '', 'sel' => ($hidden) ? 'active' : '',
'title' => t('Only show hidden contacts'), 'title' => t('Only show hidden contacts'),
'id' => 'showhidden-tab',
'accesskey' => 'h', 'accesskey' => 'h',
), ),

View File

@ -137,16 +137,10 @@ function crepair_content(&$a) {
$contact = $r[0]; $contact = $r[0];
$msg1 = t('Repair Contact Settings'); $warning = t('<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working.');
$info = t('Please use your browser \'Back\' button <strong>now</strong> if you are uncertain what to do on this page.');
$msg2 = t('<strong>WARNING: This is highly advanced</strong> and if you enter incorrect information your communications with this contact may stop working.'); $returnaddr = "contacts/$cid";
$msg3 = t('Please use your browser \'Back\' button <strong>now</strong> if you are uncertain what to do on this page.');
$o .= '<h2>' . $msg1 . '</h2>';
$o .= '<div class="error-message">' . $msg2 . EOL . EOL. $msg3 . '</div>';
$o .= EOL . '<a href="contacts/' . $cid . '">' . t('Return to contact editor') . '</a>' . EOL;
$allow_remote_self = get_config('system','allow_users_remote_self'); $allow_remote_self = get_config('system','allow_users_remote_self');
@ -165,6 +159,11 @@ function crepair_content(&$a) {
$tpl = get_markup_template('crepair.tpl'); $tpl = get_markup_template('crepair.tpl');
$o .= replace_macros($tpl, array( $o .= replace_macros($tpl, array(
'$title' => t('Repair Contact Settings'),
'$warning' => $warning,
'$info' => $info,
'$returnaddr' => $returnaddr,
'$return' => t('Return to contact editor'),
'$update_profile' => update_profile, '$update_profile' => update_profile,
'$udprofilenow' => t('Refetch contact data'), '$udprofilenow' => t('Refetch contact data'),
'$label_name' => t('Name'), '$label_name' => t('Name'),
@ -178,7 +177,12 @@ function crepair_content(&$a) {
'$label_photo' => t('New photo from this URL'), '$label_photo' => t('New photo from this URL'),
'$label_remote_self' => t('Remote Self'), '$label_remote_self' => t('Remote Self'),
'$allow_remote_self' => $allow_remote_self, '$allow_remote_self' => $allow_remote_self,
'$remote_self' => array('remote_self', t('Mirror postings from this contact'), $contact['remote_self'], t('Mark this contact as remote_self, this will cause friendica to repost new entries from this contact.'), $remote_self_options), '$remote_self' => array('remote_self',
t('Mirror postings from this contact'),
$contact['remote_self'],
t('Mark this contact as remote_self, this will cause friendica to repost new entries from this contact.'),
$remote_self_options
),
'$contact_name' => htmlentities($contact['name']), '$contact_name' => htmlentities($contact['name']),
'$contact_nick' => htmlentities($contact['nick']), '$contact_nick' => htmlentities($contact['nick']),
'$contact_id' => $contact['id'], '$contact_id' => $contact['id'],
@ -189,7 +193,7 @@ function crepair_content(&$a) {
'$poll' => $contact['poll'], '$poll' => $contact['poll'],
'$contact_attag' => $contact['attag'], '$contact_attag' => $contact['attag'],
'$lbl_submit' => t('Submit') '$lbl_submit' => t('Submit')
)); ));
return $o; return $o;

View File

@ -119,19 +119,19 @@ function network_init(&$a) {
$search = ((x($_GET,'search')) ? escape_tags($_GET['search']) : ''); $search = ((x($_GET,'search')) ? escape_tags($_GET['search']) : '');
if(x($_GET,'save')) { if(x($_GET,'save')) {
$r = q("select * from `search` where `uid` = %d and `term` = '%s' limit 1", $r = q("SELECT * FROM `search` WHERE `uid` = %d AND `term` = '%s' LIMIT 1",
intval(local_user()), intval(local_user()),
dbesc($search) dbesc($search)
); );
if(! count($r)) { if(! count($r)) {
q("insert into `search` ( `uid`,`term` ) values ( %d, '%s') ", q("INSERT INTO `search` ( `uid`,`term` ) VALUES ( %d, '%s') ",
intval(local_user()), intval(local_user()),
dbesc($search) dbesc($search)
); );
} }
} }
if(x($_GET,'remove')) { if(x($_GET,'remove')) {
q("delete from `search` where `uid` = %d and `term` = '%s'", q("DELETE FROM `search` WHERE `uid` = %d AND `term` = '%s'",
intval(local_user()), intval(local_user()),
dbesc($search) dbesc($search)
); );
@ -172,7 +172,7 @@ function saved_searches($search) {
$o = ''; $o = '';
$r = q("select `id`,`term` from `search` WHERE `uid` = %d", $r = q("SELECT `id`,`term` FROM `search` WHERE `uid` = %d",
intval(local_user()) intval(local_user())
); );
@ -355,57 +355,63 @@ function network_content(&$a, $update = 0) {
// tabs // tabs
$tabs = array( $tabs = array(
array( array(
'label' => t('Commented Order'), 'label' => t('Commented Order'),
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . '?f=&order=comment' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''), 'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . '?f=&order=comment' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
'sel'=>$all_active, 'sel' => $all_active,
'title'=> t('Sort by Comment Date'), 'title' => t('Sort by Comment Date'),
'id' => 'commented-order-tab',
'accesskey' => "e", 'accesskey' => "e",
), ),
array( array(
'label' => t('Posted Order'), 'label' => t('Posted Order'),
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . '?f=&order=post' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''), 'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . '?f=&order=post' . ((x($_GET,'cid')) ? '&cid=' . $_GET['cid'] : ''),
'sel'=>$postord_active, 'sel' => $postord_active,
'title' => t('Sort by Post Date'), 'title' => t('Sort by Post Date'),
'id' => 'posted-order-tab',
'accesskey' => "t", 'accesskey' => "t",
), ),
); );
if(feature_enabled(local_user(),'personal_tab')) { if(feature_enabled(local_user(),'personal_tab')) {
$tabs[] = array( $tabs[] = array(
'label' => t('Personal'), 'label' => t('Personal'),
'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&conv=1', 'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&conv=1',
'sel' => $conv_active, 'sel' => $conv_active,
'title' => t('Posts that mention or involve you'), 'title' => t('Posts that mention or involve you'),
'id' => 'personal-tab',
'accesskey' => "r", 'accesskey' => "r",
); );
} }
if(feature_enabled(local_user(),'new_tab')) { if(feature_enabled(local_user(),'new_tab')) {
$tabs[] = array( $tabs[] = array(
'label' => t('New'), 'label' => t('New'),
'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ($len_naked_cmd ? '/' : '') . 'new' . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : ''), 'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ($len_naked_cmd ? '/' : '') . 'new' . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : ''),
'sel' => $new_active, 'sel' => $new_active,
'title' => t('Activity Stream - by date'), 'title' => t('Activity Stream - by date'),
'id' => 'activitiy-by-date-tab',
'accesskey' => "w", 'accesskey' => "w",
); );
} }
if(feature_enabled(local_user(),'link_tab')) { if(feature_enabled(local_user(),'link_tab')) {
$tabs[] = array( $tabs[] = array(
'label' => t('Shared Links'), 'label' => t('Shared Links'),
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&bmark=1', 'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&bmark=1',
'sel'=>$bookmarked_active, 'sel' => $bookmarked_active,
'title'=> t('Interesting Links'), 'title' => t('Interesting Links'),
'id' => 'shared-links-tab',
'accesskey' => "b", 'accesskey' => "b",
); );
} }
if(feature_enabled(local_user(),'star_posts')) { if(feature_enabled(local_user(),'star_posts')) {
$tabs[] = array( $tabs[] = array(
'label' => t('Starred'), 'label' => t('Starred'),
'url'=>$a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&star=1', 'url' => $a->get_baseurl(true) . '/' . str_replace('/new', '', $cmd) . ((x($_GET,'cid')) ? '/?f=&cid=' . $_GET['cid'] : '/?f=') . '&star=1',
'sel'=>$starred_active, 'sel' => $starred_active,
'title' => t('Favourite Posts'), 'title' => t('Favourite Posts'),
'id' => 'starred-posts-tab',
'accesskey' => "m", 'accesskey' => "m",
); );
} }
@ -446,7 +452,7 @@ function network_content(&$a, $update = 0) {
$def_acl = array('allow_cid' => '<' . intval($cid) . '>'); $def_acl = array('allow_cid' => '<' . intval($cid) . '>');
if($nets) { if($nets) {
$r = q("select id from contact where uid = %d and network = '%s' and self = 0", $r = q("SELECT `id` FROM `contact` WHERE `uid` = %d AND network = '%s' AND `self` = 0",
intval(local_user()), intval(local_user()),
dbesc($nets) dbesc($nets)
); );
@ -475,7 +481,10 @@ function network_content(&$a, $update = 0) {
$content = ""; $content = "";
if ($cid) { if ($cid) {
$contact = q("SELECT `nick` FROM `contact` WHERE `id` = %d AND `uid` = %d AND `forum`", intval($cid), intval(local_user())); $contact = q("SELECT `nick` FROM `contact` WHERE `id` = %d AND `uid` = %d AND `forum`",
intval($cid),
intval(local_user())
);
if ($contact) if ($contact)
$content = "@".$contact[0]["nick"]."+".$cid; $content = "@".$contact[0]["nick"]."+".$cid;
} }
@ -569,7 +578,7 @@ function network_content(&$a, $update = 0) {
); );
if(count($r)) { if(count($r)) {
$sql_post_table = " INNER JOIN (SELECT DISTINCT(`parent`) FROM `item` $sql_post_table = " INNER JOIN (SELECT DISTINCT(`parent`) FROM `item`
WHERE 1 $sql_options AND `contact-id` = ".intval($cid)." and deleted = 0 WHERE 1 $sql_options AND `contact-id` = ".intval($cid)." AND `deleted` = 0
ORDER BY `item`.`received` DESC) AS `temp1` ORDER BY `item`.`received` DESC) AS `temp1`
ON $sql_table.$sql_parent = `temp1`.`parent` "; ON $sql_table.$sql_parent = `temp1`.`parent` ";
$sql_extra = ""; $sql_extra = "";

View File

@ -1,4 +1,18 @@
<?php <?php /** @file */
/**
*
* Poke, prod, finger, or otherwise do unspeakable things to somebody - who must be a connection in your address book
* This function can be invoked with the required arguments (verb and cid and private and possibly parent) silently via ajax or
* other web request. You must be logged in and connected to a profile.
* If the required arguments aren't present, we'll display a simple form to choose a recipient and a verb.
* parent is a special argument which let's you attach this activity as a comment to an existing conversation, which
* may have started with somebody else poking (etc.) somebody, but this isn't necessary. This can be used in the more pokes
* plugin version to have entire conversations where Alice poked Bob, Bob fingered Alice, Alice hugged Bob, etc.
*
* private creates a private conversation with the recipient. Otherwise your profile's default post privacy is used.
*
*/
require_once('include/security.php'); require_once('include/security.php');
require_once('include/bbcode.php'); require_once('include/bbcode.php');
@ -33,7 +47,7 @@ function poke_init(&$a) {
logger('poke: verb ' . $verb . ' contact ' . $contact_id, LOGGER_DEBUG); logger('poke: verb ' . $verb . ' contact ' . $contact_id, LOGGER_DEBUG);
$r = q("SELECT * FROM `contact` WHERE `id` = %d and `uid` = %d LIMIT 1", $r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($contact_id), intval($contact_id),
intval($uid) intval($uid)
); );
@ -46,8 +60,8 @@ function poke_init(&$a) {
$target = $r[0]; $target = $r[0];
if($parent) { if($parent) {
$r = q("select uri, private, allow_cid, allow_gid, deny_cid, deny_gid $r = q("SELECT `uri`, `private`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`
from item where id = %d and parent = %d and uid = %d limit 1", FROM `item` WHERE `id` = %d AND `parent` = %d AND `uid` = %d LIMIT 1",
intval($parent), intval($parent),
intval($parent), intval($parent),
intval($uid) intval($uid)
@ -140,7 +154,7 @@ function poke_content(&$a) {
$id = ''; $id = '';
if(intval($_GET['c'])) { if(intval($_GET['c'])) {
$r = q("select id,name from contact where id = %d and uid = %d limit 1", $r = q("SELECT `id`,`name` FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
intval($_GET['c']), intval($_GET['c']),
intval(local_user()) intval(local_user())
); );
@ -153,31 +167,16 @@ function poke_content(&$a) {
$base = $a->get_baseurl(); $base = $a->get_baseurl();
$a->page['htmlhead'] .= '<script src="' . $a->get_baseurl(true) . '/library/jquery_ac/friendica.complete.js" ></script>'; $head_tpl = get_markup_template('poke_head.tpl');
$a->page['htmlhead'] .= <<< EOT $a->page['htmlhead'] .= replace_macros($head_tpl,array(
'$baseurl' => $a->get_baseurl(true),
'$base' => $base
));
<script>$(document).ready(function() {
var a;
a = $("#poke-recip").autocomplete({
serviceUrl: '$base/acl',
minChars: 2,
width: 350,
onSelect: function(value,data) {
$("#poke-recip-complete").val(data);
}
});
a.setOptions({ params: { type: 'a' }});
});
</script>
EOT;
$parent = ((x($_GET,'parent')) ? intval($_GET['parent']) : '0'); $parent = ((x($_GET,'parent')) ? intval($_GET['parent']) : '0');
$verbs = get_poke_verbs(); $verbs = get_poke_verbs();
$shortlist = array(); $shortlist = array();

View File

@ -206,7 +206,7 @@ function profiles_post(&$a) {
if($ignore_year) if($ignore_year)
$dob = '0000-' . $dob; $dob = '0000-' . $dob;
} }
$name = notags(trim($_POST['name'])); $name = notags(trim($_POST['name']));
if(! strlen($name)) { if(! strlen($name)) {
@ -327,7 +327,7 @@ function profiles_post(&$a) {
$hide_friends = (($_POST['hide-friends'] == 1) ? 1: 0); $hide_friends = (($_POST['hide-friends'] == 1) ? 1: 0);
set_pconfig(local_user(),'system','detailled_profile', (($_POST['detailled_profile'] == 1) ? 1: 0));
$changes = array(); $changes = array();
$value = ''; $value = '';
@ -540,7 +540,7 @@ function profile_activity($changed, $value) {
return; return;
$arr = array(); $arr = array();
$arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), local_user()); $arr['uri'] = $arr['parent-uri'] = item_new_uri($a->get_hostname(), local_user());
$arr['uid'] = local_user(); $arr['uid'] = local_user();
$arr['contact-id'] = $self[0]['id']; $arr['contact-id'] = $self[0]['id'];
$arr['wall'] = 1; $arr['wall'] = 1;
@ -552,7 +552,7 @@ function profile_activity($changed, $value) {
$arr['author-avatar'] = $arr['owner-avatar'] = $self[0]['thumb']; $arr['author-avatar'] = $arr['owner-avatar'] = $self[0]['thumb'];
$arr['verb'] = ACTIVITY_UPDATE; $arr['verb'] = ACTIVITY_UPDATE;
$arr['object-type'] = ACTIVITY_OBJ_PROFILE; $arr['object-type'] = ACTIVITY_OBJ_PROFILE;
$A = '[url=' . $self[0]['url'] . ']' . $self[0]['name'] . '[/url]'; $A = '[url=' . $self[0]['url'] . ']' . $self[0]['name'] . '[/url]';
@ -570,7 +570,7 @@ function profile_activity($changed, $value) {
$changes .= $ch; $changes .= $ch;
} }
$prof = '[url=' . $self[0]['url'] . '?tab=profile' . ']' . t('public profile') . '[/url]'; $prof = '[url=' . $self[0]['url'] . '?tab=profile' . ']' . t('public profile') . '[/url]';
if($t == 1 && strlen($value)) { if($t == 1 && strlen($value)) {
$message = sprintf( t('%1$s changed %2$s to &ldquo;%3$s&rdquo;'), $A, $changes, $value); $message = sprintf( t('%1$s changed %2$s to &ldquo;%3$s&rdquo;'), $A, $changes, $value);
@ -578,9 +578,9 @@ function profile_activity($changed, $value) {
} }
else else
$message = sprintf( t('%1$s has an updated %2$s, changing %3$s.'), $A, $prof, $changes); $message = sprintf( t('%1$s has an updated %2$s, changing %3$s.'), $A, $prof, $changes);
$arr['body'] = $message;
$arr['body'] = $message;
$arr['object'] = '<object><type>' . ACTIVITY_OBJ_PROFILE . '</type><title>' . $self[0]['name'] . '</title>' $arr['object'] = '<object><type>' . ACTIVITY_OBJ_PROFILE . '</type><title>' . $self[0]['name'] . '</title>'
. '<id>' . $self[0]['url'] . '/' . $self[0]['name'] . '</id>'; . '<id>' . $self[0]['url'] . '/' . $self[0]['name'] . '</id>';
@ -664,8 +664,10 @@ function profiles_content(&$a) {
'$no_selected' => (($r[0]['hide-friends'] == 0) ? " checked=\"checked\" " : "") '$no_selected' => (($r[0]['hide-friends'] == 0) ? " checked=\"checked\" " : "")
)); ));
$personal_account = !(in_array($a->user["page-flags"],
array(PAGE_COMMUNITY, PAGE_PRVGROUP)));
$detailled_profile = (get_pconfig(local_user(),'system','detailled_profile') AND $personal_account);
$f = get_config('system','birthday_input_format'); $f = get_config('system','birthday_input_format');
if(! $f) if(! $f)
@ -674,6 +676,17 @@ function profiles_content(&$a) {
$is_default = (($r[0]['is-default']) ? 1 : 0); $is_default = (($r[0]['is-default']) ? 1 : 0);
$tpl = get_markup_template("profile_edit.tpl"); $tpl = get_markup_template("profile_edit.tpl");
$o .= replace_macros($tpl,array( $o .= replace_macros($tpl,array(
'$personal_account' => $personal_account,
'$detailled_profile' => $detailled_profile,
'$details' => array(
'detailled_profile', //Name
t('Show more profile fields:'), //Label
$detailled_profile, //Value
'', //Help string
array(t('No'),t('Yes')) //Off - On strings
),
'$multi_profiles' => feature_enabled(local_user(),'multi_profiles'), '$multi_profiles' => feature_enabled(local_user(),'multi_profiles'),
'$form_security_token' => get_form_security_token("profile_edit"), '$form_security_token' => get_form_security_token("profile_edit"),
'$form_security_token_photo' => get_form_security_token("profile_photo"), '$form_security_token_photo' => get_form_security_token("profile_photo"),
@ -775,10 +788,10 @@ function profiles_content(&$a) {
return $o; return $o;
} }
//Profiles list. //Profiles list.
else { else {
//If we don't support multi profiles, don't display this list. //If we don't support multi profiles, don't display this list.
if(!feature_enabled(local_user(),'multi_profiles')){ if(!feature_enabled(local_user(),'multi_profiles')){
$r = q( $r = q(
@ -790,11 +803,11 @@ function profiles_content(&$a) {
goaway($a->get_baseurl(true) . '/profiles/'.$r[0]['id']); goaway($a->get_baseurl(true) . '/profiles/'.$r[0]['id']);
} }
} }
$r = q("SELECT * FROM `profile` WHERE `uid` = %d", $r = q("SELECT * FROM `profile` WHERE `uid` = %d",
local_user()); local_user());
if(count($r)) { if(count($r)) {
$tpl_header = get_markup_template('profile_listing_header.tpl'); $tpl_header = get_markup_template('profile_listing_header.tpl');
$o .= replace_macros($tpl_header,array( $o .= replace_macros($tpl_header,array(
'$header' => t('Edit/Manage Profiles'), '$header' => t('Edit/Manage Profiles'),
@ -802,17 +815,17 @@ function profiles_content(&$a) {
'$cr_new' => t('Create New Profile'), '$cr_new' => t('Create New Profile'),
'$cr_new_link' => 'profiles/new?t=' . get_form_security_token("profile_new") '$cr_new_link' => 'profiles/new?t=' . get_form_security_token("profile_new")
)); ));
$tpl = get_markup_template('profile_entry.tpl'); $tpl = get_markup_template('profile_entry.tpl');
foreach($r as $rr) { foreach($r as $rr) {
$o .= replace_macros($tpl, array( $o .= replace_macros($tpl, array(
'$photo' => $a->get_cached_avatar_image($rr['thumb']), '$photo' => $a->get_cached_avatar_image($rr['thumb']),
'$id' => $rr['id'], '$id' => $rr['id'],
'$alt' => t('Profile Image'), '$alt' => t('Profile Image'),
'$profile_name' => $rr['profile-name'], '$profile_name' => $rr['profile-name'],
'$visible' => (($rr['is-default']) ? '<strong>' . t('visible to everybody') . '</strong>' '$visible' => (($rr['is-default']) ? '<strong>' . t('visible to everybody') . '</strong>'
: '<a href="' . $a->get_baseurl(true) . '/profperm/' . $rr['id'] . '" />' . t('Edit visibility') . '</a>') : '<a href="' . $a->get_baseurl(true) . '/profperm/' . $rr['id'] . '" />' . t('Edit visibility') . '</a>')
)); ));
} }

View File

@ -57,8 +57,8 @@ function uimport_content(&$a) {
unset($_SESSION['theme']); unset($_SESSION['theme']);
if(x($_SESSION,'mobile-theme')) if(x($_SESSION,'mobile-theme'))
unset($_SESSION['mobile-theme']); unset($_SESSION['mobile-theme']);
$tpl = get_markup_template("uimport.tpl"); $tpl = get_markup_template("uimport.tpl");
return replace_macros($tpl, array( return replace_macros($tpl, array(
'$regbutt' => t('Import'), '$regbutt' => t('Import'),
@ -66,8 +66,8 @@ function uimport_content(&$a) {
'title' => t("Move account"), 'title' => t("Move account"),
'intro' => t("You can import an account from another Friendica server."), 'intro' => t("You can import an account from another Friendica server."),
'instruct' => t("You need to export your account from the old server and upload it here. We will recreate your old account here with all your contacts. We will try also to inform your friends that you moved here."), 'instruct' => t("You need to export your account from the old server and upload it here. We will recreate your old account here with all your contacts. We will try also to inform your friends that you moved here."),
'warn' => t("This feature is experimental. We can't import contacts from the OStatus network (statusnet/identi.ca) or from Diaspora"), 'warn' => t("This feature is experimental. We can't import contacts from the OStatus network (GNU Social/Statusnet) or from Diaspora"),
'field' => array('accountfile', t('Account file'),'<input id="id_accountfile" name="accountfile" type="file">', t('To export your account, go to "Settings->Export your personal data" and select "Export account"')), 'field' => array('accountfile', t('Account file'),'<input id="id_accountfile" name="accountfile" type="file">', t('To export your account, go to "Settings->Export your personal data" and select "Export account"')),
), ),
)); ));
} }

View File

@ -256,4 +256,20 @@ a {
.selected-identity img { .selected-identity img {
border: 2px solid #ff0000; border: 2px solid #ff0000;
} }
/* poke */
#poke-desc {
margin: 5px 0 10px;
}
#poke-wrapper {
padding: 10px 0 0px;
}
#poke-recipient, #poke-action, #poke-privacy-settings {
margin: 10px 0 30px;
}
#poke-recip-label, #poke-action-label, #prvmail-message-label {
margin: 10px 0 10px;
}

View File

@ -1,3 +1,13 @@
{{include file="section_title.tpl"}}
<div class="crepair-error-message">{{$warning}}</div><br>
<div class="crepair-return">
{{$info}}<br>
<a href="{{$returnaddr}}">{{$return}}</a>
</div>
<br />
<form id="crepair-form" action="crepair/{{$contact_id}}" method="post" > <form id="crepair-form" action="crepair/{{$contact_id}}" method="post" >
<h4>{{$contact_name}}</h4> <h4>{{$contact_name}}</h4>

View File

@ -3,31 +3,33 @@
<div id="poke-desc">{{$desc}}</div> <div id="poke-desc">{{$desc}}</div>
<form action="poke" method="get">
<br />
<br />
<div id="poke-recip-label">{{$clabel}}</div> <div id="poke-wrapper">
<br /> <form action="poke" method="get">
<input id="poke-recip" type="text" size="64" maxlength="255" value="{{$name|escape:'html'}}" name="pokename" autocomplete="off" />
<input id="poke-recip-complete" type="hidden" value="{{$id}}" name="cid" /> <div id="poke-recipient">
<input id="poke-parent" type="hidden" value="{{$parent}}" name="parent" /> <div id="poke-recip-label">{{$clabel}}</div>
<br /> <input id="poke-recip" type="text" size="64" maxlength="255" value="{{$name|escape:'html'}}" name="pokename" autocomplete="off" />
<br /> <input id="poke-recip-complete" type="hidden" value="{{$id}}" name="cid" />
<div id="poke-action-label">{{$choice}}</div> <input id="poke-parent" type="hidden" value="{{$parent}}" name="parent" />
<br /> </div>
<br />
<select name="verb" id="poke-verb-select" > <div id="poke-action">
{{foreach $verbs as $v}} <div id="poke-action-label">{{$choice}}</div>
<option value="{{$v.0}}">{{$v.1}}</option> <select name="verb" id="poke-verb-select" >
{{/foreach}} {{foreach $verbs as $v}}
</select> <option value="{{$v.0}}">{{$v.1}}</option>
<br /> {{/foreach}}
<br /> </select>
<div id="poke-private-desc">{{$prv_desc}}</div> </div>
<input type="checkbox" name="private" {{if $parent}}disabled="disabled"{{/if}} value="1" />
<br /> <div id="poke-privacy-settings">
<br /> <div id="poke-private-desc">{{$prv_desc}}</div>
<input type="submit" name="submit" value="{{$submit|escape:'html'}}" /> <input type="checkbox" name="private" {{if $parent}}disabled="disabled"{{/if}} value="1" />
</form> </div>
<input type="submit" name="submit" value="{{$submit|escape:'html'}}" />
</form>
</div>

View File

@ -0,0 +1,18 @@
<script src="{{$baseurl}}/library/jquery_ac/friendica.complete.js" ></script>
<script>$(document).ready(function() {
var a;
a = $("#poke-recip").autocomplete({
serviceUrl: '{{$base}}/acl',
minChars: 2,
width: 350,
onSelect: function(value,data) {
$("#poke-recip-complete").val(data);
}
});
a.setOptions({ params: { type: 'a' }});
});
</script>

View File

@ -21,6 +21,8 @@
<form id="profile-edit-form" name="form1" action="profiles/{{$profile_id}}" method="post" > <form id="profile-edit-form" name="form1" action="profiles/{{$profile_id}}" method="post" >
<input type='hidden' name='form_security_token' value='{{$form_security_token}}'> <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
{{if $detailled_profile}}
{{include file="field_yesno.tpl" field=$details}}
<div id="profile-edit-profile-name-wrapper" > <div id="profile-edit-profile-name-wrapper" >
<label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >{{$lbl_profname}} </label> <label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >{{$lbl_profname}} </label>
<input type="text" size="32" name="profile_name" id="profile-edit-profile-name" value="{{$profile_name|escape:'html'}}" /><div class="required">*</div> <input type="text" size="32" name="profile_name" id="profile-edit-profile-name" value="{{$profile_name|escape:'html'}}" /><div class="required">*</div>
@ -318,7 +320,129 @@
</div> </div>
<div class="profile-edit-submit-end"></div> <div class="profile-edit-submit-end"></div>
{{else}}
{{if $personal_account}}
{{include file="field_yesno.tpl" field=$details}}
{{/if}}
<div id="profile-edit-profile-name-wrapper" >
<label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >{{$lbl_profname}} </label>
<input type="text" size="32" name="profile_name" id="profile-edit-profile-name" value="{{$profile_name|escape:'html'}}" /><div class="required">*</div>
</div>
<div id="profile-edit-profile-name-end"></div>
<div id="profile-edit-name-wrapper" >
<label id="profile-edit-name-label" for="profile-edit-name" >{{$lbl_fullname}} </label>
<input type="text" size="32" name="name" id="profile-edit-name" value="{{$name|escape:'html'}}" />
</div>
<div id="profile-edit-name-end"></div>
{{if $personal_account}}
<div id="profile-edit-gender-wrapper" >
<label id="profile-edit-gender-label" for="gender-select" >{{$lbl_gender}} </label>
{{$gender}}
</div>
<div id="profile-edit-gender-end"></div>
<div id="profile-edit-dob-wrapper" >
<label id="profile-edit-dob-label" for="dob-select" >{{$lbl_bd}} </label>
<div id="profile-edit-dob" >
{{$dob}} {{$age}}
</div>
</div>
<div id="profile-edit-dob-end"></div>
{{/if}}
<div id="profile-edit-homepage-wrapper" >
<label id="profile-edit-homepage-label" for="profile-edit-homepage" >{{$lbl_homepage}} </label>
<input type="url" size="32" name="homepage" id="profile-edit-homepage" value="{{$homepage|escape:'html'}}" />
</div>
<div id="profile-edit-homepage-end"></div>
{{$hide_friends}}
<div id="profile-edit-address-wrapper" >
<label id="profile-edit-address-label" for="profile-edit-address" >{{$lbl_address}} </label>
<input type="text" size="32" name="address" id="profile-edit-address" value="{{$address|escape:'html'}}" />
</div>
<div id="profile-edit-address-end"></div>
<div id="profile-edit-locality-wrapper" >
<label id="profile-edit-locality-label" for="profile-edit-locality" >{{$lbl_city}} </label>
<input type="text" size="32" name="locality" id="profile-edit-locality" value="{{$locality|escape:'html'}}" />
</div>
<div id="profile-edit-locality-end"></div>
<div id="profile-edit-postal-code-wrapper" >
<label id="profile-edit-postal-code-label" for="profile-edit-postal-code" >{{$lbl_zip}} </label>
<input type="text" size="32" name="postal_code" id="profile-edit-postal-code" value="{{$postal_code|escape:'html'}}" />
</div>
<div id="profile-edit-postal-code-end"></div>
<div id="profile-edit-country-name-wrapper" >
<label id="profile-edit-country-name-label" for="profile-edit-country-name" >{{$lbl_country}} </label>
<select name="country_name" id="profile-edit-country-name" onChange="Fill_States('{{$region}}');">
<option selected="selected" >{{$country_name}}</option>
<option>temp</option>
</select>
</div>
<div id="profile-edit-country-name-end"></div>
<div id="profile-edit-region-wrapper" >
<label id="profile-edit-region-label" for="profile-edit-region" >{{$lbl_region}} </label>
<select name="region" id="profile-edit-region" onChange="Update_Globals();" >
<option selected="selected" >{{$region}}</option>
<option>temp</option>
</select>
</div>
<div id="profile-edit-region-end"></div>
<div id="profile-edit-pubkeywords-wrapper" >
<label id="profile-edit-pubkeywords-label" for="profile-edit-pubkeywords" >{{$lbl_pubkey}} </label>
<input type="text" size="32" name="pub_keywords" id="profile-edit-pubkeywords" title="{{$lbl_ex2}}" value="{{$pub_keywords|escape:'html'}}" />
</div><div id="profile-edit-pubkeywords-desc">{{$lbl_pubdsc}}</div>
<div id="profile-edit-pubkeywords-end"></div>
<div id="profile-edit-prvkeywords-wrapper" >
<label id="profile-edit-prvkeywords-label" for="profile-edit-prvkeywords" >{{$lbl_prvkey}} </label>
<input type="text" size="32" name="prv_keywords" id="profile-edit-prvkeywords" title="{{$lbl_ex2}}" value="{{$prv_keywords|escape:'html'}}" />
</div><div id="profile-edit-prvkeywords-desc">{{$lbl_prvdsc}}</div>
<div id="profile-edit-prvkeywords-end"></div>
<div id="about-jot-wrapper" >
<p id="about-jot-desc" >
{{$lbl_about}}
</p>
<textarea rows="10" cols="72" id="profile-about-text" name="about" >{{$about}}</textarea>
</div>
<div id="about-jot-end"></div>
<div class="profile-edit-submit-wrapper" >
<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
</div>
<div class="profile-edit-submit-end"></div>
<input type="hidden" name="pdesc" id="profile-edit-pdesc" value="{{$pdesc}}" />
<input type="hidden" id="contact-jot-text" name="contact" value="{{$contact}}" />
<input type="hidden" name="hometown" id="profile-edit-hometown" value="{{$hometown}}" />
<input type="hidden" name="politic" id="profile-edit-politic" value="{{$politic}}" />
<input type="hidden" name="religion" id="profile-edit-religion" value="{{$religion}}" />
<input type="hidden" id="likes-jot-text" name="likes" value="{{$likes}}" />
<input type="hidden" id="dislikes-jot-text" name="dislikes" value="{{$dislikes}}" />
<input type="hidden" name="with" id="profile-edit-with" value="{{$with}}" />
<input type="hidden" name="howlong" id="profile-edit-howlong" value="{{$howlong}}" />
<input type="hidden" id="romance-jot-text" name="romance" value="{{$romance}}" />
<input type="hidden" id="work-jot-text" name="work" value="{{$work}}" />
<input type="hidden" id="education-jot-text" name="education" value="{{$education}}" />
<input type="hidden" id="interest-jot-text" name="interest" value="{{$interest}}" />
<input type="hidden" id="music-jot-text" name="music" value="{{$music}}" />
<input type="hidden" id="book-jot-text" name="book" value="{{$book}}" />
<input type="hidden" id="tv-jot-text" name="tv" value="{{$tv}}" />
<input type="hidden" id="film-jot-text" name="film" value="{{$film}}" />
{{/if}}
</form> </form>
</div> </div>
<script type="text/javascript">Fill_Country('{{$country_name}}');Fill_States('{{$region}}');</script> <script type="text/javascript">Fill_Country('{{$country_name}}');Fill_States('{{$region}}');</script>

View File

@ -959,7 +959,7 @@ input#dfrn-url {
} }
.wall-item-content-wrapper.comment { .wall-item-content-wrapper.comment {
# margin-left: 50px; /*margin-left: 50px;*/
background: #EEEEEE; background: #EEEEEE;
} }

View File

@ -2500,6 +2500,22 @@ a.mail-list-link {
clear: both; clear: both;
} }
#poke-desc {
margin: 5px 0 10px;
}
#poke-wrapper {
padding: 10px 0 0px;
}
#poke-recipient, #poke-action, #poke-privacy-settings {
margin: 10px 0 30px;
}
#poke-recip-label, #poke-action-label, #prvmail-message-label {
margin: 10px 0 10px;
}
#sidebar-group-list ul { #sidebar-group-list ul {
list-style-type: none; list-style-type: none;
} }
@ -4249,7 +4265,7 @@ ul.notifications-menu-popup {
#recip { #recip {
} }
.autocomplete-w1 { background: #ffffff; no-repeat bottom right; position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; } .autocomplete-w1 { background: #ffffff no-repeat bottom right; position:absolute; top:0px; left:0px; margin:6px 0 0 6px; /* IE6 fix: */ _background:none; _margin:1px 0 0 0; }
.autocomplete { color:#000; border:1px solid #999; background:#FFF; cursor:default; text-align:left; max-height:350px; overflow:auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px; _margin:0; _overflow-x:hidden; } .autocomplete { color:#000; border:1px solid #999; background:#FFF; cursor:default; text-align:left; max-height:350px; overflow:auto; margin:-6px 6px 6px -6px; /* IE6 specific: */ _height:350px; _margin:0; _overflow-x:hidden; }
.autocomplete .selected { background:#F0F0F0; } .autocomplete .selected { background:#F0F0F0; }
.autocomplete div { padding:2px 5px; white-space:nowrap; overflow:hidden; } .autocomplete div { padding:2px 5px; white-space:nowrap; overflow:hidden; }

View File

@ -2315,6 +2315,22 @@ a.mail-list-link {
clear: both; clear: both;
} }
#poke-desc {
margin: 5px 0 10px;
}
#poke-wrapper {
padding: 10px 0 20px;
}
#poke-recipient, #poke-action, #poke-privacy-settings {
margin: 10px 0 30px;
}
#poke-recip-label, #poke-action-label, #prvmail-message-label {
margin: 10px 0 10px;
}
#sidebar-group-list ul { #sidebar-group-list ul {
list-style-type: none; list-style-type: none;
} }

View File

@ -291,7 +291,7 @@ section {
margin: 10px 0 0 230px; margin: 10px 0 0 230px;
} }
.login-form, .login-form {
margin-top: 10px; margin-top: 10px;
} }
@ -2693,6 +2693,13 @@ margin-left: 0px;
border: 1px solid #7C7D7B; border: 1px solid #7C7D7B;
} }
/* ========== */
/* = Poke = */
/* ========== */
#poke-recip {
float: none;
}
/* ================= */ /* ================= */
/* = Notifications = */ /* = Notifications = */
/* ================= */ /* ================= */

View File

@ -2496,6 +2496,7 @@ a.mail-list-link {
border: none; border: none;
} }
/* ========== */ /* ========== */
/* = Events = */ /* = Events = */
/* ========== */ /* ========== */

View File

@ -32,9 +32,11 @@
<input type="hidden" name="profile" value="{{$profile_name}}" /> <input type="hidden" name="profile" value="{{$profile_name}}" />
<!-- Profile picture --> <!-- Profile picture -->
{{if $detailled_profile}}
<div class="toggle-section js-toggle-section"> <div class="toggle-section js-toggle-section">
<a class="section-caption js-section-toggler" href="javascript:;">{{$lbl_picture_section}} &raquo;</a> <a class="section-caption js-section-toggler" href="javascript:;">{{$lbl_picture_section}} &raquo;</a>
<div class="js-section toggle-section-content hidden"> <div class="js-section toggle-section-content hidden">
{{/if}}
<div id="profile-photo-upload-wrapper"> <div id="profile-photo-upload-wrapper">
<label id="profile-photo-upload-label" for="profile-photo-upload">{{$lbl_profile_photo}}:</label> <label id="profile-photo-upload-label" for="profile-photo-upload">{{$lbl_profile_photo}}:</label>
@ -46,19 +48,23 @@
</div> </div>
<div class="profile-edit-submit-end"></div> <div class="profile-edit-submit-end"></div>
{{if $detailled_profile}}
</div> </div>
</div> </div>
{{/if}}
</form> </form>
<form id="profile-edit-form" name="form1" action="profiles/{{$profile_id}}" method="post" > <form id="profile-edit-form" name="form1" action="profiles/{{$profile_id}}" method="post" >
<input type='hidden' name='form_security_token' value='{{$form_security_token}}'> <input type='hidden' name='form_security_token' value='{{$form_security_token}}'>
{{if $detailled_profile}}
<!-- Basic information --> <!-- Basic information -->
<div class="toggle-section js-toggle-section"> <div class="toggle-section js-toggle-section">
<a class="section-caption js-section-toggler" href="javascript:;">{{$lbl_basic_section}} &raquo;</a> <a class="section-caption js-section-toggler" href="javascript:;">{{$lbl_basic_section}} &raquo;</a>
<div class="js-section toggle-section-content hidden"> <div class="js-section toggle-section-content hidden">
{{include file="field_yesno.tpl" field=$details}}
{{if $multi_profiles}} {{if $multi_profiles}}
<div id="profile-edit-profile-name-wrapper" > <div id="profile-edit-profile-name-wrapper" >
<label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >{{$lbl_profname}} </label> <label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >{{$lbl_profname}} </label>
@ -309,6 +315,129 @@
</div> </div>
</div> </div>
{{else}}
{{if $personal_account}}
{{include file="field_yesno.tpl" field=$details}}
{{/if}}
<div id="profile-edit-profile-name-wrapper" >
<label id="profile-edit-profile-name-label" for="profile-edit-profile-name" >{{$lbl_profname}} </label>
<input type="text" size="32" name="profile_name" id="profile-edit-profile-name" value="{{$profile_name|escape:'html'}}" /><div class="required">*</div>
</div>
<div id="profile-edit-profile-name-end"></div>
<div id="profile-edit-name-wrapper" >
<label id="profile-edit-name-label" for="profile-edit-name" >{{$lbl_fullname}} </label>
<input type="text" size="32" name="name" id="profile-edit-name" value="{{$name|escape:'html'}}" />
</div>
<div id="profile-edit-name-end"></div>
{{if $personal_account}}
<div id="profile-edit-gender-wrapper" >
<label id="profile-edit-gender-label" for="gender-select" >{{$lbl_gender}} </label>
{{$gender}}
</div>
<div id="profile-edit-gender-end"></div>
<div id="profile-edit-dob-wrapper" >
<label id="profile-edit-dob-label" for="dob-select" >{{$lbl_bd}} </label>
<div id="profile-edit-dob" >
{{$dob}} {{$age}}
</div>
</div>
<div id="profile-edit-dob-end"></div>
{{/if}}
<div id="profile-edit-homepage-wrapper" >
<label id="profile-edit-homepage-label" for="profile-edit-homepage" >{{$lbl_homepage}} </label>
<input type="text" size="32" name="homepage" id="profile-edit-homepage" value="{{$homepage}}" />
</div>
<div id="profile-edit-homepage-end"></div>
{{$hide_friends}}
<div id="profile-edit-address-wrapper" >
<label id="profile-edit-address-label" for="profile-edit-address" >{{$lbl_address}} </label>
<input type="text" size="32" name="address" id="profile-edit-address" value="{{$address|escape:'html'}}" />
</div>
<div id="profile-edit-address-end"></div>
<div id="profile-edit-locality-wrapper" >
<label id="profile-edit-locality-label" for="profile-edit-locality" >{{$lbl_city}} </label>
<input type="text" size="32" name="locality" id="profile-edit-locality" value="{{$locality|escape:'html'}}" />
</div>
<div id="profile-edit-locality-end"></div>
<div id="profile-edit-postal-code-wrapper" >
<label id="profile-edit-postal-code-label" for="profile-edit-postal-code" >{{$lbl_zip}} </label>
<input type="text" size="32" name="postal_code" id="profile-edit-postal-code" value="{{$postal_code|escape:'html'}}" />
</div>
<div id="profile-edit-postal-code-end"></div>
<div id="profile-edit-country-name-wrapper" >
<label id="profile-edit-country-name-label" for="profile-edit-country-name" >{{$lbl_country}} </label>
<select name="country_name" id="profile-edit-country-name" onChange="Fill_States('{{$region}}');">
<option selected="selected" >{{$country_name}}</option>
<option>temp</option>
</select>
</div>
<div id="profile-edit-country-name-end"></div>
<div id="profile-edit-region-wrapper" >
<label id="profile-edit-region-label" for="profile-edit-region" >{{$lbl_region}} </label>
<select name="region" id="profile-edit-region" onChange="Update_Globals();" >
<option selected="selected" >{{$region}}</option>
<option>temp</option>
</select>
</div>
<div id="profile-edit-region-end"></div>
<div id="profile-edit-pubkeywords-wrapper" >
<label id="profile-edit-pubkeywords-label" for="profile-edit-pubkeywords" >{{$lbl_pubkey}} </label>
<input type="text" size="32" name="pub_keywords" id="profile-edit-pubkeywords" title="{{$lbl_ex2}}" value="{{$pub_keywords|escape:'html'}}" />
</div><div id="profile-edit-pubkeywords-desc">{{$lbl_pubdsc}}</div>
<div id="profile-edit-pubkeywords-end"></div>
<div id="profile-edit-prvkeywords-wrapper" >
<label id="profile-edit-prvkeywords-label" for="profile-edit-prvkeywords" >{{$lbl_prvkey}} </label>
<input type="text" size="32" name="prv_keywords" id="profile-edit-prvkeywords" title="{{$lbl_ex2}}" value="{{$prv_keywords|escape:'html'}}" />
</div><div id="profile-edit-prvkeywords-desc">{{$lbl_prvdsc}}</div>
<div id="profile-edit-prvkeywords-end"></div>
<div id="about-jot-wrapper" >
<p id="about-jot-desc" >
{{$lbl_about}}
</p>
<textarea rows="10" cols="72" id="profile-about-text" name="about" >{{$about}}</textarea>
</div>
<div id="about-jot-end"></div>
<div class="profile-edit-submit-wrapper" >
<input type="submit" name="submit" class="profile-edit-submit-button" value="{{$submit}}" />
</div>
<div class="profile-edit-submit-end"></div>
<input type="hidden" name="pdesc" id="profile-edit-pdesc" value="{{$pdesc}}" />
<input type="hidden" id="contact-jot-text" name="contact" value="{{$contact}}" />
<input type="hidden" name="hometown" id="profile-edit-hometown" value="{{$hometown}}" />
<input type="hidden" name="politic" id="profile-edit-politic" value="{{$politic}}" />
<input type="hidden" name="religion" id="profile-edit-religion" value="{{$religion}}" />
<input type="hidden" id="likes-jot-text" name="likes" value="{{$likes}}" />
<input type="hidden" id="dislikes-jot-text" name="dislikes" value="{{$dislikes}}" />
<input type="hidden" name="with" id="profile-edit-with" value="{{$with}}" />
<input type="hidden" name="howlong" id="profile-edit-howlong" value="{{$howlong}}" />
<input type="hidden" id="romance-jot-text" name="romance" value="{{$romance}}" />
<input type="hidden" id="work-jot-text" name="work" value="{{$work}}" />
<input type="hidden" id="education-jot-text" name="education" value="{{$education}}" />
<input type="hidden" id="interest-jot-text" name="interest" value="{{$interest}}" />
<input type="hidden" id="music-jot-text" name="music" value="{{$music}}" />
<input type="hidden" id="book-jot-text" name="book" value="{{$book}}" />
<input type="hidden" id="tv-jot-text" name="tv" value="{{$tv}}" />
<input type="hidden" id="film-jot-text" name="film" value="{{$film}}" />
{{/if}}
</form> </form>
</div> </div>