Merge remote-tracking branch 'friendika/master'
This commit is contained in:
commit
2116943964
44 changed files with 1123 additions and 295 deletions
19
boot.php
19
boot.php
|
@ -8,9 +8,9 @@ require_once("include/pgettext.php");
|
|||
require_once('include/nav.php');
|
||||
|
||||
define ( 'FRIENDIKA_PLATFORM', 'Free Friendika');
|
||||
define ( 'FRIENDIKA_VERSION', '2.3.1129' );
|
||||
define ( 'FRIENDIKA_VERSION', '2.3.1134' );
|
||||
define ( 'DFRN_PROTOCOL_VERSION', '2.21' );
|
||||
define ( 'DB_UPDATE_VERSION', 1094 );
|
||||
define ( 'DB_UPDATE_VERSION', 1097 );
|
||||
|
||||
define ( 'EOL', "<br />\r\n" );
|
||||
define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' );
|
||||
|
@ -974,6 +974,7 @@ function get_birthdays() {
|
|||
return $o;
|
||||
|
||||
$bd_format = t('g A l F d') ; // 8 AM Friday January 18
|
||||
$bd_short = t('F d');
|
||||
|
||||
$r = q("SELECT `event`.*, `event`.`id` AS `eid`, `contact`.* FROM `event`
|
||||
LEFT JOIN `contact` ON `contact`.`id` = `event`.`cid`
|
||||
|
@ -993,7 +994,7 @@ function get_birthdays() {
|
|||
if($total) {
|
||||
$o .= '<div id="birthday-notice" class="birthday-notice fakelink" onclick=openClose(\'birthday-wrapper\'); >' . t('Birthday Reminders') . ' ' . '(' . $total . ')' . '</div>';
|
||||
$o .= '<div id="birthday-wrapper" style="display: none;" ><div id="birthday-title">' . t('Birthdays this week:') . '</div>';
|
||||
$o .= '<div id="birthday-adjust">' . t("\x28Adjusted for local time\x29") . '</div>';
|
||||
// $o .= '<div id="birthday-adjust">' . t("\x28Adjusted for local time\x29") . '</div>';
|
||||
$o .= '<div id="birthday-title-end"></div>';
|
||||
|
||||
foreach($r as $rr) {
|
||||
|
@ -1001,10 +1002,16 @@ function get_birthdays() {
|
|||
continue;
|
||||
$now = strtotime('now');
|
||||
$today = (((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now)) ? true : false);
|
||||
$sparkle = '';
|
||||
$url = $rr['url'];
|
||||
if($rr['network'] === NETWORK_DFRN) {
|
||||
$sparkle = " sparkle";
|
||||
$url = $a->get_baseurl() . '/redir/' . $rr['cid'];
|
||||
}
|
||||
|
||||
$o .= '<div class="birthday-list" id="birthday-' . $rr['eid'] . '"><a class="sparkle" target="redir" href="'
|
||||
. $a->get_baseurl() . '/redir/' . $rr['cid'] . '">' . $rr['name'] . '</a> '
|
||||
. day_translate(datetime_convert('UTC', $a->timezone, $rr['start'], $bd_format)) . (($today) ? ' ' . t('[today]') : '')
|
||||
$o .= '<div class="birthday-list" id="birthday-' . $rr['eid'] . '"><a class="birthday-link$sparkle" target="redir" href="'
|
||||
. $url . '">' . $rr['name'] . '</a> '
|
||||
. day_translate(datetime_convert('UTC', $a->timezone, $rr['start'], $rr['adjust'] ? $bd_format : $bd_short)) . (($today) ? ' ' . t('[today]') : '')
|
||||
. '</div>' ;
|
||||
}
|
||||
$o .= '</div></div>';
|
||||
|
|
|
@ -96,6 +96,7 @@ CREATE TABLE IF NOT EXISTS `contact` (
|
|||
`info` mediumtext NOT NULL,
|
||||
`profile-id` int(11) NOT NULL DEFAULT '0',
|
||||
`bdyear` CHAR( 4 ) NOT NULL COMMENT 'birthday notify flag',
|
||||
`bd` date NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `uid` (`uid`),
|
||||
KEY `self` (`self`),
|
||||
|
@ -193,6 +194,7 @@ CREATE TABLE IF NOT EXISTS `item` (
|
|||
`object` text NOT NULL,
|
||||
`target-type` char(255) NOT NULL,
|
||||
`target` text NOT NULL,
|
||||
`postopts` text NOT NULL,
|
||||
`plink` char(255) NOT NULL,
|
||||
`resource-id` char(255) NOT NULL,
|
||||
`event-id` int(10) unsigned NOT NULL,
|
||||
|
@ -212,6 +214,7 @@ CREATE TABLE IF NOT EXISTS `item` (
|
|||
`bookmark` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`unseen` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`deleted` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`origin` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`last-child` tinyint(1) unsigned NOT NULL DEFAULT '1',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `guid` (`guid`),
|
||||
|
@ -229,6 +232,7 @@ CREATE TABLE IF NOT EXISTS `item` (
|
|||
KEY `visible` (`visible`),
|
||||
KEY `starred` (`starred`),
|
||||
KEY `deleted` (`deleted`),
|
||||
KEY `origin` (`origin`),
|
||||
KEY `last-child` (`last-child`),
|
||||
KEY `unseen` (`unseen`),
|
||||
FULLTEXT KEY `title` (`title`),
|
||||
|
|
|
@ -46,6 +46,10 @@ function contact_remove($id) {
|
|||
q("DELETE FROM `event` WHERE `cid` = %d ",
|
||||
intval($id)
|
||||
);
|
||||
q("DELETE FROM `queue` WHERE `cid` = %d ",
|
||||
intval($id)
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -483,11 +483,7 @@
|
|||
$txt = requestdata('htmlstatus');
|
||||
if((strpos($txt,'<') !== false) || (strpos($txt,'>') !== false)) {
|
||||
|
||||
$txt = preg_replace('#<object[^>]+>.+?' . 'http://www.youtube.com/((?:v|cp)/[A-Za-z0-9\-_=]+).+?</object>#s',
|
||||
'[youtube]$1[/youtube]', $txt);
|
||||
|
||||
$txt = preg_replace('#<iframe[^>].+?' . 'http://www.youtube.com/embed/([A-Za-z0-9\-_=]+).+?</iframe>#s',
|
||||
'[youtube]$1[/youtube]', $txt);
|
||||
$txt = html2bb_video($txt);
|
||||
|
||||
$config = HTMLPurifier_Config::createDefault();
|
||||
$config->set('Cache.DefinitionImpl', null);
|
||||
|
|
|
@ -141,6 +141,9 @@ function bbcode($Text,$preserve_nl = false) {
|
|||
$Text = preg_replace("/\[youtube\]([A-Za-z0-9\-_=]+)(.*?)\[\/youtube\]/ism", '<iframe width="425" height="350" src="http://www.youtube.com/embed/$1" frameborder="0" ></iframe>', $Text);
|
||||
}
|
||||
|
||||
$Text = preg_replace("/\[vimeo\]https?:\/\/player.vimeo.com\/video\/([0-9]+)(.*?)\[\/vimeo\]/ism",'[vimeo]$1[/vimeo]',$Text);
|
||||
$Text = preg_replace("/\[vimeo\]https?:\/\/vimeo.com\/([0-9]+)(.*?)\[\/vimeo\]/ism",'[vimeo]$1[/vimeo]',$Text);
|
||||
$Text = preg_replace("/\[vimeo\]([0-9]+)(.*?)\[\/vimeo\]/ism", '<iframe width="425" height="350" src="http://player.vimeo.com/video/$1" frameborder="0" ></iframe>', $Text);
|
||||
|
||||
// $Text = preg_replace("/\[youtube\](.*?)\[\/youtube\]/", '<object width="425" height="350" type="application/x-shockwave-flash" data="http://www.youtube.com/v/$1" ><param name="movie" value="http://www.youtube.com/v/$1"></param><!--[if IE]><embed src="http://www.youtube.com/v/$1" type="application/x-shockwave-flash" width="425" height="350" /><![endif]--></object>', $Text);
|
||||
|
||||
|
|
40
include/contact_widgets.php
Normal file
40
include/contact_widgets.php
Normal file
|
@ -0,0 +1,40 @@
|
|||
<?php
|
||||
|
||||
function follow_widget() {
|
||||
|
||||
return replace_macros(get_markup_template('follow.tpl'),array(
|
||||
'$connect' => t('Add New Contact'),
|
||||
'$desc' => t('Enter address or web location'),
|
||||
'$hint' => t('Example: bob@example.com, http://example.com/barbara'),
|
||||
'$follow' => t('Connect')
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
function findpeople_widget() {
|
||||
|
||||
$a = get_app();
|
||||
|
||||
$inv = (($a->config['register_policy'] != REGISTER_CLOSED) ? t('Invite Friends') : '');
|
||||
|
||||
if(get_config('system','invitation_only')) {
|
||||
$x = get_pconfig(local_user(),'system','invites_remaining');
|
||||
if($x || is_site_admin()) {
|
||||
$a->page['aside'] .= '<div class="side-link" id="side-invite-remain">'
|
||||
. sprintf( tt('%d invitation available','%d invitations available',$x), $x)
|
||||
. '</div>' . $inv;
|
||||
}
|
||||
}
|
||||
|
||||
return replace_macros(get_markup_template('peoplefind.tpl'),array(
|
||||
'$findpeople' => t('Find People'),
|
||||
'$desc' => t('Enter name or interest'),
|
||||
'$label' => t('Connect/Follow'),
|
||||
'$hint' => t('Examples: Robert Morgenstein, Fishing'),
|
||||
'$findthem' => t('Find'),
|
||||
'$similar' => t('Similar Interests'),
|
||||
'$inv' => $inv
|
||||
));
|
||||
|
||||
}
|
||||
|
|
@ -745,9 +745,8 @@ function status_editor($a,$x, $notes_cid = 0) {
|
|||
'$nickname' => $x['nickname'],
|
||||
'$ispublic' => t('Visible to <strong>everybody</strong>'),
|
||||
'$linkurl' => t('Please enter a link URL:'),
|
||||
'$utubeurl' => t('Please enter a YouTube link:'),
|
||||
'$vidurl' => t("Please enter a video\x28.ogg\x29 link/URL:"),
|
||||
'$audurl' => t("Please enter an audio\x28.ogg\x29 link/URL:"),
|
||||
'$vidurl' => t("Please enter a video link/URL:"),
|
||||
'$audurl' => t("Please enter an audio link/URL:"),
|
||||
'$whereareu' => t('Where are you right now?'),
|
||||
'$title' => t('Enter a title for this item')
|
||||
));
|
||||
|
@ -795,9 +794,8 @@ function status_editor($a,$x, $notes_cid = 0) {
|
|||
'$upload' => t('Upload photo'),
|
||||
'$attach' => t('Attach file'),
|
||||
'$weblink' => t('Insert web link'),
|
||||
'$youtube' => t('Insert YouTube video'),
|
||||
'$video' => t('Insert Vorbis [.ogg] video'),
|
||||
'$audio' => t('Insert Vorbis [.ogg] audio'),
|
||||
'$video' => t('Insert video link'),
|
||||
'$audio' => t('Insert audio link'),
|
||||
'$setloc' => t('Set your location'),
|
||||
'$noloc' => t('Clear browser location'),
|
||||
'$title' => t('Set title'),
|
||||
|
|
|
@ -393,3 +393,57 @@ function cal($y = 0,$m = 0, $links = false, $class='') {
|
|||
|
||||
return $o;
|
||||
}}
|
||||
|
||||
|
||||
function update_contact_birthdays() {
|
||||
|
||||
// This only handles foreign or alien networks where a birthday has been provided.
|
||||
// In-network birthdays are handled within local_delivery
|
||||
|
||||
$r = q("SELECT * FROM contact WHERE `bd` != '' AND `bd` != '0000-00-00' AND SUBSTRING(`bd`,1,4) != `bdyear` ");
|
||||
if(count($r)) {
|
||||
foreach($r as $rr) {
|
||||
|
||||
logger('update_contact_birthday: ' . $rr['bd']);
|
||||
|
||||
$nextbd = datetime_convert('UTC','UTC','now','Y') . substr($rr['bd'],4);
|
||||
|
||||
/**
|
||||
*
|
||||
* Add new birthday event for this person
|
||||
*
|
||||
* $bdtext is just a readable placeholder in case the event is shared
|
||||
* with others. We will replace it during presentation to our $importer
|
||||
* to contain a sparkle link and perhaps a photo.
|
||||
*
|
||||
*/
|
||||
|
||||
$bdtext = t('Birthday:') . ' [url=' . $rr['url'] . ']' . $rr['name'] . '[/url]' ;
|
||||
|
||||
|
||||
$r = q("INSERT INTO `event` (`uid`,`cid`,`created`,`edited`,`start`,`finish`,`desc`,`type`,`adjust`)
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%d' ) ",
|
||||
intval($rr['uid']),
|
||||
intval($rr['id']),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc(datetime_convert('UTC','UTC', $nextbd)),
|
||||
dbesc(datetime_convert('UTC','UTC', $nextbd . ' + 1 day ')),
|
||||
dbesc($bdtext),
|
||||
dbesc('birthday'),
|
||||
intval(0)
|
||||
);
|
||||
|
||||
|
||||
// update bdyear
|
||||
|
||||
q("UPDATE `contact` SET `bdyear` = '%s', `bd` = '%s' WHERE `uid` = %d AND `id` = %d LIMIT 1",
|
||||
dbesc(substr($nextbd,0,4)),
|
||||
dbesc($nextbd),
|
||||
intval($rr['uid']),
|
||||
intval($rr['id'])
|
||||
);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
|
@ -38,6 +38,9 @@ function diaspora_dispatch($importer,$msg) {
|
|||
elseif($xmlbase->status_message) {
|
||||
$ret = diaspora_post($importer,$xmlbase->status_message);
|
||||
}
|
||||
elseif($xmlbase->profile) {
|
||||
$ret = diaspora_profile($importer,$xmlbase->profile);
|
||||
}
|
||||
elseif($xmlbase->comment) {
|
||||
$ret = diaspora_comment($importer,$xmlbase->comment,$msg);
|
||||
}
|
||||
|
@ -994,6 +997,84 @@ function diaspora_retraction($importer,$xml) {
|
|||
return 202;
|
||||
// NOTREACHED
|
||||
}
|
||||
|
||||
function diaspora_profile($importer,$xml) {
|
||||
|
||||
$a = get_app();
|
||||
$diaspora_handle = notags(unxmlify($xml->diaspora_handle));
|
||||
|
||||
$contact = diaspora_get_contact_by_handle($importer['uid'],$diaspora_handle);
|
||||
if(! $contact)
|
||||
return;
|
||||
|
||||
if($contact['blocked']) {
|
||||
logger('diaspora_post: Ignoring this author.');
|
||||
return 202;
|
||||
}
|
||||
|
||||
$name = unxmlify($xml->first_name) . ((strlen($xml->last_name)) ? ' ' . unxmlify($xml->last_name) : '');
|
||||
$image_url = unxmlify($xml->image_url);
|
||||
$birthday = unxmlify($xml->birthday);
|
||||
|
||||
$r = q("SELECT DISTINCT ( `resource-id` ) FROM `photo` WHERE `uid` = %d AND `contact-id` = %d AND `album` = 'Contact Photos' ",
|
||||
intval($importer['uid']),
|
||||
intval($contact['id'])
|
||||
);
|
||||
$oldphotos = ((count($r)) ? $r : null);
|
||||
|
||||
$images = import_profile_photo($image_url,$importer['uid'],$contact['id']);
|
||||
|
||||
// Generic birthday. We don't know the timezone. The year is irrelevant.
|
||||
|
||||
$birthday = datetime_convert('UTC','UTC',$birthday,'Y-m-d');
|
||||
|
||||
$r = q("UPDATE `contact` SET `name` = '%s', `name-date` = '%s', `photo` = '%s', `thumb` = '%s', `micro` = '%s', `avatar-date` = '%s' , `bd` = '%s' WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
dbesc($name),
|
||||
dbesc(datetime_convert()),
|
||||
dbesc($images[0]),
|
||||
dbesc($images[1]),
|
||||
dbesc($images[2]),
|
||||
dbesc(datetime_convert()),
|
||||
intval($contact['id']),
|
||||
intval($importer['uid']),
|
||||
dbesc($birthday)
|
||||
);
|
||||
if($r) {
|
||||
if($oldphotos) {
|
||||
foreach($oldphotos as $ph) {
|
||||
q("DELETE FROM `photo` WHERE `uid` = %d AND `contact-id` = %d AND `album` = 'Contact Photos' AND `resource-id` = '%s' ",
|
||||
intval($importer['uid']),
|
||||
intval($contact['id']),
|
||||
dbesc($ph['resource-id'])
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function diaspora_share($me,$contact) {
|
||||
$a = get_app();
|
||||
|
|
|
@ -414,11 +414,7 @@ function get_atom_elements($feed,$item) {
|
|||
|
||||
if((strpos($res['body'],'<') !== false) || (strpos($res['body'],'>') !== false)) {
|
||||
|
||||
$res['body'] = preg_replace('#<object[^>]+>.+?' . 'http://www.youtube.com/((?:v|cp)/[A-Za-z0-9\-_=]+).+?</object>#s',
|
||||
'[youtube]$1[/youtube]', $res['body']);
|
||||
|
||||
$res['body'] = preg_replace('#<iframe[^>].+?' . 'http://www.youtube.com/embed/([A-Za-z0-9\-_=]+).+?</iframe>#s',
|
||||
'[youtube]$1[/youtube]', $res['body']);
|
||||
$res['body'] = html2bb_video($res['body']);
|
||||
|
||||
$res['body'] = oembed_html2bbcode($res['body']);
|
||||
|
||||
|
@ -586,12 +582,7 @@ function get_atom_elements($feed,$item) {
|
|||
$res['object'] .= '<orig>' . xmlify($body) . '</orig>' . "\n";
|
||||
if((strpos($body,'<') !== false) || (strpos($body,'>') !== false)) {
|
||||
|
||||
$body = preg_replace('#<object[^>]+>.+?' . 'http://www.youtube.com/((?:v|cp)/[A-Za-z0-9\-_=]+).+?</object>#s',
|
||||
'[youtube]$1[/youtube]', $body);
|
||||
|
||||
$res['body'] = preg_replace('#<iframe[^>].+?' . 'http://www.youtube.com/embed/([A-Za-z0-9\-_=]+).+?</iframe>#s',
|
||||
'[youtube]$1[/youtube]', $res['body']);
|
||||
|
||||
$body = html2bb_video($body);
|
||||
|
||||
$config = HTMLPurifier_Config::createDefault();
|
||||
$config->set('Cache.DefinitionImpl', null);
|
||||
|
@ -629,11 +620,7 @@ function get_atom_elements($feed,$item) {
|
|||
$res['object'] .= '<orig>' . xmlify($body) . '</orig>' . "\n";
|
||||
if((strpos($body,'<') !== false) || (strpos($body,'>') !== false)) {
|
||||
|
||||
$body = preg_replace('#<object[^>]+>.+?' . 'http://www.youtube.com/((?:v|cp)/[A-Za-z0-9\-_=]+).+?</object>#s',
|
||||
'[youtube]$1[/youtube]', $body);
|
||||
|
||||
$res['body'] = preg_replace('#<iframe[^>].+?' . 'http://www.youtube.com/embed/([A-Za-z0-9\-_=]+).+?</iframe>#s',
|
||||
'[youtube]$1[/youtube]', $res['body']);
|
||||
$body = html2bb_video($body);
|
||||
|
||||
$config = HTMLPurifier_Config::createDefault();
|
||||
$config->set('Cache.DefinitionImpl', null);
|
||||
|
@ -690,7 +677,7 @@ function item_store($arr,$force_parent = false) {
|
|||
|
||||
if($arr['gravity'])
|
||||
$arr['gravity'] = intval($arr['gravity']);
|
||||
elseif($arr['parent-uri'] == $arr['uri'])
|
||||
elseif($arr['parent-uri'] === $arr['uri'])
|
||||
$arr['gravity'] = 0;
|
||||
elseif(activity_match($arr['verb'],ACTIVITY_POST))
|
||||
$arr['gravity'] = 6;
|
||||
|
@ -757,7 +744,7 @@ function item_store($arr,$force_parent = false) {
|
|||
// find the parent and snarf the item id and ACL's
|
||||
// and anything else we need to inherit
|
||||
|
||||
$r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||
$r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d ORDER BY `id` ASC LIMIT 1",
|
||||
dbesc($arr['parent-uri']),
|
||||
intval($arr['uid'])
|
||||
);
|
||||
|
@ -771,7 +758,8 @@ function item_store($arr,$force_parent = false) {
|
|||
if($r[0]['uri'] != $r[0]['parent-uri']) {
|
||||
$arr['thr-parent'] = $arr['parent-uri'];
|
||||
$arr['parent-uri'] = $r[0]['parent-uri'];
|
||||
$z = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `parent-uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||
$z = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `parent-uri` = '%s' AND `uid` = %d
|
||||
ORDER BY `id` ASC LIMIT 1",
|
||||
dbesc($r[0]['parent-uri']),
|
||||
dbesc($r[0]['parent-uri']),
|
||||
intval($arr['uid'])
|
||||
|
@ -809,7 +797,7 @@ function item_store($arr,$force_parent = false) {
|
|||
|
||||
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||
dbesc($arr['uri']),
|
||||
dbesc($arr['uid'])
|
||||
intval($arr['uid'])
|
||||
);
|
||||
if($r && count($r)) {
|
||||
logger('item-store: duplicate item ignored. ' . print_r($arr,true));
|
||||
|
@ -830,18 +818,10 @@ function item_store($arr,$force_parent = false) {
|
|||
|
||||
// find the item we just created
|
||||
|
||||
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = %d ORDER BY `id` ASC ",
|
||||
$arr['uri'], // already dbesc'd
|
||||
intval($arr['uid'])
|
||||
);
|
||||
if(! count($r)) {
|
||||
// This is not good, but perhaps we encountered a rare race/cache condition, so back off and try again.
|
||||
sleep(3);
|
||||
$r = q("SELECT `id` FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||
$arr['uri'], // already dbesc'd
|
||||
intval($arr['uid'])
|
||||
);
|
||||
}
|
||||
|
||||
if(count($r)) {
|
||||
$current_post = $r[0]['id'];
|
||||
|
@ -851,6 +831,14 @@ function item_store($arr,$force_parent = false) {
|
|||
logger('item_store: could not locate created item');
|
||||
return 0;
|
||||
}
|
||||
if(count($r) > 1) {
|
||||
logger('item_store: duplicated post occurred. Removing duplicates.');
|
||||
q("DELETE FROM `item` WHERE `uri` = '%s' AND `uid` = %d AND `id` != %d ",
|
||||
$arr['uri'],
|
||||
intval($arr['uid']),
|
||||
intval($current_post)
|
||||
);
|
||||
}
|
||||
|
||||
if((! $parent_id) || ($arr['parent-uri'] === $arr['uri']))
|
||||
$parent_id = $current_post;
|
||||
|
@ -1877,13 +1865,14 @@ function local_delivery($importer,$data) {
|
|||
|
||||
$r = q("select `item`.`id`, `contact`.`name`, `contact`.`url`, `contact`.`thumb` from `item`
|
||||
LEFT JOIN `contact` ON `contact`.`id` = `item`.`contact-id`
|
||||
WHERE `contact`.`self` = 1 AND `item`.`wall` = 1 AND `item`.`uri` = '%s' AND `item`.`uid` = %d LIMIT 1",
|
||||
WHERE `contact`.`self` = 1 AND `item`.`wall` = 1 AND `item`.`uri` = '%s' AND `item`.`parent-uri` = '%s'
|
||||
AND `item`.`uid` = %d LIMIT 1",
|
||||
dbesc($parent_uri),
|
||||
dbesc($parent_uri),
|
||||
intval($importer['importer_uid'])
|
||||
);
|
||||
if($r && count($r)) {
|
||||
|
||||
|
||||
logger('local_delivery: received remote comment');
|
||||
$is_like = false;
|
||||
// remote reply to our post. Import and then notify everybody else.
|
||||
|
@ -2392,6 +2381,9 @@ function atom_entry($item,$type,$author,$owner,$comment = false) {
|
|||
|
||||
$a = get_app();
|
||||
|
||||
if(! $item['parent'])
|
||||
return;
|
||||
|
||||
if($item['deleted'])
|
||||
return '<at:deleted-entry ref="' . xmlify($item['uri']) . '" when="' . xmlify(datetime_convert('UTC','UTC',$item['edited'] . '+00:00',ATOM_TIME)) . '" />' . "\r\n";
|
||||
|
||||
|
@ -2411,8 +2403,8 @@ function atom_entry($item,$type,$author,$owner,$comment = false) {
|
|||
if(strlen($item['owner-name']))
|
||||
$o .= atom_author('dfrn:owner',$item['owner-name'],$item['owner-link'],80,80,$item['owner-avatar']);
|
||||
|
||||
if($item['parent'] != $item['id'])
|
||||
$o .= '<thr:in-reply-to ref="' . xmlify($item['parent-uri']) . '" type="text/html" href="' . xmlify($a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id']) . '" />' . "\r\n";
|
||||
if(($item['parent'] != $item['id']) || ($item['parent-uri'] !== $item['uri']))
|
||||
$o .= '<thr:in-reply-to ref="' . xmlify($item['parent-uri']) . '" type="text/html" href="' . xmlify($a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['parent']) . '" />' . "\r\n";
|
||||
|
||||
$o .= '<id>' . xmlify($item['uri']) . '</id>' . "\r\n";
|
||||
$o .= '<title>' . xmlify($item['title']) . '</title>' . "\r\n";
|
||||
|
|
|
@ -114,7 +114,9 @@ function nav(&$a) {
|
|||
/* only show friend requests for normal pages. Other page types have automatic friendship. */
|
||||
|
||||
if($_SESSION['page_flags'] == PAGE_NORMAL) {
|
||||
$nav['notifications'] = array('notifications/network', t('Notifications'), "", t('Notifications'));
|
||||
$nav['introductions'] = array('notifications/intros', t('Introductions'), "", t('Friend Requests'));
|
||||
$nav['notifications'] = array('notifications', t('Notifications'), "", t('Notifications'));
|
||||
|
||||
}
|
||||
|
||||
$nav['messages'] = array('message', t('Messages'), "", t('Private mail'));
|
||||
|
@ -175,6 +177,7 @@ function nav_set_selected($item){
|
|||
'network' => null,
|
||||
'home' => null,
|
||||
'profiles' => null,
|
||||
'introductions' => null,
|
||||
'notifications' => null,
|
||||
'messages' => null,
|
||||
'directory' => null,
|
||||
|
|
|
@ -142,7 +142,7 @@ function notifier_run($argv, $argc){
|
|||
$item['deleted'] = 1;
|
||||
}
|
||||
|
||||
if((count($items) == 1) && ($items[0]['uri'] === $items[0]['parent-uri'])) {
|
||||
if((count($items) == 1) && ($items[0]['id'] === $target_item['id']) && ($items[0]['uri'] === $items[0]['parent-uri'])) {
|
||||
logger('notifier: top level post');
|
||||
$top_level = true;
|
||||
}
|
||||
|
@ -192,6 +192,8 @@ function notifier_run($argv, $argc){
|
|||
// be notified during this run.
|
||||
// Other DFRN conversation members will be alerted during polled updates.
|
||||
|
||||
|
||||
|
||||
// Diaspora members currently are not notified of expirations, and other networks have
|
||||
// either limited or no ability to process deletions. We should at least fix Diaspora
|
||||
// by stringing togther an array of retractions and sending them onward.
|
||||
|
@ -203,13 +205,21 @@ function notifier_run($argv, $argc){
|
|||
|
||||
/**
|
||||
*
|
||||
* Be VERY CAREFUL if you make any changes to the following line. Seemingly innocuous changes
|
||||
* Be VERY CAREFUL if you make any changes to the following lines. Seemingly innocuous changes
|
||||
* have been known to cause runaway conditions which affected several servers, along with
|
||||
* permissions issues.
|
||||
*
|
||||
*/
|
||||
|
||||
$relay_to_owner = false;
|
||||
|
||||
if((! $top_level) && ($parent['wall'] == 0) && (! $expire) && (stristr($target_item['uri'],$localhost))) {
|
||||
$relay_to_owner = true;
|
||||
}
|
||||
|
||||
|
||||
if($relay_to_owner) {
|
||||
logger('notifier: followup', LOGGER_DEBUG);
|
||||
// local followup to remote post
|
||||
$followup = true;
|
||||
$public_message = false; // not public
|
||||
|
@ -218,6 +228,13 @@ function notifier_run($argv, $argc){
|
|||
else {
|
||||
$followup = false;
|
||||
|
||||
// don't send deletions onward for other people's stuff
|
||||
|
||||
if($target_item['deleted'] && (! intval($target_item['wall']))) {
|
||||
logger('notifier: ignoring delete notification for non-wall item');
|
||||
return;
|
||||
}
|
||||
|
||||
if((strlen($parent['allow_cid']))
|
||||
|| (strlen($parent['allow_gid']))
|
||||
|| (strlen($parent['deny_cid']))
|
||||
|
@ -357,6 +374,7 @@ function notifier_run($argv, $argc){
|
|||
if(($public_message) && $item['private'])
|
||||
continue;
|
||||
|
||||
|
||||
$contact = get_item_contact($item,$contacts);
|
||||
|
||||
if(! $contact)
|
||||
|
@ -779,6 +797,12 @@ function notifier_run($argv, $argc){
|
|||
|
||||
}
|
||||
|
||||
if($normal_mode)
|
||||
call_hooks('notifier_normal',$target_item);
|
||||
|
||||
call_hooks('notifier_end',$target_item);
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
@ -50,12 +50,15 @@ function poller_run($argv, $argc){
|
|||
|
||||
|
||||
|
||||
// once daily run expire in background
|
||||
// once daily run birthday_updates and then expire in background
|
||||
|
||||
$d1 = get_config('system','last_expire_day');
|
||||
$d2 = intval(datetime_convert('UTC','UTC','now','d'));
|
||||
|
||||
if($d2 != intval($d1)) {
|
||||
|
||||
update_contact_birthdays();
|
||||
|
||||
set_config('system','last_expire_day',$d2);
|
||||
proc_run('php','include/expire.php');
|
||||
}
|
||||
|
|
|
@ -1003,3 +1003,37 @@ if (!function_exists('str_getcsv')) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
function cleardiv() {
|
||||
return '<div class="clear"></div>';
|
||||
}
|
||||
|
||||
|
||||
function bb_translate_video($s) {
|
||||
|
||||
$matches = null;
|
||||
$r = preg_match_all("/\[video\](.*?)\[\/video\]/ism",$s,$matches,PREG_SET_ORDER);
|
||||
if($r) {
|
||||
foreach($matches as $mtch) {
|
||||
if((stristr($mtch[1],'youtube')) || (stristr($mtch[1],'youtu.be')))
|
||||
$s = str_replace($mtch[0],'[youtube]' . $mtch[1] . '[/youtube]',$s);
|
||||
elseif(stristr($mtch[1],'vimeo'))
|
||||
$s = str_replace($mtch[0],'[vimeo]' . $mtch[1] . '[/vimeo]',$s);
|
||||
}
|
||||
}
|
||||
return $s;
|
||||
}
|
||||
|
||||
function html2bb_video($s) {
|
||||
|
||||
$s = preg_replace('#<object[^>]+>(.*?)https+://www.youtube.com/((?:v|cp)/[A-Za-z0-9\-_=]+)(.*?)</object>#ism',
|
||||
'[youtube]$2[/youtube]', $s);
|
||||
|
||||
$s = preg_replace('#<iframe[^>](.*?)https+://www.youtube.com/embed/([A-Za-z0-9\-_=]+)(.*?)</iframe>#ism',
|
||||
'[youtube]$2[/youtube]', $s);
|
||||
|
||||
$s = preg_replace('#<iframe[^>](.*?)https+://player.vimeo.com/video/([0-9]+)(.*?)</iframe>#ism',
|
||||
'[vimeo]$2[/vimeo]', $s);
|
||||
|
||||
return $s;
|
||||
}
|
|
@ -1,5 +1,12 @@
|
|||
<?php
|
||||
|
||||
function community_init(&$a) {
|
||||
if(! local_user())
|
||||
unset($_SESSION['theme']);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
function community_content(&$a, $update = 0) {
|
||||
|
||||
|
@ -19,9 +26,6 @@ function community_content(&$a, $update = 0) {
|
|||
require_once('include/security.php');
|
||||
require_once('include/conversation.php');
|
||||
|
||||
if(x($_SESSION,'theme'))
|
||||
unset($_SESSION['theme']);
|
||||
|
||||
|
||||
$o .= '<h3>' . t('Community') . '</h3>';
|
||||
if(! $update) {
|
||||
|
|
|
@ -19,38 +19,16 @@ function contacts_init(&$a) {
|
|||
}
|
||||
|
||||
require_once('include/group.php');
|
||||
require_once('include/contact_widgets.php');
|
||||
|
||||
if(! x($a->page,'aside'))
|
||||
$a->page['aside'] = '';
|
||||
|
||||
$a->page['aside'] .= follow_widget();
|
||||
|
||||
$a->page['aside'] .= group_side('contacts','group',false,0,$contact_id);
|
||||
|
||||
if(get_config('system','invitation_only')) {
|
||||
$x = get_pconfig(local_user(),'system','invites_remaining');
|
||||
if($x || is_site_admin()) {
|
||||
$a->page['aside'] .= '<div class="side-link" id="side-invite-remain">'
|
||||
. sprintf( tt('%d invitation available','%d invitations available',$x), $x)
|
||||
. '</div>' . $inv;
|
||||
}
|
||||
}
|
||||
|
||||
$tpl = get_markup_template('follow.tpl');
|
||||
|
||||
$findSimilarLink = '<div class="side-link" id="side-match-link"><a href="match" >'
|
||||
. t('Similar Interests') . '</a></div>';
|
||||
|
||||
$inv = '';
|
||||
if($a->config['register_policy'] != REGISTER_CLOSED) {
|
||||
$inv = '<div class="side-link" id="side-invite-link" ><a href="invite" >' . t("Invite Friends") . '</a></div>';
|
||||
}
|
||||
|
||||
$a->page['aside'] .= replace_macros($tpl,array(
|
||||
'$label' => t('Connect/Follow'),
|
||||
'$hint' => t('Example: bob@example.com, http://example.com/barbara'),
|
||||
'$follow' => t('Follow'),
|
||||
'$findSimilar' => $findSimilarLink,
|
||||
'$inviteFriends' => $inv
|
||||
));
|
||||
|
||||
|
||||
$a->page['aside'] .= findpeople_widget();
|
||||
|
||||
}
|
||||
|
||||
|
@ -351,6 +329,7 @@ function contacts_content(&$a) {
|
|||
'$hide_url' => ((strlen($sql_extra)) ? 'contacts/all' : 'contacts' ),
|
||||
'$hide_text' => ((strlen($sql_extra)) ? t('Show Blocked Connections') : t('Hide Blocked Connections')),
|
||||
'$search' => $search,
|
||||
'$desc' => t('Search your contacts'),
|
||||
'$finding' => (strlen($search) ? '<h4>' . t('Finding: ') . "'" . $search . "'" . '</h4>' : ""),
|
||||
'$submit' => t('Find'),
|
||||
'$cmd' => $a->cmd
|
||||
|
|
|
@ -2,6 +2,17 @@
|
|||
|
||||
function directory_init(&$a) {
|
||||
$a->set_pager_itemspage(60);
|
||||
|
||||
if(local_user()) {
|
||||
require_once('include/contact_widgets.php');
|
||||
|
||||
$a->page['aside'] .= findpeople_widget();
|
||||
|
||||
}
|
||||
else
|
||||
unset($_SESSION['theme']);
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
@ -23,8 +34,6 @@ function directory_content(&$a) {
|
|||
|
||||
$o = '';
|
||||
nav_set_selected('directory');
|
||||
if(x($_SESSION,'theme'))
|
||||
unset($_SESSION['theme']);
|
||||
|
||||
if(x($a->data,'search'))
|
||||
$search = notags(trim($a->data['search']));
|
||||
|
@ -45,12 +54,13 @@ function directory_content(&$a) {
|
|||
if($everything)
|
||||
$admin = '<ul><li><div id="directory-admin-link"><a href="' . $a->get_baseurl() . '/directory' . '">' . t('Normal site view') . '</a></div></li></ul>';
|
||||
else
|
||||
$admin = '<ul><li><div id="directory-admin-link"><a href="' . $a->get_baseurl() . '/directory/all' . '">' . t('View all site entries') . '</a></div></li></ul>';
|
||||
$admin = '<ul><li><div id="directory-admin-link"><a href="' . $a->get_baseurl() . '/directory/all' . '">' . t('Admin - View all site entries') . '</a></div></li></ul>';
|
||||
}
|
||||
|
||||
$o .= replace_macros($tpl, array(
|
||||
'$search' => $search,
|
||||
'$globaldir' => $globaldir,
|
||||
'$desc' => t('Find on this site'),
|
||||
'$admin' => $admin,
|
||||
'$finding' => (strlen($search) ? '<h4>' . t('Finding: ') . "'" . $search . "'" . '</h4>' : ""),
|
||||
'$sitedir' => t('Site Directory'),
|
||||
|
|
|
@ -1,13 +1,26 @@
|
|||
<?php
|
||||
|
||||
function dirfind_init(&$a) {
|
||||
|
||||
function tagmatch_content(&$a) {
|
||||
require_once('include/contact_widgets.php');
|
||||
|
||||
if(! x($a->page,'aside'))
|
||||
$a->page['aside'] = '';
|
||||
|
||||
$a->page['aside'] .= follow_widget();
|
||||
|
||||
$a->page['aside'] .= findpeople_widget();
|
||||
}
|
||||
|
||||
|
||||
|
||||
function dirfind_content(&$a) {
|
||||
|
||||
$search = notags(trim($_REQUEST['search']));
|
||||
|
||||
$o = '';
|
||||
|
||||
$o .= '<h2>' . t('Tag Match') . ' - ' . $search . '</h2>';
|
||||
$o .= '<h2>' . t('People Search') . ' - ' . $search . '</h2>';
|
||||
|
||||
if($search) {
|
||||
|
10
mod/item.php
10
mod/item.php
|
@ -342,6 +342,8 @@ function item_post(&$a) {
|
|||
}
|
||||
|
||||
|
||||
$body = bb_translate_video($body);
|
||||
|
||||
/**
|
||||
* Fold multi-line [code] sequences
|
||||
*/
|
||||
|
@ -522,6 +524,7 @@ function item_post(&$a) {
|
|||
$datarray['attach'] = $attachments;
|
||||
$datarray['bookmark'] = intval($bookmark);
|
||||
$datarray['thr-parent'] = $thr_parent;
|
||||
$datarray['postopts'] = '';
|
||||
|
||||
/**
|
||||
* These fields are for the convenience of plugins...
|
||||
|
@ -531,7 +534,7 @@ function item_post(&$a) {
|
|||
|
||||
$datarray['parent'] = $parent;
|
||||
$datarray['self'] = $self;
|
||||
$datarray['prvnets'] = $user['prvnets'];
|
||||
// $datarray['prvnets'] = $user['prvnets'];
|
||||
|
||||
if($orig_post)
|
||||
$datarray['edit'] = true;
|
||||
|
@ -563,8 +566,8 @@ function item_post(&$a) {
|
|||
|
||||
$r = q("INSERT INTO `item` (`guid`, `uid`,`type`,`wall`,`gravity`,`contact-id`,`owner-name`,`owner-link`,`owner-avatar`,
|
||||
`author-name`, `author-link`, `author-avatar`, `created`, `edited`, `commented`, `received`, `changed`, `uri`, `thr-parent`, `title`, `body`, `app`, `location`, `coord`,
|
||||
`tag`, `inform`, `verb`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`, `private`, `pubmail`, `attach`, `bookmark` )
|
||||
VALUES( '%s', %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d )",
|
||||
`tag`, `inform`, `verb`, `postopts`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid`, `private`, `pubmail`, `attach`, `bookmark` )
|
||||
VALUES( '%s', %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d )",
|
||||
dbesc($datarray['guid']),
|
||||
intval($datarray['uid']),
|
||||
dbesc($datarray['type']),
|
||||
|
@ -592,6 +595,7 @@ function item_post(&$a) {
|
|||
dbesc($datarray['tag']),
|
||||
dbesc($datarray['inform']),
|
||||
dbesc($datarray['verb']),
|
||||
dbesc($datarray['postopts']),
|
||||
dbesc($datarray['allow_cid']),
|
||||
dbesc($datarray['allow_gid']),
|
||||
dbesc($datarray['deny_cid']),
|
||||
|
|
|
@ -59,6 +59,7 @@ function match_content(&$a) {
|
|||
|
||||
}
|
||||
|
||||
$o .= cleardiv();
|
||||
$o .= paginate($a);
|
||||
return $o;
|
||||
}
|
||||
|
|
|
@ -45,21 +45,32 @@ function message_content(&$a) {
|
|||
|
||||
$myprofile = $a->get_baseurl() . '/profile/' . $a->user['nickname'];
|
||||
|
||||
if (($a->argc > 1) && ($a->argv[1] === 'new')) {
|
||||
$tab = 'new';
|
||||
} else if ($a->argc == 2 && $a->argv[1] === 'sent') {
|
||||
$tab = 'sent';
|
||||
} else {
|
||||
$tab = 'inbox';
|
||||
}
|
||||
|
||||
|
||||
$tabs = array(
|
||||
array(
|
||||
'label' => t('Inbox'),
|
||||
'url'=> $a->get_baseurl() . '/message',
|
||||
'sel'=> (($a->argc == 1) ? 'active' : ''),
|
||||
),
|
||||
array(
|
||||
'label' => t('Outbox'),
|
||||
'url' => $a->get_baseurl() . '/message/sent',
|
||||
'sel'=> (($a->argv[1] == 'sent') ? 'active' : ''),
|
||||
),
|
||||
array(
|
||||
'label' => t('New Message'),
|
||||
'url' => $a->get_baseurl() . '/message/new',
|
||||
'sel'=> (($a->argv[1] == 'new') ? 'active' : ''),
|
||||
),
|
||||
);
|
||||
$tpl = get_markup_template('common_tabs.tpl');
|
||||
$tab_content = replace_macros($tpl, array('$tabs'=>$tabs));
|
||||
|
||||
|
||||
$tpl = get_markup_template('mail_head.tpl');
|
||||
$header = replace_macros($tpl, array(
|
||||
'$messages' => t('Messages'),
|
||||
'$inbox' => t('Inbox'),
|
||||
'$outbox' => t('Outbox'),
|
||||
'$new' => t('New Message'),
|
||||
'$activetab' => $tab
|
||||
'$tab_content' => $tab_content
|
||||
));
|
||||
|
||||
|
||||
|
|
|
@ -78,11 +78,13 @@ function saved_searches($search) {
|
|||
if(count($r)) {
|
||||
$o .= '<ul id="saved-search-ul">' . "\r\n";
|
||||
foreach($r as $rr) {
|
||||
$o .= '<li class="saved-search-li clear"><a href="network/?f=&remove=1&search=' . $rr['term'] . '" class="icon drophide savedsearchdrop" title="' . t('Remove term') . '" onclick="return confirmDelete();" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a> <a href="network/?f&search=' . urlencode($rr['term']) . '" class="savedsearchterm" >' . $rr['term'] . '</a></li>' . "\r\n";
|
||||
$o .= '<li class="saved-search-li clear"><a href="network/?f=&remove=1&search=' . $rr['term'] . '" class="icon drophide savedsearchdrop" title="' . t('Remove term') . '" onclick="return confirmDelete();" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a> <a href="network/?f=&search=' . urlencode($rr['term']) . '" class="savedsearchterm" >' . $rr['term'] . '</a></li>' . "\r\n";
|
||||
}
|
||||
$o .= '</ul>';
|
||||
}
|
||||
|
||||
$o .= '<div class="clear"></div>';
|
||||
|
||||
$o .= '</div>' . "\r\n";
|
||||
return $o;
|
||||
|
||||
|
|
|
@ -62,28 +62,46 @@ function notifications_content(&$a) {
|
|||
notice( t('Permission denied.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
||||
$notif_tpl = get_markup_template('notifications.tpl');
|
||||
|
||||
$tabs = array(
|
||||
'net' => array('label' => t('Network'), 'url'=>$a->get_baseurl().'/notifications/network', 'sel'=>''),
|
||||
'home' => array('label' => t('Home'), 'url'=>$a->get_baseurl().'/notifications/home', 'sel'=>''),
|
||||
'intros'=> array('label' => t('Introductions'), 'url'=>$a->get_baseurl().'/notifications/intros', 'sel'=>''),
|
||||
'msg' => array('label' => t('Messages'), 'url'=>$a->get_baseurl().'/message', 'sel'=>''),
|
||||
);
|
||||
|
||||
|
||||
|
||||
|
||||
nav_set_selected('notifications');
|
||||
|
||||
$o = '';
|
||||
$tabs = array(
|
||||
array(
|
||||
'label' => t('Network'),
|
||||
'url'=>$a->get_baseurl() . '/notifications/network',
|
||||
'sel'=> (($a->argv[1] == 'network') ? 'active' : ''),
|
||||
),
|
||||
array(
|
||||
'label' => t('Home'),
|
||||
'url' => $a->get_baseurl() . '/notifications/home',
|
||||
'sel'=> (($a->argv[1] == 'home') ? 'active' : ''),
|
||||
),
|
||||
array(
|
||||
'label' => t('Introductions'),
|
||||
'url' => $a->get_baseurl() . '/notifications/intros',
|
||||
'sel'=> (($a->argv[1] == 'intros') ? 'active' : ''),
|
||||
),
|
||||
array(
|
||||
'label' => t('Messages'),
|
||||
'url' => $a->get_baseurl() . '/message',
|
||||
'sel'=> '',
|
||||
),
|
||||
);
|
||||
$tpl = get_markup_template('common_tabs.tpl');
|
||||
$tab_content = replace_macros($tpl, array('$tabs'=>$tabs));
|
||||
|
||||
|
||||
|
||||
|
||||
if( (($a->argc > 1) && ($a->argv[1] == 'intros')) || (($a->argc == 1))) {
|
||||
|
||||
nav_set_selected('introductions');
|
||||
if(($a->argc > 2) && ($a->argv[2] == 'all'))
|
||||
$sql_extra = '';
|
||||
else
|
||||
$sql_extra = " AND `ignore` = 0 ";
|
||||
|
||||
|
||||
$notif_tpl = get_markup_template('notifications.tpl');
|
||||
|
||||
$notif_content .= '<a href="' . ((strlen($sql_extra)) ? 'notifications/intros/all' : 'notifications/intros' ) . '" id="notifications-show-hide-link" >'
|
||||
. ((strlen($sql_extra)) ? t('Show Ignored Requests') : t('Hide Ignored Requests')) . '</a></div>' . "\r\n";
|
||||
|
@ -175,12 +193,13 @@ function notifications_content(&$a) {
|
|||
}
|
||||
}
|
||||
else
|
||||
$notif_content .= t('<p>No notifications.</p>');
|
||||
|
||||
$tabs['intros']['sel']='active';
|
||||
info( t('No notifications.') . EOL);
|
||||
|
||||
$o .= replace_macros($notif_tpl,array(
|
||||
'$notif_header' => t('Notifications'),
|
||||
'$tabs' => $tab_content,
|
||||
'$notif_content' => $notif_content,
|
||||
'$tabs' => $tabs,
|
||||
'$activetab' => 'intros'
|
||||
));
|
||||
|
||||
$o .= paginate($a);
|
||||
|
@ -188,6 +207,7 @@ function notifications_content(&$a) {
|
|||
|
||||
} else if (($a->argc > 1) && ($a->argv[1] == 'network')) {
|
||||
|
||||
$notif_tpl = get_markup_template('notifications.tpl');
|
||||
|
||||
$r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`,
|
||||
`item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object` as `object`,
|
||||
|
@ -262,14 +282,16 @@ function notifications_content(&$a) {
|
|||
$notif_content = t('Nothing new!');
|
||||
}
|
||||
|
||||
$tabs['net']['sel']='active';
|
||||
$o .= replace_macros($notif_tpl,array(
|
||||
'$notif_header' => t('Notifications'),
|
||||
'$tabs' => $tab_content,
|
||||
'$notif_content' => $notif_content,
|
||||
'$tabs' => $tabs,
|
||||
'$activetab' => 'network'
|
||||
));
|
||||
|
||||
} else if (($a->argc > 1) && ($a->argv[1] == 'home')) {
|
||||
|
||||
$notif_tpl = get_markup_template('notifications.tpl');
|
||||
|
||||
$r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`,
|
||||
`item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object` as `object`,
|
||||
|
@ -337,10 +359,11 @@ function notifications_content(&$a) {
|
|||
$notif_content = t('Nothing new!');
|
||||
}
|
||||
|
||||
$tabs['home']['sel'] = 'active';
|
||||
$o .= replace_macros($notif_tpl,array(
|
||||
'$notif_header' => t('Notifications'),
|
||||
'$tabs' => $tab_content,
|
||||
'$notif_content' => $notif_content,
|
||||
'$tabs' => $tabs,
|
||||
'$activetab' => 'home'
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -165,7 +165,7 @@ function ping_init(&$a) {
|
|||
}
|
||||
if (count($friends)){
|
||||
foreach ($friends as $i) {
|
||||
echo xmlize( $a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'], $i['author-name'], $i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} is now friends with %s"), $i['fname'] ) );
|
||||
echo xmlize($a->get_baseurl().'/display/'.$a->user['nickname']."/".$i['parent'],$i['author-name'],$i['author-link'], $i['author-avatar'], relative_date($i['created']), sprintf( t("{0} is now friends with %s"), $i['fname'] ) );
|
||||
};
|
||||
}
|
||||
if (count($posts)){
|
||||
|
@ -180,16 +180,14 @@ function ping_init(&$a) {
|
|||
|
||||
if(x($_SESSION,'sysmsg')){
|
||||
foreach ($_SESSION['sysmsg'] as $m){
|
||||
echo "<notice>".($m)."</notice>";
|
||||
echo "<notice>".xmlify($m)."</notice>";
|
||||
}
|
||||
//$_SESSION['sysmsg']=array();
|
||||
unset($_SESSION['sysmsg']);
|
||||
}
|
||||
if(x($_SESSION,'sysmsg_info')){
|
||||
foreach ($_SESSION['sysmsg_info'] as $m){
|
||||
echo "<info>".($m)."</info>";
|
||||
echo "<info>".xmlify($m)."</info>";
|
||||
}
|
||||
//$_SESSION['sysmsg_info']=array();
|
||||
unset($_SESSION['sysmsg_info']);
|
||||
}
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@ function search_saved_searches() {
|
|||
foreach($r as $rr) {
|
||||
$o .= '<li class="saved-search-li clear"><a href="search/?f=&remove=1&search=' . $rr['term'] . '" class="icon drophide savedsearchdrop" title="' . t('Remove term') . '" onclick="return confirmDelete();" onmouseover="imgbright(this);" onmouseout="imgdull(this);" ></a> <a href="search/?f=&search=' . $rr['term'] . '" class="savedsearchterm" >' . $rr['term'] . '</a></li>' . "\r\n";
|
||||
}
|
||||
$o .= '</ul></div>' . "\r\n";
|
||||
$o .= '</ul><div class="clear"></div></div>' . "\r\n";
|
||||
}
|
||||
|
||||
return $o;
|
||||
|
@ -50,6 +50,9 @@ function search_init(&$a) {
|
|||
$a->page['aside'] .= search_saved_searches();
|
||||
|
||||
}
|
||||
else
|
||||
unset($_SESSION['theme']);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
@ -75,12 +78,9 @@ function search_content(&$a) {
|
|||
require_once('include/security.php');
|
||||
require_once('include/conversation.php');
|
||||
|
||||
if(x($_SESSION,'theme'))
|
||||
unset($_SESSION['theme']);
|
||||
|
||||
$o = '<div id="live-search"></div>' . "\r\n";
|
||||
|
||||
$o .= '<h3>' . t('Search') . '</h3>';
|
||||
$o .= '<h3>' . t('Search This Site') . '</h3>';
|
||||
|
||||
if(x($a->data,'search'))
|
||||
$search = notags(trim($a->data['search']));
|
||||
|
|
239
mod/settings.php
239
mod/settings.php
|
@ -52,6 +52,78 @@ function settings_post(&$a) {
|
|||
return;
|
||||
}
|
||||
|
||||
if(($a->argc > 1) && ($a->argv[1] == 'connectors')) {
|
||||
|
||||
if(x($_POST['imap-submit'])) {
|
||||
$mail_server = ((x($_POST,'mail_server')) ? $_POST['mail_server'] : '');
|
||||
$mail_port = ((x($_POST,'mail_port')) ? $_POST['mail_port'] : '');
|
||||
$mail_ssl = ((x($_POST,'mail_ssl')) ? strtolower(trim($_POST['mail_ssl'])) : '');
|
||||
$mail_user = ((x($_POST,'mail_user')) ? $_POST['mail_user'] : '');
|
||||
$mail_pass = ((x($_POST,'mail_pass')) ? trim($_POST['mail_pass']) : '');
|
||||
$mail_replyto = ((x($_POST,'mail_replyto')) ? $_POST['mail_replyto'] : '');
|
||||
$mail_pubmail = ((x($_POST,'mail_pubmail')) ? $_POST['mail_pubmail'] : '');
|
||||
|
||||
|
||||
$mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1);
|
||||
if(get_config('system','dfrn_only'))
|
||||
$mail_disabled = 1;
|
||||
|
||||
if(! $mail_disabled) {
|
||||
$failed = false;
|
||||
$r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1",
|
||||
intval(local_user())
|
||||
);
|
||||
if(! count($r)) {
|
||||
q("INSERT INTO `mailacct` (`uid`) VALUES (%d)",
|
||||
intval(local_user())
|
||||
);
|
||||
}
|
||||
if(strlen($mail_pass)) {
|
||||
$pass = '';
|
||||
openssl_public_encrypt($mail_pass,$pass,$a->user['pubkey']);
|
||||
q("UPDATE `mailacct` SET `pass` = '%s' WHERE `uid` = %d LIMIT 1",
|
||||
dbesc(bin2hex($pass)),
|
||||
intval(local_user())
|
||||
);
|
||||
}
|
||||
$r = q("UPDATE `mailacct` SET `server` = '%s', `port` = %d, `ssltype` = '%s', `user` = '%s',
|
||||
`mailbox` = 'INBOX', `reply_to` = '%s', `pubmail` = %d WHERE `uid` = %d LIMIT 1",
|
||||
dbesc($mail_server),
|
||||
intval($mail_port),
|
||||
dbesc($mail_ssl),
|
||||
dbesc($mail_user),
|
||||
dbesc($mail_replyto),
|
||||
intval($mail_pubmail),
|
||||
intval(local_user())
|
||||
);
|
||||
$r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1",
|
||||
intval(local_user())
|
||||
);
|
||||
if(count($r)) {
|
||||
$eacct = $r[0];
|
||||
require_once('include/email.php');
|
||||
$mb = construct_mailbox_name($eacct);
|
||||
if(strlen($eacct['server'])) {
|
||||
$dcrpass = '';
|
||||
openssl_private_decrypt(hex2bin($eacct['pass']),$dcrpass,$a->user['prvkey']);
|
||||
$mbox = email_connect($mb,$mail_user,$dcrpass);
|
||||
unset($dcrpass);
|
||||
if(! $mbox) {
|
||||
$failed = true;
|
||||
notice( t('Failed to connect with email account using the settings provided.') . EOL);
|
||||
}
|
||||
}
|
||||
}
|
||||
if(! $failed)
|
||||
info( t('Email settings updated.') . EOL);
|
||||
}
|
||||
}
|
||||
|
||||
call_hooks('connector_settings_post', $_POST);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
call_hooks('settings_post', $_POST);
|
||||
|
||||
if((x($_POST,'npassword')) || (x($_POST,'confirm'))) {
|
||||
|
@ -103,66 +175,6 @@ function settings_post(&$a) {
|
|||
$hidewall = (($_POST['hidewall'] == 1) ? 1: 0);
|
||||
|
||||
|
||||
|
||||
|
||||
$mail_server = ((x($_POST,'mail_server')) ? $_POST['mail_server'] : '');
|
||||
$mail_port = ((x($_POST,'mail_port')) ? $_POST['mail_port'] : '');
|
||||
$mail_ssl = ((x($_POST,'mail_ssl')) ? strtolower(trim($_POST['mail_ssl'])) : '');
|
||||
$mail_user = ((x($_POST,'mail_user')) ? $_POST['mail_user'] : '');
|
||||
$mail_pass = ((x($_POST,'mail_pass')) ? trim($_POST['mail_pass']) : '');
|
||||
$mail_replyto = ((x($_POST,'mail_replyto')) ? $_POST['mail_replyto'] : '');
|
||||
$mail_pubmail = ((x($_POST,'mail_pubmail')) ? $_POST['mail_pubmail'] : '');
|
||||
|
||||
|
||||
$mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1);
|
||||
if(get_config('system','dfrn_only'))
|
||||
$mail_disabled = 1;
|
||||
|
||||
if(! $mail_disabled) {
|
||||
$r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1",
|
||||
intval(local_user())
|
||||
);
|
||||
if(! count($r)) {
|
||||
q("INSERT INTO `mailacct` (`uid`) VALUES (%d)",
|
||||
intval(local_user())
|
||||
);
|
||||
}
|
||||
if(strlen($mail_pass)) {
|
||||
$pass = '';
|
||||
openssl_public_encrypt($mail_pass,$pass,$a->user['pubkey']);
|
||||
q("UPDATE `mailacct` SET `pass` = '%s' WHERE `uid` = %d LIMIT 1",
|
||||
dbesc(bin2hex($pass)),
|
||||
intval(local_user())
|
||||
);
|
||||
}
|
||||
$r = q("UPDATE `mailacct` SET `server` = '%s', `port` = %d, `ssltype` = '%s', `user` = '%s',
|
||||
`mailbox` = 'INBOX', `reply_to` = '%s', `pubmail` = %d WHERE `uid` = %d LIMIT 1",
|
||||
dbesc($mail_server),
|
||||
intval($mail_port),
|
||||
dbesc($mail_ssl),
|
||||
dbesc($mail_user),
|
||||
dbesc($mail_replyto),
|
||||
intval($mail_pubmail),
|
||||
intval(local_user())
|
||||
);
|
||||
$r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1",
|
||||
intval(local_user())
|
||||
);
|
||||
if(count($r)) {
|
||||
$eacct = $r[0];
|
||||
require_once('include/email.php');
|
||||
$mb = construct_mailbox_name($eacct);
|
||||
if(strlen($eacct['server'])) {
|
||||
$dcrpass = '';
|
||||
openssl_private_decrypt(hex2bin($eacct['pass']),$dcrpass,$a->user['prvkey']);
|
||||
$mbox = email_connect($mb,$mail_user,$dcrpass);
|
||||
unset($dcrpass);
|
||||
if(! $mbox)
|
||||
notice( t('Failed to connect with email account using the settings provided.') . EOL);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$notify = 0;
|
||||
|
||||
if(x($_POST,'notify1'))
|
||||
|
@ -312,10 +324,20 @@ function settings_content(&$a) {
|
|||
'url' => $a->get_baseurl().'/settings',
|
||||
'sel' => (($a->argc == 1)?'active':''),
|
||||
),
|
||||
array(
|
||||
'label' => t('Connector settings'),
|
||||
'url' => $a->get_baseurl().'/settings/connectors',
|
||||
'sel' => (($a->argc > 1) && ($a->argv[1] === 'connectors')?'active':''),
|
||||
),
|
||||
array(
|
||||
'label' => t('Plugin settings'),
|
||||
'url' => $a->get_baseurl().'/settings/addon',
|
||||
'sel' => (($a->argc > 1) && ($a->argv[1] === 'addon')?'active':''),
|
||||
),
|
||||
array(
|
||||
'label' => t('Export personal data'),
|
||||
'url' => $a->get_baseurl() . '/uexport',
|
||||
'sel' => ''
|
||||
)
|
||||
);
|
||||
|
||||
|
@ -344,6 +366,66 @@ function settings_content(&$a) {
|
|||
));
|
||||
return $o;
|
||||
}
|
||||
|
||||
if(($a->argc > 1) && ($a->argv[1] === 'connectors')) {
|
||||
|
||||
$settings_connectors = "";
|
||||
|
||||
call_hooks('connector_settings', $settings_connectors);
|
||||
|
||||
$diasp_enabled = sprintf( t('Built-in support for %s connectivity is %s'), t('Diaspora'), ((get_config('system','diaspora_enabled')) ? t('enabled') : t('disabled')));
|
||||
$ostat_enabled = sprintf( t('Built-in support for %s connectivity is %s'), t('StatusNet'), ((get_config('system','ostatus_disabled')) ? t('disabled') : t('enabled')));
|
||||
|
||||
$mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1);
|
||||
if(get_config('system','dfrn_only'))
|
||||
$mail_disabled = 1;
|
||||
|
||||
if(! $mail_disabled) {
|
||||
$r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1",
|
||||
local_user()
|
||||
);
|
||||
}
|
||||
else {
|
||||
$r = null;
|
||||
}
|
||||
|
||||
$mail_server = ((count($r)) ? $r[0]['server'] : '');
|
||||
$mail_port = ((count($r) && intval($r[0]['port'])) ? intval($r[0]['port']) : '');
|
||||
$mail_ssl = ((count($r)) ? $r[0]['ssltype'] : '');
|
||||
$mail_user = ((count($r)) ? $r[0]['user'] : '');
|
||||
$mail_replyto = ((count($r)) ? $r[0]['reply_to'] : '');
|
||||
$mail_pubmail = ((count($r)) ? $r[0]['pubmail'] : 0);
|
||||
$mail_chk = ((count($r)) ? $r[0]['last_check'] : '0000-00-00 00:00:00');
|
||||
|
||||
|
||||
$tpl = get_markup_template("settings_connectors.tpl");
|
||||
$o .= replace_macros($tpl, array(
|
||||
'$title' => t('Connector Settings'),
|
||||
'$tabs' => $tabs,
|
||||
|
||||
'$diasp_enabled' => $diasp_enabled,
|
||||
'$ostat_enabled' => $ostat_enabled,
|
||||
|
||||
'$h_imap' => t('Email/Mailbox Setup'),
|
||||
'$imap_desc' => t("If you wish to communicate with email contacts using this service \x28optional\x29, please specify how to connect to your mailbox."),
|
||||
'$imap_lastcheck' => array('imap_lastcheck', t('Last successful email check:'), $mail_chk,''),
|
||||
'$mail_disabled' => (($mail_disabled) ? t('Email access is disabled on this site.') : ''),
|
||||
'$mail_server' => array('mail_server', t('IMAP server name:'), $mail_server, ''),
|
||||
'$mail_port' => array('mail_port', t('IMAP port:'), $mail_port, ''),
|
||||
'$mail_ssl' => array('mail_ssl', t('Security:'), strtoupper($mail_ssl), '', array( ''=>t('None'), 'TSL'=>'TSL', 'SSL'=>'SSL')),
|
||||
'$mail_user' => array('mail_user', t('Email login name:'), $mail_user, ''),
|
||||
'$mail_pass' => array('mail_pass', t('Email password:'), '', ''),
|
||||
'$mail_replyto' => array('mail_replyto', t('Reply-to address:'), '', 'Optional'),
|
||||
'$mail_pubmail' => array('mail_pubmail', t('Send public posts to all email contacts:'), $mail_pubmail, ''),
|
||||
'$submit' => t('Submit'),
|
||||
|
||||
|
||||
|
||||
'$settings_connectors' => $settings_connectors
|
||||
));
|
||||
return $o;
|
||||
}
|
||||
|
||||
|
||||
require_once('include/acl_selectors.php');
|
||||
|
||||
|
@ -368,26 +450,6 @@ function settings_content(&$a) {
|
|||
$timezone = date_default_timezone_get();
|
||||
|
||||
|
||||
$mail_disabled = ((function_exists('imap_open') && (! get_config('system','imap_disabled'))) ? 0 : 1);
|
||||
if(get_config('system','dfrn_only'))
|
||||
$mail_disabled = 1;
|
||||
|
||||
if(! $mail_disabled) {
|
||||
$r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1",
|
||||
local_user()
|
||||
);
|
||||
}
|
||||
else {
|
||||
$r = null;
|
||||
}
|
||||
|
||||
$mail_server = ((count($r)) ? $r[0]['server'] : '');
|
||||
$mail_port = ((count($r) && intval($r[0]['port'])) ? intval($r[0]['port']) : '');
|
||||
$mail_ssl = ((count($r)) ? $r[0]['ssltype'] : '');
|
||||
$mail_user = ((count($r)) ? $r[0]['user'] : '');
|
||||
$mail_replyto = ((count($r)) ? $r[0]['reply_to'] : '');
|
||||
$mail_pubmail = ((count($r)) ? $r[0]['pubmail'] : 0);
|
||||
$mail_chk = ((count($r)) ? $r[0]['last_check'] : '0000-00-00 00:00:00');
|
||||
|
||||
$pageset_tpl = get_markup_template('pagetypes.tpl');
|
||||
$pagetype = replace_macros($pageset_tpl,array(
|
||||
|
@ -496,8 +558,6 @@ function settings_content(&$a) {
|
|||
'$uid' => local_user(),
|
||||
|
||||
'$nickname_block' => $prof_addr,
|
||||
'$uexport' => t('Export Personal Data'),
|
||||
|
||||
|
||||
'$h_pass' => t('Password Settings'),
|
||||
'$password1'=> array('npassword', t('New Password:'), '', ''),
|
||||
|
@ -543,21 +603,6 @@ function settings_content(&$a) {
|
|||
|
||||
|
||||
|
||||
'$h_imap' => t('Email/Mailbox Setup'),
|
||||
'$imap_desc' => t("If you wish to communicate with email contacts using this service \x28optional\x29, please specify how to connect to your mailbox."),
|
||||
'$imap_lastcheck' => array('imap_lastcheck', t('Last successful email check:'), $imap_last_check,''),
|
||||
'$mail_disabled' => (($mail_disabled) ? t('Email access is disabled on this site.') : ''),
|
||||
'$mail_server' => array('mail_server', t('IMAP server name:'), $mail_server, ''),
|
||||
'$mail_port' => array('mail_port', t('IMAP port:'), $mail_port, ''),
|
||||
'$mail_ssl' => array('mail_ssl', t('Security:'), strtoupper($mail_ssl), '', array( ''=>t('None'), 'TSL'=>'TSL', 'SSL'=>'SSL')),
|
||||
'$mail_user' => array('mail_user', t('Email login name:'), $mail_user, ''),
|
||||
'$mail_pass' => array('mail_pass', t('Email password:'), '', ''),
|
||||
'$mail_replyto' => array('mail_replyto', t('Reply-to address:'), '', 'Optional'),
|
||||
'$mail_pubmail' => array('mail_pubmail', t('Send public posts to all email contacts:'), $mail_pubmail, ''),
|
||||
|
||||
|
||||
|
||||
|
||||
'$h_advn' => t('Advanced Page Settings'),
|
||||
'$pagetype' => $pagetype,
|
||||
|
||||
|
|
18
update.php
18
update.php
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
define( 'UPDATE_VERSION' , 1094 );
|
||||
define( 'UPDATE_VERSION' , 1097 );
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -786,4 +786,18 @@ function update_1093() {
|
|||
|
||||
q("ALTER TABLE `group` ADD `visible` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `uid` ");
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
function update_1094() {
|
||||
q("ALTER TABLE `item` ADD `postopts` TEXT NOT NULL AFTER `target` ");
|
||||
}
|
||||
|
||||
function update_1095() {
|
||||
q("ALTER TABLE `contact` ADD `bd` DATE NOT NULL AFTER `bdyear` ");
|
||||
}
|
||||
|
||||
function update_1096() {
|
||||
q("ALTER TABLE `item` ADD `origin` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `deleted` , ADD INDEX ( `origin` ) ");
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -4,6 +4,7 @@ $finding
|
|||
|
||||
<div id="contacts-search-wrapper">
|
||||
<form id="contacts-search-form" action="$cmd" method="get" >
|
||||
<span class="contacts-search-desc">$desc</span>
|
||||
<input type="text" name="search" id="contacts-search" class="search-input" onfocus="this.select();" value="$search" />
|
||||
<input type="submit" name="submit" id="contacts-search-submit" value="$submit" />
|
||||
</form>
|
||||
|
|
|
@ -7,6 +7,7 @@ $finding
|
|||
|
||||
<div id="directory-search-wrapper">
|
||||
<form id="directory-search-form" action="directory" method="get" >
|
||||
<span class="dirsearch-desc">$desc</span>
|
||||
<input type="text" name="search" id="directory-search" class="search-input" onfocus="this.select();" value="$search" />
|
||||
<input type="submit" name="submit" id="directory-search-submit" value="$submit" class="button" />
|
||||
</form>
|
||||
|
|
|
@ -1,9 +1,8 @@
|
|||
<div id="follow-sidebar" class="widget">
|
||||
<h3>Find People</h3>
|
||||
<h3>$connect</h3>
|
||||
<div id="connect-desc">$desc</div>
|
||||
<form action="follow" method="post" />
|
||||
<input id="side-follow-url" type="text" name="url" size="24" title="$hint" /><input id="side-follow-submit" type="submit" name="submit" value="$follow" />
|
||||
</form>
|
||||
$findSimilar
|
||||
$inviteFriends
|
||||
</div>
|
||||
|
||||
|
|
|
@ -149,13 +149,6 @@ function initEditor(cb){
|
|||
}
|
||||
}
|
||||
|
||||
function jotGetVideo() {
|
||||
reply = prompt("$utubeurl");
|
||||
if(reply && reply.length) {
|
||||
tinyMCE.execCommand('mceInsertRawHTML',false,'[youtube]' + reply + '[/youtube]');
|
||||
}
|
||||
}
|
||||
|
||||
function jotVideoURL() {
|
||||
reply = prompt("$vidurl");
|
||||
if(reply && reply.length) {
|
||||
|
|
|
@ -32,9 +32,6 @@
|
|||
<div id="profile-link-wrapper" style="display: $visitor;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
|
||||
<a id="profile-link" class="icon link" title="$weblink" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;"></a>
|
||||
</div>
|
||||
<div id="profile-youtube-wrapper" style="display: $visitor;" >
|
||||
<a id="profile-youtube" class="icon youtube" title="$youtube" onclick="jotGetVideo();return false;"></a>
|
||||
</div>
|
||||
<div id="profile-video-wrapper" style="display: $visitor;" >
|
||||
<a id="profile-video" class="icon video" title="$video" onclick="jotVideoURL();return false;"></a>
|
||||
</div>
|
||||
|
|
|
@ -1,10 +1,3 @@
|
|||
<h3>$messages</h3>
|
||||
|
||||
<div class="message-links">
|
||||
<ul>
|
||||
<li><a href="message" class="button message-link-inbox">$inbox</a></li>
|
||||
<li><a href="message/sent" class="button message-link-outbox">$outbox</a></li>
|
||||
<li><a href="message/new" class="button message-link-new">$new</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<div class="message-links-end"></div>
|
||||
$tab_content
|
||||
|
|
12
view/peoplefind.tpl
Normal file
12
view/peoplefind.tpl
Normal file
|
@ -0,0 +1,12 @@
|
|||
<div id="peoplefind-sidebar" class="widget">
|
||||
<h3>$findpeople</h3>
|
||||
<div id="peoplefind-desc">$desc</div>
|
||||
<form action="dirfind" method="post" />
|
||||
<input id="side-peoplefind-url" type="text" name="search" size="24" title="$hint" /><input id="side-peoplefind-submit" type="submit" name="submit" value="$findthem" />
|
||||
</form>
|
||||
<div class="side-link" id="side-match-link"><a href="match" >$similar</a></div>
|
||||
{{ if $inv }}
|
||||
<div class="side-link" id="side-invite-link" ><a href="invite" >$inv</a></div>
|
||||
{{ endif }}
|
||||
</div>
|
||||
|
|
@ -4,9 +4,6 @@ $tabs
|
|||
|
||||
$nickname_block
|
||||
|
||||
<div id="uexport-link"><a href="uexport" >$uexport</a></div>
|
||||
|
||||
|
||||
<form action="settings" id="settings-form" method="post" autocomplete="off" >
|
||||
|
||||
|
||||
|
@ -95,27 +92,6 @@ $hide_wall
|
|||
<input type="submit" name="submit" class="settings-submit" value="$submit" />
|
||||
</div>
|
||||
|
||||
{{ if $mail_disabled }}
|
||||
|
||||
{{ else }}
|
||||
<h3 class="settings-heading">$h_imap</h3>
|
||||
<p>$imap_desc</p>
|
||||
{{inc field_custom.tpl with $field=$imap_lastcheck }}{{endinc}}
|
||||
{{inc field_input.tpl with $field=$mail_server }}{{endinc}}
|
||||
{{inc field_input.tpl with $field=$mail_port }}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$mail_ssl }}{{endinc}}
|
||||
{{inc field_input.tpl with $field=$mail_user }}{{endinc}}
|
||||
{{inc field_password.tpl with $field=$mail_pass }}{{endinc}}
|
||||
{{inc field_input.tpl with $field=$mail_replyto }}{{endinc}}
|
||||
{{inc field_checkbox.tpl with $field=$mail_pubmail }}{{endinc}}
|
||||
|
||||
<div class="settings-submit-wrapper" >
|
||||
<input type="submit" name="submit" class="settings-submit" value="$submit" />
|
||||
</div>
|
||||
{{ endif }}
|
||||
|
||||
|
||||
|
||||
|
||||
<h3 class="settings-heading">$h_advn</h3>
|
||||
|
||||
|
|
|
@ -3,7 +3,7 @@ $tabs
|
|||
<h1>$title</h1>
|
||||
|
||||
|
||||
<form action="settings/addon" method="post" >
|
||||
<form action="settings/addon" method="post" autocomplete="off">
|
||||
|
||||
$settings_addons
|
||||
|
||||
|
|
34
view/settings_connectors.tpl
Normal file
34
view/settings_connectors.tpl
Normal file
|
@ -0,0 +1,34 @@
|
|||
$tabs
|
||||
|
||||
<h1>$title</h1>
|
||||
|
||||
<div class="connector_statusmsg">$diasp_enabled</div>
|
||||
<div class="connector_statusmsg">$ostat_enabled</div>
|
||||
|
||||
<form action="settings/connectors" method="post" autocomplete="off">
|
||||
|
||||
$settings_connectors
|
||||
|
||||
{{ if $mail_disabled }}
|
||||
|
||||
{{ else }}
|
||||
<div class="settings-block">
|
||||
<h3 class="settings-heading">$h_imap</h3>
|
||||
<p>$imap_desc</p>
|
||||
{{inc field_custom.tpl with $field=$imap_lastcheck }}{{endinc}}
|
||||
{{inc field_input.tpl with $field=$mail_server }}{{endinc}}
|
||||
{{inc field_input.tpl with $field=$mail_port }}{{endinc}}
|
||||
{{inc field_select.tpl with $field=$mail_ssl }}{{endinc}}
|
||||
{{inc field_input.tpl with $field=$mail_user }}{{endinc}}
|
||||
{{inc field_password.tpl with $field=$mail_pass }}{{endinc}}
|
||||
{{inc field_input.tpl with $field=$mail_replyto }}{{endinc}}
|
||||
{{inc field_checkbox.tpl with $field=$mail_pubmail }}{{endinc}}
|
||||
|
||||
<div class="settings-submit-wrapper" >
|
||||
<input type="submit" id="imap-submit" name="imap-submit" class="settings-submit" value="$submit" />
|
||||
</div>
|
||||
</div>
|
||||
{{ endif }}
|
||||
|
||||
</form>
|
||||
|
|
@ -37,9 +37,6 @@
|
|||
<div id="profile-link-wrapper" class="jot-tool" style="display: none;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
|
||||
<a id="profile-link" class="icon border link" title="$weblink" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;"></a>
|
||||
</div>
|
||||
<div id="profile-youtube-wrapper" class="jot-tool" style="display: none;" >
|
||||
<a id="profile-youtube" class="icon border youtube" title="$youtube" onclick="jotGetVideo(); return false;"></a>
|
||||
</div>
|
||||
<div id="profile-video-wrapper" class="jot-tool" style="display: none;" >
|
||||
<a id="profile-video" class="icon border video" title="$video" onclick="jotVideoURL(); return false;"></a>
|
||||
</div>
|
||||
|
|
|
@ -30,8 +30,8 @@
|
|||
{{ if $nav.community }}
|
||||
<a id="nav-community-link" class="nav-commlink $nav.community.2 $sel.community" href="$nav.community.0" title="$nav.community.3" >$nav.community.1</a>
|
||||
{{ endif }}
|
||||
{{ if $nav.notifications }}
|
||||
<a id="nav-notify-link" class="nav-commlink $nav.notifications.2 $sel.notifications" href="$nav.notifications.0" title="$nav.notifications.3" >$nav.notifications.1</a>
|
||||
{{ if $nav.introductions }}
|
||||
<a id="nav-notify-link" class="nav-commlink $nav.introductions.2 $sel.introductions" href="$nav.introductions.0" title="$nav.introductions.3" >$nav.introductions.1</a>
|
||||
<span id="intro-update" class="nav-ajax-left"></span>
|
||||
{{ endif }}
|
||||
{{ if $nav.messages }}
|
||||
|
|
|
@ -145,7 +145,6 @@ nav .nav-link {
|
|||
background-color: transparent !important;
|
||||
}
|
||||
|
||||
|
||||
.nav-commlink.selected {
|
||||
background-color: #ffffff;
|
||||
border-bottom: 1px solid #ffffff;
|
||||
|
@ -1849,13 +1848,28 @@ a.mail-list-link {
|
|||
#side-follow-wrapper {
|
||||
margin-top: 20px;
|
||||
}
|
||||
#side-follow-url {
|
||||
#side-follow-url, #side-peoplefind-url {
|
||||
margin-top: 5px;
|
||||
}
|
||||
#side-follow-submit {
|
||||
#side-follow-submit, #side-peoplefind-submit {
|
||||
margin-top: 15px;
|
||||
}
|
||||
|
||||
#side-match-link {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.widget {
|
||||
border: 1px solid #DDDDDD;
|
||||
padding: 8px;
|
||||
margin-top: 5px;
|
||||
-moz-border-radius:5px;
|
||||
-webkit-border-radius:5px;
|
||||
border-radius:5px;
|
||||
|
||||
}
|
||||
|
||||
|
||||
.photo-album-image-wrapper {
|
||||
float: left;
|
||||
margin-top: 15px;
|
||||
|
@ -2641,8 +2655,8 @@ a.mail-list-link {
|
|||
border-color:#204A87;
|
||||
padding-right: 40px;
|
||||
background-position: right center;
|
||||
background-color: #3465A4;
|
||||
color: #FFFFFF;
|
||||
background-color: #D7E3F1;
|
||||
color: #204A87;
|
||||
text-align: left;
|
||||
}
|
||||
.hidden { display: none!important; }
|
||||
|
|
77
view/theme/quattro/jot.tpl
Normal file
77
view/theme/quattro/jot.tpl
Normal file
|
@ -0,0 +1,77 @@
|
|||
|
||||
<div id="profile-jot-wrapper" >
|
||||
<div id="profile-jot-banner-wrapper">
|
||||
<div id="profile-jot-desc" > </div>
|
||||
<div id="character-counter" class="grey"></div>
|
||||
</div>
|
||||
<div id="profile-jot-banner-end"></div>
|
||||
|
||||
<form id="profile-jot-form" action="$action" method="post" >
|
||||
<input type="hidden" name="type" value="$ptyp" />
|
||||
<input type="hidden" name="profile_uid" value="$profile_uid" />
|
||||
<input type="hidden" name="return" value="$return_path" />
|
||||
<input type="hidden" name="location" id="jot-location" value="$defloc" />
|
||||
<input type="hidden" name="coord" id="jot-coord" value="" />
|
||||
<input type="hidden" name="title" id="jot-title" value="" />
|
||||
<input type="hidden" name="post_id" value="$post_id" />
|
||||
|
||||
<img id="profile-jot-text-loading" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
|
||||
<textarea rows="5" cols="64" class="profile-jot-text" id="profile-jot-text" name="body" >{{ if $content }}$content{{ else }}$share{{ endif }}</textarea>
|
||||
|
||||
{{ if $content }}<script>initEditor();</script>{{ endif }}
|
||||
|
||||
<div id="profile-jot-submit-wrapper" style="display:none">
|
||||
<div id="profile-upload-wrapper" style="display: $visitor;" >
|
||||
<div id="wall-image-upload-div" ><a href="#" onclick="return false;" id="wall-image-upload" class="camera" title="$upload">image upload</a></div>
|
||||
</div>
|
||||
<div id="profile-attach-wrapper" style="display: $visitor;" >
|
||||
<div id="wall-file-upload-div" ><a href="#" onclick="return false;" id="wall-file-upload" class="attach" title="$attach">attach file</a></div>
|
||||
</div>
|
||||
|
||||
<div id="profile-link-wrapper" style="display: $visitor;" ondragenter="linkdropper(event);" ondragover="linkdropper(event);" ondrop="linkdrop(event);" >
|
||||
<a id="profile-link" class="link" title="$weblink" ondragenter="return linkdropper(event);" ondragover="return linkdropper(event);" ondrop="linkdrop(event);" onclick="jotGetLink(); return false;">enter link</a>
|
||||
</div>
|
||||
<div id="profile-video-wrapper" style="display: $visitor;" >
|
||||
<a id="profile-video" class="video" title="$video" onclick="jotVideoURL();return false;">video url</a>
|
||||
</div>
|
||||
<div id="profile-audio-wrapper" style="display: $visitor;" >
|
||||
<a id="profile-audio" class="audio" title="$audio" onclick="jotAudioURL();return false;">audio url</a>
|
||||
</div>
|
||||
<div id="profile-location-wrapper" style="display: $visitor;" >
|
||||
<a id="profile-location" class="globe" title="$setloc" onclick="jotGetLocation();return false;">set location</a>
|
||||
</div>
|
||||
<div id="profile-nolocation-wrapper" style="display: none;" >
|
||||
<a id="profile-nolocation" class="noglobe" title="$noloc" onclick="jotClearLocation();return false;">no location</a>
|
||||
</div>
|
||||
<div id="profile-title-wrapper" style="display: $visitor;" >
|
||||
<a id="profile-title" class="article" title="$title" onclick="jotTitle();return false;">title</a>
|
||||
</div>
|
||||
<div id="profile-jot-perms" class="profile-jot-perms" style="display: $pvisit;" >
|
||||
<a href="#profile-jot-acl-wrapper" id="jot-perms-icon" class="$lockstate" title="$permset" >permissions</a>$bang
|
||||
</div>
|
||||
<input type="submit" id="profile-jot-submit" name="submit" value="$share" />
|
||||
<div id="profile-jot-perms-end"></div>
|
||||
|
||||
<div id="profile-jot-plugin-wrapper">
|
||||
$jotplugins
|
||||
</div>
|
||||
|
||||
<div id="profile-rotator-wrapper" style="display: $visitor;" >
|
||||
<img id="profile-rotator" src="images/rotator.gif" alt="$wait" title="$wait" style="display: none;" />
|
||||
</div>
|
||||
|
||||
<div style="display: none;">
|
||||
<div id="profile-jot-acl-wrapper" style="width:auto;height:auto;overflow:auto;">
|
||||
$acl
|
||||
<hr style="clear:both"/>
|
||||
<div id="profile-jot-email-label">$emailcc</div><input type="text" name="emailcc" id="profile-jot-email" title="$emtitle" />
|
||||
<div id="profile-jot-email-end"></div>
|
||||
$jotnets
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div id="profile-jot-end"></div>
|
||||
</form>
|
||||
</div>
|
|
@ -374,4 +374,186 @@ section {
|
|||
border: 1px solid @CommentBoxEmptyBorderColor;
|
||||
padding:0.3em;
|
||||
}
|
||||
#profile-jot-plugin-wrapper,
|
||||
#profile-jot-submit-wrapper {
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
|
||||
#profile-jot-submit {
|
||||
float: left;
|
||||
}
|
||||
#profile-upload-wrapper{
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
}
|
||||
#profile-attach-wrapper,
|
||||
#profile-rotator,
|
||||
#profile-link-wrapper,
|
||||
#profile-youtube-wrapper,
|
||||
#profile-video-wrapper,
|
||||
#profile-audio-wrapper,
|
||||
#profile-location-wrapper,
|
||||
#profile-nolocation-wrapper,
|
||||
#profile-title-wrapper {
|
||||
float: left;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
#profile-jot-perms {
|
||||
float: left;
|
||||
margin-left: 35px;
|
||||
margin-right: 35px;
|
||||
}
|
||||
|
||||
#profile-jot-perms-end {
|
||||
/*clear: left;*/
|
||||
height: 20px;
|
||||
}
|
||||
|
||||
#profile-jot-plugin-end{
|
||||
clear: both;
|
||||
}
|
||||
.profile-jot-net {
|
||||
float: left;
|
||||
margin-right: 10px;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
|
||||
#profile-jot-networks-end {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
#profile-jot-end, #about-jot-end {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
#about-jot-submit-wrapper {
|
||||
margin-top: 15px;
|
||||
}
|
||||
/** buttons **/
|
||||
input[type="submit"] {
|
||||
border: 1px solid;
|
||||
background-color: @BodyColor;
|
||||
font: bold 85%;
|
||||
color: @Grey1;
|
||||
height: 20px;
|
||||
padding: 10px 5px;
|
||||
border-radius: 8px;
|
||||
-moz-border-radius: 8px;
|
||||
-webkit-border-radius: 8px;
|
||||
}
|
||||
|
||||
|
||||
/** acl **/
|
||||
#photo-edit-perms-select,
|
||||
#photos-upload-permissions-wrapper,
|
||||
#profile-jot-acl-wrapper{
|
||||
display:block!important;
|
||||
}
|
||||
|
||||
|
||||
|
||||
#acl-wrapper {
|
||||
width: 690px;
|
||||
float:left;
|
||||
}
|
||||
#acl-search {
|
||||
float:right;
|
||||
background: #ffffff url("../../../images/search_18.png") no-repeat right center;
|
||||
padding-right:20px;
|
||||
}
|
||||
#acl-showall {
|
||||
float: left;
|
||||
display: block;
|
||||
width: auto;
|
||||
height: 18px;
|
||||
background-color: #cccccc;
|
||||
background-image: url("../../../images/show_all_off.png");
|
||||
background-position: 7px 7px;
|
||||
background-repeat: no-repeat;
|
||||
padding: 7px 5px 0px 30px;
|
||||
-webkit-border-radius: 5px ;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
color: #999999;
|
||||
}
|
||||
#acl-showall.selected {
|
||||
color: #000000;
|
||||
background-color: #ff9900;
|
||||
background-image: url("../../../images/show_all_on.png");
|
||||
}
|
||||
|
||||
#acl-list {
|
||||
height: 210px;
|
||||
border: 1px solid #cccccc;
|
||||
clear: both;
|
||||
margin-top: 30px;
|
||||
overflow: auto;
|
||||
}
|
||||
#acl-list-content {
|
||||
|
||||
}
|
||||
.acl-list-item {
|
||||
display: block;
|
||||
width: 150px;
|
||||
height: 30px;
|
||||
border: 1px solid #cccccc;
|
||||
margin: 5px;
|
||||
float: left;
|
||||
}
|
||||
.acl-list-item img{
|
||||
width:22px;
|
||||
height: 22px;
|
||||
float: left;
|
||||
margin: 4px;
|
||||
}
|
||||
.acl-list-item p { height: 12px; font-size: 10px; margin: 0px; padding: 2px 0px 1px; overflow: hidden;}
|
||||
.acl-list-item a {
|
||||
font-size: 8px;
|
||||
display: block;
|
||||
width: 40px;
|
||||
height: 10px;
|
||||
float: left;
|
||||
color: #999999;
|
||||
background-color: #cccccc;
|
||||
background-position: 3px 3px;
|
||||
background-repeat: no-repeat;
|
||||
margin-right: 5px;
|
||||
-webkit-border-radius: 2px ;
|
||||
-moz-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
#acl-wrapper a:hover {
|
||||
text-decoration: none;
|
||||
color:#000000;
|
||||
}
|
||||
.acl-button-show { background-image: url("../../../images/show_off.png"); }
|
||||
.acl-button-hide { background-image: url("../../../images/hide_off.png"); }
|
||||
|
||||
.acl-button-show.selected {
|
||||
color: #000000;
|
||||
background-color: #9ade00;
|
||||
background-image: url("../../../images/show_on.png");
|
||||
}
|
||||
.acl-button-hide.selected {
|
||||
color: #000000;
|
||||
background-color: #ff4141;
|
||||
background-image: url("../../../images/hide_on.png");
|
||||
}
|
||||
.acl-list-item.groupshow { border-color: #9ade00; }
|
||||
.acl-list-item.grouphide { border-color: #ff4141; }
|
||||
/** /acl **/
|
||||
|
||||
/** tab buttons **/
|
||||
ul.tabs {
|
||||
list-style-type: none;
|
||||
padding-bottom: 10px;
|
||||
|
||||
li {
|
||||
float: left;
|
||||
margin-left: 20px;
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -641,3 +641,178 @@ section {
|
|||
border: 1px solid #999999;
|
||||
padding: 0.3em;
|
||||
}
|
||||
#profile-jot-plugin-wrapper, #profile-jot-submit-wrapper {
|
||||
margin-top: 10px;
|
||||
}
|
||||
#profile-jot-submit {
|
||||
float: left;
|
||||
}
|
||||
#profile-upload-wrapper {
|
||||
float: left;
|
||||
margin-left: 10px;
|
||||
}
|
||||
#profile-attach-wrapper,
|
||||
#profile-rotator,
|
||||
#profile-link-wrapper,
|
||||
#profile-youtube-wrapper,
|
||||
#profile-video-wrapper,
|
||||
#profile-audio-wrapper,
|
||||
#profile-location-wrapper,
|
||||
#profile-nolocation-wrapper,
|
||||
#profile-title-wrapper {
|
||||
float: left;
|
||||
margin-left: 20px;
|
||||
}
|
||||
#profile-jot-perms {
|
||||
float: left;
|
||||
margin-left: 35px;
|
||||
margin-right: 35px;
|
||||
}
|
||||
#profile-jot-perms-end {
|
||||
/*clear: left;*/
|
||||
|
||||
height: 20px;
|
||||
}
|
||||
#profile-jot-plugin-end {
|
||||
clear: both;
|
||||
}
|
||||
.profile-jot-net {
|
||||
float: left;
|
||||
margin-right: 10px;
|
||||
margin-top: 5px;
|
||||
margin-bottom: 5px;
|
||||
}
|
||||
#profile-jot-networks-end {
|
||||
clear: both;
|
||||
}
|
||||
#profile-jot-end, #about-jot-end {
|
||||
margin-bottom: 15px;
|
||||
}
|
||||
#about-jot-submit-wrapper {
|
||||
margin-top: 15px;
|
||||
}
|
||||
/** buttons **/
|
||||
input[type="submit"] {
|
||||
border: 1px solid;
|
||||
background-color: #2d2d2d;
|
||||
font: bold 85%;
|
||||
color: #ffffff;
|
||||
height: 20px;
|
||||
padding: 10px 5px;
|
||||
border-radius: 8px;
|
||||
-moz-border-radius: 8px;
|
||||
-webkit-border-radius: 8px;
|
||||
}
|
||||
/** acl **/
|
||||
#photo-edit-perms-select, #photos-upload-permissions-wrapper, #profile-jot-acl-wrapper {
|
||||
display: block!important;
|
||||
}
|
||||
#acl-wrapper {
|
||||
width: 690px;
|
||||
float: left;
|
||||
}
|
||||
#acl-search {
|
||||
float: right;
|
||||
background: #ffffff url("../../../images/search_18.png") no-repeat right center;
|
||||
padding-right: 20px;
|
||||
}
|
||||
#acl-showall {
|
||||
float: left;
|
||||
display: block;
|
||||
width: auto;
|
||||
height: 18px;
|
||||
background-color: #cccccc;
|
||||
background-image: url("../../../images/show_all_off.png");
|
||||
background-position: 7px 7px;
|
||||
background-repeat: no-repeat;
|
||||
padding: 7px 5px 0px 30px;
|
||||
-webkit-border-radius: 5px ;
|
||||
-moz-border-radius: 5px;
|
||||
border-radius: 5px;
|
||||
color: #999999;
|
||||
}
|
||||
#acl-showall.selected {
|
||||
color: #000000;
|
||||
background-color: #ff9900;
|
||||
background-image: url("../../../images/show_all_on.png");
|
||||
}
|
||||
#acl-list {
|
||||
height: 210px;
|
||||
border: 1px solid #cccccc;
|
||||
clear: both;
|
||||
margin-top: 30px;
|
||||
overflow: auto;
|
||||
}
|
||||
.acl-list-item {
|
||||
display: block;
|
||||
width: 150px;
|
||||
height: 30px;
|
||||
border: 1px solid #cccccc;
|
||||
margin: 5px;
|
||||
float: left;
|
||||
}
|
||||
.acl-list-item img {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
float: left;
|
||||
margin: 4px;
|
||||
}
|
||||
.acl-list-item p {
|
||||
height: 12px;
|
||||
font-size: 10px;
|
||||
margin: 0px;
|
||||
padding: 2px 0px 1px;
|
||||
overflow: hidden;
|
||||
}
|
||||
.acl-list-item a {
|
||||
font-size: 8px;
|
||||
display: block;
|
||||
width: 40px;
|
||||
height: 10px;
|
||||
float: left;
|
||||
color: #999999;
|
||||
background-color: #cccccc;
|
||||
background-position: 3px 3px;
|
||||
background-repeat: no-repeat;
|
||||
margin-right: 5px;
|
||||
-webkit-border-radius: 2px ;
|
||||
-moz-border-radius: 2px;
|
||||
border-radius: 2px;
|
||||
padding-left: 15px;
|
||||
}
|
||||
#acl-wrapper a:hover {
|
||||
text-decoration: none;
|
||||
color: #000000;
|
||||
}
|
||||
.acl-button-show {
|
||||
background-image: url("../../../images/show_off.png");
|
||||
}
|
||||
.acl-button-hide {
|
||||
background-image: url("../../../images/hide_off.png");
|
||||
}
|
||||
.acl-button-show.selected {
|
||||
color: #000000;
|
||||
background-color: #9ade00;
|
||||
background-image: url("../../../images/show_on.png");
|
||||
}
|
||||
.acl-button-hide.selected {
|
||||
color: #000000;
|
||||
background-color: #ff4141;
|
||||
background-image: url("../../../images/hide_on.png");
|
||||
}
|
||||
.acl-list-item.groupshow {
|
||||
border-color: #9ade00;
|
||||
}
|
||||
.acl-list-item.grouphide {
|
||||
border-color: #ff4141;
|
||||
}
|
||||
/** /acl **/
|
||||
/** tab buttons **/
|
||||
ul.tabs {
|
||||
list-style-type: none;
|
||||
padding-bottom: 10px;
|
||||
}
|
||||
ul.tabs li {
|
||||
float: left;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
|
|
@ -823,7 +823,7 @@ profile-jot-banner-wrapper {
|
|||
/* ======== */
|
||||
|
||||
.tabs {
|
||||
width: 450px;
|
||||
width: 600px;
|
||||
list-style: none;
|
||||
padding: 10px;
|
||||
margin: 0px 0px 10px 0px;
|
||||
|
@ -2105,10 +2105,17 @@ margin-left: 0px;
|
|||
.openid {
|
||||
background: url(login-bg.gif) no-repeat;
|
||||
background-position: 0 50%;
|
||||
padding-left: 18px;
|
||||
padding-left: 18px !important;
|
||||
width: 385px;
|
||||
}
|
||||
|
||||
.openid {
|
||||
width: 150px !important;
|
||||
}
|
||||
#login-password {
|
||||
width: 168px !important;
|
||||
}
|
||||
|
||||
#profile-tabs-wrapper {
|
||||
padding-top: 10px;
|
||||
}
|
||||
|
@ -2211,6 +2218,25 @@ margin-left: 0px;
|
|||
padding: 5px;
|
||||
}
|
||||
|
||||
.settings-block {
|
||||
margin-top: 20px;
|
||||
-moz-box-shadow: 1px 2px 6px 0px #959494;
|
||||
-webkit-box-shadow: 1px 2px 6px 0px #959494;
|
||||
box-shadow: 1px 2px 6px 0px #959494;
|
||||
background:-webkit-gradient( linear, left top, left bottom, color-stop(0.05, #f8f8f8), color-stop(1, #f6f6f6) );
|
||||
background:-moz-linear-gradient( center top, #f8f8f8 5%, #f6f6f6 100% );
|
||||
filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#f8f8f8', endColorstr='#f6f6f6');
|
||||
background-color:#f8f8f8;
|
||||
-moz-border-radius:5px;
|
||||
-webkit-border-radius:5px;
|
||||
border-radius:5px;
|
||||
border:1px solid #eee;
|
||||
color:#a6a6a6;
|
||||
text-shadow:-1px 0px 0px #bdbdbd;
|
||||
border: 1px solid #cdcdcd;
|
||||
padding: 5px;
|
||||
}
|
||||
|
||||
#register-form div,
|
||||
#profile-edit-form div {
|
||||
clear: both;
|
||||
|
@ -2595,6 +2621,10 @@ tr {
|
|||
width: 150px;
|
||||
}
|
||||
|
||||
.directory-end {
|
||||
clear: both;
|
||||
}
|
||||
|
||||
/* ========= */
|
||||
/* = Admin = */
|
||||
/* ========= */
|
||||
|
|
Loading…
Reference in a new issue