Merge remote-tracking branch 'upstream/develop' into 1612-unused-indexes
This commit is contained in:
commit
6b6e3e264f
29
boot.php
29
boot.php
|
@ -38,7 +38,7 @@ define ( 'FRIENDICA_PLATFORM', 'Friendica');
|
|||
define ( 'FRIENDICA_CODENAME', 'Asparagus');
|
||||
define ( 'FRIENDICA_VERSION', '3.5.1-dev' );
|
||||
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
|
||||
define ( 'DB_UPDATE_VERSION', 1209 );
|
||||
define ( 'DB_UPDATE_VERSION', 1211 );
|
||||
|
||||
/**
|
||||
* @brief Constant with a HTML line break.
|
||||
|
@ -670,22 +670,23 @@ class App {
|
|||
|
||||
#set_include_path("include/$this->hostname" . PATH_SEPARATOR . get_include_path());
|
||||
|
||||
if((x($_SERVER,'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'],0,9) === "pagename=") {
|
||||
if ((x($_SERVER,'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'],0,9) === "pagename=") {
|
||||
$this->query_string = substr($_SERVER['QUERY_STRING'],9);
|
||||
// removing trailing / - maybe a nginx problem
|
||||
if (substr($this->query_string, 0, 1) == "/")
|
||||
$this->query_string = substr($this->query_string, 1);
|
||||
} elseif((x($_SERVER,'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'],0,2) === "q=") {
|
||||
} elseif ((x($_SERVER,'QUERY_STRING')) && substr($_SERVER['QUERY_STRING'],0,2) === "q=") {
|
||||
$this->query_string = substr($_SERVER['QUERY_STRING'],2);
|
||||
// removing trailing / - maybe a nginx problem
|
||||
if (substr($this->query_string, 0, 1) == "/")
|
||||
$this->query_string = substr($this->query_string, 1);
|
||||
}
|
||||
|
||||
if (x($_GET,'pagename'))
|
||||
if (x($_GET,'pagename')) {
|
||||
$this->cmd = trim($_GET['pagename'],'/\\');
|
||||
elseif (x($_GET,'q'))
|
||||
} elseif (x($_GET,'q')) {
|
||||
$this->cmd = trim($_GET['q'],'/\\');
|
||||
}
|
||||
|
||||
|
||||
// fix query_string
|
||||
|
@ -694,13 +695,15 @@ class App {
|
|||
|
||||
// unix style "homedir"
|
||||
|
||||
if(substr($this->cmd,0,1) === '~')
|
||||
if (substr($this->cmd,0,1) === '~') {
|
||||
$this->cmd = 'profile/' . substr($this->cmd,1);
|
||||
}
|
||||
|
||||
// Diaspora style profile url
|
||||
|
||||
if(substr($this->cmd,0,2) === 'u/')
|
||||
if (substr($this->cmd,0,2) === 'u/') {
|
||||
$this->cmd = 'profile/' . substr($this->cmd,2);
|
||||
}
|
||||
|
||||
|
||||
/*
|
||||
|
@ -806,7 +809,7 @@ class App {
|
|||
function get_baseurl($ssl = false) {
|
||||
|
||||
// Is the function called statically?
|
||||
if (!is_object($this)) {
|
||||
if (!(isset($this) && get_class($this) == __CLASS__)) {
|
||||
return self::$a->get_baseurl($ssl);
|
||||
}
|
||||
|
||||
|
@ -1028,7 +1031,7 @@ class App {
|
|||
} else {
|
||||
$r = q("SELECT `contact`.`avatar-date` AS picdate FROM `contact` WHERE `contact`.`thumb` like '%%/%s'",
|
||||
$common_filename);
|
||||
if(! dbm::is_result($r)){
|
||||
if (! dbm::is_result($r)) {
|
||||
$this->cached_profile_image[$avatar_image] = $avatar_image;
|
||||
} else {
|
||||
$this->cached_profile_picdate[$common_filename] = "?rev=".urlencode($r[0]['picdate']);
|
||||
|
@ -1050,7 +1053,7 @@ class App {
|
|||
function remove_baseurl($orig_url){
|
||||
|
||||
// Is the function called statically?
|
||||
if (!is_object($this)) {
|
||||
if (!(isset($this) && get_class($this) == __CLASS__)) {
|
||||
return(self::$a->remove_baseurl($orig_url));
|
||||
}
|
||||
|
||||
|
@ -1548,9 +1551,9 @@ function check_url(&$a) {
|
|||
// We will only change the url to an ip address if there is no existing setting
|
||||
|
||||
if(! x($url))
|
||||
$url = set_config('system','url',$a->get_baseurl());
|
||||
if((! link_compare($url,$a->get_baseurl())) && (! preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/",$a->get_hostname)))
|
||||
$url = set_config('system','url',$a->get_baseurl());
|
||||
$url = set_config('system','url',App::get_baseurl());
|
||||
if((! link_compare($url,App::get_baseurl())) && (! preg_match("/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/",$a->get_hostname)))
|
||||
$url = set_config('system','url',App::get_baseurl());
|
||||
|
||||
return;
|
||||
}
|
||||
|
|
33
database.sql
33
database.sql
|
@ -1,6 +1,6 @@
|
|||
-- ------------------------------------------
|
||||
-- Friendica 3.5.1-dev (Asparagus)
|
||||
-- DB_UPDATE_VERSION 1208
|
||||
-- DB_UPDATE_VERSION 1211
|
||||
-- ------------------------------------------
|
||||
|
||||
|
||||
|
@ -54,11 +54,11 @@ CREATE TABLE IF NOT EXISTS `auth_codes` (
|
|||
-- TABLE cache
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `cache` (
|
||||
`k` varchar(255) NOT NULL,
|
||||
`k` varbinary(255) NOT NULL,
|
||||
`v` text,
|
||||
`expire_mode` int(11) NOT NULL DEFAULT 0,
|
||||
`updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
PRIMARY KEY(`k`(191)),
|
||||
PRIMARY KEY(`k`),
|
||||
INDEX `updated` (`updated`),
|
||||
INDEX `expire_mode_updated` (`expire_mode`,`updated`)
|
||||
) DEFAULT CHARSET=utf8mb4;
|
||||
|
@ -94,11 +94,11 @@ CREATE TABLE IF NOT EXISTS `clients` (
|
|||
--
|
||||
CREATE TABLE IF NOT EXISTS `config` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`cat` varchar(255) NOT NULL DEFAULT '',
|
||||
`k` varchar(255) NOT NULL DEFAULT '',
|
||||
`cat` varbinary(255) NOT NULL DEFAULT '',
|
||||
`k` varbinary(255) NOT NULL DEFAULT '',
|
||||
`v` text,
|
||||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `cat_k` (`cat`(30),`k`(30))
|
||||
UNIQUE INDEX `cat_k` (`cat`,`k`)
|
||||
) DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
--
|
||||
|
@ -200,7 +200,7 @@ CREATE TABLE IF NOT EXISTS `conv` (
|
|||
--
|
||||
CREATE TABLE IF NOT EXISTS `deliverq` (
|
||||
`id` int(10) unsigned NOT NULL auto_increment,
|
||||
`cmd` varchar(32) NOT NULL DEFAULT '',
|
||||
`cmd` varbinary(32) NOT NULL DEFAULT '',
|
||||
`item` int(11) NOT NULL DEFAULT 0,
|
||||
`contact` int(11) NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY(`id`),
|
||||
|
@ -212,6 +212,7 @@ CREATE TABLE IF NOT EXISTS `deliverq` (
|
|||
--
|
||||
CREATE TABLE IF NOT EXISTS `event` (
|
||||
`id` int(11) NOT NULL auto_increment,
|
||||
`guid` varchar(255) NOT NULL DEFAULT '',
|
||||
`uid` int(11) NOT NULL DEFAULT 0,
|
||||
`cid` int(11) NOT NULL DEFAULT 0,
|
||||
`uri` varchar(255) NOT NULL DEFAULT '',
|
||||
|
@ -682,10 +683,10 @@ CREATE TABLE IF NOT EXISTS `notify-threads` (
|
|||
-- TABLE oembed
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `oembed` (
|
||||
`url` varchar(255) NOT NULL,
|
||||
`url` varbinary(255) NOT NULL,
|
||||
`content` text,
|
||||
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
PRIMARY KEY(`url`(191)),
|
||||
PRIMARY KEY(`url`),
|
||||
INDEX `created` (`created`)
|
||||
) DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
|
@ -693,12 +694,12 @@ CREATE TABLE IF NOT EXISTS `oembed` (
|
|||
-- TABLE parsed_url
|
||||
--
|
||||
CREATE TABLE IF NOT EXISTS `parsed_url` (
|
||||
`url` varchar(255) NOT NULL,
|
||||
`url` varbinary(255) NOT NULL,
|
||||
`guessing` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`oembed` tinyint(1) NOT NULL DEFAULT 0,
|
||||
`content` text,
|
||||
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
PRIMARY KEY(`url`(191),`guessing`,`oembed`),
|
||||
PRIMARY KEY(`url`,`guessing`,`oembed`),
|
||||
INDEX `created` (`created`)
|
||||
) DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
|
@ -708,11 +709,11 @@ CREATE TABLE IF NOT EXISTS `parsed_url` (
|
|||
CREATE TABLE IF NOT EXISTS `pconfig` (
|
||||
`id` int(11) NOT NULL auto_increment,
|
||||
`uid` int(11) NOT NULL DEFAULT 0,
|
||||
`cat` varchar(255) NOT NULL DEFAULT '',
|
||||
`k` varchar(255) NOT NULL DEFAULT '',
|
||||
`cat` varbinary(255) NOT NULL DEFAULT '',
|
||||
`k` varbinary(255) NOT NULL DEFAULT '',
|
||||
`v` mediumtext,
|
||||
PRIMARY KEY(`id`),
|
||||
UNIQUE INDEX `uid_cat_k` (`uid`,`cat`(30),`k`(30))
|
||||
UNIQUE INDEX `uid_cat_k` (`uid`,`cat`,`k`)
|
||||
) DEFAULT CHARSET=utf8mb4;
|
||||
|
||||
--
|
||||
|
@ -786,7 +787,7 @@ CREATE TABLE IF NOT EXISTS `poll_result` (
|
|||
--
|
||||
CREATE TABLE IF NOT EXISTS `process` (
|
||||
`pid` int(10) unsigned NOT NULL,
|
||||
`command` varchar(32) NOT NULL DEFAULT '',
|
||||
`command` varbinary(32) NOT NULL DEFAULT '',
|
||||
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
PRIMARY KEY(`pid`),
|
||||
INDEX `command` (`command`)
|
||||
|
@ -920,7 +921,7 @@ CREATE TABLE IF NOT EXISTS `search` (
|
|||
--
|
||||
CREATE TABLE IF NOT EXISTS `session` (
|
||||
`id` bigint(20) unsigned NOT NULL auto_increment,
|
||||
`sid` varchar(255) NOT NULL DEFAULT '',
|
||||
`sid` varbinary(255) NOT NULL DEFAULT '',
|
||||
`data` text,
|
||||
`expire` int(10) unsigned NOT NULL DEFAULT 0,
|
||||
PRIMARY KEY(`id`),
|
||||
|
|
|
@ -124,8 +124,9 @@ The selected 1st part will be saved in the database by the theme_post function.
|
|||
|
||||
function theme_post(&$a){
|
||||
// non local users shall not pass
|
||||
if(! local_user())
|
||||
if (! local_user()) {
|
||||
return;
|
||||
}
|
||||
// if the one specific submit button was pressed then proceed
|
||||
if (isset($_POST['duepuntozero-settings-submit'])){
|
||||
// and save the selection key into the personal config of the user
|
||||
|
|
|
@ -8,7 +8,6 @@
|
|||
function user_remove($uid) {
|
||||
if(! $uid)
|
||||
return;
|
||||
$a = get_app();
|
||||
logger('Removing user: ' . $uid);
|
||||
|
||||
$r = q("select * from user where uid = %d limit 1", intval($uid));
|
||||
|
@ -54,7 +53,7 @@ function user_remove($uid) {
|
|||
if($uid == local_user()) {
|
||||
unset($_SESSION['authenticated']);
|
||||
unset($_SESSION['uid']);
|
||||
goaway($a->get_baseurl());
|
||||
goaway(App::get_baseurl());
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -86,12 +85,12 @@ function contact_remove($id) {
|
|||
|
||||
function terminate_friendship($user,$self,$contact) {
|
||||
|
||||
|
||||
/// @TODO Get rid of this, include/datetime.php should care about by itself
|
||||
$a = get_app();
|
||||
|
||||
require_once('include/datetime.php');
|
||||
|
||||
if($contact['network'] === NETWORK_OSTATUS) {
|
||||
if ($contact['network'] === NETWORK_OSTATUS) {
|
||||
|
||||
require_once('include/ostatus.php');
|
||||
|
||||
|
@ -101,16 +100,14 @@ function terminate_friendship($user,$self,$contact) {
|
|||
$item['follow'] = $contact["url"];
|
||||
$slap = ostatus::salmon($item, $user);
|
||||
|
||||
if((x($contact,'notify')) && (strlen($contact['notify']))) {
|
||||
if ((x($contact,'notify')) && (strlen($contact['notify']))) {
|
||||
require_once('include/salmon.php');
|
||||
slapper($user,$contact['notify'],$slap);
|
||||
}
|
||||
}
|
||||
elseif($contact['network'] === NETWORK_DIASPORA) {
|
||||
} elseif ($contact['network'] === NETWORK_DIASPORA) {
|
||||
require_once('include/diaspora.php');
|
||||
diaspora::send_unshare($user,$contact);
|
||||
}
|
||||
elseif($contact['network'] === NETWORK_DFRN) {
|
||||
Diaspora::send_unshare($user,$contact);
|
||||
} elseif ($contact['network'] === NETWORK_DFRN) {
|
||||
require_once('include/dfrn.php');
|
||||
dfrn::deliver($user,$contact,'placeholder', 1);
|
||||
}
|
||||
|
@ -361,7 +358,7 @@ function contact_photo_menu($contact, $uid = 0)
|
|||
$sparkle = false;
|
||||
if ($contact['network'] === NETWORK_DFRN) {
|
||||
$sparkle = true;
|
||||
$profile_link = $a->get_baseurl() . '/redir/' . $contact['id'];
|
||||
$profile_link = App::get_baseurl() . '/redir/' . $contact['id'];
|
||||
} else {
|
||||
$profile_link = $contact['url'];
|
||||
}
|
||||
|
@ -377,17 +374,17 @@ function contact_photo_menu($contact, $uid = 0)
|
|||
}
|
||||
|
||||
if (in_array($contact['network'], array(NETWORK_DFRN, NETWORK_DIASPORA))) {
|
||||
$pm_url = $a->get_baseurl() . '/message/new/' . $contact['id'];
|
||||
$pm_url = App::get_baseurl() . '/message/new/' . $contact['id'];
|
||||
}
|
||||
|
||||
if ($contact['network'] == NETWORK_DFRN) {
|
||||
$poke_link = $a->get_baseurl() . '/poke/?f=&c=' . $contact['id'];
|
||||
$poke_link = App::get_baseurl() . '/poke/?f=&c=' . $contact['id'];
|
||||
}
|
||||
|
||||
$contact_url = $a->get_baseurl() . '/contacts/' . $contact['id'];
|
||||
$contact_url = App::get_baseurl() . '/contacts/' . $contact['id'];
|
||||
|
||||
$posts_link = $a->get_baseurl() . '/contacts/' . $contact['id'] . '/posts';
|
||||
$contact_drop_link = $a->get_baseurl() . '/contacts/' . $contact['id'] . '/drop?confirm=1';
|
||||
$posts_link = App::get_baseurl() . '/contacts/' . $contact['id'] . '/posts';
|
||||
$contact_drop_link = App::get_baseurl() . '/contacts/' . $contact['id'] . '/drop?confirm=1';
|
||||
|
||||
/**
|
||||
* menu array:
|
||||
|
|
|
@ -198,8 +198,10 @@ class NotificationsManager {
|
|||
* string 'label' => The type of the notification
|
||||
* string 'link' => URL to the source
|
||||
* string 'image' => The avatar image
|
||||
* string 'url' => The profile url of the contact
|
||||
* string 'text' => The notification text
|
||||
* string 'when' => Relative date of the notification
|
||||
* string 'when' => The date of the notification
|
||||
* string 'ago' => T relative date of the notification
|
||||
* bool 'seen' => Is the notification marked as "seen"
|
||||
*/
|
||||
private function formatNotifs($notifs, $ident = "") {
|
||||
|
@ -223,26 +225,32 @@ class NotificationsManager {
|
|||
$default_item_label = 'notify';
|
||||
$default_item_link = $this->a->get_baseurl(true).'/notify/view/'. $it['id'];
|
||||
$default_item_image = proxy_url($it['photo'], false, PROXY_SIZE_MICRO);
|
||||
$default_item_url = $it['url'];
|
||||
$default_item_text = strip_tags(bbcode($it['msg']));
|
||||
$default_item_when = relative_date($it['date']);
|
||||
$default_item_when = datetime_convert('UTC', date_default_timezone_get(), $it['date'], 'r');
|
||||
$default_item_ago = relative_date($it['date']);
|
||||
break;
|
||||
|
||||
case 'home':
|
||||
$default_item_label = 'comment';
|
||||
$default_item_link = $this->a->get_baseurl(true).'/display/'.$it['pguid'];
|
||||
$default_item_image = proxy_url($it['author-avatar'], false, PROXY_SIZE_MICRO);
|
||||
$default_item_url = $it['author-link'];
|
||||
$default_item_text = sprintf(t("%s commented on %s's post"), $it['author-name'], $it['pname']);
|
||||
$default_item_when = relative_date($it['created']);
|
||||
$default_item_when = datetime_convert('UTC', date_default_timezone_get(), $it['created'], 'r');
|
||||
$default_item_ago = relative_date($it['created']);
|
||||
break;
|
||||
|
||||
default:
|
||||
$default_item_label = (($it['id'] == $it['parent']) ? 'post' : 'comment');
|
||||
$default_item_link = $this->a->get_baseurl(true).'/display/'.$it['pguid'];
|
||||
$default_item_image = proxy_url($it['author-avatar'], false, PROXY_SIZE_MICRO);
|
||||
$default_item_url = $it['author-link'];
|
||||
$default_item_text = (($it['id'] == $it['parent'])
|
||||
? sprintf(t("%s created a new post"), $it['author-name'])
|
||||
: sprintf(t("%s commented on %s's post"), $it['author-name'], $it['pname']));
|
||||
$default_item_when = relative_date($it['created']);
|
||||
$default_item_when = datetime_convert('UTC', date_default_timezone_get(), $it['created'], 'r');
|
||||
$default_item_ago = relative_date($it['created']);
|
||||
|
||||
}
|
||||
|
||||
|
@ -253,8 +261,10 @@ class NotificationsManager {
|
|||
'label' => 'like',
|
||||
'link' => $this->a->get_baseurl(true).'/display/'.$it['pguid'],
|
||||
'image' => proxy_url($it['author-avatar'], false, PROXY_SIZE_MICRO),
|
||||
'url' => $it['author-link'],
|
||||
'text' => sprintf(t("%s liked %s's post"), $it['author-name'], $it['pname']),
|
||||
'when' => relative_date($it['created']),
|
||||
'when' => $default_item_when,
|
||||
'ago' => $default_item_ago,
|
||||
'seen' => $it['seen']
|
||||
);
|
||||
break;
|
||||
|
@ -264,8 +274,10 @@ class NotificationsManager {
|
|||
'label' => 'dislike',
|
||||
'link' => $this->a->get_baseurl(true).'/display/'.$it['pguid'],
|
||||
'image' => proxy_url($it['author-avatar'], false, PROXY_SIZE_MICRO),
|
||||
'url' => $it['author-link'],
|
||||
'text' => sprintf(t("%s disliked %s's post"), $it['author-name'], $it['pname']),
|
||||
'when' => relative_date($it['created']),
|
||||
'when' => $default_item_when,
|
||||
'ago' => $default_item_ago,
|
||||
'seen' => $it['seen']
|
||||
);
|
||||
break;
|
||||
|
@ -275,8 +287,10 @@ class NotificationsManager {
|
|||
'label' => 'attend',
|
||||
'link' => $this->a->get_baseurl(true).'/display/'.$it['pguid'],
|
||||
'image' => proxy_url($it['author-avatar'], false, PROXY_SIZE_MICRO),
|
||||
'url' => $it['author-link'],
|
||||
'text' => sprintf(t("%s is attending %s's event"), $it['author-name'], $it['pname']),
|
||||
'when' => relative_date($it['created']),
|
||||
'when' => $default_item_when,
|
||||
'ago' => $default_item_ago,
|
||||
'seen' => $it['seen']
|
||||
);
|
||||
break;
|
||||
|
@ -286,8 +300,10 @@ class NotificationsManager {
|
|||
'label' => 'attendno',
|
||||
'link' => $this->a->get_baseurl(true).'/display/'.$it['pguid'],
|
||||
'image' => proxy_url($it['author-avatar'], false, PROXY_SIZE_MICRO),
|
||||
'url' => $it['author-link'],
|
||||
'text' => sprintf( t("%s is not attending %s's event"), $it['author-name'], $it['pname']),
|
||||
'when' => relative_date($it['created']),
|
||||
'when' => $default_item_when,
|
||||
'ago' => $default_item_ago,
|
||||
'seen' => $it['seen']
|
||||
);
|
||||
break;
|
||||
|
@ -297,8 +313,10 @@ class NotificationsManager {
|
|||
'label' => 'attendmaybe',
|
||||
'link' => $this->a->get_baseurl(true).'/display/'.$it['pguid'],
|
||||
'image' => proxy_url($it['author-avatar'], false, PROXY_SIZE_MICRO),
|
||||
'url' => $it['author-link'],
|
||||
'text' => sprintf(t("%s may attend %s's event"), $it['author-name'], $it['pname']),
|
||||
'when' => relative_date($it['created']),
|
||||
'when' => $default_item_when,
|
||||
'ago' => $default_item_ago,
|
||||
'seen' => $it['seen']
|
||||
);
|
||||
break;
|
||||
|
@ -312,8 +330,10 @@ class NotificationsManager {
|
|||
'label' => 'friend',
|
||||
'link' => $this->a->get_baseurl(true).'/display/'.$it['pguid'],
|
||||
'image' => proxy_url($it['author-avatar'], false, PROXY_SIZE_MICRO),
|
||||
'url' => $it['author-link'],
|
||||
'text' => sprintf(t("%s is now friends with %s"), $it['author-name'], $it['fname']),
|
||||
'when' => relative_date($it['created']),
|
||||
'when' => $default_item_when,
|
||||
'ago' => $default_item_ago,
|
||||
'seen' => $it['seen']
|
||||
);
|
||||
break;
|
||||
|
@ -323,8 +343,10 @@ class NotificationsManager {
|
|||
'label' => $default_item_label,
|
||||
'link' => $default_item_link,
|
||||
'image' => $default_item_image,
|
||||
'url' => $default_item_url,
|
||||
'text' => $default_item_text,
|
||||
'when' => $default_item_when,
|
||||
'ago' => $default_item_ago,
|
||||
'seen' => $it['seen']
|
||||
);
|
||||
}
|
||||
|
@ -459,7 +481,7 @@ class NotificationsManager {
|
|||
if($seen === 0)
|
||||
$sql_seen = " AND `seen` = 0 ";
|
||||
|
||||
$r = q("SELECT `id`, `photo`, `msg`, `date`, `seen` FROM `notify`
|
||||
$r = q("SELECT `id`, `url`, `photo`, `msg`, `date`, `seen` FROM `notify`
|
||||
WHERE `uid` = %d $sql_seen ORDER BY `date` DESC LIMIT %d, %d ",
|
||||
intval(local_user()),
|
||||
intval($start),
|
||||
|
@ -626,9 +648,9 @@ class NotificationsManager {
|
|||
$sql_seen = " AND `item`.`unseen` = 1 ";
|
||||
|
||||
$r = q("SELECT `item`.`id`,`item`.`parent`, `item`.`verb`, `item`.`author-name`, `item`.`unseen`,
|
||||
`item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object` as `object`,
|
||||
`pitem`.`author-name` as `pname`, `pitem`.`author-link` as `plink`, `pitem`.`guid` as `pguid`
|
||||
FROM `item` INNER JOIN `item` as `pitem` ON `pitem`.`id`=`item`.`parent`
|
||||
`item`.`author-link`, `item`.`author-avatar`, `item`.`created`, `item`.`object` AS `object`,
|
||||
`pitem`.`author-name` AS `pname`, `pitem`.`author-link` AS `plink`, `pitem`.`guid` AS `pguid`
|
||||
FROM `item` INNER JOIN `item` AS `pitem` ON `pitem`.`id`=`item`.`parent`
|
||||
WHERE `item`.`visible` = 1 AND
|
||||
`item`.`deleted` = 0 AND `item`.`uid` = %d AND `item`.`wall` = 1
|
||||
$sql_seen
|
||||
|
|
|
@ -794,8 +794,6 @@ function update_contact_avatar($avatar, $uid, $cid, $force = false) {
|
|||
|
||||
function import_profile_photo($photo, $uid, $cid, $quit_on_error = false) {
|
||||
|
||||
$a = get_app();
|
||||
|
||||
$r = q("SELECT `resource-id` FROM `photo` WHERE `uid` = %d AND `contact-id` = %d AND `scale` = 4 AND `album` = 'Contact Photos' LIMIT 1",
|
||||
intval($uid),
|
||||
intval($cid)
|
||||
|
@ -841,9 +839,9 @@ function import_profile_photo($photo, $uid, $cid, $quit_on_error = false) {
|
|||
$photo_failure = true;
|
||||
}
|
||||
|
||||
$photo = $a->get_baseurl() . '/photo/' . $hash . '-4.' . $img->getExt();
|
||||
$thumb = $a->get_baseurl() . '/photo/' . $hash . '-5.' . $img->getExt();
|
||||
$micro = $a->get_baseurl() . '/photo/' . $hash . '-6.' . $img->getExt();
|
||||
$photo = App::get_baseurl() . '/photo/' . $hash . '-4.' . $img->getExt();
|
||||
$thumb = App::get_baseurl() . '/photo/' . $hash . '-5.' . $img->getExt();
|
||||
$micro = App::get_baseurl() . '/photo/' . $hash . '-6.' . $img->getExt();
|
||||
} else {
|
||||
$photo_failure = true;
|
||||
}
|
||||
|
@ -853,9 +851,9 @@ function import_profile_photo($photo, $uid, $cid, $quit_on_error = false) {
|
|||
}
|
||||
|
||||
if ($photo_failure) {
|
||||
$photo = $a->get_baseurl() . '/images/person-175.jpg';
|
||||
$thumb = $a->get_baseurl() . '/images/person-80.jpg';
|
||||
$micro = $a->get_baseurl() . '/images/person-48.jpg';
|
||||
$photo = App::get_baseurl() . '/images/person-175.jpg';
|
||||
$thumb = App::get_baseurl() . '/images/person-80.jpg';
|
||||
$micro = App::get_baseurl() . '/images/person-48.jpg';
|
||||
}
|
||||
|
||||
return(array($photo,$thumb,$micro));
|
||||
|
@ -1044,18 +1042,18 @@ function store_photo($a, $uid, $imagedata = "", $url = "") {
|
|||
return(array());
|
||||
}
|
||||
|
||||
$image = array("page" => $a->get_baseurl().'/photos/'.$page_owner_nick.'/image/'.$hash,
|
||||
"full" => $a->get_baseurl()."/photo/{$hash}-0.".$ph->getExt());
|
||||
$image = array("page" => App::get_baseurl().'/photos/'.$page_owner_nick.'/image/'.$hash,
|
||||
"full" => App::get_baseurl()."/photo/{$hash}-0.".$ph->getExt());
|
||||
|
||||
if ($width > 800 || $height > 800) {
|
||||
$image["large"] = $a->get_baseurl()."/photo/{$hash}-0.".$ph->getExt();
|
||||
$image["large"] = App::get_baseurl()."/photo/{$hash}-0.".$ph->getExt();
|
||||
}
|
||||
|
||||
if ($width > 640 || $height > 640) {
|
||||
$ph->scaleImage(640);
|
||||
$r = $ph->store($uid, $visitor, $hash, $tempfile, t('Wall Photos'), 1, 0, $defperm);
|
||||
if ($r) {
|
||||
$image["medium"] = $a->get_baseurl()."/photo/{$hash}-1.".$ph->getExt();
|
||||
$image["medium"] = App::get_baseurl()."/photo/{$hash}-1.".$ph->getExt();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1063,7 +1061,7 @@ function store_photo($a, $uid, $imagedata = "", $url = "") {
|
|||
$ph->scaleImage(320);
|
||||
$r = $ph->store($uid, $visitor, $hash, $tempfile, t('Wall Photos'), 2, 0, $defperm);
|
||||
if ($r) {
|
||||
$image["small"] = $a->get_baseurl()."/photo/{$hash}-2.".$ph->getExt();
|
||||
$image["small"] = App::get_baseurl()."/photo/{$hash}-2.".$ph->getExt();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1088,7 +1086,7 @@ function store_photo($a, $uid, $imagedata = "", $url = "") {
|
|||
|
||||
$r = $ph->store($uid, $visitor, $hash, $tempfile, t('Wall Photos'), 3, 0, $defperm);
|
||||
if ($r) {
|
||||
$image["thumb"] = $a->get_baseurl()."/photo/{$hash}-3.".$ph->getExt();
|
||||
$image["thumb"] = App::get_baseurl()."/photo/{$hash}-3.".$ph->getExt();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -324,7 +324,7 @@ class Probe {
|
|||
!isset($parts["path"]))
|
||||
return false;
|
||||
|
||||
// todo: Ports?
|
||||
/// @todo: Ports?
|
||||
$host = $parts["host"];
|
||||
|
||||
if ($host == 'twitter.com')
|
||||
|
|
|
@ -34,7 +34,7 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) {
|
|||
call_hooks($a->module . '_pre_' . $selname, $arr);
|
||||
|
||||
if (dbm::is_result($r)) {
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
if((is_array($preselected)) && in_array($rr['id'], $preselected))
|
||||
$selected = " selected=\"selected\" ";
|
||||
else
|
||||
|
@ -65,20 +65,24 @@ function contact_selector($selname, $selclass, $preselected = false, $options) {
|
|||
$exclude = false;
|
||||
$size = 4;
|
||||
|
||||
if(is_array($options)) {
|
||||
if(x($options,'size'))
|
||||
if (is_array($options)) {
|
||||
if (x($options,'size'))
|
||||
$size = $options['size'];
|
||||
|
||||
if(x($options,'mutual_friends'))
|
||||
if (x($options,'mutual_friends')) {
|
||||
$mutual = true;
|
||||
if(x($options,'single'))
|
||||
}
|
||||
if (x($options,'single')) {
|
||||
$single = true;
|
||||
if(x($options,'multiple'))
|
||||
}
|
||||
if (x($options,'multiple')) {
|
||||
$single = false;
|
||||
if(x($options,'exclude'))
|
||||
}
|
||||
if (x($options,'exclude')) {
|
||||
$exclude = $options['exclude'];
|
||||
}
|
||||
|
||||
if(x($options,'networks')) {
|
||||
if (x($options,'networks')) {
|
||||
switch($options['networks']) {
|
||||
case 'DFRN_ONLY':
|
||||
$networks = array(NETWORK_DFRN);
|
||||
|
@ -145,11 +149,12 @@ function contact_selector($selname, $selclass, $preselected = false, $options) {
|
|||
call_hooks($a->module . '_pre_' . $selname, $arr);
|
||||
|
||||
if (dbm::is_result($r)) {
|
||||
foreach($r as $rr) {
|
||||
if((is_array($preselected)) && in_array($rr['id'], $preselected))
|
||||
foreach ($r as $rr) {
|
||||
if ((is_array($preselected)) && in_array($rr['id'], $preselected)) {
|
||||
$selected = " selected=\"selected\" ";
|
||||
else
|
||||
} else {
|
||||
$selected = '';
|
||||
}
|
||||
|
||||
$trimmed = mb_substr($rr['name'],0,20);
|
||||
|
||||
|
@ -221,16 +226,19 @@ function contact_select($selname, $selclass, $preselected = false, $size = 4, $p
|
|||
$receiverlist = array();
|
||||
|
||||
if (dbm::is_result($r)) {
|
||||
foreach($r as $rr) {
|
||||
if((is_array($preselected)) && in_array($rr['id'], $preselected))
|
||||
foreach ($r as $rr) {
|
||||
if ((is_array($preselected)) && in_array($rr['id'], $preselected)) {
|
||||
$selected = " selected=\"selected\" ";
|
||||
else
|
||||
}
|
||||
else {
|
||||
$selected = '';
|
||||
}
|
||||
|
||||
if($privmail)
|
||||
if ($privmail) {
|
||||
$trimmed = GetProfileUsername($rr['url'], $rr['name'], false);
|
||||
else
|
||||
} else {
|
||||
$trimmed = mb_substr($rr['name'],0,20);
|
||||
}
|
||||
|
||||
$receiverlist[] = $trimmed;
|
||||
|
||||
|
@ -256,16 +264,22 @@ function fixacl(&$item) {
|
|||
|
||||
function prune_deadguys($arr) {
|
||||
|
||||
if(! $arr)
|
||||
if (! $arr) {
|
||||
return $arr;
|
||||
}
|
||||
|
||||
$str = dbesc(implode(',',$arr));
|
||||
|
||||
$r = q("SELECT `id` FROM `contact` WHERE `id` IN ( " . $str . ") AND `blocked` = 0 AND `pending` = 0 AND `archive` = 0 ");
|
||||
if($r) {
|
||||
|
||||
if ($r) {
|
||||
$ret = array();
|
||||
foreach($r as $rr)
|
||||
foreach ($r as $rr) {
|
||||
$ret[] = intval($rr['id']);
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
return array();
|
||||
}
|
||||
|
||||
|
@ -392,8 +406,9 @@ function construct_acl_data(&$a, $user) {
|
|||
|
||||
function acl_lookup(&$a, $out_type = 'json') {
|
||||
|
||||
if(!local_user())
|
||||
return "";
|
||||
if (!local_user()) {
|
||||
return '';
|
||||
}
|
||||
|
||||
$start = (x($_REQUEST,'start') ? $_REQUEST['start'] : 0);
|
||||
$count = (x($_REQUEST,'count') ? $_REQUEST['count'] : 100);
|
||||
|
@ -540,35 +555,33 @@ function acl_lookup(&$a, $out_type = 'json') {
|
|||
dbesc(NETWORK_ZOT),
|
||||
dbesc(NETWORK_DIASPORA)
|
||||
);
|
||||
}
|
||||
elseif($type == 'a') {
|
||||
} elseif ($type == 'a') {
|
||||
$r = q("SELECT `id`, `name`, `nick`, `micro`, `network`, `url`, `attag`, `forum`, `prv` FROM `contact`
|
||||
WHERE `uid` = %d AND `pending` = 0
|
||||
$sql_extra2
|
||||
ORDER BY `name` ASC ",
|
||||
intval(local_user())
|
||||
);
|
||||
}
|
||||
elseif($type == 'x') {
|
||||
} elseif ($type == 'x') {
|
||||
// autocomplete for global contact search (e.g. navbar search)
|
||||
$r = navbar_complete($a);
|
||||
$contacts = array();
|
||||
if($r) {
|
||||
foreach($r as $g) {
|
||||
if ($r) {
|
||||
foreach ($r as $g) {
|
||||
$contacts[] = array(
|
||||
"photo" => proxy_url($g['photo'], false, PROXY_SIZE_MICRO),
|
||||
"name" => $g['name'],
|
||||
"nick" => (x($g['addr']) ? $g['addr'] : $g['url']),
|
||||
"network" => $g['network'],
|
||||
"link" => $g['url'],
|
||||
"forum" => (x($g['community']) ? 1 : 0),
|
||||
'photo' => proxy_url($g['photo'], false, PROXY_SIZE_MICRO),
|
||||
'name' => $g['name'],
|
||||
'nick' => (x($g['addr']) ? $g['addr'] : $g['url']),
|
||||
'network' => $g['network'],
|
||||
'link' => $g['url'],
|
||||
'forum' => (x($g['community']) ? 1 : 0),
|
||||
);
|
||||
}
|
||||
}
|
||||
$o = array(
|
||||
'start' => $start,
|
||||
'count' => $count,
|
||||
'items' => $contacts,
|
||||
'count' => $count,
|
||||
'items' => $contacts,
|
||||
);
|
||||
echo json_encode($o);
|
||||
killme();
|
||||
|
@ -578,16 +591,16 @@ function acl_lookup(&$a, $out_type = 'json') {
|
|||
|
||||
|
||||
if (dbm::is_result($r)) {
|
||||
foreach($r as $g){
|
||||
foreach ($r as $g){
|
||||
$contacts[] = array(
|
||||
"type" => "c",
|
||||
"photo" => proxy_url($g['micro'], false, PROXY_SIZE_MICRO),
|
||||
"name" => htmlentities($g['name']),
|
||||
"id" => intval($g['id']),
|
||||
"network" => $g['network'],
|
||||
"link" => $g['url'],
|
||||
"nick" => htmlentities(($g['attag']) ? $g['attag'] : $g['nick']),
|
||||
"forum" => ((x($g['forum']) || x($g['prv'])) ? 1 : 0),
|
||||
'type' => 'c',
|
||||
'photo' => proxy_url($g['micro'], false, PROXY_SIZE_MICRO),
|
||||
'name' => htmlentities($g['name']),
|
||||
'id' => intval($g['id']),
|
||||
'network' => $g['network'],
|
||||
'link' => $g['url'],
|
||||
'nick' => htmlentities(($g['attag']) ? $g['attag'] : $g['nick']),
|
||||
'forum' => ((x($g['forum']) || x($g['prv'])) ? 1 : 0),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -613,7 +626,7 @@ function acl_lookup(&$a, $out_type = 'json') {
|
|||
implode("','", $known_contacts)
|
||||
);
|
||||
if (dbm::is_result($r)){
|
||||
foreach($r as $row) {
|
||||
foreach ($r as $row) {
|
||||
// nickname..
|
||||
$up = parse_url($row['author-link']);
|
||||
$nick = explode("/",$up['path']);
|
||||
|
@ -621,14 +634,14 @@ function acl_lookup(&$a, $out_type = 'json') {
|
|||
$nick .= "@".$up['host'];
|
||||
// /nickname
|
||||
$unknow_contacts[] = array(
|
||||
"type" => "c",
|
||||
"photo" => proxy_url($row['author-avatar'], false, PROXY_SIZE_MICRO),
|
||||
"name" => htmlentities($row['author-name']),
|
||||
"id" => '',
|
||||
"network" => "unknown",
|
||||
"link" => $row['author-link'],
|
||||
"nick" => htmlentities($nick),
|
||||
"forum" => false
|
||||
'type' => 'c',
|
||||
'photo' => proxy_url($row['author-avatar'], false, PROXY_SIZE_MICRO),
|
||||
'name' => htmlentities($row['author-name']),
|
||||
'id' => '',
|
||||
'network' => 'unknown',
|
||||
'link' => $row['author-link'],
|
||||
'nick' => htmlentities($nick),
|
||||
'forum' => false
|
||||
);
|
||||
}
|
||||
}
|
||||
|
@ -638,34 +651,34 @@ function acl_lookup(&$a, $out_type = 'json') {
|
|||
}
|
||||
|
||||
$results = array(
|
||||
"tot" => $tot,
|
||||
"start" => $start,
|
||||
"count" => $count,
|
||||
"groups" => $groups,
|
||||
"contacts" => $contacts,
|
||||
"items" => $items,
|
||||
"type" => $type,
|
||||
"search" => $search,
|
||||
'tot' => $tot,
|
||||
'start' => $start,
|
||||
'count' => $count,
|
||||
'groups' => $groups,
|
||||
'contacts' => $contacts,
|
||||
'items' => $items,
|
||||
'type' => $type,
|
||||
'search' => $search,
|
||||
);
|
||||
|
||||
call_hooks('acl_lookup_end', $results);
|
||||
|
||||
if($out_type === 'html') {
|
||||
$o = array(
|
||||
'tot' => $results["tot"],
|
||||
'start' => $results["start"],
|
||||
'count' => $results["count"],
|
||||
'groups' => $results["groups"],
|
||||
'contacts' => $results["contacts"],
|
||||
'tot' => $results['tot'],
|
||||
'start' => $results['start'],
|
||||
'count' => $results['count'],
|
||||
'groups' => $results['groups'],
|
||||
'contacts' => $results['contacts'],
|
||||
);
|
||||
return $o;
|
||||
}
|
||||
|
||||
$o = array(
|
||||
'tot' => $results["tot"],
|
||||
'start' => $results["start"],
|
||||
'count' => $results["count"],
|
||||
'items' => $results["items"],
|
||||
'tot' => $results['tot'],
|
||||
'start' => $results['start'],
|
||||
'count' => $results['count'],
|
||||
'items' => $results['items'],
|
||||
);
|
||||
|
||||
echo json_encode($o);
|
||||
|
@ -682,7 +695,7 @@ function navbar_complete(&$a) {
|
|||
|
||||
// logger('navbar_complete');
|
||||
|
||||
if((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
|
||||
if ((get_config('system','block_public')) && (! local_user()) && (! remote_user())) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -693,28 +706,32 @@ function navbar_complete(&$a) {
|
|||
$mode = $_REQUEST['smode'];
|
||||
|
||||
// don't search if search term has less than 2 characters
|
||||
if(! $search || mb_strlen($search) < 2)
|
||||
if (! $search || mb_strlen($search) < 2) {
|
||||
return array();
|
||||
}
|
||||
|
||||
if(substr($search,0,1) === '@')
|
||||
if (substr($search,0,1) === '@') {
|
||||
$search = substr($search,1);
|
||||
}
|
||||
|
||||
if($localsearch) {
|
||||
if ($localsearch) {
|
||||
$x = DirSearch::global_search_by_name($search, $mode);
|
||||
return $x;
|
||||
}
|
||||
|
||||
if(! $localsearch) {
|
||||
if (! $localsearch) {
|
||||
$p = (($a->pager['page'] != 1) ? '&p=' . $a->pager['page'] : '');
|
||||
|
||||
$x = z_fetch_url(get_server().'/lsearch?f=' . $p . '&search=' . urlencode($search));
|
||||
if($x['success']) {
|
||||
if ($x['success']) {
|
||||
$t = 0;
|
||||
$j = json_decode($x['body'],true);
|
||||
if($j && $j['results']) {
|
||||
if ($j && $j['results']) {
|
||||
return $j['results'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// @TODO Not needed here?
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -3068,8 +3068,8 @@
|
|||
'image/gif' => 'gif'
|
||||
);
|
||||
$data = array('photo'=>array());
|
||||
if($r) {
|
||||
foreach($r as $rr) {
|
||||
if ($r) {
|
||||
foreach ($r as $rr) {
|
||||
$photo = array();
|
||||
$photo['id'] = $rr['resource-id'];
|
||||
$photo['album'] = $rr['album'];
|
||||
|
@ -3218,7 +3218,7 @@
|
|||
function api_share_as_retweet(&$item) {
|
||||
$body = trim($item["body"]);
|
||||
|
||||
if (diaspora::is_reshare($body, false)===false) {
|
||||
if (Diaspora::is_reshare($body, false)===false) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -125,8 +125,7 @@ if (isset($_SESSION) && x($_SESSION,'authenticated') && (!x($_POST,'auth-params'
|
|||
$openid = new LightOpenID;
|
||||
$openid->identity = $openid_url;
|
||||
$_SESSION['openid'] = $openid_url;
|
||||
$a = get_app();
|
||||
$openid->returnUrl = $a->get_baseurl(true).'/openid';
|
||||
$openid->returnUrl = App::get_baseurl(true).'/openid';
|
||||
goaway($openid->authUrl());
|
||||
} catch (Exception $e) {
|
||||
notice(t('We encountered a problem while logging in with the OpenID you provided. Please check the correct spelling of the ID.').'<br /><br >'.t('The error message was:').' '.$e->getMessage());
|
||||
|
|
|
@ -69,6 +69,28 @@ function diaspora2bb($s) {
|
|||
return $s;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Callback function to replace a Friendica style mention in a mention for Diaspora
|
||||
*
|
||||
* @param array $match Matching values for the callback
|
||||
* @return text Replaced mention
|
||||
*/
|
||||
function diaspora_mentions($match) {
|
||||
|
||||
$contact = get_contact_details_by_url($match[3]);
|
||||
|
||||
if (!isset($contact['addr'])) {
|
||||
$contact = Probe::uri($match[3]);
|
||||
}
|
||||
|
||||
if (!isset($contact['addr'])) {
|
||||
return $match[0];
|
||||
}
|
||||
|
||||
$mention = '@{'.$match[2].'; '.$contact['addr'].'}';
|
||||
return $mention;
|
||||
}
|
||||
|
||||
function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) {
|
||||
|
||||
$a = get_app();
|
||||
|
@ -108,8 +130,8 @@ function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) {
|
|||
} else
|
||||
$Text = bbcode($Text, $preserve_nl, false, 4);
|
||||
|
||||
// mask some special HTML chars from conversation to markdown
|
||||
$Text = str_replace(array('<','>','&'),array('&_lt_;','&_gt_;','&_amp_;'),$Text);
|
||||
// mask some special HTML chars from conversation to markdown
|
||||
$Text = str_replace(array('<','>','&'),array('&_lt_;','&_gt_;','&_amp_;'),$Text);
|
||||
|
||||
// If a link is followed by a quote then there should be a newline before it
|
||||
// Maybe we should make this newline at every time before a quote.
|
||||
|
@ -120,8 +142,8 @@ function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) {
|
|||
// Now convert HTML to Markdown
|
||||
$Text = new HTML_To_Markdown($Text);
|
||||
|
||||
// unmask the special chars back to HTML
|
||||
$Text = str_replace(array('&_lt_;','&_gt_;','&_amp_;'),array('<','>','&'),$Text);
|
||||
// unmask the special chars back to HTML
|
||||
$Text = str_replace(array('&_lt_;','&_gt_;','&_amp_;'),array('<','>','&'),$Text);
|
||||
|
||||
$a->save_timestamp($stamp1, "parser");
|
||||
|
||||
|
@ -132,6 +154,11 @@ function bb2diaspora($Text,$preserve_nl = false, $fordiaspora = true) {
|
|||
// the Diaspora signature verification and cause the item to disappear
|
||||
$Text = trim($Text);
|
||||
|
||||
if ($fordiaspora) {
|
||||
$URLSearchString = "^\[\]";
|
||||
$Text = preg_replace_callback("/([@]\[(.*?)\])\(([$URLSearchString]*?)\)/ism", 'diaspora_mentions', $Text);
|
||||
}
|
||||
|
||||
call_hooks('bb2diaspora',$Text);
|
||||
|
||||
return $Text;
|
||||
|
@ -144,8 +171,6 @@ function unescape_underscores_in_links($m) {
|
|||
|
||||
function format_event_diaspora($ev) {
|
||||
|
||||
$a = get_app();
|
||||
|
||||
if(! ((is_array($ev)) && count($ev)))
|
||||
return '';
|
||||
|
||||
|
@ -160,7 +185,7 @@ function format_event_diaspora($ev) {
|
|||
$ev['start'] , $bd_format ))
|
||||
: day_translate(datetime_convert('UTC', 'UTC',
|
||||
$ev['start'] , $bd_format)))
|
||||
. '](' . $a->get_baseurl() . '/localtime/?f=&time=' . urlencode(datetime_convert('UTC','UTC',$ev['start'])) . ")\n";
|
||||
. '](' . App::get_baseurl() . '/localtime/?f=&time=' . urlencode(datetime_convert('UTC','UTC',$ev['start'])) . ")\n";
|
||||
|
||||
if(! $ev['nofinish'])
|
||||
$o .= t('Finishes:') . ' ' . '['
|
||||
|
@ -168,7 +193,7 @@ function format_event_diaspora($ev) {
|
|||
$ev['finish'] , $bd_format ))
|
||||
: day_translate(datetime_convert('UTC', 'UTC',
|
||||
$ev['finish'] , $bd_format )))
|
||||
. '](' . $a->get_baseurl() . '/localtime/?f=&time=' . urlencode(datetime_convert('UTC','UTC',$ev['finish'])) . ")\n";
|
||||
. '](' . App::get_baseurl() . '/localtime/?f=&time=' . urlencode(datetime_convert('UTC','UTC',$ev['finish'])) . ")\n";
|
||||
|
||||
if(strlen($ev['location']))
|
||||
$o .= t('Location:') . bb2diaspora($ev['location'])
|
||||
|
|
|
@ -343,7 +343,7 @@ function bb_replace_images($body, $images) {
|
|||
$newbody = $body;
|
||||
|
||||
$cnt = 0;
|
||||
foreach($images as $image) {
|
||||
foreach ($images as $image) {
|
||||
// We're depending on the property of 'foreach' (specified on the PHP website) that
|
||||
// it loops over the array starting from the first element and going sequentially
|
||||
// to the last element
|
||||
|
@ -613,9 +613,7 @@ function GetProfileUsername($profile, $username, $compact = false, $getnetwork =
|
|||
}
|
||||
|
||||
function bb_DiasporaLinks($match) {
|
||||
$a = get_app();
|
||||
|
||||
return "[url=".$a->get_baseurl()."/display/".$match[1]."]".$match[2]."[/url]";
|
||||
return "[url=".App::get_baseurl()."/display/".$match[1]."]".$match[2]."[/url]";
|
||||
}
|
||||
|
||||
function bb_RemovePictureLinks($match) {
|
||||
|
@ -894,7 +892,7 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal
|
|||
// we may need to restrict this further if it picks up too many strays
|
||||
// link acct:user@host to a webfinger profile redirector
|
||||
|
||||
$Text = preg_replace('/acct:([^@]+)@((?!\-)(?:[a-zA-Z\d\-]{0,62}[a-zA-Z\d]\.){1,126}(?!\d+)[a-zA-Z\d]{1,63})/', '<a href="' . $a->get_baseurl() . '/acctlink?addr=$1@$2" target="extlink">acct:$1@$2</a>',$Text);
|
||||
$Text = preg_replace('/acct:([^@]+)@((?!\-)(?:[a-zA-Z\d\-]{0,62}[a-zA-Z\d]\.){1,126}(?!\d+)[a-zA-Z\d]{1,63})/', '<a href="' . App::get_baseurl() . '/acctlink?addr=$1@$2" target="extlink">acct:$1@$2</a>',$Text);
|
||||
|
||||
// Perform MAIL Search
|
||||
$Text = preg_replace("/\[mail\]([$MAILSearchString]*)\[\/mail\]/", '<a href="mailto:$1">$1</a>', $Text);
|
||||
|
@ -1063,9 +1061,9 @@ function bbcode($Text,$preserve_nl = false, $tryoembed = true, $simplehtml = fal
|
|||
return(bb_ShareAttributes($match, $simplehtml));
|
||||
},$Text);
|
||||
|
||||
$Text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism",'<br/><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . t('Encrypted content') . '" /><br />', $Text);
|
||||
$Text = preg_replace("/\[crypt(.*?)\](.*?)\[\/crypt\]/ism",'<br/><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . '$1' . ' ' . t('Encrypted content') . '" /><br />', $Text);
|
||||
//$Text = preg_replace("/\[crypt=(.*?)\](.*?)\[\/crypt\]/ism",'<br/><img src="' .$a->get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . '$1' . ' ' . t('Encrypted content') . '" /><br />', $Text);
|
||||
$Text = preg_replace("/\[crypt\](.*?)\[\/crypt\]/ism",'<br/><img src="' .App::get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . t('Encrypted content') . '" /><br />', $Text);
|
||||
$Text = preg_replace("/\[crypt(.*?)\](.*?)\[\/crypt\]/ism",'<br/><img src="' .App::get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . '$1' . ' ' . t('Encrypted content') . '" /><br />', $Text);
|
||||
//$Text = preg_replace("/\[crypt=(.*?)\](.*?)\[\/crypt\]/ism",'<br/><img src="' .App::get_baseurl() . '/images/lock_icon.gif" alt="' . t('Encrypted content') . '" title="' . '$1' . ' ' . t('Encrypted content') . '" /><br />', $Text);
|
||||
|
||||
|
||||
// Try to Oembed
|
||||
|
|
|
@ -13,7 +13,7 @@ function contact_profile_assign($current,$foreign_net) {
|
|||
intval($_SESSION['uid']));
|
||||
|
||||
if (dbm::is_result($r)) {
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
$selected = (($rr['id'] == $current) ? " selected=\"selected\" " : "");
|
||||
$o .= "<option value=\"{$rr['id']}\" $selected >{$rr['profile-name']}</option>\r\n";
|
||||
}
|
||||
|
@ -99,7 +99,7 @@ function network_to_name($s, $profile = "") {
|
|||
|
||||
$networkname = str_replace($search,$replace,$s);
|
||||
|
||||
if (($s == NETWORK_DIASPORA) AND ($profile != "") AND diaspora::is_redmatrix($profile)) {
|
||||
if (($s == NETWORK_DIASPORA) AND ($profile != "") AND Diaspora::is_redmatrix($profile)) {
|
||||
$networkname = t("Hubzilla/Redmatrix");
|
||||
|
||||
$r = q("SELECT `gserver`.`platform` FROM `gcontact`
|
||||
|
|
|
@ -80,11 +80,13 @@ function networks_widget($baseurl,$selected = '') {
|
|||
|
||||
$a = get_app();
|
||||
|
||||
if(!local_user())
|
||||
if (!local_user()) {
|
||||
return '';
|
||||
}
|
||||
|
||||
if(!feature_enabled(local_user(),'networks'))
|
||||
if (!feature_enabled(local_user(),'networks')) {
|
||||
return '';
|
||||
}
|
||||
|
||||
$extra_sql = unavailable_networks();
|
||||
|
||||
|
@ -95,9 +97,11 @@ function networks_widget($baseurl,$selected = '') {
|
|||
$nets = array();
|
||||
if (dbm::is_result($r)) {
|
||||
require_once('include/contact_selectors.php');
|
||||
foreach($r as $rr) {
|
||||
if($rr['network'])
|
||||
$nets[] = array('ref' => $rr['network'], 'name' => network_to_name($rr['network']), 'selected' => (($selected == $rr['network']) ? 'selected' : '' ));
|
||||
foreach ($r as $rr) {
|
||||
/// @TODO If 'network' is not there, this triggers an E_NOTICE
|
||||
if ($rr['network']) {
|
||||
$nets[] = array('ref' => $rr['network'], 'name' => network_to_name($rr['network']), 'selected' => (($selected == $rr['network']) ? 'selected' : '' ));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -116,16 +120,18 @@ function networks_widget($baseurl,$selected = '') {
|
|||
}
|
||||
|
||||
function fileas_widget($baseurl,$selected = '') {
|
||||
$a = get_app();
|
||||
if(! local_user())
|
||||
if (! local_user()) {
|
||||
return '';
|
||||
}
|
||||
|
||||
if(! feature_enabled(local_user(),'filing'))
|
||||
if (! feature_enabled(local_user(),'filing')) {
|
||||
return '';
|
||||
}
|
||||
|
||||
$saved = get_pconfig(local_user(),'system','filetags');
|
||||
if(! strlen($saved))
|
||||
if (! strlen($saved)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$matches = false;
|
||||
$terms = array();
|
||||
|
@ -235,7 +241,7 @@ function common_friends_visitor_widget($profile_uid) {
|
|||
|
||||
return replace_macros(get_markup_template('remote_friends_common.tpl'), array(
|
||||
'$desc' => sprintf( tt("%d contact in common", "%d contacts in common", $t), $t),
|
||||
'$base' => $a->get_baseurl(),
|
||||
'$base' => App::get_baseurl(),
|
||||
'$uid' => $profile_uid,
|
||||
'$cid' => (($cid) ? $cid : '0'),
|
||||
'$linkmore' => (($t > 5) ? 'true' : ''),
|
||||
|
|
|
@ -78,7 +78,7 @@ function item_redir_and_replace_images($body, $images, $cid) {
|
|||
$newbody .= $origbody;
|
||||
|
||||
$cnt = 0;
|
||||
foreach($images as $image) {
|
||||
foreach ($images as $image) {
|
||||
// We're depending on the property of 'foreach' (specified on the PHP website) that
|
||||
// it loops over the array starting from the first element and going sequentially
|
||||
// to the last element
|
||||
|
@ -324,11 +324,13 @@ function localize_item(&$item){
|
|||
// add sparkle links to appropriate permalinks
|
||||
|
||||
$x = stristr($item['plink'],'/display/');
|
||||
if($x) {
|
||||
if ($x) {
|
||||
$sparkle = false;
|
||||
$y = best_link_url($item,$sparkle,true);
|
||||
if(strstr($y,'/redir/'))
|
||||
|
||||
if (strstr($y,'/redir/')) {
|
||||
$item['plink'] = $y . '?f=&url=' . $item['plink'];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -864,7 +866,7 @@ function conversation(&$a, $items, $mode, $update, $preview = false) {
|
|||
}
|
||||
|
||||
$o = replace_macros($page_template, array(
|
||||
'$baseurl' => $a->get_baseurl($ssl_state),
|
||||
'$baseurl' => App::get_baseurl($ssl_state),
|
||||
'$return_path' => $a->query_string,
|
||||
'$live_update' => $live_update_div,
|
||||
'$remove' => t('remove'),
|
||||
|
@ -1183,7 +1185,7 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
|
|||
$tpl = get_markup_template('jot-header.tpl');
|
||||
$a->page['htmlhead'] .= replace_macros($tpl, array(
|
||||
'$newpost' => 'true',
|
||||
'$baseurl' => $a->get_baseurl(true),
|
||||
'$baseurl' => App::get_baseurl(true),
|
||||
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
|
||||
'$geotag' => $geotag,
|
||||
'$nickname' => $x['nickname'],
|
||||
|
@ -1201,7 +1203,7 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
|
|||
$tpl = get_markup_template('jot-end.tpl');
|
||||
$a->page['end'] .= replace_macros($tpl, array(
|
||||
'$newpost' => 'true',
|
||||
'$baseurl' => $a->get_baseurl(true),
|
||||
'$baseurl' => App::get_baseurl(true),
|
||||
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
|
||||
'$geotag' => $geotag,
|
||||
'$nickname' => $x['nickname'],
|
||||
|
@ -1267,7 +1269,7 @@ function status_editor($a,$x, $notes_cid = 0, $popup=false) {
|
|||
'$ptyp' => (($notes_cid) ? 'note' : 'wall'),
|
||||
'$content' => $x['content'],
|
||||
'$post_id' => $x['post_id'],
|
||||
'$baseurl' => $a->get_baseurl(true),
|
||||
'$baseurl' => App::get_baseurl(true),
|
||||
'$defloc' => $x['default_location'],
|
||||
'$visitor' => $x['visitor'],
|
||||
'$pvisit' => (($notes_cid) ? 'none' : $x['visitor']),
|
||||
|
|
|
@ -553,7 +553,7 @@ function update_contact_birthdays() {
|
|||
|
||||
$r = q("SELECT * FROM contact WHERE `bd` != '' AND `bd` != '0000-00-00' AND SUBSTRING(`bd`,1,4) != `bdyear` ");
|
||||
if (dbm::is_result($r)) {
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
|
||||
logger('update_contact_birthday: ' . $rr['bd']);
|
||||
|
||||
|
|
|
@ -26,7 +26,6 @@ function update_fail($update_id, $error_message){
|
|||
}
|
||||
|
||||
// every admin could had different language
|
||||
|
||||
foreach ($adminlist as $admin) {
|
||||
$lang = (($admin['language'])?$admin['language']:'en');
|
||||
push_lang($lang);
|
||||
|
@ -56,11 +55,11 @@ function update_fail($update_id, $error_message){
|
|||
$email_tpl = get_intltext_template("update_fail_eml.tpl");
|
||||
$email_msg = replace_macros($email_tpl, array(
|
||||
'$sitename' => $a->config['sitename'],
|
||||
'$siteurl' => $a->get_baseurl(),
|
||||
'$siteurl' => App::get_baseurl(),
|
||||
'$update' => DB_UPDATE_VERSION,
|
||||
'$error' => sprintf(t('Update %s failed. See error logs.'), DB_UPDATE_VERSION)
|
||||
));
|
||||
$subject=sprintf(t('Update Error at %s'), $a->get_baseurl());
|
||||
$subject=sprintf(t('Update Error at %s'), App::get_baseurl());
|
||||
require_once('include/email.php');
|
||||
$subject = email_header_encode($subject,'UTF-8');
|
||||
mail($a->config['admin_email'], $subject, $email_msg,
|
||||
|
@ -83,8 +82,9 @@ function table_structure($table) {
|
|||
|
||||
if (dbm::is_result($indexes))
|
||||
foreach ($indexes AS $index) {
|
||||
if ($index["Index_type"] == "FULLTEXT")
|
||||
if ($index["Index_type"] == "FULLTEXT") {
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($index['Key_name'] != 'PRIMARY' && $index['Non_unique'] == '0' && !isset($indexdata[$index["Key_name"]])) {
|
||||
$indexdata[$index["Key_name"]] = array('UNIQUE');
|
||||
|
@ -95,26 +95,31 @@ function table_structure($table) {
|
|||
// To avoid the need to add this to every index definition we just ignore it here.
|
||||
// Exception are primary indexes
|
||||
// Since there are some combindex primary indexes we use the limit of 180 here.
|
||||
if (($index["Sub_part"] != "") AND (($index["Sub_part"] < 180) OR ($index["Key_name"] == "PRIMARY")))
|
||||
if (($index["Sub_part"] != "") AND (($index["Sub_part"] < 180) OR ($index["Key_name"] == "PRIMARY"))) {
|
||||
$column .= "(".$index["Sub_part"].")";
|
||||
}
|
||||
|
||||
$indexdata[$index["Key_name"]][] = $column;
|
||||
}
|
||||
|
||||
if (dbm::is_result($structures)) {
|
||||
foreach($structures AS $field) {
|
||||
foreach ($structures AS $field) {
|
||||
$fielddata[$field["Field"]]["type"] = $field["Type"];
|
||||
if ($field["Null"] == "NO")
|
||||
if ($field["Null"] == "NO") {
|
||||
$fielddata[$field["Field"]]["not null"] = true;
|
||||
}
|
||||
|
||||
if (isset($field["Default"]))
|
||||
if (isset($field["Default"])) {
|
||||
$fielddata[$field["Field"]]["default"] = $field["Default"];
|
||||
}
|
||||
|
||||
if ($field["Extra"] != "")
|
||||
if ($field["Extra"] != "") {
|
||||
$fielddata[$field["Field"]]["extra"] = $field["Extra"];
|
||||
}
|
||||
|
||||
if ($field["Key"] == "PRI")
|
||||
if ($field["Key"] == "PRI") {
|
||||
$fielddata[$field["Field"]]["primary"] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
return(array("fields"=>$fielddata, "indexes"=>$indexdata));
|
||||
|
@ -138,13 +143,15 @@ function print_structure($database, $charset) {
|
|||
function update_structure($verbose, $action, $tables=null, $definition=null) {
|
||||
global $a, $db;
|
||||
|
||||
if ($action)
|
||||
if ($action) {
|
||||
set_config('system', 'maintenance', 1);
|
||||
}
|
||||
|
||||
if (isset($a->config["system"]["db_charset"]))
|
||||
if (isset($a->config["system"]["db_charset"])) {
|
||||
$charset = $a->config["system"]["db_charset"];
|
||||
else
|
||||
} else {
|
||||
$charset = "utf8";
|
||||
}
|
||||
|
||||
$errors = false;
|
||||
|
||||
|
@ -153,8 +160,9 @@ function update_structure($verbose, $action, $tables=null, $definition=null) {
|
|||
// Get the current structure
|
||||
$database = array();
|
||||
|
||||
if (is_null($tables))
|
||||
$tables = q("show tables");
|
||||
if (is_null($tables)) {
|
||||
$tables = q("SHOW TABLES");
|
||||
}
|
||||
|
||||
foreach ($tables AS $table) {
|
||||
$table = current($table);
|
||||
|
@ -164,21 +172,24 @@ function update_structure($verbose, $action, $tables=null, $definition=null) {
|
|||
}
|
||||
|
||||
// Get the definition
|
||||
if (is_null($definition))
|
||||
if (is_null($definition)) {
|
||||
$definition = db_definition($charset);
|
||||
}
|
||||
|
||||
// Ensure index conversion to unique removes duplicates
|
||||
$sql_config = "SET session old_alter_table=1;";
|
||||
if ($verbose)
|
||||
if ($verbose) {
|
||||
echo $sql_config."\n";
|
||||
if ($action)
|
||||
@$db->q($sql_config);
|
||||
}
|
||||
if ($action) {
|
||||
$db->q($sql_config);
|
||||
}
|
||||
|
||||
// MySQL >= 5.7.4 doesn't support the IGNORE keyword in ALTER TABLE statements
|
||||
if ((version_compare($db->server_info(), '5.7.4') >= 0) AND
|
||||
!(strpos($db->server_info(), 'MariaDB') !== false)) {
|
||||
$ignore = '';
|
||||
}else {
|
||||
} else {
|
||||
$ignore = ' IGNORE';
|
||||
}
|
||||
|
||||
|
@ -193,10 +204,12 @@ function update_structure($verbose, $action, $tables=null, $definition=null) {
|
|||
}
|
||||
$is_new_table = True;
|
||||
} else {
|
||||
// Drop the index if it isn't present in the definition
|
||||
// or the definition differ from current status
|
||||
// and index name doesn't start with "local_"
|
||||
foreach ($database[$name]["indexes"] AS $indexname => $fieldnames) {
|
||||
/*
|
||||
* Drop the index if it isn't present in the definition
|
||||
* or the definition differ from current status
|
||||
* and index name doesn't start with "local_"
|
||||
*/
|
||||
foreach ($database[$name]["indexes"] as $indexname => $fieldnames) {
|
||||
$current_index_definition = implode(",",$fieldnames);
|
||||
if (isset($structure["indexes"][$indexname])) {
|
||||
$new_index_definition = implode(",",$structure["indexes"][$indexname]);
|
||||
|
@ -205,39 +218,44 @@ function update_structure($verbose, $action, $tables=null, $definition=null) {
|
|||
}
|
||||
if ($current_index_definition != $new_index_definition && substr($indexname, 0, 6) != 'local_') {
|
||||
$sql2=db_drop_index($indexname);
|
||||
if ($sql3 == "")
|
||||
if ($sql3 == "") {
|
||||
$sql3 = "ALTER".$ignore." TABLE `".$name."` ".$sql2;
|
||||
else
|
||||
} else {
|
||||
$sql3 .= ", ".$sql2;
|
||||
}
|
||||
}
|
||||
}
|
||||
// Compare the field structure field by field
|
||||
foreach ($structure["fields"] AS $fieldname => $parameters) {
|
||||
if (!isset($database[$name]["fields"][$fieldname])) {
|
||||
$sql2=db_add_table_field($fieldname, $parameters);
|
||||
if ($sql3 == "")
|
||||
if ($sql3 == "") {
|
||||
$sql3 = "ALTER TABLE `".$name."` ".$sql2;
|
||||
else
|
||||
} else {
|
||||
$sql3 .= ", ".$sql2;
|
||||
}
|
||||
} else {
|
||||
// Compare the field definition
|
||||
$current_field_definition = implode(",",$database[$name]["fields"][$fieldname]);
|
||||
$new_field_definition = implode(",",$parameters);
|
||||
if ($current_field_definition != $new_field_definition) {
|
||||
$sql2=db_modify_table_field($fieldname, $parameters);
|
||||
if ($sql3 == "")
|
||||
if ($sql3 == "") {
|
||||
$sql3 = "ALTER TABLE `".$name."` ".$sql2;
|
||||
else
|
||||
} else {
|
||||
$sql3 .= ", ".$sql2;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Create the index if the index don't exists in database
|
||||
// or the definition differ from the current status.
|
||||
// Don't create keys if table is new
|
||||
/*
|
||||
* Create the index if the index don't exists in database
|
||||
* or the definition differ from the current status.
|
||||
* Don't create keys if table is new
|
||||
*/
|
||||
if (!$is_new_table) {
|
||||
foreach ($structure["indexes"] AS $indexname => $fieldnames) {
|
||||
if (isset($database[$name]["indexes"][$indexname])) {
|
||||
|
@ -367,10 +385,11 @@ function db_create_index($indexname, $fieldnames, $method="ADD") {
|
|||
if ($names != "")
|
||||
$names .= ",";
|
||||
|
||||
if (preg_match('|(.+)\((\d+)\)|', $fieldname, $matches))
|
||||
if (preg_match('|(.+)\((\d+)\)|', $fieldname, $matches)) {
|
||||
$names .= "`".dbesc($matches[1])."`(".intval($matches[2]).")";
|
||||
else
|
||||
} else {
|
||||
$names .= "`".dbesc($fieldname)."`";
|
||||
}
|
||||
}
|
||||
|
||||
if ($indexname == "PRIMARY") {
|
||||
|
@ -383,8 +402,9 @@ function db_create_index($indexname, $fieldnames, $method="ADD") {
|
|||
}
|
||||
|
||||
function db_index_suffix($charset, $reduce = 0) {
|
||||
if ($charset != "utf8mb4")
|
||||
if ($charset != "utf8mb4") {
|
||||
return "";
|
||||
}
|
||||
|
||||
// On utf8mb4 indexes can only have a length of 191
|
||||
$indexlength = 191 - $reduce;
|
||||
|
@ -444,13 +464,13 @@ function db_definition($charset) {
|
|||
);
|
||||
$database["cache"] = array(
|
||||
"fields" => array(
|
||||
"k" => array("type" => "varchar(255)", "not null" => "1", "primary" => "1"),
|
||||
"k" => array("type" => "varbinary(255)", "not null" => "1", "primary" => "1"),
|
||||
"v" => array("type" => "text"),
|
||||
"expire_mode" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
|
||||
"updated" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
|
||||
),
|
||||
"indexes" => array(
|
||||
"PRIMARY" => array("k".db_index_suffix($charset)),
|
||||
"PRIMARY" => array("k"),
|
||||
"updated" => array("updated"),
|
||||
"expire_mode_updated" => array("expire_mode", "updated"),
|
||||
)
|
||||
|
@ -484,13 +504,13 @@ function db_definition($charset) {
|
|||
$database["config"] = array(
|
||||
"fields" => array(
|
||||
"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
|
||||
"cat" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||
"k" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||
"cat" => array("type" => "varbinary(255)", "not null" => "1", "default" => ""),
|
||||
"k" => array("type" => "varbinary(255)", "not null" => "1", "default" => ""),
|
||||
"v" => array("type" => "text"),
|
||||
),
|
||||
"indexes" => array(
|
||||
"PRIMARY" => array("id"),
|
||||
"cat_k" => array("UNIQUE", "cat(30)","k(30)"),
|
||||
"cat_k" => array("UNIQUE", "cat", "k"),
|
||||
)
|
||||
);
|
||||
$database["contact"] = array(
|
||||
|
@ -590,7 +610,7 @@ function db_definition($charset) {
|
|||
$database["deliverq"] = array(
|
||||
"fields" => array(
|
||||
"id" => array("type" => "int(10) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
|
||||
"cmd" => array("type" => "varchar(32)", "not null" => "1", "default" => ""),
|
||||
"cmd" => array("type" => "varbinary(32)", "not null" => "1", "default" => ""),
|
||||
"item" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
|
||||
"contact" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
|
||||
),
|
||||
|
@ -602,6 +622,7 @@ function db_definition($charset) {
|
|||
$database["event"] = array(
|
||||
"fields" => array(
|
||||
"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
|
||||
"guid" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||
"uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
|
||||
"cid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
|
||||
"uri" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||
|
@ -1072,25 +1093,25 @@ function db_definition($charset) {
|
|||
);
|
||||
$database["oembed"] = array(
|
||||
"fields" => array(
|
||||
"url" => array("type" => "varchar(255)", "not null" => "1", "primary" => "1"),
|
||||
"url" => array("type" => "varbinary(255)", "not null" => "1", "primary" => "1"),
|
||||
"content" => array("type" => "text"),
|
||||
"created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
|
||||
),
|
||||
"indexes" => array(
|
||||
"PRIMARY" => array("url".db_index_suffix($charset)),
|
||||
"PRIMARY" => array("url"),
|
||||
"created" => array("created"),
|
||||
)
|
||||
);
|
||||
$database["parsed_url"] = array(
|
||||
"fields" => array(
|
||||
"url" => array("type" => "varchar(255)", "not null" => "1", "primary" => "1"),
|
||||
"url" => array("type" => "varbinary(255)", "not null" => "1", "primary" => "1"),
|
||||
"guessing" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0", "primary" => "1"),
|
||||
"oembed" => array("type" => "tinyint(1)", "not null" => "1", "default" => "0", "primary" => "1"),
|
||||
"content" => array("type" => "text"),
|
||||
"created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
|
||||
),
|
||||
"indexes" => array(
|
||||
"PRIMARY" => array("url".db_index_suffix($charset), "guessing", "oembed"),
|
||||
"PRIMARY" => array("url", "guessing", "oembed"),
|
||||
"created" => array("created"),
|
||||
)
|
||||
);
|
||||
|
@ -1098,13 +1119,13 @@ function db_definition($charset) {
|
|||
"fields" => array(
|
||||
"id" => array("type" => "int(11)", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
|
||||
"uid" => array("type" => "int(11)", "not null" => "1", "default" => "0"),
|
||||
"cat" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||
"k" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||
"cat" => array("type" => "varbinary(255)", "not null" => "1", "default" => ""),
|
||||
"k" => array("type" => "varbinary(255)", "not null" => "1", "default" => ""),
|
||||
"v" => array("type" => "mediumtext"),
|
||||
),
|
||||
"indexes" => array(
|
||||
"PRIMARY" => array("id"),
|
||||
"uid_cat_k" => array("UNIQUE", "uid","cat(30)","k(30)"),
|
||||
"uid_cat_k" => array("UNIQUE", "uid", "cat", "k"),
|
||||
)
|
||||
);
|
||||
$database["photo"] = array(
|
||||
|
@ -1176,7 +1197,7 @@ function db_definition($charset) {
|
|||
$database["process"] = array(
|
||||
"fields" => array(
|
||||
"pid" => array("type" => "int(10) unsigned", "not null" => "1", "primary" => "1"),
|
||||
"command" => array("type" => "varchar(32)", "not null" => "1", "default" => ""),
|
||||
"command" => array("type" => "varbinary(32)", "not null" => "1", "default" => ""),
|
||||
"created" => array("type" => "datetime", "not null" => "1", "default" => "0000-00-00 00:00:00"),
|
||||
),
|
||||
"indexes" => array(
|
||||
|
@ -1310,7 +1331,7 @@ function db_definition($charset) {
|
|||
$database["session"] = array(
|
||||
"fields" => array(
|
||||
"id" => array("type" => "bigint(20) unsigned", "not null" => "1", "extra" => "auto_increment", "primary" => "1"),
|
||||
"sid" => array("type" => "varchar(255)", "not null" => "1", "default" => ""),
|
||||
"sid" => array("type" => "varbinary(255)", "not null" => "1", "default" => ""),
|
||||
"data" => array("type" => "text"),
|
||||
"expire" => array("type" => "int(10) unsigned", "not null" => "1", "default" => "0"),
|
||||
),
|
||||
|
@ -1573,9 +1594,6 @@ function dbstructure_run(&$argv, &$argc) {
|
|||
echo "dumpsql dump database schema\n";
|
||||
return;
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
if (array_search(__file__,get_included_files())===0){
|
||||
|
|
|
@ -323,7 +323,7 @@ function delivery_run(&$argv, &$argc){
|
|||
|
||||
// perform local delivery if we are on the same site
|
||||
|
||||
if (link_compare($basepath,$a->get_baseurl())) {
|
||||
if (link_compare($basepath,App::get_baseurl())) {
|
||||
|
||||
$nickname = basename($contact['url']);
|
||||
if ($contact['issued-id'])
|
||||
|
@ -508,7 +508,7 @@ function delivery_run(&$argv, &$argc){
|
|||
break;
|
||||
|
||||
if ($mail) {
|
||||
diaspora::send_mail($item,$owner,$contact);
|
||||
Diaspora::send_mail($item,$owner,$contact);
|
||||
break;
|
||||
}
|
||||
|
||||
|
@ -518,34 +518,25 @@ function delivery_run(&$argv, &$argc){
|
|||
if (!$contact['pubkey'] && !$public_message)
|
||||
break;
|
||||
|
||||
$unsupported_activities = array(ACTIVITY_DISLIKE, ACTIVITY_ATTEND, ACTIVITY_ATTENDNO, ACTIVITY_ATTENDMAYBE);
|
||||
|
||||
//don't transmit activities which are not supported by diaspora
|
||||
foreach($unsupported_activities as $act) {
|
||||
if (activity_match($target_item['verb'],$act)) {
|
||||
break 2;
|
||||
}
|
||||
}
|
||||
|
||||
if (($target_item['deleted']) && (($target_item['uri'] === $target_item['parent-uri']) || $followup)) {
|
||||
// top-level retraction
|
||||
logger('diaspora retract: '.$loc);
|
||||
diaspora::send_retraction($target_item,$owner,$contact,$public_message);
|
||||
Diaspora::send_retraction($target_item,$owner,$contact,$public_message);
|
||||
break;
|
||||
} elseif ($followup) {
|
||||
// send comments and likes to owner to relay
|
||||
logger('diaspora followup: '.$loc);
|
||||
diaspora::send_followup($target_item,$owner,$contact,$public_message);
|
||||
Diaspora::send_followup($target_item,$owner,$contact,$public_message);
|
||||
break;
|
||||
} elseif ($target_item['uri'] !== $target_item['parent-uri']) {
|
||||
// we are the relay - send comments, likes and relayable_retractions to our conversants
|
||||
logger('diaspora relay: '.$loc);
|
||||
diaspora::send_relay($target_item,$owner,$contact,$public_message);
|
||||
Diaspora::send_relay($target_item,$owner,$contact,$public_message);
|
||||
break;
|
||||
} elseif ($top_level && !$walltowall) {
|
||||
// currently no workable solution for sending walltowall
|
||||
logger('diaspora status: '.$loc);
|
||||
diaspora::send_status($target_item,$owner,$contact,$public_message);
|
||||
Diaspora::send_status($target_item,$owner,$contact,$public_message);
|
||||
break;
|
||||
}
|
||||
|
||||
|
|
|
@ -105,8 +105,9 @@ class dfrn {
|
|||
dbesc($owner_nick)
|
||||
);
|
||||
|
||||
if(! dbm::is_result($r))
|
||||
if (! dbm::is_result($r)) {
|
||||
killme();
|
||||
}
|
||||
|
||||
$owner = $r[0];
|
||||
$owner_id = $owner['uid'];
|
||||
|
@ -139,8 +140,9 @@ class dfrn {
|
|||
intval($owner_id)
|
||||
);
|
||||
|
||||
if(! dbm::is_result($r))
|
||||
if (! dbm::is_result($r)) {
|
||||
killme();
|
||||
}
|
||||
|
||||
$contact = $r[0];
|
||||
require_once('include/security.php');
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -96,15 +96,20 @@ function email_get_msg($mbox,$uid, $reply) {
|
|||
$html = '';
|
||||
foreach($struc->parts as $ptop => $p) {
|
||||
$x = email_get_part($mbox,$uid,$p,$ptop + 1, 'plain');
|
||||
if($x) $text .= $x;
|
||||
if ($x) {
|
||||
$text .= $x;
|
||||
}
|
||||
|
||||
$x = email_get_part($mbox,$uid,$p,$ptop + 1, 'html');
|
||||
if($x) $html .= $x;
|
||||
if ($x) {
|
||||
$html .= $x;
|
||||
}
|
||||
}
|
||||
if (trim($html) != '')
|
||||
if (trim($html) != '') {
|
||||
$ret['body'] = html2bbcode($html);
|
||||
else
|
||||
} else {
|
||||
$ret['body'] = $text;
|
||||
}
|
||||
}
|
||||
|
||||
$ret['body'] = removegpg($ret['body']);
|
||||
|
@ -112,8 +117,9 @@ function email_get_msg($mbox,$uid, $reply) {
|
|||
$ret['body'] = $msg['body'];
|
||||
$ret['body'] = convertquote($ret['body'], $reply);
|
||||
|
||||
if (trim($html) != '')
|
||||
if (trim($html) != '') {
|
||||
$ret['body'] = removelinebreak($ret['body']);
|
||||
}
|
||||
|
||||
$ret['body'] = unifyattributionline($ret['body']);
|
||||
|
||||
|
@ -189,8 +195,9 @@ function email_get_part($mbox,$uid,$p,$partno, $subtype) {
|
|||
$x = "";
|
||||
foreach ($p->parts as $partno0=>$p2) {
|
||||
$x .= email_get_part($mbox,$uid,$p2,$partno . '.' . ($partno0+1), $subtype); // 1.2, 1.2.1, etc.
|
||||
//if($x)
|
||||
//if ($x) {
|
||||
// return $x;
|
||||
//}
|
||||
}
|
||||
return $x;
|
||||
}
|
||||
|
|
|
@ -23,7 +23,7 @@ function notification($params) {
|
|||
|
||||
$banner = t('Friendica Notification');
|
||||
$product = FRIENDICA_PLATFORM;
|
||||
$siteurl = $a->get_baseurl(true);
|
||||
$siteurl = App::get_baseurl(true);
|
||||
$thanks = t('Thank You,');
|
||||
$sitename = $a->config['sitename'];
|
||||
if (!x($a->config['admin_name']))
|
||||
|
@ -58,7 +58,7 @@ function notification($params) {
|
|||
$additional_mail_header .= "X-Friendica-Platform: ".FRIENDICA_PLATFORM."\n";
|
||||
$additional_mail_header .= "X-Friendica-Version: ".FRIENDICA_VERSION."\n";
|
||||
$additional_mail_header .= "List-ID: <notification.".$hostname.">\n";
|
||||
$additional_mail_header .= "List-Archive: <".$a->get_baseurl()."/notifications/system>\n";
|
||||
$additional_mail_header .= "List-Archive: <".App::get_baseurl()."/notifications/system>\n";
|
||||
|
||||
if (array_key_exists('item', $params)) {
|
||||
$title = $params['item']['title'];
|
||||
|
@ -494,7 +494,7 @@ function notification($params) {
|
|||
}
|
||||
|
||||
|
||||
$itemlink = $a->get_baseurl().'/notify/view/'.$notify_id;
|
||||
$itemlink = App::get_baseurl().'/notify/view/'.$notify_id;
|
||||
$msg = replace_macros($epreamble, array('$itemlink' => $itemlink));
|
||||
$msg_cache = format_notification_message($datarray['name_cache'], strip_tags(bbcode($msg)));
|
||||
$r = q("UPDATE `notify` SET `msg` = '%s', `msg_cache` = '%s' WHERE `id` = %d AND `uid` = %d",
|
||||
|
@ -648,8 +648,6 @@ function notification($params) {
|
|||
* @param str $defaulttype (Optional) Forces a notification with this type.
|
||||
*/
|
||||
function check_item_notification($itemid, $uid, $defaulttype = "") {
|
||||
$a = get_app();
|
||||
|
||||
$notification_data = array("uid" => $uid, "profiles" => array());
|
||||
call_hooks('check_item_notification', $notification_data);
|
||||
|
||||
|
@ -667,7 +665,7 @@ function check_item_notification($itemid, $uid, $defaulttype = "") {
|
|||
$profiles[] = $owner[0]["url"];
|
||||
|
||||
// Notifications from Diaspora are often with an URL in the Diaspora format
|
||||
$profiles[] = $a->get_baseurl()."/u/".$user[0]["nickname"];
|
||||
$profiles[] = App::get_baseurl()."/u/".$user[0]["nickname"];
|
||||
|
||||
$profiles2 = array();
|
||||
|
||||
|
|
|
@ -246,6 +246,7 @@ function event_store($arr) {
|
|||
$arr['cid'] = ((intval($arr['cid'])) ? intval($arr['cid']) : 0);
|
||||
$arr['uri'] = (x($arr,'uri') ? $arr['uri'] : item_new_uri($a->get_hostname(),$arr['uid']));
|
||||
$arr['private'] = ((x($arr,'private')) ? intval($arr['private']) : 0);
|
||||
$arr['guid'] = get_guid(32);
|
||||
|
||||
if($arr['cid'])
|
||||
$c = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
|
@ -333,16 +334,16 @@ function event_store($arr) {
|
|||
call_hooks("event_updated", $arr['id']);
|
||||
|
||||
return $item_id;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
|
||||
// New event. Store it.
|
||||
|
||||
$r = q("INSERT INTO `event` ( `uid`,`cid`,`uri`,`created`,`edited`,`start`,`finish`,`summary`, `desc`,`location`,`type`,
|
||||
$r = q("INSERT INTO `event` (`uid`,`cid`,`guid`,`uri`,`created`,`edited`,`start`,`finish`,`summary`, `desc`,`location`,`type`,
|
||||
`adjust`,`nofinish`,`allow_cid`,`allow_gid`,`deny_cid`,`deny_gid`)
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s' ) ",
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', '%s', '%s' ) ",
|
||||
intval($arr['uid']),
|
||||
intval($arr['cid']),
|
||||
dbesc($arr['guid']),
|
||||
dbesc($arr['uri']),
|
||||
dbesc($arr['created']),
|
||||
dbesc($arr['edited']),
|
||||
|
@ -408,7 +409,7 @@ function event_store($arr) {
|
|||
intval($arr['uid'])
|
||||
);
|
||||
//if (dbm::is_result($r))
|
||||
// $plink = $a->get_baseurl() . '/display/' . $r[0]['nickname'] . '/' . $item_id;
|
||||
// $plink = App::get_baseurl() . '/display/' . $r[0]['nickname'] . '/' . $item_id;
|
||||
|
||||
|
||||
if($item_id) {
|
||||
|
|
|
@ -40,7 +40,7 @@ function expire_run(&$argv, &$argc){
|
|||
|
||||
$r = q("SELECT `uid`,`username`,`expire` FROM `user` WHERE `expire` != 0");
|
||||
if (dbm::is_result($r)) {
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
logger('Expire: ' . $rr['username'] . ' interval: ' . $rr['expire'], LOGGER_DEBUG);
|
||||
item_expire($rr['uid'],$rr['expire']);
|
||||
}
|
||||
|
|
|
@ -77,12 +77,12 @@ function new_contact($uid,$url,$interactive = false) {
|
|||
|
||||
$url = str_replace('/#!/','/',$url);
|
||||
|
||||
if(! allowed_url($url)) {
|
||||
if (! allowed_url($url)) {
|
||||
$result['message'] = t('Disallowed profile URL.');
|
||||
return $result;
|
||||
}
|
||||
|
||||
if(! $url) {
|
||||
if (! $url) {
|
||||
$result['message'] = t('Connect URL missing.');
|
||||
return $result;
|
||||
}
|
||||
|
@ -91,17 +91,21 @@ function new_contact($uid,$url,$interactive = false) {
|
|||
|
||||
call_hooks('follow', $arr);
|
||||
|
||||
if(x($arr['contact'],'name'))
|
||||
if (x($arr['contact'],'name')) {
|
||||
$ret = $arr['contact'];
|
||||
else
|
||||
}
|
||||
else {
|
||||
$ret = probe_url($url);
|
||||
}
|
||||
|
||||
if($ret['network'] === NETWORK_DFRN) {
|
||||
if($interactive) {
|
||||
if(strlen($a->path))
|
||||
$myaddr = bin2hex($a->get_baseurl() . '/profile/' . $a->user['nickname']);
|
||||
else
|
||||
if ($ret['network'] === NETWORK_DFRN) {
|
||||
if ($interactive) {
|
||||
if (strlen($a->path)) {
|
||||
$myaddr = bin2hex(App::get_baseurl() . '/profile/' . $a->user['nickname']);
|
||||
}
|
||||
else {
|
||||
$myaddr = bin2hex($a->user['nickname'] . '@' . $a->get_hostname());
|
||||
}
|
||||
|
||||
goaway($ret['request'] . "&addr=$myaddr");
|
||||
|
||||
|
@ -254,7 +258,7 @@ function new_contact($uid,$url,$interactive = false) {
|
|||
intval($uid)
|
||||
);
|
||||
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
$result['message'] .= t('Unable to retrieve contact information.') . EOL;
|
||||
return $result;
|
||||
}
|
||||
|
@ -289,8 +293,9 @@ function new_contact($uid,$url,$interactive = false) {
|
|||
$slap = ostatus::salmon($item, $r[0]);
|
||||
slapper($r[0], $contact['notify'], $slap);
|
||||
}
|
||||
|
||||
if ($contact['network'] == NETWORK_DIASPORA) {
|
||||
$ret = diaspora::send_share($a->user,$contact);
|
||||
$ret = Diaspora::send_share($a->user,$contact);
|
||||
logger('share returns: '.$ret);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -53,7 +53,7 @@ function group_rmv($uid,$name) {
|
|||
$r = q("SELECT def_gid, allow_gid, deny_gid FROM user WHERE uid = %d LIMIT 1",
|
||||
intval($uid)
|
||||
);
|
||||
if($r) {
|
||||
if ($r) {
|
||||
$user_info = $r[0];
|
||||
$change = false;
|
||||
|
||||
|
@ -143,13 +143,14 @@ function group_add_member($uid,$name,$member,$gid = 0) {
|
|||
return true; // You might question this, but
|
||||
// we indicate success because the group member was in fact created
|
||||
// -- It was just created at another time
|
||||
if(! dbm::is_result($r))
|
||||
if (! dbm::is_result($r)) {
|
||||
$r = q("INSERT INTO `group_member` (`uid`, `gid`, `contact-id`)
|
||||
VALUES( %d, %d, %d ) ",
|
||||
intval($uid),
|
||||
intval($gid),
|
||||
intval($member)
|
||||
);
|
||||
);
|
||||
}
|
||||
return $r;
|
||||
}
|
||||
|
||||
|
@ -198,7 +199,7 @@ function mini_group_select($uid,$gid = 0, $label = "") {
|
|||
);
|
||||
$grps[] = array('name' => '', 'id' => '0', 'selected' => '');
|
||||
if (dbm::is_result($r)) {
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
$grps[] = array('name' => $rr['name'], 'id' => $rr['id'], 'selected' => (($gid == $rr['id']) ? 'true' : ''));
|
||||
}
|
||||
|
||||
|
@ -233,7 +234,7 @@ function group_side($every="contacts",$each="group",$editmode = "standard", $gro
|
|||
|
||||
$o = '';
|
||||
|
||||
if(! local_user())
|
||||
if (! local_user())
|
||||
return '';
|
||||
|
||||
$groups = array();
|
||||
|
@ -256,7 +257,7 @@ function group_side($every="contacts",$each="group",$editmode = "standard", $gro
|
|||
}
|
||||
|
||||
if (dbm::is_result($r)) {
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
$selected = (($group_id == $rr['id']) ? ' group-selected' : '');
|
||||
|
||||
if ($editmode == "full") {
|
||||
|
|
|
@ -229,13 +229,16 @@ function profile_sidebar($profile, $block = 0) {
|
|||
|
||||
// Is the local user already connected to that user?
|
||||
if ($connect AND local_user()) {
|
||||
if (isset($profile["url"]))
|
||||
if (isset($profile["url"])) {
|
||||
$profile_url = normalise_link($profile["url"]);
|
||||
else
|
||||
$profile_url = normalise_link($a->get_baseurl()."/profile/".$profile["nickname"]);
|
||||
}
|
||||
else {
|
||||
$profile_url = normalise_link(App::get_baseurl()."/profile/".$profile["nickname"]);
|
||||
}
|
||||
|
||||
$r = q("SELECT * FROM `contact` WHERE NOT `pending` AND `uid` = %d AND `nurl` = '%s'",
|
||||
local_user(), $profile_url);
|
||||
|
||||
if (dbm::is_result($r))
|
||||
$connect = false;
|
||||
}
|
||||
|
@ -279,7 +282,7 @@ function profile_sidebar($profile, $block = 0) {
|
|||
|
||||
// show edit profile to yourself
|
||||
if ($profile['uid'] == local_user() && feature_enabled(local_user(),'multi_profiles')) {
|
||||
$profile['edit'] = array($a->get_baseurl(). '/profiles', t('Profiles'),"", t('Manage/edit profiles'));
|
||||
$profile['edit'] = array(App::get_baseurl(). '/profiles', t('Profiles'),"", t('Manage/edit profiles'));
|
||||
$r = q("SELECT * FROM `profile` WHERE `uid` = %d",
|
||||
local_user());
|
||||
|
||||
|
@ -291,7 +294,7 @@ function profile_sidebar($profile, $block = 0) {
|
|||
|
||||
if (dbm::is_result($r)) {
|
||||
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
$profile['menu']['entries'][] = array(
|
||||
'photo' => $rr['thumb'],
|
||||
'id' => $rr['id'],
|
||||
|
@ -308,7 +311,7 @@ function profile_sidebar($profile, $block = 0) {
|
|||
}
|
||||
}
|
||||
if ($profile['uid'] == local_user() && !feature_enabled(local_user(),'multi_profiles')) {
|
||||
$profile['edit'] = array($a->get_baseurl(). '/profiles/'.$profile['id'], t('Edit profile'),"", t('Edit profile'));
|
||||
$profile['edit'] = array(App::get_baseurl(). '/profiles/'.$profile['id'], t('Edit profile'),"", t('Edit profile'));
|
||||
$profile['menu'] = array(
|
||||
'chg_photo' => t('Change profile photo'),
|
||||
'cr_new' => null,
|
||||
|
@ -349,15 +352,15 @@ function profile_sidebar($profile, $block = 0) {
|
|||
if ($profile['guid'] != "")
|
||||
$diaspora = array(
|
||||
'guid' => $profile['guid'],
|
||||
'podloc' => $a->get_baseurl(),
|
||||
'podloc' => App::get_baseurl(),
|
||||
'searchable' => (($profile['publish'] && $profile['net-publish']) ? 'true' : 'false' ),
|
||||
'nickname' => $profile['nickname'],
|
||||
'fullname' => $profile['name'],
|
||||
'firstname' => $firstname,
|
||||
'lastname' => $lastname,
|
||||
'photo300' => $a->get_baseurl() . '/photo/custom/300/' . $profile['uid'] . '.jpg',
|
||||
'photo100' => $a->get_baseurl() . '/photo/custom/100/' . $profile['uid'] . '.jpg',
|
||||
'photo50' => $a->get_baseurl() . '/photo/custom/50/' . $profile['uid'] . '.jpg',
|
||||
'photo300' => App::get_baseurl() . '/photo/custom/300/' . $profile['uid'] . '.jpg',
|
||||
'photo100' => App::get_baseurl() . '/photo/custom/100/' . $profile['uid'] . '.jpg',
|
||||
'photo50' => App::get_baseurl() . '/photo/custom/50/' . $profile['uid'] . '.jpg',
|
||||
);
|
||||
else
|
||||
$diaspora = false;
|
||||
|
@ -466,7 +469,7 @@ function get_birthdays() {
|
|||
$cids = array();
|
||||
|
||||
$istoday = false;
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
if(strlen($rr['name']))
|
||||
$total ++;
|
||||
if((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now))
|
||||
|
@ -489,7 +492,7 @@ function get_birthdays() {
|
|||
$url = $rr['url'];
|
||||
if($rr['network'] === NETWORK_DFRN) {
|
||||
$sparkle = " sparkle";
|
||||
$url = $a->get_baseurl() . '/redir/' . $rr['cid'];
|
||||
$url = App::get_baseurl() . '/redir/' . $rr['cid'];
|
||||
}
|
||||
|
||||
$rr['link'] = $url;
|
||||
|
@ -503,7 +506,7 @@ function get_birthdays() {
|
|||
}
|
||||
$tpl = get_markup_template("birthdays_reminder.tpl");
|
||||
return replace_macros($tpl, array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
'$classtoday' => $classtoday,
|
||||
'$count' => $total,
|
||||
'$event_reminders' => t('Birthday Reminders'),
|
||||
|
@ -546,7 +549,7 @@ function get_events() {
|
|||
if (dbm::is_result($r)) {
|
||||
$now = strtotime('now');
|
||||
$istoday = false;
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
if(strlen($rr['name']))
|
||||
$total ++;
|
||||
|
||||
|
@ -587,7 +590,7 @@ function get_events() {
|
|||
|
||||
$tpl = get_markup_template("events_reminder.tpl");
|
||||
return replace_macros($tpl, array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
'$classtoday' => $classtoday,
|
||||
'$count' => count($r) - $skip,
|
||||
'$event_reminders' => t('Event Reminders'),
|
||||
|
@ -684,8 +687,9 @@ function advanced_profile(&$a) {
|
|||
$profile['forumlist'] = array( t('Forums:'), ForumManager::profile_advanced($uid));
|
||||
}
|
||||
|
||||
if ($a->profile['uid'] == local_user())
|
||||
$profile['edit'] = array($a->get_baseurl(). '/profiles/'.$a->profile['id'], t('Edit profile'),"", t('Edit profile'));
|
||||
if ($a->profile['uid'] == local_user()) {
|
||||
$profile['edit'] = array(App::get_baseurl(). '/profiles/'.$a->profile['id'], t('Edit profile'),"", t('Edit profile'));
|
||||
}
|
||||
|
||||
return replace_macros($tpl, array(
|
||||
'$title' => t('Profile'),
|
||||
|
@ -707,7 +711,7 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
|
|||
if(x($_GET,'tab'))
|
||||
$tab = notags(trim($_GET['tab']));
|
||||
|
||||
$url = $a->get_baseurl() . '/profile/' . $nickname;
|
||||
$url = App::get_baseurl() . '/profile/' . $nickname;
|
||||
|
||||
$tabs = array(
|
||||
array(
|
||||
|
@ -728,7 +732,7 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
|
|||
),
|
||||
array(
|
||||
'label' => t('Photos'),
|
||||
'url' => $a->get_baseurl() . '/photos/' . $nickname,
|
||||
'url' => App::get_baseurl() . '/photos/' . $nickname,
|
||||
'sel' => ((!isset($tab)&&$a->argv[0]=='photos')?'active':''),
|
||||
'title' => t('Photo Albums'),
|
||||
'id' => 'photo-tab',
|
||||
|
@ -736,7 +740,7 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
|
|||
),
|
||||
array(
|
||||
'label' => t('Videos'),
|
||||
'url' => $a->get_baseurl() . '/videos/' . $nickname,
|
||||
'url' => App::get_baseurl() . '/videos/' . $nickname,
|
||||
'sel' => ((!isset($tab)&&$a->argv[0]=='videos')?'active':''),
|
||||
'title' => t('Videos'),
|
||||
'id' => 'video-tab',
|
||||
|
@ -748,7 +752,7 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
|
|||
if ($is_owner && $a->theme_events_in_profile) {
|
||||
$tabs[] = array(
|
||||
'label' => t('Events'),
|
||||
'url' => $a->get_baseurl() . '/events',
|
||||
'url' => App::get_baseurl() . '/events',
|
||||
'sel' =>((!isset($tab)&&$a->argv[0]=='events')?'active':''),
|
||||
'title' => t('Events and Calendar'),
|
||||
'id' => 'events-tab',
|
||||
|
@ -759,7 +763,7 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
|
|||
} elseif (! $is_owner) {
|
||||
$tabs[] = array(
|
||||
'label' => t('Events'),
|
||||
'url' => $a->get_baseurl() . '/cal/' . $nickname,
|
||||
'url' => App::get_baseurl() . '/cal/' . $nickname,
|
||||
'sel' =>((!isset($tab)&&$a->argv[0]=='cal')?'active':''),
|
||||
'title' => t('Events and Calendar'),
|
||||
'id' => 'events-tab',
|
||||
|
@ -770,7 +774,7 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
|
|||
if ($is_owner){
|
||||
$tabs[] = array(
|
||||
'label' => t('Personal Notes'),
|
||||
'url' => $a->get_baseurl() . '/notes',
|
||||
'url' => App::get_baseurl() . '/notes',
|
||||
'sel' =>((!isset($tab)&&$a->argv[0]=='notes')?'active':''),
|
||||
'title' => t('Only You Can See This'),
|
||||
'id' => 'notes-tab',
|
||||
|
@ -781,7 +785,7 @@ function profile_tabs($a, $is_owner=False, $nickname=Null){
|
|||
if ((! $is_owner) && ((count($a->profile)) || (! $a->profile['hide-friends']))) {
|
||||
$tabs[] = array(
|
||||
'label' => t('Contacts'),
|
||||
'url' => $a->get_baseurl() . '/viewcontacts/' . $nickname,
|
||||
'url' => App::get_baseurl() . '/viewcontacts/' . $nickname,
|
||||
'sel' => ((!isset($tab)&&$a->argv[0]=='viewcontacts')?'active':''),
|
||||
'title' => t('Contacts'),
|
||||
'id' => 'viewcontacts-tab',
|
||||
|
|
|
@ -208,13 +208,12 @@ function add_page_info_data($data) {
|
|||
|
||||
$hashtags = "";
|
||||
if (isset($data["keywords"]) AND count($data["keywords"])) {
|
||||
$a = get_app();
|
||||
$hashtags = "\n";
|
||||
foreach ($data["keywords"] AS $keyword) {
|
||||
/// @todo make a positive list of allowed characters
|
||||
$hashtag = str_replace(array(" ", "+", "/", ".", "#", "'", "’", "`", "(", ")", "„", "“"),
|
||||
array("","", "", "", "", "", "", "", "", "", "", ""), $keyword);
|
||||
$hashtags .= "#[url=".$a->get_baseurl()."/search?tag=".rawurlencode($hashtag)."]".$hashtag."[/url] ";
|
||||
$hashtags .= "#[url=".App::get_baseurl()."/search?tag=".rawurlencode($hashtag)."]".$hashtag."[/url] ";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -251,7 +250,6 @@ function add_page_keywords($url, $no_photos = false, $photo = "", $keywords = fa
|
|||
|
||||
$tags = "";
|
||||
if (isset($data["keywords"]) AND count($data["keywords"])) {
|
||||
$a = get_app();
|
||||
foreach ($data["keywords"] AS $keyword) {
|
||||
$hashtag = str_replace(array(" ", "+", "/", ".", "#", "'"),
|
||||
array("","", "", "", "", ""), $keyword);
|
||||
|
@ -259,7 +257,7 @@ function add_page_keywords($url, $no_photos = false, $photo = "", $keywords = fa
|
|||
if ($tags != "")
|
||||
$tags .= ",";
|
||||
|
||||
$tags .= "#[url=".$a->get_baseurl()."/search?tag=".rawurlencode($hashtag)."]".$hashtag."[/url]";
|
||||
$tags .= "#[url=".App::get_baseurl()."/search?tag=".rawurlencode($hashtag)."]".$hashtag."[/url]";
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -557,8 +555,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
|
|||
logger("Both author-link and owner-link are empty. Called by: ".App::callstack(), LOGGER_DEBUG);
|
||||
|
||||
if ($arr['plink'] == "") {
|
||||
$a = get_app();
|
||||
$arr['plink'] = $a->get_baseurl().'/display/'.urlencode($arr['guid']);
|
||||
$arr['plink'] = App::get_baseurl().'/display/'.urlencode($arr['guid']);
|
||||
}
|
||||
|
||||
if ($arr['network'] == "") {
|
||||
|
@ -709,7 +706,7 @@ function item_store($arr,$force_parent = false, $notify = false, $dontcache = fa
|
|||
$u = q("SELECT `nickname` FROM `user` WHERE `uid` = %d", intval($arr['uid']));
|
||||
if (count($u)) {
|
||||
$a = get_app();
|
||||
$self = normalise_link($a->get_baseurl() . '/profile/' . $u[0]['nickname']);
|
||||
$self = normalise_link(App::get_baseurl() . '/profile/' . $u[0]['nickname']);
|
||||
logger("item_store: 'myself' is ".$self." for parent ".$parent_id." checking against ".$arr['author-link']." and ".$arr['owner-link'], LOGGER_DEBUG);
|
||||
if ((normalise_link($arr['author-link']) == $self) OR (normalise_link($arr['owner-link']) == $self)) {
|
||||
q("UPDATE `thread` SET `mention` = 1 WHERE `iid` = %d", intval($parent_id));
|
||||
|
@ -1068,10 +1065,10 @@ function item_body_set_hashtags(&$item) {
|
|||
|
||||
// All hashtags should point to the home server
|
||||
//$item["body"] = preg_replace("/#\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism",
|
||||
// "#[url=".$a->get_baseurl()."/search?tag=$2]$2[/url]", $item["body"]);
|
||||
// "#[url=".App::get_baseurl()."/search?tag=$2]$2[/url]", $item["body"]);
|
||||
|
||||
//$item["tag"] = preg_replace("/#\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism",
|
||||
// "#[url=".$a->get_baseurl()."/search?tag=$2]$2[/url]", $item["tag"]);
|
||||
// "#[url=".App::get_baseurl()."/search?tag=$2]$2[/url]", $item["tag"]);
|
||||
|
||||
// mask hashtags inside of url, bookmarks and attachments to avoid urls in urls
|
||||
$item["body"] = preg_replace_callback("/\[url\=([$URLSearchString]*)\](.*?)\[\/url\]/ism",
|
||||
|
@ -1103,7 +1100,7 @@ function item_body_set_hashtags(&$item) {
|
|||
|
||||
$basetag = str_replace('_',' ',substr($tag,1));
|
||||
|
||||
$newtag = '#[url='.$a->get_baseurl().'/search?tag='.rawurlencode($basetag).']'.$basetag.'[/url]';
|
||||
$newtag = '#[url='.App::get_baseurl().'/search?tag='.rawurlencode($basetag).']'.$basetag.'[/url]';
|
||||
|
||||
$item["body"] = str_replace($tag, $newtag, $item["body"]);
|
||||
|
||||
|
@ -1207,12 +1204,12 @@ function tag_deliver($uid,$item_id) {
|
|||
|
||||
$item = $i[0];
|
||||
|
||||
$link = normalise_link($a->get_baseurl() . '/profile/' . $u[0]['nickname']);
|
||||
$link = normalise_link(App::get_baseurl() . '/profile/' . $u[0]['nickname']);
|
||||
|
||||
// Diaspora uses their own hardwired link URL in @-tags
|
||||
// instead of the one we supply with webfinger
|
||||
|
||||
$dlink = normalise_link($a->get_baseurl() . '/u/' . $u[0]['nickname']);
|
||||
$dlink = normalise_link(App::get_baseurl() . '/u/' . $u[0]['nickname']);
|
||||
|
||||
$cnt = preg_match_all('/[\@\!]\[url\=(.*?)\](.*?)\[\/url\]/ism',$item['body'],$matches,PREG_SET_ORDER);
|
||||
if ($cnt) {
|
||||
|
@ -1260,8 +1257,9 @@ function tag_deliver($uid,$item_id) {
|
|||
$c = q("select name, url, thumb from contact where self = 1 and uid = %d limit 1",
|
||||
intval($u[0]['uid'])
|
||||
);
|
||||
if (! count($c))
|
||||
if (! count($c)) {
|
||||
return;
|
||||
}
|
||||
|
||||
// also reset all the privacy bits to the forum default permissions
|
||||
|
||||
|
@ -1269,8 +1267,8 @@ function tag_deliver($uid,$item_id) {
|
|||
|
||||
$forum_mode = (($prvgroup) ? 2 : 1);
|
||||
|
||||
q("update item set wall = 1, origin = 1, forum_mode = %d, `owner-name` = '%s', `owner-link` = '%s', `owner-avatar` = '%s',
|
||||
`private` = %d, `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s' where id = %d",
|
||||
q("UPDATE `item` SET `wall` = 1, `origin` = 1, `forum_mode` = %d, `owner-name` = '%s', `owner-link` = '%s', `owner-avatar` = '%s',
|
||||
`private` = %d, `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s' WHERE `id` = %d",
|
||||
intval($forum_mode),
|
||||
dbesc($c[0]['name']),
|
||||
dbesc($c[0]['url']),
|
||||
|
@ -1312,16 +1310,16 @@ function tgroup_check($uid,$item) {
|
|||
$prvgroup = (($u[0]['page-flags'] == PAGE_PRVGROUP) ? true : false);
|
||||
|
||||
|
||||
$link = normalise_link($a->get_baseurl() . '/profile/' . $u[0]['nickname']);
|
||||
$link = normalise_link(App::get_baseurl() . '/profile/' . $u[0]['nickname']);
|
||||
|
||||
// Diaspora uses their own hardwired link URL in @-tags
|
||||
// instead of the one we supply with webfinger
|
||||
|
||||
$dlink = normalise_link($a->get_baseurl() . '/u/' . $u[0]['nickname']);
|
||||
$dlink = normalise_link(App::get_baseurl() . '/u/' . $u[0]['nickname']);
|
||||
|
||||
$cnt = preg_match_all('/[\@\!]\[url\=(.*?)\](.*?)\[\/url\]/ism',$item['body'],$matches,PREG_SET_ORDER);
|
||||
if ($cnt) {
|
||||
foreach($matches as $mtch) {
|
||||
foreach ($matches as $mtch) {
|
||||
if (link_compare($link,$mtch[1]) || link_compare($dlink,$mtch[1])) {
|
||||
$mention = true;
|
||||
logger('tgroup_check: mention found: ' . $mtch[2]);
|
||||
|
@ -1329,13 +1327,12 @@ function tgroup_check($uid,$item) {
|
|||
}
|
||||
}
|
||||
|
||||
if (! $mention)
|
||||
if (! $mention) {
|
||||
return false;
|
||||
}
|
||||
|
||||
if ((! $community_page) && (! $prvgroup))
|
||||
return false;
|
||||
|
||||
return true;
|
||||
/// @TODO Combines both return statements into one
|
||||
return (($community_page) || ($prvgroup));
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1347,15 +1344,16 @@ function tgroup_check($uid,$item) {
|
|||
assumes the update has been seen before and should be ignored.
|
||||
*/
|
||||
function edited_timestamp_is_newer($existing, $update) {
|
||||
if (!x($existing,'edited') || !$existing['edited']) {
|
||||
return true;
|
||||
}
|
||||
if (!x($update,'edited') || !$update['edited']) {
|
||||
return false;
|
||||
}
|
||||
$existing_edited = datetime_convert('UTC', 'UTC', $existing['edited']);
|
||||
$update_edited = datetime_convert('UTC', 'UTC', $update['edited']);
|
||||
return (strcmp($existing_edited, $update_edited) < 0);
|
||||
if (!x($existing,'edited') || !$existing['edited']) {
|
||||
return true;
|
||||
}
|
||||
if (!x($update,'edited') || !$update['edited']) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$existing_edited = datetime_convert('UTC', 'UTC', $existing['edited']);
|
||||
$update_edited = datetime_convert('UTC', 'UTC', $update['edited']);
|
||||
return (strcmp($existing_edited, $update_edited) < 0);
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -1572,7 +1570,7 @@ function new_follower($importer,$contact,$datarray,$item,$sharing = false) {
|
|||
'to_name' => $r[0]['username'],
|
||||
'to_email' => $r[0]['email'],
|
||||
'uid' => $r[0]['uid'],
|
||||
'link' => $a->get_baseurl() . '/notifications/intro',
|
||||
'link' => App::get_baseurl() . '/notifications/intro',
|
||||
'source_name' => ((strlen(stripslashes($contact_record['name']))) ? stripslashes($contact_record['name']) : t('[Name Withheld]')),
|
||||
'source_link' => $contact_record['url'],
|
||||
'source_photo' => $contact_record['photo'],
|
||||
|
@ -1665,7 +1663,7 @@ function fix_private_photos($s, $uid, $item = null, $cid = 0) {
|
|||
$a = get_app();
|
||||
|
||||
logger('fix_private_photos: check for photos', LOGGER_DEBUG);
|
||||
$site = substr($a->get_baseurl(),strpos($a->get_baseurl(),'://'));
|
||||
$site = substr(App::get_baseurl(),strpos(App::get_baseurl(),'://'));
|
||||
|
||||
$orig_body = $s;
|
||||
$new_body = '';
|
||||
|
@ -1929,7 +1927,7 @@ function drop_item($id,$interactive = true) {
|
|||
if (! $interactive)
|
||||
return 0;
|
||||
notice( t('Item not found.') . EOL);
|
||||
goaway($a->get_baseurl() . '/' . $_SESSION['return_url']);
|
||||
goaway(App::get_baseurl() . '/' . $_SESSION['return_url']);
|
||||
}
|
||||
|
||||
$item = $r[0];
|
||||
|
@ -1977,7 +1975,7 @@ function drop_item($id,$interactive = true) {
|
|||
}
|
||||
// Now check how the user responded to the confirmation query
|
||||
if ($_REQUEST['canceled']) {
|
||||
goaway($a->get_baseurl() . '/' . $_SESSION['return_url']);
|
||||
goaway(App::get_baseurl() . '/' . $_SESSION['return_url']);
|
||||
}
|
||||
|
||||
logger('delete item: ' . $item['id'], LOGGER_DEBUG);
|
||||
|
@ -2127,13 +2125,13 @@ function drop_item($id,$interactive = true) {
|
|||
|
||||
if (! $interactive)
|
||||
return $owner;
|
||||
goaway($a->get_baseurl() . '/' . $_SESSION['return_url']);
|
||||
goaway(App::get_baseurl() . '/' . $_SESSION['return_url']);
|
||||
//NOTREACHED
|
||||
} else {
|
||||
if (! $interactive)
|
||||
return 0;
|
||||
notice( t('Permission denied.') . EOL);
|
||||
goaway($a->get_baseurl() . '/' . $_SESSION['return_url']);
|
||||
goaway(App::get_baseurl() . '/' . $_SESSION['return_url']);
|
||||
//NOTREACHED
|
||||
}
|
||||
|
||||
|
|
|
@ -48,10 +48,8 @@ function do_like($item_id, $verb) {
|
|||
break;
|
||||
}
|
||||
|
||||
|
||||
logger('like: verb ' . $verb . ' item ' . $item_id);
|
||||
|
||||
|
||||
$r = q("SELECT * FROM `item` WHERE `id` = '%s' OR `uri` = '%s' LIMIT 1",
|
||||
dbesc($item_id),
|
||||
dbesc($item_id)
|
||||
|
@ -66,7 +64,7 @@ function do_like($item_id, $verb) {
|
|||
|
||||
$owner_uid = $item['uid'];
|
||||
|
||||
if(! can_write_wall($a,$owner_uid)) {
|
||||
if (! can_write_wall($a,$owner_uid)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -78,10 +76,12 @@ function do_like($item_id, $verb) {
|
|||
intval($item['contact-id']),
|
||||
intval($item['uid'])
|
||||
);
|
||||
if(! dbm::is_result($r))
|
||||
if (! dbm::is_result($r)) {
|
||||
return false;
|
||||
if(! $r[0]['self'])
|
||||
}
|
||||
if (! $r[0]['self']) {
|
||||
$remote_owner = $r[0];
|
||||
}
|
||||
}
|
||||
|
||||
// this represents the post owner on this system.
|
||||
|
@ -90,24 +90,24 @@ function do_like($item_id, $verb) {
|
|||
WHERE `contact`.`self` = 1 AND `contact`.`uid` = %d LIMIT 1",
|
||||
intval($owner_uid)
|
||||
);
|
||||
if (dbm::is_result($r))
|
||||
if (dbm::is_result($r)) {
|
||||
$owner = $r[0];
|
||||
}
|
||||
|
||||
if(! $owner) {
|
||||
if (! $owner) {
|
||||
logger('like: no owner');
|
||||
return false;
|
||||
}
|
||||
|
||||
if(! $remote_owner)
|
||||
if (! $remote_owner) {
|
||||
$remote_owner = $owner;
|
||||
|
||||
}
|
||||
|
||||
// This represents the person posting
|
||||
|
||||
if((local_user()) && (local_user() == $owner_uid)) {
|
||||
if ((local_user()) && (local_user() == $owner_uid)) {
|
||||
$contact = $owner;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($_SESSION['visitor_id']),
|
||||
intval($owner_uid)
|
||||
|
@ -115,7 +115,7 @@ function do_like($item_id, $verb) {
|
|||
if (dbm::is_result($r))
|
||||
$contact = $r[0];
|
||||
}
|
||||
if(! $contact) {
|
||||
if (! $contact) {
|
||||
return false;
|
||||
}
|
||||
|
||||
|
@ -124,7 +124,7 @@ function do_like($item_id, $verb) {
|
|||
|
||||
// event participation are essentially radio toggles. If you make a subsequent choice,
|
||||
// we need to eradicate your first choice.
|
||||
if($activity === ACTIVITY_ATTEND || $activity === ACTIVITY_ATTENDNO || $activity === ACTIVITY_ATTENDMAYBE) {
|
||||
if ($activity === ACTIVITY_ATTEND || $activity === ACTIVITY_ATTENDNO || $activity === ACTIVITY_ATTENDMAYBE) {
|
||||
$verbs = " '" . dbesc(ACTIVITY_ATTEND) . "','" . dbesc(ACTIVITY_ATTENDNO) . "','" . dbesc(ACTIVITY_ATTENDMAYBE) . "' ";
|
||||
}
|
||||
|
||||
|
@ -161,10 +161,11 @@ function do_like($item_id, $verb) {
|
|||
$uri = item_new_uri($a->get_hostname(),$owner_uid);
|
||||
|
||||
$post_type = (($item['resource-id']) ? t('photo') : t('status'));
|
||||
if($item['object-type'] === ACTIVITY_OBJ_EVENT)
|
||||
if ($item['object-type'] === ACTIVITY_OBJ_EVENT) {
|
||||
$post_type = t('event');
|
||||
}
|
||||
$objtype = (($item['resource-id']) ? ACTIVITY_OBJ_IMAGE : ACTIVITY_OBJ_NOTE );
|
||||
$link = xmlify('<link rel="alternate" type="text/html" href="' . $a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id'] . '" />' . "\n") ;
|
||||
$link = xmlify('<link rel="alternate" type="text/html" href="' . App::get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id'] . '" />' . "\n") ;
|
||||
$body = $item['body'];
|
||||
|
||||
$obj = <<< EOT
|
||||
|
@ -178,20 +179,31 @@ function do_like($item_id, $verb) {
|
|||
<content>$body</content>
|
||||
</object>
|
||||
EOT;
|
||||
if($verb === 'like')
|
||||
if ($verb === 'like') {
|
||||
$bodyverb = t('%1$s likes %2$s\'s %3$s');
|
||||
if($verb === 'dislike')
|
||||
}
|
||||
if ($verb === 'dislike') {
|
||||
$bodyverb = t('%1$s doesn\'t like %2$s\'s %3$s');
|
||||
if($verb === 'attendyes')
|
||||
}
|
||||
if ($verb === 'attendyes') {
|
||||
$bodyverb = t('%1$s is attending %2$s\'s %3$s');
|
||||
if($verb === 'attendno')
|
||||
}
|
||||
if ($verb === 'attendno') {
|
||||
$bodyverb = t('%1$s is not attending %2$s\'s %3$s');
|
||||
if($verb === 'attendmaybe')
|
||||
}
|
||||
if ($verb === 'attendmaybe') {
|
||||
$bodyverb = t('%1$s may attend %2$s\'s %3$s');
|
||||
}
|
||||
|
||||
if(! isset($bodyverb))
|
||||
return false;
|
||||
if (! isset($bodyverb)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$ulink = '[url=' . $contact['url'] . ']' . $contact['name'] . '[/url]';
|
||||
$alink = '[url=' . $item['author-link'] . ']' . $item['author-name'] . '[/url]';
|
||||
$plink = '[url=' . App::get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id'] . ']' . $post_type . '[/url]';
|
||||
|
||||
/// @TODO Or rewrite this to multi-line initialization of the array?
|
||||
$arr = array();
|
||||
|
||||
$arr['guid'] = get_guid(32);
|
||||
|
@ -211,12 +223,7 @@ EOT;
|
|||
$arr['author-name'] = $contact['name'];
|
||||
$arr['author-link'] = $contact['url'];
|
||||
$arr['author-avatar'] = $contact['thumb'];
|
||||
|
||||
$ulink = '[url=' . $contact['url'] . ']' . $contact['name'] . '[/url]';
|
||||
$alink = '[url=' . $item['author-link'] . ']' . $item['author-name'] . '[/url]';
|
||||
$plink = '[url=' . $a->get_baseurl() . '/display/' . $owner['nickname'] . '/' . $item['id'] . ']' . $post_type . '[/url]';
|
||||
$arr['body'] = sprintf( $bodyverb, $ulink, $alink, $plink );
|
||||
|
||||
$arr['verb'] = $activity;
|
||||
$arr['object-type'] = $objtype;
|
||||
$arr['object'] = $obj;
|
||||
|
@ -230,7 +237,7 @@ EOT;
|
|||
|
||||
$post_id = item_store($arr);
|
||||
|
||||
if(! $item['visible']) {
|
||||
if (! $item['visible']) {
|
||||
$r = q("UPDATE `item` SET `visible` = 1 WHERE `id` = %d AND `uid` = %d",
|
||||
intval($item['id']),
|
||||
intval($owner_uid)
|
||||
|
@ -239,7 +246,7 @@ EOT;
|
|||
|
||||
|
||||
// Save the author information for the like in case we need to relay to Diaspora
|
||||
diaspora::store_like_signature($contact, $post_id);
|
||||
Diaspora::store_like_signature($contact, $post_id);
|
||||
|
||||
$arr['id'] = $post_id;
|
||||
|
||||
|
|
|
@ -23,7 +23,8 @@ function lock_function($fn_name, $block = true, $wait_sec = 2, $timeout = 30) {
|
|||
);
|
||||
$got_lock = true;
|
||||
}
|
||||
elseif(! dbm::is_result($r)) { // the Boolean value for count($r) should be equivalent to the Boolean value of $r
|
||||
elseif (! dbm::is_result($r)) {
|
||||
/// @TODO the Boolean value for count($r) should be equivalent to the Boolean value of $r
|
||||
q("INSERT INTO `locks` (`name`, `created`, `locked`) VALUES ('%s', '%s', 1)",
|
||||
dbesc($fn_name),
|
||||
dbesc(datetime_convert())
|
||||
|
|
|
@ -27,7 +27,7 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
|||
}
|
||||
|
||||
$guid = get_guid(32);
|
||||
$uri = 'urn:X-dfrn:' . $a->get_baseurl() . ':' . local_user() . ':' . $guid;
|
||||
$uri = 'urn:X-dfrn:' . App::get_baseurl() . ':' . local_user() . ':' . $guid;
|
||||
|
||||
$convid = 0;
|
||||
$reply = false;
|
||||
|
@ -53,7 +53,7 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
|||
$recip_host = substr($recip_host,0,strpos($recip_host,'/'));
|
||||
|
||||
$recip_handle = (($contact[0]['addr']) ? $contact[0]['addr'] : $contact[0]['nick'] . '@' . $recip_host);
|
||||
$sender_handle = $a->user['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
|
||||
$sender_handle = $a->user['nickname'] . '@' . substr(App::get_baseurl(), strpos(App::get_baseurl(),'://') + 3);
|
||||
|
||||
$conv_guid = get_guid(32);
|
||||
$convuri = $recip_handle.':'.$conv_guid;
|
||||
|
@ -130,12 +130,13 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
|||
|
||||
$match = null;
|
||||
|
||||
if(preg_match_all("/\[img\](.*?)\[\/img\]/",$body,$match)) {
|
||||
if (preg_match_all("/\[img\](.*?)\[\/img\]/",$body,$match)) {
|
||||
$images = $match[1];
|
||||
if(count($images)) {
|
||||
foreach($images as $image) {
|
||||
if(! stristr($image,$a->get_baseurl() . '/photo/'))
|
||||
if (count($images)) {
|
||||
foreach ($images as $image) {
|
||||
if (! stristr($image,App::get_baseurl() . '/photo/')) {
|
||||
continue;
|
||||
}
|
||||
$image_uri = substr($image,strrpos($image,'/') + 1);
|
||||
$image_uri = substr($image_uri,0, strpos($image_uri,'-'));
|
||||
$r = q("UPDATE `photo` SET `allow_cid` = '%s'
|
||||
|
@ -149,7 +150,7 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
|||
}
|
||||
}
|
||||
|
||||
if($post_id) {
|
||||
if ($post_id) {
|
||||
proc_run(PRIORITY_HIGH, "include/notifier.php", "mail", $post_id);
|
||||
return intval($post_id);
|
||||
} else {
|
||||
|
@ -158,22 +159,18 @@ function send_message($recipient=0, $body='', $subject='', $replyto=''){
|
|||
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function send_wallmessage($recipient='', $body='', $subject='', $replyto=''){
|
||||
|
||||
$a = get_app();
|
||||
if (! $recipient) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
if(! $recipient) return -1;
|
||||
|
||||
if(! strlen($subject))
|
||||
if (! strlen($subject)) {
|
||||
$subject = t('[no subject]');
|
||||
}
|
||||
|
||||
$guid = get_guid(32);
|
||||
$uri = 'urn:X-dfrn:' . $a->get_baseurl() . ':' . local_user() . ':' . $guid;
|
||||
$uri = 'urn:X-dfrn:' . App::get_baseurl() . ':' . local_user() . ':' . $guid;
|
||||
|
||||
$convid = 0;
|
||||
$reply = false;
|
||||
|
@ -182,12 +179,13 @@ function send_wallmessage($recipient='', $body='', $subject='', $replyto=''){
|
|||
|
||||
$me = probe_url($replyto);
|
||||
|
||||
if(! $me['name'])
|
||||
if (! $me['name']) {
|
||||
return -2;
|
||||
}
|
||||
|
||||
$conv_guid = get_guid(32);
|
||||
|
||||
$recip_handle = $recipient['nickname'] . '@' . substr($a->get_baseurl(), strpos($a->get_baseurl(),'://') + 3);
|
||||
$recip_handle = $recipient['nickname'] . '@' . substr(App::get_baseurl(), strpos(App::get_baseurl(),'://') + 3);
|
||||
|
||||
$sender_nick = basename($replyto);
|
||||
$sender_host = substr($replyto,strpos($replyto,'://')+3);
|
||||
|
@ -196,7 +194,7 @@ function send_wallmessage($recipient='', $body='', $subject='', $replyto=''){
|
|||
|
||||
$handles = $recip_handle . ';' . $sender_handle;
|
||||
|
||||
$r = q("insert into conv (uid,guid,creator,created,updated,subject,recips) values(%d, '%s', '%s', '%s', '%s', '%s', '%s') ",
|
||||
$r = q("INSERT INTO `conv` (`uid`,`guid`,`creator`,`created`,`updated`,`subject`,`recips`) values(%d, '%s', '%s', '%s', '%s', '%s', '%s') ",
|
||||
intval($recipient['uid']),
|
||||
dbesc($conv_guid),
|
||||
dbesc($sender_handle),
|
||||
|
@ -206,18 +204,19 @@ function send_wallmessage($recipient='', $body='', $subject='', $replyto=''){
|
|||
dbesc($handles)
|
||||
);
|
||||
|
||||
$r = q("select * from conv where guid = '%s' and uid = %d limit 1",
|
||||
$r = q("SELECT * FROM `conv` WHERE `guid` = '%s' AND `uid` = %d LIMIT 1",
|
||||
dbesc($conv_guid),
|
||||
intval($recipient['uid'])
|
||||
);
|
||||
if (dbm::is_result($r))
|
||||
$convid = $r[0]['id'];
|
||||
|
||||
if(! $convid) {
|
||||
|
||||
if (! dbm::is_result($r)) {
|
||||
logger('send message: conversation not found.');
|
||||
return -4;
|
||||
}
|
||||
|
||||
$convid = $r[0]['id'];
|
||||
|
||||
$r = q("INSERT INTO `mail` ( `uid`, `guid`, `convid`, `from-name`, `from-photo`, `from-url`,
|
||||
`contact-id`, `title`, `body`, `seen`, `reply`, `replied`, `uri`, `parent-uri`, `created`, `unknown`)
|
||||
VALUES ( %d, '%s', %d, '%s', '%s', '%s', %d, '%s', '%s', %d, %d, %d, '%s', '%s', '%s', %d )",
|
||||
|
|
|
@ -28,7 +28,7 @@ function nav(&$a) {
|
|||
$tpl = get_markup_template('nav.tpl');
|
||||
|
||||
$a->page['nav'] .= replace_macros($tpl, array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
'$sitelocation' => $nav_info['sitelocation'],
|
||||
'$nav' => $nav_info['nav'],
|
||||
'$banner' => $nav_info['banner'],
|
||||
|
@ -65,7 +65,7 @@ function nav_info(App $a)
|
|||
|
||||
$myident = ((is_array($a->user) && isset($a->user['nickname'])) ? $a->user['nickname'] . '@' : '');
|
||||
|
||||
$sitelocation = $myident . substr($a->get_baseurl($ssl_state), strpos($a->get_baseurl($ssl_state), '//') + 2 );
|
||||
$sitelocation = $myident . substr(App::get_baseurl($ssl_state), strpos(App::get_baseurl($ssl_state), '//') + 2 );
|
||||
|
||||
// nav links: array of array('href', 'text', 'extra css classes', 'title')
|
||||
$nav = array();
|
||||
|
|
|
@ -513,8 +513,6 @@ function allowed_email($email) {
|
|||
|
||||
function avatar_img($email) {
|
||||
|
||||
$a = get_app();
|
||||
|
||||
$avatar['size'] = 175;
|
||||
$avatar['email'] = $email;
|
||||
$avatar['url'] = '';
|
||||
|
@ -522,8 +520,9 @@ function avatar_img($email) {
|
|||
|
||||
call_hooks('avatar_lookup', $avatar);
|
||||
|
||||
if(! $avatar['success'])
|
||||
$avatar['url'] = $a->get_baseurl() . '/images/person-175.jpg';
|
||||
if (! $avatar['success']) {
|
||||
$avatar['url'] = App::get_baseurl() . '/images/person-175.jpg';
|
||||
}
|
||||
|
||||
logger('Avatar: ' . $avatar['email'] . ' ' . $avatar['url'], LOGGER_DEBUG);
|
||||
return $avatar['url'];
|
||||
|
@ -569,7 +568,7 @@ function scale_external_images($srctext, $include_link = true, $scale_replace =
|
|||
foreach($matches as $mtch) {
|
||||
logger('scale_external_image: ' . $mtch[1]);
|
||||
|
||||
$hostname = str_replace('www.','',substr($a->get_baseurl(),strpos($a->get_baseurl(),'://')+3));
|
||||
$hostname = str_replace('www.','',substr(App::get_baseurl(),strpos(App::get_baseurl(),'://')+3));
|
||||
if(stristr($mtch[1],$hostname))
|
||||
continue;
|
||||
|
||||
|
|
|
@ -210,8 +210,9 @@ function notifier_run(&$argv, &$argc){
|
|||
intval($uid)
|
||||
);
|
||||
|
||||
if(! dbm::is_result($r))
|
||||
if (! dbm::is_result($r)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$owner = $r[0];
|
||||
|
||||
|
@ -557,7 +558,7 @@ function notifier_run(&$argv, &$argc){
|
|||
if($slap && count($url_recipients) && ($public_message || $push_notify) && $normal_mode) {
|
||||
if(!get_config('system','dfrn_only')) {
|
||||
foreach($url_recipients as $url) {
|
||||
if($url) {
|
||||
if ($url) {
|
||||
logger('notifier: urldelivery: ' . $url);
|
||||
$deliver_status = slapper($owner,$url,$slap);
|
||||
/// @TODO Redeliver/queue these items on failure, though there is no contact record
|
||||
|
@ -570,7 +571,7 @@ function notifier_run(&$argv, &$argc){
|
|||
if($public_message) {
|
||||
|
||||
if (!$followup)
|
||||
$r0 = diaspora::relay_list();
|
||||
$r0 = Diaspora::relay_list();
|
||||
else
|
||||
$r0 = array();
|
||||
|
||||
|
@ -597,7 +598,7 @@ function notifier_run(&$argv, &$argc){
|
|||
|
||||
// throw everything into the queue in case we get killed
|
||||
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
if((! $mail) && (! $fsuggest) && (! $followup)) {
|
||||
q("INSERT INTO `deliverq` (`cmd`,`item`,`contact`) VALUES ('%s', %d, %d)
|
||||
ON DUPLICATE KEY UPDATE `cmd` = '%s', `item` = %d, `contact` = %d",
|
||||
|
@ -607,7 +608,7 @@ function notifier_run(&$argv, &$argc){
|
|||
}
|
||||
}
|
||||
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
|
||||
// except for Diaspora batch jobs
|
||||
// Don't deliver to folks who have already been delivered to
|
||||
|
@ -649,7 +650,7 @@ function notifier_run(&$argv, &$argc){
|
|||
|
||||
} else {
|
||||
|
||||
$params = 'hub.mode=publish&hub.url=' . urlencode( $a->get_baseurl() . '/dfrn_poll/' . $owner['nickname'] );
|
||||
$params = 'hub.mode=publish&hub.url=' . urlencode( App::get_baseurl() . '/dfrn_poll/' . $owner['nickname'] );
|
||||
post_url($h,$params);
|
||||
logger('publish for item '.$item_id.' ' . $h . ' ' . $params . ' returned ' . $a->get_curl_code());
|
||||
}
|
||||
|
|
|
@ -148,7 +148,7 @@ class FKOAuth1 extends OAuthServer {
|
|||
$_SESSION['mobile-theme'] = get_pconfig($record['uid'], 'system', 'mobile_theme');
|
||||
$_SESSION['authenticated'] = 1;
|
||||
$_SESSION['page_flags'] = $record['page-flags'];
|
||||
$_SESSION['my_url'] = $a->get_baseurl() . '/profile/' . $record['nickname'];
|
||||
$_SESSION['my_url'] = App::get_baseurl() . '/profile/' . $record['nickname'];
|
||||
$_SESSION['addr'] = $_SERVER['REMOTE_ADDR'];
|
||||
$_SESSION["allow_api"] = true;
|
||||
|
||||
|
|
|
@ -143,8 +143,9 @@ function onepoll_run(&$argv, &$argc){
|
|||
$r = q("SELECT `contact`.*, `user`.`page-flags` FROM `contact` INNER JOIN `user` on `contact`.`uid` = `user`.`uid` WHERE `user`.`uid` = %d AND `contact`.`self` = 1 LIMIT 1",
|
||||
intval($importer_uid)
|
||||
);
|
||||
if(! dbm::is_result($r))
|
||||
if (! dbm::is_result($r)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$importer = $r[0];
|
||||
|
||||
|
|
|
@ -596,21 +596,25 @@ class ostatus {
|
|||
$last = get_config('system','ostatus_last_poll');
|
||||
|
||||
$poll_interval = intval(get_config('system','ostatus_poll_interval'));
|
||||
if(! $poll_interval)
|
||||
$poll_interval = OSTATUS_DEFAULT_POLL_INTERVAL;
|
||||
if (!$poll_interval) {
|
||||
$poll_interval = self::OSTATUS_DEFAULT_POLL_INTERVAL;
|
||||
}
|
||||
|
||||
// Don't poll if the interval is set negative
|
||||
if (($poll_interval < 0) AND !$override)
|
||||
if (($poll_interval < 0) AND !$override) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (!$mentions) {
|
||||
$poll_timeframe = intval(get_config('system','ostatus_poll_timeframe'));
|
||||
if (!$poll_timeframe)
|
||||
$poll_timeframe = OSTATUS_DEFAULT_POLL_TIMEFRAME;
|
||||
if (!$poll_timeframe) {
|
||||
$poll_timeframe = self::OSTATUS_DEFAULT_POLL_TIMEFRAME;
|
||||
}
|
||||
} else {
|
||||
$poll_timeframe = intval(get_config('system','ostatus_poll_timeframe'));
|
||||
if (!$poll_timeframe)
|
||||
$poll_timeframe = OSTATUS_DEFAULT_POLL_TIMEFRAME_MENTIONS;
|
||||
if (!$poll_timeframe) {
|
||||
$poll_timeframe = self::OSTATUS_DEFAULT_POLL_TIMEFRAME_MENTIONS;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -626,15 +630,16 @@ class ostatus {
|
|||
|
||||
$start = date("Y-m-d H:i:s", time() - ($poll_timeframe * 60));
|
||||
|
||||
if ($mentions)
|
||||
if ($mentions) {
|
||||
$conversations = q("SELECT `term`.`oid`, `term`.`url`, `term`.`uid` FROM `term`
|
||||
STRAIGHT_JOIN `thread` ON `thread`.`iid` = `term`.`oid` AND `thread`.`uid` = `term`.`uid`
|
||||
WHERE `term`.`type` = 7 AND `term`.`term` > '%s' AND `thread`.`mention`
|
||||
GROUP BY `term`.`url`, `term`.`uid` ORDER BY `term`.`term` DESC", dbesc($start));
|
||||
else
|
||||
} else {
|
||||
$conversations = q("SELECT `oid`, `url`, `uid` FROM `term`
|
||||
WHERE `type` = 7 AND `term` > '%s'
|
||||
GROUP BY `url`, `uid` ORDER BY `term` DESC", dbesc($start));
|
||||
}
|
||||
|
||||
foreach ($conversations AS $conversation) {
|
||||
self::completion($conversation['url'], $conversation['uid']);
|
||||
|
|
|
@ -187,8 +187,9 @@ function load_hooks() {
|
|||
$a = get_app();
|
||||
$a->hooks = array();
|
||||
$r = q("SELECT * FROM `hook` WHERE 1 ORDER BY `priority` DESC, `file`");
|
||||
|
||||
if (dbm::is_result($r)) {
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
if(! array_key_exists($rr['hook'],$a->hooks))
|
||||
$a->hooks[$rr['hook']] = array();
|
||||
$a->hooks[$rr['hook']][] = array($rr['file'],$rr['function']);
|
||||
|
@ -410,13 +411,13 @@ function get_theme_info($theme){
|
|||
* @return string
|
||||
*/
|
||||
function get_theme_screenshot($theme) {
|
||||
$a = get_app();
|
||||
$exts = array('.png','.jpg');
|
||||
foreach($exts as $ext) {
|
||||
if(file_exists('view/theme/' . $theme . '/screenshot' . $ext))
|
||||
return($a->get_baseurl() . '/view/theme/' . $theme . '/screenshot' . $ext);
|
||||
if(file_exists('view/theme/' . $theme . '/screenshot' . $ext)) {
|
||||
return(App::get_baseurl() . '/view/theme/' . $theme . '/screenshot' . $ext);
|
||||
}
|
||||
}
|
||||
return($a->get_baseurl() . '/images/blank.png');
|
||||
return(App::get_baseurl() . '/images/blank.png');
|
||||
}
|
||||
|
||||
// install and uninstall theme
|
||||
|
|
|
@ -484,7 +484,7 @@ function call_worker() {
|
|||
return;
|
||||
}
|
||||
|
||||
$url = get_app()->get_baseurl()."/worker";
|
||||
$url = App::get_baseurl()."/worker";
|
||||
fetch_url($url, false, $redirects, 1);
|
||||
}
|
||||
|
||||
|
|
|
@ -2,5 +2,5 @@
|
|||
require_once('include/diaspora.php');
|
||||
|
||||
function profile_change() {
|
||||
diaspora::send_profile(local_user());
|
||||
Diaspora::send_profile(local_user());
|
||||
}
|
||||
|
|
|
@ -21,7 +21,7 @@ function handle_pubsubhubbub($id) {
|
|||
|
||||
$headers = array("Content-type: application/atom+xml",
|
||||
sprintf("Link: <%s>;rel=hub,<%s>;rel=self",
|
||||
$a->get_baseurl().'/pubsubhubbub',
|
||||
App::get_baseurl().'/pubsubhubbub',
|
||||
$rr['topic']),
|
||||
"X-Hub-Signature: sha1=".$hmac_sig);
|
||||
|
||||
|
@ -76,16 +76,19 @@ function pubsubpublish_run(&$argv, &$argc){
|
|||
load_config('system');
|
||||
|
||||
// Don't check this stuff if the function is called by the poller
|
||||
if (App::callstack() != "poller_run")
|
||||
if (App::is_already_running("pubsubpublish", "include/pubsubpublish.php", 540))
|
||||
if (App::callstack() != "poller_run") {
|
||||
if (App::is_already_running("pubsubpublish", "include/pubsubpublish.php", 540)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
$a->set_baseurl(get_config('system','url'));
|
||||
|
||||
load_hooks();
|
||||
|
||||
if($argc > 1)
|
||||
if ($argc > 1) {
|
||||
$pubsubpublish_id = intval($argv[1]);
|
||||
}
|
||||
else {
|
||||
// We'll push to each subscriber that has push > 0,
|
||||
// i.e. there has been an update (set in notifier.php).
|
||||
|
@ -95,10 +98,11 @@ function pubsubpublish_run(&$argv, &$argc){
|
|||
$interval = Config::get("system", "delivery_interval", 2);
|
||||
|
||||
// If we are using the worker we don't need a delivery interval
|
||||
if (get_config("system", "worker"))
|
||||
if (get_config("system", "worker")) {
|
||||
$interval = false;
|
||||
}
|
||||
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
logger("Publish feed to ".$rr["callback_url"], LOGGER_DEBUG);
|
||||
proc_run(PRIORITY_HIGH, 'include/pubsubpublish.php', $rr["id"]);
|
||||
|
||||
|
|
|
@ -58,20 +58,21 @@ function queue_run(&$argv, &$argc){
|
|||
$interval = false;
|
||||
|
||||
$r = q("select * from deliverq where 1");
|
||||
if($r) {
|
||||
foreach($r as $rr) {
|
||||
if ($r) {
|
||||
foreach ($r as $rr) {
|
||||
logger('queue: deliverq');
|
||||
proc_run(PRIORITY_HIGH,'include/delivery.php',$rr['cmd'],$rr['item'],$rr['contact']);
|
||||
if($interval)
|
||||
@time_sleep_until(microtime(true) + (float) $interval);
|
||||
if($interval) {
|
||||
time_sleep_until(microtime(true) + (float) $interval);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$r = q("SELECT `queue`.*, `contact`.`name`, `contact`.`uid` FROM `queue`
|
||||
INNER JOIN `contact` ON `queue`.`cid` = `contact`.`id`
|
||||
WHERE `queue`.`created` < UTC_TIMESTAMP() - INTERVAL 3 DAY");
|
||||
if($r) {
|
||||
foreach($r as $rr) {
|
||||
if ($r) {
|
||||
foreach ($r as $rr) {
|
||||
logger('Removing expired queue item for ' . $rr['name'] . ', uid=' . $rr['uid']);
|
||||
logger('Expired queue data :' . $rr['content'], LOGGER_DATA);
|
||||
}
|
||||
|
@ -195,7 +196,7 @@ function queue_run(&$argv, &$argc){
|
|||
case NETWORK_DIASPORA:
|
||||
if($contact['notify']) {
|
||||
logger('queue: diaspora_delivery: item '.$q_item['id'].' for '.$contact['name'].' <'.$contact['url'].'>');
|
||||
$deliver_status = diaspora::transmit($owner,$contact,$data,$public,true);
|
||||
$deliver_status = Diaspora::transmit($owner,$contact,$data,$public,true);
|
||||
|
||||
if($deliver_status == (-1)) {
|
||||
update_queue_time($q_item['id']);
|
||||
|
|
|
@ -20,7 +20,7 @@ function auto_redir(&$a, $contact_nick) {
|
|||
//
|
||||
// We also have to make sure that I'm a legitimate contact--I'm not blocked or pending.
|
||||
|
||||
$baseurl = $a->get_baseurl();
|
||||
$baseurl = App::get_baseurl();
|
||||
$domain_st = strpos($baseurl, "://");
|
||||
if($domain_st === false)
|
||||
return;
|
||||
|
@ -36,9 +36,9 @@ function auto_redir(&$a, $contact_nick) {
|
|||
dbesc($nurl)
|
||||
);
|
||||
|
||||
if((! dbm::is_result($r)) || $r[0]['id'] == remote_user())
|
||||
if ((! dbm::is_result($r)) || $r[0]['id'] == remote_user()) {
|
||||
return;
|
||||
|
||||
}
|
||||
|
||||
$r = q("SELECT * FROM contact WHERE nick = '%s'
|
||||
AND network = '%s' AND uid = %d AND url LIKE '%%%s%%' LIMIT 1",
|
||||
|
@ -48,8 +48,9 @@ function auto_redir(&$a, $contact_nick) {
|
|||
dbesc($baseurl)
|
||||
);
|
||||
|
||||
if(! dbm::is_result($r))
|
||||
if (! dbm::is_result($r)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$cid = $r[0]['id'];
|
||||
|
||||
|
|
|
@ -24,22 +24,24 @@ function get_salmon_key($uri,$keyhash) {
|
|||
// We have found at least one key URL
|
||||
// If it's inline, parse it - otherwise get the key
|
||||
|
||||
if(count($ret)) {
|
||||
for($x = 0; $x < count($ret); $x ++) {
|
||||
if(substr($ret[$x],0,5) === 'data:') {
|
||||
if(strstr($ret[$x],','))
|
||||
if (count($ret) > 0) {
|
||||
for ($x = 0; $x < count($ret); $x ++) {
|
||||
if (substr($ret[$x],0,5) === 'data:') {
|
||||
if (strstr($ret[$x],',')) {
|
||||
$ret[$x] = substr($ret[$x],strpos($ret[$x],',')+1);
|
||||
else
|
||||
} else {
|
||||
$ret[$x] = substr($ret[$x],5);
|
||||
} elseif (normalise_link($ret[$x]) == 'http://')
|
||||
}
|
||||
} elseif (normalise_link($ret[$x]) == 'http://') {
|
||||
$ret[$x] = fetch_url($ret[$x]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
logger('Key located: ' . print_r($ret,true));
|
||||
|
||||
if(count($ret) == 1) {
|
||||
if (count($ret) == 1) {
|
||||
|
||||
// We only found one one key so we don't care if the hash matches.
|
||||
// If it's the wrong key we'll find out soon enough because
|
||||
|
@ -50,10 +52,11 @@ function get_salmon_key($uri,$keyhash) {
|
|||
return $ret[0];
|
||||
}
|
||||
else {
|
||||
foreach($ret as $a) {
|
||||
foreach ($ret as $a) {
|
||||
$hash = base64url_encode(hash('sha256',$a));
|
||||
if($hash == $keyhash)
|
||||
if ($hash == $keyhash) {
|
||||
return $a;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -9,8 +9,8 @@ function authenticate_success($user_record, $login_initial = false, $interactive
|
|||
$_SESSION['mobile-theme'] = get_pconfig($user_record['uid'], 'system', 'mobile_theme');
|
||||
$_SESSION['authenticated'] = 1;
|
||||
$_SESSION['page_flags'] = $user_record['page-flags'];
|
||||
$_SESSION['my_url'] = $a->get_baseurl() . '/profile/' . $user_record['nickname'];
|
||||
$_SESSION['my_address'] = $user_record['nickname'] . '@' . substr($a->get_baseurl(),strpos($a->get_baseurl(),'://')+3);
|
||||
$_SESSION['my_url'] = App::get_baseurl() . '/profile/' . $user_record['nickname'];
|
||||
$_SESSION['my_address'] = $user_record['nickname'] . '@' . substr(App::get_baseurl(),strpos(App::get_baseurl(),'://')+3);
|
||||
$_SESSION['addr'] = $_SERVER['REMOTE_ADDR'];
|
||||
|
||||
$a->user = $user_record;
|
||||
|
@ -94,11 +94,12 @@ function authenticate_success($user_record, $login_initial = false, $interactive
|
|||
|
||||
|
||||
}
|
||||
if($login_initial) {
|
||||
if ($login_initial) {
|
||||
call_hooks('logged_in', $a->user);
|
||||
|
||||
if(($a->module !== 'home') && isset($_SESSION['return_url']))
|
||||
goaway($a->get_baseurl() . '/' . $_SESSION['return_url']);
|
||||
if (($a->module !== 'home') && isset($_SESSION['return_url'])) {
|
||||
goaway(App::get_baseurl() . '/' . $_SESSION['return_url']);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -109,16 +110,17 @@ function can_write_wall(&$a,$owner) {
|
|||
|
||||
static $verified = 0;
|
||||
|
||||
if((! (local_user())) && (! (remote_user())))
|
||||
if ((! (local_user())) && (! (remote_user()))) {
|
||||
return false;
|
||||
}
|
||||
|
||||
$uid = local_user();
|
||||
|
||||
if(($uid) && ($uid == $owner)) {
|
||||
if (($uid) && ($uid == $owner)) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if(remote_user()) {
|
||||
if (remote_user()) {
|
||||
|
||||
// use remembered decision and avoid a DB lookup for each and every display item
|
||||
// DO NOT use this function if there are going to be multiple owners
|
||||
|
@ -126,25 +128,25 @@ function can_write_wall(&$a,$owner) {
|
|||
// We have a contact-id for an authenticated remote user, this block determines if the contact
|
||||
// belongs to this page owner, and has the necessary permissions to post content
|
||||
|
||||
if($verified === 2)
|
||||
if ($verified === 2) {
|
||||
return true;
|
||||
elseif($verified === 1)
|
||||
} elseif ($verified === 1) {
|
||||
return false;
|
||||
else {
|
||||
} else {
|
||||
$cid = 0;
|
||||
|
||||
if(is_array($_SESSION['remote'])) {
|
||||
foreach($_SESSION['remote'] as $visitor) {
|
||||
if($visitor['uid'] == $owner) {
|
||||
if (is_array($_SESSION['remote'])) {
|
||||
foreach ($_SESSION['remote'] as $visitor) {
|
||||
if ($visitor['uid'] == $owner) {
|
||||
$cid = $visitor['cid'];
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(! $cid)
|
||||
if (! $cid) {
|
||||
return false;
|
||||
|
||||
}
|
||||
|
||||
$r = q("SELECT `contact`.*, `user`.`page-flags` FROM `contact` INNER JOIN `user` on `user`.`uid` = `contact`.`uid`
|
||||
WHERE `contact`.`uid` = %d AND `contact`.`id` = %d AND `contact`.`blocked` = 0 AND `contact`.`pending` = 0
|
||||
|
@ -378,7 +380,7 @@ function check_form_security_token_redirectOnErr($err_redirect, $typename = '',
|
|||
logger('check_form_security_token failed: user ' . $a->user['guid'] . ' - form element ' . $typename);
|
||||
logger('check_form_security_token failed: _REQUEST data: ' . print_r($_REQUEST, true), LOGGER_DATA);
|
||||
notice( check_form_security_std_err_msg() );
|
||||
goaway($a->get_baseurl() . $err_redirect );
|
||||
goaway(App::get_baseurl() . $err_redirect );
|
||||
}
|
||||
}
|
||||
function check_form_security_token_ForbiddenOnErr($typename = '', $formname = 'form_security_token') {
|
||||
|
|
|
@ -91,50 +91,58 @@ function poco_load($cid,$uid = 0,$zcid = 0,$url = null) {
|
|||
|
||||
$name = $entry->displayName;
|
||||
|
||||
if(isset($entry->urls)) {
|
||||
foreach($entry->urls as $url) {
|
||||
if($url->type == 'profile') {
|
||||
if (isset($entry->urls)) {
|
||||
foreach ($entry->urls as $url) {
|
||||
if ($url->type == 'profile') {
|
||||
$profile_url = $url->value;
|
||||
continue;
|
||||
}
|
||||
if($url->type == 'webfinger') {
|
||||
if ($url->type == 'webfinger') {
|
||||
$connect_url = str_replace('acct:' , '', $url->value);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
if(isset($entry->photos)) {
|
||||
foreach($entry->photos as $photo) {
|
||||
if($photo->type == 'profile') {
|
||||
if (isset($entry->photos)) {
|
||||
foreach ($entry->photos as $photo) {
|
||||
if ($photo->type == 'profile') {
|
||||
$profile_photo = $photo->value;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($entry->updated))
|
||||
if (isset($entry->updated)) {
|
||||
$updated = date("Y-m-d H:i:s", strtotime($entry->updated));
|
||||
}
|
||||
|
||||
if(isset($entry->network))
|
||||
if (isset($entry->network)) {
|
||||
$network = $entry->network;
|
||||
}
|
||||
|
||||
if(isset($entry->currentLocation))
|
||||
if (isset($entry->currentLocation)) {
|
||||
$location = $entry->currentLocation;
|
||||
}
|
||||
|
||||
if(isset($entry->aboutMe))
|
||||
if (isset($entry->aboutMe)) {
|
||||
$about = html2bbcode($entry->aboutMe);
|
||||
}
|
||||
|
||||
if(isset($entry->gender))
|
||||
if (isset($entry->gender)) {
|
||||
$gender = $entry->gender;
|
||||
}
|
||||
|
||||
if(isset($entry->generation) AND ($entry->generation > 0))
|
||||
if (isset($entry->generation) AND ($entry->generation > 0)) {
|
||||
$generation = ++$entry->generation;
|
||||
}
|
||||
|
||||
if(isset($entry->tags))
|
||||
foreach($entry->tags as $tag)
|
||||
if (isset($entry->tags)) {
|
||||
foreach($entry->tags as $tag) {
|
||||
$keywords = implode(", ", $tag);
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($entry->contactType) AND ($entry->contactType >= 0))
|
||||
if (isset($entry->contactType) AND ($entry->contactType >= 0))
|
||||
$contact_type = $entry->contactType;
|
||||
|
||||
// If you query a Friendica server for its profiles, the network has to be Friendica
|
||||
|
@ -171,8 +179,6 @@ function poco_load($cid,$uid = 0,$zcid = 0,$url = null) {
|
|||
|
||||
function poco_check($profile_url, $name, $network, $profile_photo, $about, $location, $gender, $keywords, $connect_url, $updated, $generation, $cid = 0, $uid = 0, $zcid = 0) {
|
||||
|
||||
$a = get_app();
|
||||
|
||||
// Generation:
|
||||
// 0: No definition
|
||||
// 1: Profiles on this server
|
||||
|
@ -207,8 +213,9 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
|
|||
$orig_updated = $updated;
|
||||
|
||||
// The global contacts should contain the original picture, not the cached one
|
||||
if (($generation != 1) AND stristr(normalise_link($profile_photo), normalise_link($a->get_baseurl()."/photo/")))
|
||||
if (($generation != 1) AND stristr(normalise_link($profile_photo), normalise_link(App::get_baseurl()."/photo/"))) {
|
||||
$profile_photo = "";
|
||||
}
|
||||
|
||||
$r = q("SELECT `network` FROM `contact` WHERE `nurl` = '%s' AND `network` != '' AND `network` != '%s' LIMIT 1",
|
||||
dbesc(normalise_link($profile_url)), dbesc(NETWORK_STATUSNET)
|
||||
|
@ -330,7 +337,7 @@ function poco_check($profile_url, $name, $network, $profile_photo, $about, $loca
|
|||
intval($gcid),
|
||||
intval($zcid)
|
||||
);
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
q("INSERT INTO `glink` (`cid`,`uid`,`gcid`,`zcid`, `updated`) VALUES (%d,%d,%d,%d, '%s') ",
|
||||
intval($cid),
|
||||
intval($uid),
|
||||
|
@ -1180,23 +1187,24 @@ function update_suggestions() {
|
|||
|
||||
$done = array();
|
||||
|
||||
/// TODO Check if it is really neccessary to poll the own server
|
||||
poco_load(0,0,0,$a->get_baseurl() . '/poco');
|
||||
/// @TODO Check if it is really neccessary to poll the own server
|
||||
poco_load(0,0,0,App::get_baseurl() . '/poco');
|
||||
|
||||
$done[] = $a->get_baseurl() . '/poco';
|
||||
$done[] = App::get_baseurl() . '/poco';
|
||||
|
||||
if(strlen(get_config('system','directory'))) {
|
||||
if (strlen(get_config('system','directory'))) {
|
||||
$x = fetch_url(get_server()."/pubsites");
|
||||
if($x) {
|
||||
if ($x) {
|
||||
$j = json_decode($x);
|
||||
if($j->entries) {
|
||||
foreach($j->entries as $entry) {
|
||||
if ($j->entries) {
|
||||
foreach ($j->entries as $entry) {
|
||||
|
||||
poco_check_server($entry->url);
|
||||
|
||||
$url = $entry->url . '/poco';
|
||||
if(! in_array($url,$done))
|
||||
if (! in_array($url,$done)) {
|
||||
poco_load(0,0,0,$entry->url . '/poco');
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1208,7 +1216,7 @@ function update_suggestions() {
|
|||
);
|
||||
|
||||
if (dbm::is_result($r)) {
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
$base = substr($rr['poco'],0,strrpos($rr['poco'],'/'));
|
||||
if(! in_array($base,$done))
|
||||
poco_load(0,0,0,$base);
|
||||
|
@ -1219,7 +1227,7 @@ function update_suggestions() {
|
|||
function poco_discover_federation() {
|
||||
$last = get_config('poco','last_federation_discovery');
|
||||
|
||||
if($last) {
|
||||
if ($last) {
|
||||
$next = $last + (24 * 60 * 60);
|
||||
if($next > time())
|
||||
return;
|
||||
|
@ -1333,7 +1341,7 @@ function poco_discover_server_users($data, $server) {
|
|||
$username = "";
|
||||
if (isset($entry->urls)) {
|
||||
foreach($entry->urls as $url)
|
||||
if($url->type == 'profile') {
|
||||
if ($url->type == 'profile') {
|
||||
$profile_url = $url->value;
|
||||
$urlparts = parse_url($profile_url);
|
||||
$username = end(explode("/", $urlparts["path"]));
|
||||
|
@ -1375,52 +1383,61 @@ function poco_discover_server($data, $default_generation = 0) {
|
|||
|
||||
$name = $entry->displayName;
|
||||
|
||||
if(isset($entry->urls)) {
|
||||
if (isset($entry->urls)) {
|
||||
foreach($entry->urls as $url) {
|
||||
if($url->type == 'profile') {
|
||||
if ($url->type == 'profile') {
|
||||
$profile_url = $url->value;
|
||||
continue;
|
||||
}
|
||||
if($url->type == 'webfinger') {
|
||||
if ($url->type == 'webfinger') {
|
||||
$connect_url = str_replace('acct:' , '', $url->value);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($entry->photos)) {
|
||||
foreach($entry->photos as $photo) {
|
||||
if($photo->type == 'profile') {
|
||||
if (isset($entry->photos)) {
|
||||
foreach ($entry->photos as $photo) {
|
||||
if ($photo->type == 'profile') {
|
||||
$profile_photo = $photo->value;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(isset($entry->updated))
|
||||
if (isset($entry->updated)) {
|
||||
$updated = date("Y-m-d H:i:s", strtotime($entry->updated));
|
||||
}
|
||||
|
||||
if(isset($entry->network))
|
||||
if(isset($entry->network)) {
|
||||
$network = $entry->network;
|
||||
}
|
||||
|
||||
if(isset($entry->currentLocation))
|
||||
if(isset($entry->currentLocation)) {
|
||||
$location = $entry->currentLocation;
|
||||
}
|
||||
|
||||
if(isset($entry->aboutMe))
|
||||
if(isset($entry->aboutMe)) {
|
||||
$about = html2bbcode($entry->aboutMe);
|
||||
}
|
||||
|
||||
if(isset($entry->gender))
|
||||
if(isset($entry->gender)) {
|
||||
$gender = $entry->gender;
|
||||
}
|
||||
|
||||
if(isset($entry->generation) AND ($entry->generation > 0))
|
||||
if(isset($entry->generation) AND ($entry->generation > 0)) {
|
||||
$generation = ++$entry->generation;
|
||||
}
|
||||
|
||||
if(isset($entry->contactType) AND ($entry->contactType >= 0))
|
||||
if(isset($entry->contactType) AND ($entry->contactType >= 0)) {
|
||||
$contact_type = $entry->contactType;
|
||||
}
|
||||
|
||||
if(isset($entry->tags))
|
||||
foreach($entry->tags as $tag)
|
||||
if(isset($entry->tags)) {
|
||||
foreach ($entry->tags as $tag) {
|
||||
$keywords = implode(", ", $tag);
|
||||
}
|
||||
}
|
||||
|
||||
if ($generation > 0) {
|
||||
$success = true;
|
||||
|
@ -1771,8 +1788,6 @@ function gs_fetch_users($server) {
|
|||
|
||||
logger("Fetching users from GNU Social server ".$server, LOGGER_DEBUG);
|
||||
|
||||
$a = get_app();
|
||||
|
||||
$url = $server."/main/statistics";
|
||||
|
||||
$result = z_fetch_url($url);
|
||||
|
@ -1811,7 +1826,7 @@ function gs_fetch_users($server) {
|
|||
"nick" => $user->nickname,
|
||||
"about" => $user->bio,
|
||||
"network" => NETWORK_OSTATUS,
|
||||
"photo" => $a->get_baseurl()."/images/person-175.jpg");
|
||||
"photo" => App::get_baseurl()."/images/person-175.jpg");
|
||||
get_gcontact_id($contact);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
<?php
|
||||
function create_tags_from_item($itemid) {
|
||||
$a = get_app();
|
||||
|
||||
$profile_base = $a->get_baseurl();
|
||||
$profile_base = App::get_baseurl();
|
||||
$profile_data = parse_url($profile_base);
|
||||
$profile_base_friendica = $profile_data['host'].$profile_data['path']."/profile/";
|
||||
$profile_base_diaspora = $profile_data['host'].$profile_data['path']."/u/";
|
||||
|
||||
$searchpath = $a->get_baseurl()."/search?tag=";
|
||||
$searchpath = App::get_baseurl()."/search?tag=";
|
||||
|
||||
$messages = q("SELECT `guid`, `uid`, `id`, `edited`, `deleted`, `created`, `received`, `title`, `body`, `tag`, `parent` FROM `item` WHERE `id` = %d LIMIT 1", intval($itemid));
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@ function replace_macros($s,$r) {
|
|||
$a = get_app();
|
||||
|
||||
// pass $baseurl to all templates
|
||||
$r['$baseurl'] = $a->get_baseurl();
|
||||
$r['$baseurl'] = App::get_baseurl();
|
||||
|
||||
|
||||
$t = $a->template_engine();
|
||||
|
@ -912,7 +912,7 @@ function contact_block() {
|
|||
if (dbm::is_result($r)) {
|
||||
$contacts = sprintf( tt('%d Contact','%d Contacts', $total),$total);
|
||||
$micropro = Array();
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
$micropro[] = micropro($rr,true,'mpfriend');
|
||||
}
|
||||
}
|
||||
|
@ -1367,7 +1367,7 @@ function prepare_body(&$item,$attach = false, $preview = false) {
|
|||
// map
|
||||
if(strpos($s,'<div class="map">') !== false && $item['coord']) {
|
||||
$x = generate_map(trim($item['coord']));
|
||||
if($x) {
|
||||
if ($x) {
|
||||
$s = preg_replace('/\<div class\=\"map\"\>/','$0' . $x,$s);
|
||||
}
|
||||
}
|
||||
|
@ -1717,7 +1717,7 @@ function bb_translate_video($s) {
|
|||
|
||||
$matches = null;
|
||||
$r = preg_match_all("/\[video\](.*?)\[\/video\]/ism",$s,$matches,PREG_SET_ORDER);
|
||||
if($r) {
|
||||
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);
|
||||
|
@ -2000,8 +2000,9 @@ function file_tag_unsave_file($uid,$item,$file,$cat = false) {
|
|||
intval($item),
|
||||
intval($uid)
|
||||
);
|
||||
if(! dbm::is_result($r))
|
||||
if (! dbm::is_result($r)) {
|
||||
return false;
|
||||
}
|
||||
|
||||
q("UPDATE `item` SET `file` = '%s' WHERE `id` = %d AND `uid` = %d",
|
||||
dbesc(str_replace($pattern,'',$r[0]['file'])),
|
||||
|
@ -2020,11 +2021,11 @@ function file_tag_unsave_file($uid,$item,$file,$cat = false) {
|
|||
//$r = q("select file from item where uid = %d and deleted = 0 " . file_tag_file_query('item',$file,(($cat) ? 'category' : 'file')),
|
||||
//);
|
||||
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
$saved = get_pconfig($uid,'system','filetags');
|
||||
set_pconfig($uid,'system','filetags',str_replace($pattern,'',$saved));
|
||||
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
|
|
@ -267,12 +267,10 @@ function update_threads() {
|
|||
}
|
||||
|
||||
function update_threads_mention() {
|
||||
$a = get_app();
|
||||
|
||||
$users = q("SELECT `uid`, `nickname` FROM `user` ORDER BY `uid`");
|
||||
|
||||
foreach ($users AS $user) {
|
||||
$self = normalise_link($a->get_baseurl() . '/profile/' . $user['nickname']);
|
||||
$self = normalise_link(App::get_baseurl() . '/profile/' . $user['nickname']);
|
||||
$selfhttps = str_replace("http://", "https://", $self);
|
||||
$parents = q("SELECT DISTINCT(`parent`) FROM `item` WHERE `uid` = %d AND
|
||||
((`owner-link` IN ('%s', '%s')) OR (`author-link` IN ('%s', '%s')))",
|
||||
|
|
|
@ -133,7 +133,7 @@ function import_account(&$a, $file) {
|
|||
}
|
||||
|
||||
$oldbaseurl = $account['baseurl'];
|
||||
$newbaseurl = $a->get_baseurl();
|
||||
$newbaseurl = App::get_baseurl();
|
||||
$olduid = $account['user']['uid'];
|
||||
|
||||
unset($account['user']['uid']);
|
||||
|
@ -290,5 +290,5 @@ function import_account(&$a, $file) {
|
|||
proc_run(PRIORITY_HIGH, 'include/notifier.php', 'relocate', $newuid);
|
||||
|
||||
info(t("Done. You can now login with your username and password"));
|
||||
goaway($a->get_baseurl() . "/login");
|
||||
goaway(App::get_baseurl() . "/login");
|
||||
}
|
||||
|
|
|
@ -216,7 +216,7 @@ function create_user($arr) {
|
|||
dbesc($default_service_class)
|
||||
);
|
||||
|
||||
if($r) {
|
||||
if ($r) {
|
||||
$r = q("SELECT * FROM `user`
|
||||
WHERE `username` = '%s' AND `password` = '%s' LIMIT 1",
|
||||
dbesc($username),
|
||||
|
|
49
index.php
49
index.php
|
@ -60,15 +60,15 @@ if(!$install) {
|
|||
if ($a->max_processes_reached() OR $a->maxload_reached()) {
|
||||
header($_SERVER["SERVER_PROTOCOL"].' 503 Service Temporarily Unavailable');
|
||||
header('Retry-After: 120');
|
||||
header('Refresh: 120; url='.$a->get_baseurl()."/".$a->query_string);
|
||||
header('Refresh: 120; url='.App::get_baseurl()."/".$a->query_string);
|
||||
die("System is currently unavailable. Please try again later");
|
||||
}
|
||||
|
||||
if (get_config('system','force_ssl') AND ($a->get_scheme() == "http") AND
|
||||
(intval(get_config('system','ssl_policy')) == SSL_POLICY_FULL) AND
|
||||
(substr($a->get_baseurl(), 0, 8) == "https://")) {
|
||||
(substr(App::get_baseurl(), 0, 8) == "https://")) {
|
||||
header("HTTP/1.1 302 Moved Temporarily");
|
||||
header("Location: ".$a->get_baseurl()."/".$a->query_string);
|
||||
header("Location: ".App::get_baseurl()."/".$a->query_string);
|
||||
exit();
|
||||
}
|
||||
|
||||
|
@ -150,24 +150,28 @@ if((x($_GET,'zrl')) && (!$install && !$maintenance)) {
|
|||
*
|
||||
*/
|
||||
|
||||
// header('Link: <' . $a->get_baseurl() . '/amcd>; rel="acct-mgmt";');
|
||||
// header('Link: <' . App::get_baseurl() . '/amcd>; rel="acct-mgmt";');
|
||||
|
||||
if(x($_COOKIE["Friendica"]) || (x($_SESSION,'authenticated')) || (x($_POST,'auth-params')) || ($a->module === 'login'))
|
||||
if (x($_COOKIE["Friendica"]) || (x($_SESSION,'authenticated')) || (x($_POST,'auth-params')) || ($a->module === 'login')) {
|
||||
require("include/auth.php");
|
||||
}
|
||||
|
||||
if(! x($_SESSION,'authenticated'))
|
||||
if (! x($_SESSION,'authenticated')) {
|
||||
header('X-Account-Management-Status: none');
|
||||
}
|
||||
|
||||
/* set up page['htmlhead'] and page['end'] for the modules to use */
|
||||
$a->page['htmlhead'] = '';
|
||||
$a->page['end'] = '';
|
||||
|
||||
|
||||
if(! x($_SESSION,'sysmsg'))
|
||||
if (! x($_SESSION,'sysmsg')) {
|
||||
$_SESSION['sysmsg'] = array();
|
||||
}
|
||||
|
||||
if(! x($_SESSION,'sysmsg_info'))
|
||||
if (! x($_SESSION,'sysmsg_info')) {
|
||||
$_SESSION['sysmsg_info'] = array();
|
||||
}
|
||||
|
||||
/*
|
||||
* check_config() is responsible for running update scripts. These automatically
|
||||
|
@ -177,11 +181,11 @@ if(! x($_SESSION,'sysmsg_info'))
|
|||
|
||||
// in install mode, any url loads install module
|
||||
// but we need "view" module for stylesheet
|
||||
if($install && $a->module!="view")
|
||||
if ($install && $a->module!="view") {
|
||||
$a->module = 'install';
|
||||
elseif($maintenance && $a->module!="view")
|
||||
} elseif ($maintenance && $a->module!="view") {
|
||||
$a->module = 'maintenance';
|
||||
else {
|
||||
} else {
|
||||
check_url($a);
|
||||
check_db();
|
||||
check_plugins($a);
|
||||
|
@ -191,8 +195,7 @@ nav_set_selected('nothing');
|
|||
|
||||
//Don't populate apps_menu if apps are private
|
||||
$privateapps = get_config('config','private_addons');
|
||||
if((local_user()) || (! $privateapps === "1"))
|
||||
{
|
||||
if ((local_user()) || (! $privateapps === "1")) {
|
||||
$arr = array('app_menu' => $a->apps);
|
||||
|
||||
call_hooks('app_menu', $arr);
|
||||
|
@ -238,9 +241,9 @@ if(strlen($a->module)) {
|
|||
|
||||
$privateapps = get_config('config','private_addons');
|
||||
|
||||
if(is_array($a->plugins) && in_array($a->module,$a->plugins) && file_exists("addon/{$a->module}/{$a->module}.php")) {
|
||||
if (is_array($a->plugins) && in_array($a->module,$a->plugins) && file_exists("addon/{$a->module}/{$a->module}.php")) {
|
||||
//Check if module is an app and if public access to apps is allowed or not
|
||||
if((!local_user()) && plugin_is_app($a->module) && $privateapps === "1") {
|
||||
if ((!local_user()) && plugin_is_app($a->module) && $privateapps === "1") {
|
||||
info( t("You must be logged in to use addons. "));
|
||||
}
|
||||
else {
|
||||
|
@ -254,7 +257,7 @@ if(strlen($a->module)) {
|
|||
* If not, next look for a 'standard' program module in the 'mod' directory
|
||||
*/
|
||||
|
||||
if((! $a->module_loaded) && (file_exists("mod/{$a->module}.php"))) {
|
||||
if ((! $a->module_loaded) && (file_exists("mod/{$a->module}.php"))) {
|
||||
include_once("mod/{$a->module}.php");
|
||||
$a->module_loaded = true;
|
||||
}
|
||||
|
@ -272,16 +275,16 @@ if(strlen($a->module)) {
|
|||
*
|
||||
*/
|
||||
|
||||
if(! $a->module_loaded) {
|
||||
if (! $a->module_loaded) {
|
||||
|
||||
// Stupid browser tried to pre-fetch our Javascript img template. Don't log the event or return anything - just quietly exit.
|
||||
if((x($_SERVER,'QUERY_STRING')) && preg_match('/{[0-9]}/',$_SERVER['QUERY_STRING']) !== 0) {
|
||||
if ((x($_SERVER,'QUERY_STRING')) && preg_match('/{[0-9]}/',$_SERVER['QUERY_STRING']) !== 0) {
|
||||
killme();
|
||||
}
|
||||
|
||||
if((x($_SERVER,'QUERY_STRING')) && ($_SERVER['QUERY_STRING'] === 'q=internal_error.html') && isset($dreamhost_error_hack)) {
|
||||
if ((x($_SERVER,'QUERY_STRING')) && ($_SERVER['QUERY_STRING'] === 'q=internal_error.html') && isset($dreamhost_error_hack)) {
|
||||
logger('index.php: dreamhost_error_hack invoked. Original URI =' . $_SERVER['REQUEST_URI']);
|
||||
goaway($a->get_baseurl() . $_SERVER['REQUEST_URI']);
|
||||
goaway(App::get_baseurl() . $_SERVER['REQUEST_URI']);
|
||||
}
|
||||
|
||||
logger('index.php: page not found: ' . $_SERVER['REQUEST_URI'] . ' ADDRESS: ' . $_SERVER['REMOTE_ADDR'] . ' QUERY: ' . $_SERVER['QUERY_STRING'], LOGGER_DEBUG);
|
||||
|
@ -304,11 +307,13 @@ if (file_exists($theme_info_file)){
|
|||
|
||||
/* initialise content region */
|
||||
|
||||
if(! x($a->page,'content'))
|
||||
if (! x($a->page,'content')) {
|
||||
$a->page['content'] = '';
|
||||
}
|
||||
|
||||
if(!$install && !$maintenance)
|
||||
if (!$install && !$maintenance) {
|
||||
call_hooks('page_content_top',$a->page['content']);
|
||||
}
|
||||
|
||||
/**
|
||||
* Call module functions
|
||||
|
|
|
@ -161,10 +161,12 @@
|
|||
// fancyboxes
|
||||
$("a.popupbox").colorbox({
|
||||
'inline' : true,
|
||||
'transition' : 'elastic'
|
||||
'transition' : 'elastic',
|
||||
'maxWidth' : '100%'
|
||||
});
|
||||
$("a.ajax-popupbox").colorbox({
|
||||
'transition' : 'elastic'
|
||||
'transition' : 'elastic',
|
||||
'maxWidth' : '100%'
|
||||
});
|
||||
|
||||
/* notifications template */
|
||||
|
|
|
@ -52,16 +52,26 @@ It's cool, isn't it?
|
|||
|
||||
## Install
|
||||
|
||||
#### NPM
|
||||
|
||||
The best way to install and use perfect-scrollbar is with NPM.
|
||||
It's registered on [npm](https://www.npmjs.org/package/perfect-scrollbar) as `perfect-scrollbar`.
|
||||
It's registered on [npm](https://www.npmjs.com/package/perfect-scrollbar) as `perfect-scrollbar`.
|
||||
|
||||
```
|
||||
$ npm install perfect-scrollbar
|
||||
```
|
||||
|
||||
#### Rails
|
||||
|
||||
In the case you would like to have perfect-scrollbar in your Rails application, there is the [perfect-scrollbar-rails gem](https://github.com/YourCursus/perfect-scrollbar-rails).
|
||||
|
||||
#### Manually
|
||||
|
||||
You can download the latest stable version with download links [here](http://noraesae.github.io/perfect-scrollbar/).
|
||||
You also can find all releases on [Releases](https://github.com/noraesae/perfect-scrollbar/releases).
|
||||
|
||||
#### From sources
|
||||
|
||||
If you want to use the development version of the plugin, use the
|
||||
source files which are not minified. They're in the `src` directory.
|
||||
The development version may be unstable, but some known bugs may
|
||||
|
@ -74,6 +84,7 @@ $ npm install
|
|||
$ gulp # will lint and build the source code.
|
||||
```
|
||||
|
||||
#### Bower
|
||||
|
||||
There is a Bower package for perfect-scrollbar as well. It is managed
|
||||
under the [perfect-scrollbar-bower](https://github.com/noraesae/perfect-scrollbar-bower)
|
||||
|
@ -83,26 +94,38 @@ repository. The plugin is registered as `perfect-scrollbar`.
|
|||
$ bower install perfect-scrollbar
|
||||
```
|
||||
|
||||
#### CDNs
|
||||
|
||||
You can also load it from [cdnjs](http://cdnjs.com/).
|
||||
It is registered as [`jquery.perfect-scrollbar`](http://www.cdnjs.com/libraries/jquery.perfect-scrollbar).
|
||||
* [cdnjs](http://www.cdnjs.com/libraries/jquery.perfect-scrollbar)
|
||||
* [JSDelivr](https://www.jsdelivr.com/projects/perfect-scrollbar)
|
||||
|
||||
## Requirements
|
||||
#### JSFiddle
|
||||
|
||||
To make this plugin *perfect*, some requirements were unavoidable.
|
||||
But, they're all very trivial and there is nothing to worry about.
|
||||
You can fork the following JSFiddles for testing and experimenting purposes:
|
||||
|
||||
* [Perfect Scrollbar](https://jsfiddle.net/DanielApt/xv0rrxv3/)
|
||||
* [Perfect Scrollbar (jQuery)](https://jsfiddle.net/DanielApt/gbfLazpx/)
|
||||
|
||||
## Before using perfect-scrollbar
|
||||
|
||||
The following requirements should meet.
|
||||
|
||||
* the container must have a 'position' css style.
|
||||
* the container must be a normal container element.
|
||||
* PS may not work well in `body`, `textarea`, `iframe` or flexbox.
|
||||
|
||||
The following requirements are included in the basic CSS, but please
|
||||
keep in mind when you'd like to change the CSS files.
|
||||
|
||||
* the container must have an 'overflow:hidden' css style.
|
||||
* the container must have an 'overflow: hidden' css style.
|
||||
* the scrollbar's position must be 'absolute'.
|
||||
* the scrollbar-x must have a 'bottom' css style, and the scrollbar-y
|
||||
must have a 'right' css style.
|
||||
|
||||
Please keep in mind that perfect-scrollbar won't completely emulate native
|
||||
scrolls. Scroll hooking is generally considered as bad practice, and
|
||||
perfect-scrollbar should be used with care. Unless custom scroll is really needed,
|
||||
please consider using native scrolls.
|
||||
|
||||
## How to use
|
||||
|
||||
|
@ -155,7 +178,7 @@ If the size of your container or content changes, call `update`.
|
|||
Ps.update(container);
|
||||
```
|
||||
|
||||
If you want to destory the scrollbar, use `destroy`.
|
||||
If you want to destroy the scrollbar, use `destroy`.
|
||||
|
||||
```javascript
|
||||
Ps.destroy(container);
|
||||
|
@ -238,12 +261,12 @@ define([
|
|||
'perfectScrollbarJquery'
|
||||
],
|
||||
function (angular) {
|
||||
var myApp = angular.module('myApp', [])
|
||||
.run(function() {
|
||||
var app = angular.module('myApp', []);
|
||||
app.run(function () {
|
||||
window.Ps = require('perfectScrollbar');
|
||||
require('perfectScrollbarJQuery');
|
||||
})
|
||||
return myApp;
|
||||
});
|
||||
return app;
|
||||
});
|
||||
```
|
||||
|
||||
|
@ -256,7 +279,7 @@ Ps.initialize(container);
|
|||
Ps.update(container);
|
||||
|
||||
// or by jQuery:
|
||||
var imgLoader = $("#imgLoader")
|
||||
var imgLoader = $('#imgLoader')
|
||||
imgLoader.perfectScrollbar();
|
||||
```
|
||||
|
||||
|
@ -264,57 +287,80 @@ imgLoader.perfectScrollbar();
|
|||
|
||||
perfect-scrollbar supports optional parameters.
|
||||
|
||||
### handlers
|
||||
It is a list of handlers to use to scroll the element.
|
||||
**Default**: `['click-rail', 'drag-scrollbar', 'keyboard', 'wheel', 'touch']`
|
||||
**Disabled by default**: `'selection'`
|
||||
|
||||
### wheelSpeed
|
||||
The scroll speed applied to mousewheel event.
|
||||
**Default: 1**
|
||||
**Default**: `1`
|
||||
|
||||
### wheelPropagation
|
||||
If this option is true, when the scroll reaches the end of the side, mousewheel event will be propagated to parent element.
|
||||
**Default: false**
|
||||
**Default**: `false`
|
||||
|
||||
### swipePropagation
|
||||
If this option is true, when the scroll reaches the end of the side, touch scrolling will be propagated to parent element.
|
||||
**Default: true**
|
||||
**Default**: `true`
|
||||
|
||||
### minScrollbarLength
|
||||
When set to an integer value, the thumb part of the scrollbar will not shrink below that number of pixels.
|
||||
**Default: null**
|
||||
**Default**: `null`
|
||||
|
||||
### maxScrollbarLength
|
||||
When set to an integer value, the thumb part of the scrollbar will not expand over that number of pixels.
|
||||
**Default: null**
|
||||
**Default**: `null`
|
||||
|
||||
### useBothWheelAxes
|
||||
When set to true, and only one (vertical or horizontal) scrollbar is visible then both vertical and horizontal scrolling will affect the scrollbar.
|
||||
**Default: false**
|
||||
|
||||
### useKeyboard
|
||||
When set to true, the scroll works with arrow keys on the keyboard. The element is scrolled only when the mouse cursor hovers the element.
|
||||
**Default: true**
|
||||
**Default**: `false`
|
||||
|
||||
### suppressScrollX
|
||||
When set to true, the scroll bar in X axis will not be available, regardless of the content width.
|
||||
**Default: false**
|
||||
**Default**: `false`
|
||||
|
||||
### suppressScrollY
|
||||
When set to true, the scroll bar in Y axis will not be available, regardless of the content height.
|
||||
**Default: false**
|
||||
**Default**: `false`
|
||||
|
||||
### scrollXMarginOffset
|
||||
The number of pixels the content width can surpass the container width without enabling the X axis scroll bar. Allows some "wiggle room" or "offset break", so that X axis scroll bar is not enabled just because of a few pixels.
|
||||
**Default: 0**
|
||||
**Default**: `0`
|
||||
|
||||
### scrollYMarginOffset
|
||||
The number of pixels the content height can surpass the container height without enabling the Y axis scroll bar. Allows some "wiggle room" or "offset break", so that Y axis scroll bar is not enabled just because of a few pixels.
|
||||
**Default: 0**
|
||||
**Default**: `0`
|
||||
|
||||
### stopPropagationOnClick
|
||||
When set to false, when clicking on a rail, the click event will be allowed to propagate.
|
||||
**Default: true**
|
||||
### theme
|
||||
A string. It's a class name added to the container element. The class name is prepended with `ps-theme-`. So default theme class name is `ps-theme-default`. In order to create custom themes with scss use `ps-container($theme)` mixin, where `$theme` is a scss map.
|
||||
**Default**: `'default'`
|
||||
|
||||
**Example 1:**
|
||||
|
||||
Add `theme` parameter:
|
||||
```javascript
|
||||
Ps.initialize(container, {
|
||||
theme: 'my-theme-name'
|
||||
});
|
||||
```
|
||||
Create a class name prefixed with `.ps-theme-`. Include `ps-container()` mixin. It's recommended to use `map-merge()` to extend `$ps-theme-default` map with your custom styles.
|
||||
```scss
|
||||
.ps-theme-my-theme-name {
|
||||
@include ps-container(map-merge($ps-theme-default, (
|
||||
border-radius: 0,
|
||||
scrollbar-x-rail-height: 20px,
|
||||
scrollbar-x-height: 20px,
|
||||
scrollbar-y-rail-width: 20px,
|
||||
scrollbar-y-width: 20px
|
||||
)));
|
||||
}
|
||||
```
|
||||
|
||||
**Example 2:**
|
||||
|
||||
Alternatively, if you don't want to create your own themes, but only modify the default one, you could simply overwrite `$ps-*` variables with your own values. In this case `theme` parameter is not required when calling `.initialize()` method. Remember do define your own variables before the `theme.scss` file is imported.
|
||||
|
||||
### useSelectionScroll
|
||||
When set to true, you can scroll the container by selecting text and move the cursor.
|
||||
**Default: false**
|
||||
|
||||
## Events
|
||||
|
||||
|
@ -363,24 +409,20 @@ $(document).on('ps-scroll-x', function () {
|
|||
})
|
||||
```
|
||||
|
||||
## Contribution
|
||||
## Tips
|
||||
|
||||
#### Please read [Contributing](https://github.com/noraesae/perfect-scrollbar/wiki/Contributing) in the wiki before making any contribution.
|
||||
### Scrolling children inside perfect-scrollbar
|
||||
|
||||
|
||||
I *really* welcome contributions! Please feel free to fork and issue pull requests when...
|
||||
|
||||
* You have a very nice idea to improve this plugin!
|
||||
* You found a bug!
|
||||
* You're good at English and can help my bad English!
|
||||
|
||||
For IE problems, please refer to [IE Support](https://github.com/noraesae/perfect-scrollbar#ie-support).
|
||||
You can natively scroll children inside `perfect-scrollbar` with the mouse-wheel. Scrolling automatically works if
|
||||
the child is a `textarea`. All other elements need to have the `ps-child` class. This is demonstrated in [`/examples/children-native-scroll.html`](examples/children-native-scroll.html)
|
||||
|
||||
## IE Support
|
||||
|
||||
The plugin would work in IEs >= IE9 (not well, though).
|
||||
The plugin is designed to work in modern browsers, including the very latest
|
||||
version of IE and Edge. Specifically, it should work in IEs >= IE10. If there
|
||||
is any issue in the browsers, please [file it](https://github.com/noraesae/perfect-scrollbar/issues).
|
||||
|
||||
**The patches to fix problems in IE<=8 won't be accepted.**
|
||||
**The patches to fix problems in IE<=9 won't be accepted.**
|
||||
|
||||
When old IEs should be supported, please fork the project and
|
||||
make patches personally.
|
||||
|
@ -396,7 +438,7 @@ For common problems there is a
|
|||
|
||||
## License
|
||||
|
||||
The MIT License (MIT) Copyright (c) 2015 Hyunje Alex Jun and other contributors.
|
||||
The MIT License (MIT) Copyright (c) 2016 Hyunje Alex Jun and other contributors.
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
||||
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/* perfect-scrollbar v0.6.10 */
|
||||
/* perfect-scrollbar v0.6.15 */
|
||||
.ps-container {
|
||||
-ms-touch-action: none;
|
||||
touch-action: none;
|
||||
-ms-touch-action: auto;
|
||||
touch-action: auto;
|
||||
overflow: hidden !important;
|
||||
-ms-overflow-style: none; }
|
||||
@supports (-ms-overflow-style: none) {
|
||||
|
@ -14,88 +14,90 @@
|
|||
.ps-container.ps-active-y > .ps-scrollbar-y-rail {
|
||||
display: block;
|
||||
background-color: transparent; }
|
||||
.ps-container.ps-in-scrolling {
|
||||
pointer-events: none; }
|
||||
.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {
|
||||
background-color: #eee;
|
||||
opacity: 0.9; }
|
||||
.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {
|
||||
background-color: #999; }
|
||||
.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {
|
||||
background-color: #eee;
|
||||
opacity: 0.9; }
|
||||
.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {
|
||||
background-color: #999; }
|
||||
.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {
|
||||
background-color: #eee;
|
||||
opacity: 0.9; }
|
||||
.ps-container.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {
|
||||
background-color: #999;
|
||||
height: 11px; }
|
||||
.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {
|
||||
background-color: #eee;
|
||||
opacity: 0.9; }
|
||||
.ps-container.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {
|
||||
background-color: #999;
|
||||
width: 11px; }
|
||||
.ps-container > .ps-scrollbar-x-rail {
|
||||
display: none;
|
||||
position: absolute;
|
||||
/* please don't change 'position' */
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
opacity: 0;
|
||||
-webkit-transition: background-color .2s linear, opacity .2s linear;
|
||||
-moz-transition: background-color .2s linear, opacity .2s linear;
|
||||
-o-transition: background-color .2s linear, opacity .2s linear;
|
||||
-moz-transition: background-color .2s linear, opacity .2s linear;
|
||||
transition: background-color .2s linear, opacity .2s linear;
|
||||
bottom: 3px;
|
||||
bottom: 0px;
|
||||
/* there must be 'bottom' for ps-scrollbar-x-rail */
|
||||
height: 8px; }
|
||||
height: 15px; }
|
||||
.ps-container > .ps-scrollbar-x-rail > .ps-scrollbar-x {
|
||||
position: absolute;
|
||||
/* please don't change 'position' */
|
||||
background-color: #aaa;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
-webkit-transition: background-color .2s linear;
|
||||
-moz-transition: background-color .2s linear;
|
||||
-o-transition: background-color .2s linear;
|
||||
transition: background-color .2s linear;
|
||||
bottom: 0;
|
||||
-webkit-border-radius: 6px;
|
||||
-moz-border-radius: 6px;
|
||||
border-radius: 6px;
|
||||
-webkit-transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;
|
||||
transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;
|
||||
-o-transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;
|
||||
-moz-transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;
|
||||
transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;
|
||||
transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -webkit-border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;
|
||||
bottom: 2px;
|
||||
/* there must be 'bottom' for ps-scrollbar-x */
|
||||
height: 8px; }
|
||||
height: 6px; }
|
||||
.ps-container > .ps-scrollbar-x-rail:hover > .ps-scrollbar-x, .ps-container > .ps-scrollbar-x-rail:active > .ps-scrollbar-x {
|
||||
height: 11px; }
|
||||
.ps-container > .ps-scrollbar-y-rail {
|
||||
display: none;
|
||||
position: absolute;
|
||||
/* please don't change 'position' */
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
opacity: 0;
|
||||
-webkit-transition: background-color .2s linear, opacity .2s linear;
|
||||
-moz-transition: background-color .2s linear, opacity .2s linear;
|
||||
-o-transition: background-color .2s linear, opacity .2s linear;
|
||||
-moz-transition: background-color .2s linear, opacity .2s linear;
|
||||
transition: background-color .2s linear, opacity .2s linear;
|
||||
right: 3px;
|
||||
right: 0;
|
||||
/* there must be 'right' for ps-scrollbar-y-rail */
|
||||
width: 8px; }
|
||||
width: 15px; }
|
||||
.ps-container > .ps-scrollbar-y-rail > .ps-scrollbar-y {
|
||||
position: absolute;
|
||||
/* please don't change 'position' */
|
||||
background-color: #aaa;
|
||||
-webkit-border-radius: 4px;
|
||||
-moz-border-radius: 4px;
|
||||
border-radius: 4px;
|
||||
-webkit-transition: background-color .2s linear;
|
||||
-moz-transition: background-color .2s linear;
|
||||
-o-transition: background-color .2s linear;
|
||||
transition: background-color .2s linear;
|
||||
right: 0;
|
||||
-webkit-border-radius: 6px;
|
||||
-moz-border-radius: 6px;
|
||||
border-radius: 6px;
|
||||
-webkit-transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;
|
||||
transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;
|
||||
-o-transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;
|
||||
-moz-transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;
|
||||
transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;
|
||||
transition: background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -webkit-border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;
|
||||
right: 2px;
|
||||
/* there must be 'right' for ps-scrollbar-y */
|
||||
width: 8px; }
|
||||
.ps-container:hover.ps-in-scrolling {
|
||||
pointer-events: none; }
|
||||
.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {
|
||||
background-color: #eee;
|
||||
opacity: 0.9; }
|
||||
.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {
|
||||
background-color: #999; }
|
||||
.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {
|
||||
background-color: #eee;
|
||||
opacity: 0.9; }
|
||||
.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {
|
||||
background-color: #999; }
|
||||
width: 6px; }
|
||||
.ps-container > .ps-scrollbar-y-rail:hover > .ps-scrollbar-y, .ps-container > .ps-scrollbar-y-rail:active > .ps-scrollbar-y {
|
||||
width: 11px; }
|
||||
.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail {
|
||||
background-color: #eee;
|
||||
opacity: 0.9; }
|
||||
.ps-container:hover.ps-in-scrolling.ps-x > .ps-scrollbar-x-rail > .ps-scrollbar-x {
|
||||
background-color: #999;
|
||||
height: 11px; }
|
||||
.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail {
|
||||
background-color: #eee;
|
||||
opacity: 0.9; }
|
||||
.ps-container:hover.ps-in-scrolling.ps-y > .ps-scrollbar-y-rail > .ps-scrollbar-y {
|
||||
background-color: #999;
|
||||
width: 11px; }
|
||||
.ps-container:hover > .ps-scrollbar-x-rail,
|
||||
.ps-container:hover > .ps-scrollbar-y-rail {
|
||||
opacity: 0.6; }
|
||||
|
|
|
@ -1,16 +1,9 @@
|
|||
/* perfect-scrollbar v0.6.10
|
||||
*
|
||||
* Copyright (c) 2015 Hyunje Alex Jun and other contributors
|
||||
* Licensed under the MIT License
|
||||
*
|
||||
* Source: https://github.com/noraesae/perfect-scrollbar
|
||||
*/
|
||||
|
||||
/* perfect-scrollbar v0.6.15 */
|
||||
(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error("Cannot find module '"+o+"'");throw f.code="MODULE_NOT_FOUND",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
|
||||
'use strict';
|
||||
|
||||
var ps = require('../main')
|
||||
, psInstances = require('../plugin/instances');
|
||||
var ps = require('../main');
|
||||
var psInstances = require('../plugin/instances');
|
||||
|
||||
function mountJQuery(jQuery) {
|
||||
jQuery.fn.perfectScrollbar = function (settingOrCommand) {
|
||||
|
@ -33,8 +26,6 @@ function mountJQuery(jQuery) {
|
|||
ps.destroy(this);
|
||||
}
|
||||
}
|
||||
|
||||
return jQuery(this);
|
||||
});
|
||||
};
|
||||
}
|
||||
|
@ -272,20 +263,22 @@ module.exports = (function () {
|
|||
},{}],6:[function(require,module,exports){
|
||||
'use strict';
|
||||
|
||||
var cls = require('./class')
|
||||
, d = require('./dom');
|
||||
var cls = require('./class');
|
||||
var dom = require('./dom');
|
||||
|
||||
exports.toInt = function (x) {
|
||||
var toInt = exports.toInt = function (x) {
|
||||
return parseInt(x, 10) || 0;
|
||||
};
|
||||
|
||||
exports.clone = function (obj) {
|
||||
if (obj === null) {
|
||||
var clone = exports.clone = function (obj) {
|
||||
if (!obj) {
|
||||
return null;
|
||||
} else if (obj.constructor === Array) {
|
||||
return obj.map(clone);
|
||||
} else if (typeof obj === 'object') {
|
||||
var result = {};
|
||||
for (var key in obj) {
|
||||
result[key] = this.clone(obj[key]);
|
||||
result[key] = clone(obj[key]);
|
||||
}
|
||||
return result;
|
||||
} else {
|
||||
|
@ -294,18 +287,18 @@ exports.clone = function (obj) {
|
|||
};
|
||||
|
||||
exports.extend = function (original, source) {
|
||||
var result = this.clone(original);
|
||||
var result = clone(original);
|
||||
for (var key in source) {
|
||||
result[key] = this.clone(source[key]);
|
||||
result[key] = clone(source[key]);
|
||||
}
|
||||
return result;
|
||||
};
|
||||
|
||||
exports.isEditable = function (el) {
|
||||
return d.matches(el, "input,[contenteditable]") ||
|
||||
d.matches(el, "select,[contenteditable]") ||
|
||||
d.matches(el, "textarea,[contenteditable]") ||
|
||||
d.matches(el, "button,[contenteditable]");
|
||||
return dom.matches(el, "input,[contenteditable]") ||
|
||||
dom.matches(el, "select,[contenteditable]") ||
|
||||
dom.matches(el, "textarea,[contenteditable]") ||
|
||||
dom.matches(el, "button,[contenteditable]");
|
||||
};
|
||||
|
||||
exports.removePsClasses = function (element) {
|
||||
|
@ -319,11 +312,11 @@ exports.removePsClasses = function (element) {
|
|||
};
|
||||
|
||||
exports.outerWidth = function (element) {
|
||||
return this.toInt(d.css(element, 'width')) +
|
||||
this.toInt(d.css(element, 'paddingLeft')) +
|
||||
this.toInt(d.css(element, 'paddingRight')) +
|
||||
this.toInt(d.css(element, 'borderLeftWidth')) +
|
||||
this.toInt(d.css(element, 'borderRightWidth'));
|
||||
return toInt(dom.css(element, 'width')) +
|
||||
toInt(dom.css(element, 'paddingLeft')) +
|
||||
toInt(dom.css(element, 'paddingRight')) +
|
||||
toInt(dom.css(element, 'borderLeftWidth')) +
|
||||
toInt(dom.css(element, 'borderRightWidth'));
|
||||
};
|
||||
|
||||
exports.startScrolling = function (element, axis) {
|
||||
|
@ -355,9 +348,9 @@ exports.env = {
|
|||
},{"./class":2,"./dom":3}],7:[function(require,module,exports){
|
||||
'use strict';
|
||||
|
||||
var destroy = require('./plugin/destroy')
|
||||
, initialize = require('./plugin/initialize')
|
||||
, update = require('./plugin/update');
|
||||
var destroy = require('./plugin/destroy');
|
||||
var initialize = require('./plugin/initialize');
|
||||
var update = require('./plugin/update');
|
||||
|
||||
module.exports = {
|
||||
initialize: initialize,
|
||||
|
@ -369,17 +362,15 @@ module.exports = {
|
|||
'use strict';
|
||||
|
||||
module.exports = {
|
||||
handlers: ['click-rail', 'drag-scrollbar', 'keyboard', 'wheel', 'touch'],
|
||||
maxScrollbarLength: null,
|
||||
minScrollbarLength: null,
|
||||
scrollXMarginOffset: 0,
|
||||
scrollYMarginOffset: 0,
|
||||
stopPropagationOnClick: true,
|
||||
suppressScrollX: false,
|
||||
suppressScrollY: false,
|
||||
swipePropagation: true,
|
||||
useBothWheelAxes: false,
|
||||
useKeyboard: true,
|
||||
useSelectionScroll: false,
|
||||
wheelPropagation: false,
|
||||
wheelSpeed: 1,
|
||||
theme: 'default'
|
||||
|
@ -388,9 +379,9 @@ module.exports = {
|
|||
},{}],9:[function(require,module,exports){
|
||||
'use strict';
|
||||
|
||||
var d = require('../lib/dom')
|
||||
, h = require('../lib/helper')
|
||||
, instances = require('./instances');
|
||||
var _ = require('../lib/helper');
|
||||
var dom = require('../lib/dom');
|
||||
var instances = require('./instances');
|
||||
|
||||
module.exports = function (element) {
|
||||
var i = instances.get(element);
|
||||
|
@ -400,11 +391,11 @@ module.exports = function (element) {
|
|||
}
|
||||
|
||||
i.event.unbindAll();
|
||||
d.remove(i.scrollbarX);
|
||||
d.remove(i.scrollbarY);
|
||||
d.remove(i.scrollbarXRail);
|
||||
d.remove(i.scrollbarYRail);
|
||||
h.removePsClasses(element);
|
||||
dom.remove(i.scrollbarX);
|
||||
dom.remove(i.scrollbarY);
|
||||
dom.remove(i.scrollbarXRail);
|
||||
dom.remove(i.scrollbarYRail);
|
||||
_.removePsClasses(element);
|
||||
|
||||
instances.remove(element);
|
||||
};
|
||||
|
@ -412,54 +403,33 @@ module.exports = function (element) {
|
|||
},{"../lib/dom":3,"../lib/helper":6,"./instances":18}],10:[function(require,module,exports){
|
||||
'use strict';
|
||||
|
||||
var h = require('../../lib/helper')
|
||||
, instances = require('../instances')
|
||||
, updateGeometry = require('../update-geometry')
|
||||
, updateScroll = require('../update-scroll');
|
||||
var instances = require('../instances');
|
||||
var updateGeometry = require('../update-geometry');
|
||||
var updateScroll = require('../update-scroll');
|
||||
|
||||
function bindClickRailHandler(element, i) {
|
||||
function pageOffset(el) {
|
||||
return el.getBoundingClientRect();
|
||||
}
|
||||
var stopPropagation = window.Event.prototype.stopPropagation.bind;
|
||||
var stopPropagation = function (e) { e.stopPropagation(); };
|
||||
|
||||
if (i.settings.stopPropagationOnClick) {
|
||||
i.event.bind(i.scrollbarY, 'click', stopPropagation);
|
||||
}
|
||||
i.event.bind(i.scrollbarY, 'click', stopPropagation);
|
||||
i.event.bind(i.scrollbarYRail, 'click', function (e) {
|
||||
var halfOfScrollbarLength = h.toInt(i.scrollbarYHeight / 2);
|
||||
var positionTop = i.railYRatio * (e.pageY - window.pageYOffset - pageOffset(i.scrollbarYRail).top - halfOfScrollbarLength);
|
||||
var maxPositionTop = i.railYRatio * (i.railYHeight - i.scrollbarYHeight);
|
||||
var positionRatio = positionTop / maxPositionTop;
|
||||
var positionTop = e.pageY - window.pageYOffset - pageOffset(i.scrollbarYRail).top;
|
||||
var direction = positionTop > i.scrollbarYTop ? 1 : -1;
|
||||
|
||||
if (positionRatio < 0) {
|
||||
positionRatio = 0;
|
||||
} else if (positionRatio > 1) {
|
||||
positionRatio = 1;
|
||||
}
|
||||
|
||||
updateScroll(element, 'top', (i.contentHeight - i.containerHeight) * positionRatio);
|
||||
updateScroll(element, 'top', element.scrollTop + direction * i.containerHeight);
|
||||
updateGeometry(element);
|
||||
|
||||
e.stopPropagation();
|
||||
});
|
||||
|
||||
if (i.settings.stopPropagationOnClick) {
|
||||
i.event.bind(i.scrollbarX, 'click', stopPropagation);
|
||||
}
|
||||
i.event.bind(i.scrollbarX, 'click', stopPropagation);
|
||||
i.event.bind(i.scrollbarXRail, 'click', function (e) {
|
||||
var halfOfScrollbarLength = h.toInt(i.scrollbarXWidth / 2);
|
||||
var positionLeft = i.railXRatio * (e.pageX - window.pageXOffset - pageOffset(i.scrollbarXRail).left - halfOfScrollbarLength);
|
||||
var maxPositionLeft = i.railXRatio * (i.railXWidth - i.scrollbarXWidth);
|
||||
var positionRatio = positionLeft / maxPositionLeft;
|
||||
var positionLeft = e.pageX - window.pageXOffset - pageOffset(i.scrollbarXRail).left;
|
||||
var direction = positionLeft > i.scrollbarXLeft ? 1 : -1;
|
||||
|
||||
if (positionRatio < 0) {
|
||||
positionRatio = 0;
|
||||
} else if (positionRatio > 1) {
|
||||
positionRatio = 1;
|
||||
}
|
||||
|
||||
updateScroll(element, 'left', ((i.contentWidth - i.containerWidth) * positionRatio) - i.negativeScrollAdjustment);
|
||||
updateScroll(element, 'left', element.scrollLeft + direction * i.containerWidth);
|
||||
updateGeometry(element);
|
||||
|
||||
e.stopPropagation();
|
||||
|
@ -471,14 +441,14 @@ module.exports = function (element) {
|
|||
bindClickRailHandler(element, i);
|
||||
};
|
||||
|
||||
},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],11:[function(require,module,exports){
|
||||
},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],11:[function(require,module,exports){
|
||||
'use strict';
|
||||
|
||||
var d = require('../../lib/dom')
|
||||
, h = require('../../lib/helper')
|
||||
, instances = require('../instances')
|
||||
, updateGeometry = require('../update-geometry')
|
||||
, updateScroll = require('../update-scroll');
|
||||
var _ = require('../../lib/helper');
|
||||
var dom = require('../../lib/dom');
|
||||
var instances = require('../instances');
|
||||
var updateGeometry = require('../update-geometry');
|
||||
var updateScroll = require('../update-scroll');
|
||||
|
||||
function bindMouseScrollXHandler(element, i) {
|
||||
var currentLeft = null;
|
||||
|
@ -496,7 +466,7 @@ function bindMouseScrollXHandler(element, i) {
|
|||
i.scrollbarXLeft = newLeft;
|
||||
}
|
||||
|
||||
var scrollLeft = h.toInt(i.scrollbarXLeft * (i.contentWidth - i.containerWidth) / (i.containerWidth - (i.railXRatio * i.scrollbarXWidth))) - i.negativeScrollAdjustment;
|
||||
var scrollLeft = _.toInt(i.scrollbarXLeft * (i.contentWidth - i.containerWidth) / (i.containerWidth - (i.railXRatio * i.scrollbarXWidth))) - i.negativeScrollAdjustment;
|
||||
updateScroll(element, 'left', scrollLeft);
|
||||
}
|
||||
|
||||
|
@ -508,14 +478,14 @@ function bindMouseScrollXHandler(element, i) {
|
|||
};
|
||||
|
||||
var mouseUpHandler = function () {
|
||||
h.stopScrolling(element, 'x');
|
||||
_.stopScrolling(element, 'x');
|
||||
i.event.unbind(i.ownerDocument, 'mousemove', mouseMoveHandler);
|
||||
};
|
||||
|
||||
i.event.bind(i.scrollbarX, 'mousedown', function (e) {
|
||||
currentPageX = e.pageX;
|
||||
currentLeft = h.toInt(d.css(i.scrollbarX, 'left')) * i.railXRatio;
|
||||
h.startScrolling(element, 'x');
|
||||
currentLeft = _.toInt(dom.css(i.scrollbarX, 'left')) * i.railXRatio;
|
||||
_.startScrolling(element, 'x');
|
||||
|
||||
i.event.bind(i.ownerDocument, 'mousemove', mouseMoveHandler);
|
||||
i.event.once(i.ownerDocument, 'mouseup', mouseUpHandler);
|
||||
|
@ -541,7 +511,7 @@ function bindMouseScrollYHandler(element, i) {
|
|||
i.scrollbarYTop = newTop;
|
||||
}
|
||||
|
||||
var scrollTop = h.toInt(i.scrollbarYTop * (i.contentHeight - i.containerHeight) / (i.containerHeight - (i.railYRatio * i.scrollbarYHeight)));
|
||||
var scrollTop = _.toInt(i.scrollbarYTop * (i.contentHeight - i.containerHeight) / (i.containerHeight - (i.railYRatio * i.scrollbarYHeight)));
|
||||
updateScroll(element, 'top', scrollTop);
|
||||
}
|
||||
|
||||
|
@ -553,14 +523,14 @@ function bindMouseScrollYHandler(element, i) {
|
|||
};
|
||||
|
||||
var mouseUpHandler = function () {
|
||||
h.stopScrolling(element, 'y');
|
||||
_.stopScrolling(element, 'y');
|
||||
i.event.unbind(i.ownerDocument, 'mousemove', mouseMoveHandler);
|
||||
};
|
||||
|
||||
i.event.bind(i.scrollbarY, 'mousedown', function (e) {
|
||||
currentPageY = e.pageY;
|
||||
currentTop = h.toInt(d.css(i.scrollbarY, 'top')) * i.railYRatio;
|
||||
h.startScrolling(element, 'y');
|
||||
currentTop = _.toInt(dom.css(i.scrollbarY, 'top')) * i.railYRatio;
|
||||
_.startScrolling(element, 'y');
|
||||
|
||||
i.event.bind(i.ownerDocument, 'mousemove', mouseMoveHandler);
|
||||
i.event.once(i.ownerDocument, 'mouseup', mouseUpHandler);
|
||||
|
@ -579,11 +549,11 @@ module.exports = function (element) {
|
|||
},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],12:[function(require,module,exports){
|
||||
'use strict';
|
||||
|
||||
var h = require('../../lib/helper')
|
||||
, d = require('../../lib/dom')
|
||||
, instances = require('../instances')
|
||||
, updateGeometry = require('../update-geometry')
|
||||
, updateScroll = require('../update-scroll');
|
||||
var _ = require('../../lib/helper');
|
||||
var dom = require('../../lib/dom');
|
||||
var instances = require('../instances');
|
||||
var updateGeometry = require('../update-geometry');
|
||||
var updateScroll = require('../update-scroll');
|
||||
|
||||
function bindKeyboardHandler(element, i) {
|
||||
var hovered = false;
|
||||
|
@ -619,12 +589,12 @@ function bindKeyboardHandler(element, i) {
|
|||
}
|
||||
|
||||
i.event.bind(i.ownerDocument, 'keydown', function (e) {
|
||||
if (e.isDefaultPrevented && e.isDefaultPrevented()) {
|
||||
if ((e.isDefaultPrevented && e.isDefaultPrevented()) || e.defaultPrevented) {
|
||||
return;
|
||||
}
|
||||
|
||||
var focused = d.matches(i.scrollbarX, ':focus') ||
|
||||
d.matches(i.scrollbarY, ':focus');
|
||||
var focused = dom.matches(i.scrollbarX, ':focus') ||
|
||||
dom.matches(i.scrollbarY, ':focus');
|
||||
|
||||
if (!hovered && !focused) {
|
||||
return;
|
||||
|
@ -632,11 +602,15 @@ function bindKeyboardHandler(element, i) {
|
|||
|
||||
var activeElement = document.activeElement ? document.activeElement : i.ownerDocument.activeElement;
|
||||
if (activeElement) {
|
||||
// go deeper if element is a webcomponent
|
||||
while (activeElement.shadowRoot) {
|
||||
activeElement = activeElement.shadowRoot.activeElement;
|
||||
if (activeElement.tagName === 'IFRAME') {
|
||||
activeElement = activeElement.contentDocument.activeElement;
|
||||
} else {
|
||||
// go deeper if element is a webcomponent
|
||||
while (activeElement.shadowRoot) {
|
||||
activeElement = activeElement.shadowRoot.activeElement;
|
||||
}
|
||||
}
|
||||
if (h.isEditable(activeElement)) {
|
||||
if (_.isEditable(activeElement)) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
@ -646,16 +620,40 @@ function bindKeyboardHandler(element, i) {
|
|||
|
||||
switch (e.which) {
|
||||
case 37: // left
|
||||
deltaX = -30;
|
||||
if (e.metaKey) {
|
||||
deltaX = -i.contentWidth;
|
||||
} else if (e.altKey) {
|
||||
deltaX = -i.containerWidth;
|
||||
} else {
|
||||
deltaX = -30;
|
||||
}
|
||||
break;
|
||||
case 38: // up
|
||||
deltaY = 30;
|
||||
if (e.metaKey) {
|
||||
deltaY = i.contentHeight;
|
||||
} else if (e.altKey) {
|
||||
deltaY = i.containerHeight;
|
||||
} else {
|
||||
deltaY = 30;
|
||||
}
|
||||
break;
|
||||
case 39: // right
|
||||
deltaX = 30;
|
||||
if (e.metaKey) {
|
||||
deltaX = i.contentWidth;
|
||||
} else if (e.altKey) {
|
||||
deltaX = i.containerWidth;
|
||||
} else {
|
||||
deltaX = 30;
|
||||
}
|
||||
break;
|
||||
case 40: // down
|
||||
deltaY = -30;
|
||||
if (e.metaKey) {
|
||||
deltaY = -i.contentHeight;
|
||||
} else if (e.altKey) {
|
||||
deltaY = -i.containerHeight;
|
||||
} else {
|
||||
deltaY = -30;
|
||||
}
|
||||
break;
|
||||
case 33: // page up
|
||||
deltaY = 90;
|
||||
|
@ -707,9 +705,9 @@ module.exports = function (element) {
|
|||
},{"../../lib/dom":3,"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],13:[function(require,module,exports){
|
||||
'use strict';
|
||||
|
||||
var instances = require('../instances')
|
||||
, updateGeometry = require('../update-geometry')
|
||||
, updateScroll = require('../update-scroll');
|
||||
var instances = require('../instances');
|
||||
var updateGeometry = require('../update-geometry');
|
||||
var updateScroll = require('../update-scroll');
|
||||
|
||||
function bindMouseWheelHandler(element, i) {
|
||||
var shouldPrevent = false;
|
||||
|
@ -759,23 +757,30 @@ function bindMouseWheelHandler(element, i) {
|
|||
deltaY = e.wheelDelta;
|
||||
}
|
||||
|
||||
if (e.shiftKey) {
|
||||
// reverse axis with shift key
|
||||
return [-deltaY, -deltaX];
|
||||
}
|
||||
return [deltaX, deltaY];
|
||||
}
|
||||
|
||||
function shouldBeConsumedByTextarea(deltaX, deltaY) {
|
||||
var hoveredTextarea = element.querySelector('textarea:hover');
|
||||
if (hoveredTextarea) {
|
||||
var maxScrollTop = hoveredTextarea.scrollHeight - hoveredTextarea.clientHeight;
|
||||
function shouldBeConsumedByChild(deltaX, deltaY) {
|
||||
var child = element.querySelector('textarea:hover, select[multiple]:hover, .ps-child:hover');
|
||||
if (child) {
|
||||
if (!window.getComputedStyle(child).overflow.match(/(scroll|auto)/)) {
|
||||
// if not scrollable
|
||||
return false;
|
||||
}
|
||||
|
||||
var maxScrollTop = child.scrollHeight - child.clientHeight;
|
||||
if (maxScrollTop > 0) {
|
||||
if (!(hoveredTextarea.scrollTop === 0 && deltaY > 0) &&
|
||||
!(hoveredTextarea.scrollTop === maxScrollTop && deltaY < 0)) {
|
||||
if (!(child.scrollTop === 0 && deltaY > 0) && !(child.scrollTop === maxScrollTop && deltaY < 0)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
var maxScrollLeft = hoveredTextarea.scrollLeft - hoveredTextarea.clientWidth;
|
||||
var maxScrollLeft = child.scrollLeft - child.clientWidth;
|
||||
if (maxScrollLeft > 0) {
|
||||
if (!(hoveredTextarea.scrollLeft === 0 && deltaX < 0) &&
|
||||
!(hoveredTextarea.scrollLeft === maxScrollLeft && deltaX > 0)) {
|
||||
if (!(child.scrollLeft === 0 && deltaX < 0) && !(child.scrollLeft === maxScrollLeft && deltaX > 0)) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
@ -789,7 +794,7 @@ function bindMouseWheelHandler(element, i) {
|
|||
var deltaX = delta[0];
|
||||
var deltaY = delta[1];
|
||||
|
||||
if (shouldBeConsumedByTextarea(deltaX, deltaY)) {
|
||||
if (shouldBeConsumedByChild(deltaX, deltaY)) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -843,8 +848,8 @@ module.exports = function (element) {
|
|||
},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],14:[function(require,module,exports){
|
||||
'use strict';
|
||||
|
||||
var instances = require('../instances')
|
||||
, updateGeometry = require('../update-geometry');
|
||||
var instances = require('../instances');
|
||||
var updateGeometry = require('../update-geometry');
|
||||
|
||||
function bindNativeScrollHandler(element, i) {
|
||||
i.event.bind(element, 'scroll', function () {
|
||||
|
@ -860,10 +865,10 @@ module.exports = function (element) {
|
|||
},{"../instances":18,"../update-geometry":19}],15:[function(require,module,exports){
|
||||
'use strict';
|
||||
|
||||
var h = require('../../lib/helper')
|
||||
, instances = require('../instances')
|
||||
, updateGeometry = require('../update-geometry')
|
||||
, updateScroll = require('../update-scroll');
|
||||
var _ = require('../../lib/helper');
|
||||
var instances = require('../instances');
|
||||
var updateGeometry = require('../update-geometry');
|
||||
var updateScroll = require('../update-scroll');
|
||||
|
||||
function bindSelectionHandler(element, i) {
|
||||
function getRangeNode() {
|
||||
|
@ -897,7 +902,7 @@ function bindSelectionHandler(element, i) {
|
|||
clearInterval(scrollingLoop);
|
||||
scrollingLoop = null;
|
||||
}
|
||||
h.stopScrolling(element);
|
||||
_.stopScrolling(element);
|
||||
}
|
||||
|
||||
var isSelected = false;
|
||||
|
@ -915,6 +920,12 @@ function bindSelectionHandler(element, i) {
|
|||
stopScrolling();
|
||||
}
|
||||
});
|
||||
i.event.bind(window, 'keyup', function () {
|
||||
if (isSelected) {
|
||||
isSelected = false;
|
||||
stopScrolling();
|
||||
}
|
||||
});
|
||||
|
||||
i.event.bind(window, 'mousemove', function (e) {
|
||||
if (isSelected) {
|
||||
|
@ -928,10 +939,10 @@ function bindSelectionHandler(element, i) {
|
|||
|
||||
if (mousePosition.x < containerGeometry.left + 3) {
|
||||
scrollDiff.left = -5;
|
||||
h.startScrolling(element, 'x');
|
||||
_.startScrolling(element, 'x');
|
||||
} else if (mousePosition.x > containerGeometry.right - 3) {
|
||||
scrollDiff.left = 5;
|
||||
h.startScrolling(element, 'x');
|
||||
_.startScrolling(element, 'x');
|
||||
} else {
|
||||
scrollDiff.left = 0;
|
||||
}
|
||||
|
@ -942,14 +953,14 @@ function bindSelectionHandler(element, i) {
|
|||
} else {
|
||||
scrollDiff.top = -20;
|
||||
}
|
||||
h.startScrolling(element, 'y');
|
||||
_.startScrolling(element, 'y');
|
||||
} else if (mousePosition.y > containerGeometry.bottom - 3) {
|
||||
if (mousePosition.y - containerGeometry.bottom + 3 < 5) {
|
||||
scrollDiff.top = 5;
|
||||
} else {
|
||||
scrollDiff.top = 20;
|
||||
}
|
||||
h.startScrolling(element, 'y');
|
||||
_.startScrolling(element, 'y');
|
||||
} else {
|
||||
scrollDiff.top = 0;
|
||||
}
|
||||
|
@ -971,9 +982,10 @@ module.exports = function (element) {
|
|||
},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],16:[function(require,module,exports){
|
||||
'use strict';
|
||||
|
||||
var instances = require('../instances')
|
||||
, updateGeometry = require('../update-geometry')
|
||||
, updateScroll = require('../update-scroll');
|
||||
var _ = require('../../lib/helper');
|
||||
var instances = require('../instances');
|
||||
var updateGeometry = require('../update-geometry');
|
||||
var updateScroll = require('../update-scroll');
|
||||
|
||||
function bindTouchHandler(element, i, supportsTouch, supportsIePointer) {
|
||||
function shouldPreventDefault(deltaX, deltaY) {
|
||||
|
@ -1058,6 +1070,9 @@ function bindTouchHandler(element, i, supportsTouch, supportsIePointer) {
|
|||
}
|
||||
}
|
||||
function touchMove(e) {
|
||||
if (!inLocalTouch && i.settings.swipePropagation) {
|
||||
touchStart(e);
|
||||
}
|
||||
if (!inGlobalTouch && inLocalTouch && shouldHandle(e)) {
|
||||
var touch = getTouch(e);
|
||||
|
||||
|
@ -1095,6 +1110,11 @@ function bindTouchHandler(element, i, supportsTouch, supportsIePointer) {
|
|||
return;
|
||||
}
|
||||
|
||||
if (!speed.x && !speed.y) {
|
||||
clearInterval(easingLoop);
|
||||
return;
|
||||
}
|
||||
|
||||
if (Math.abs(speed.x) < 0.01 && Math.abs(speed.y) < 0.01) {
|
||||
clearInterval(easingLoop);
|
||||
return;
|
||||
|
@ -1133,27 +1153,33 @@ function bindTouchHandler(element, i, supportsTouch, supportsIePointer) {
|
|||
}
|
||||
}
|
||||
|
||||
module.exports = function (element, supportsTouch, supportsIePointer) {
|
||||
module.exports = function (element) {
|
||||
if (!_.env.supportsTouch && !_.env.supportsIePointer) {
|
||||
return;
|
||||
}
|
||||
|
||||
var i = instances.get(element);
|
||||
bindTouchHandler(element, i, supportsTouch, supportsIePointer);
|
||||
bindTouchHandler(element, i, _.env.supportsTouch, _.env.supportsIePointer);
|
||||
};
|
||||
|
||||
},{"../instances":18,"../update-geometry":19,"../update-scroll":20}],17:[function(require,module,exports){
|
||||
},{"../../lib/helper":6,"../instances":18,"../update-geometry":19,"../update-scroll":20}],17:[function(require,module,exports){
|
||||
'use strict';
|
||||
|
||||
var cls = require('../lib/class')
|
||||
, h = require('../lib/helper')
|
||||
, instances = require('./instances')
|
||||
, updateGeometry = require('./update-geometry');
|
||||
var _ = require('../lib/helper');
|
||||
var cls = require('../lib/class');
|
||||
var instances = require('./instances');
|
||||
var updateGeometry = require('./update-geometry');
|
||||
|
||||
// Handlers
|
||||
var clickRailHandler = require('./handler/click-rail')
|
||||
, dragScrollbarHandler = require('./handler/drag-scrollbar')
|
||||
, keyboardHandler = require('./handler/keyboard')
|
||||
, mouseWheelHandler = require('./handler/mouse-wheel')
|
||||
, nativeScrollHandler = require('./handler/native-scroll')
|
||||
, selectionHandler = require('./handler/selection')
|
||||
, touchHandler = require('./handler/touch');
|
||||
var handlers = {
|
||||
'click-rail': require('./handler/click-rail'),
|
||||
'drag-scrollbar': require('./handler/drag-scrollbar'),
|
||||
'keyboard': require('./handler/keyboard'),
|
||||
'wheel': require('./handler/mouse-wheel'),
|
||||
'touch': require('./handler/touch'),
|
||||
'selection': require('./handler/selection')
|
||||
};
|
||||
var nativeScrollHandler = require('./handler/native-scroll');
|
||||
|
||||
module.exports = function (element, userSettings) {
|
||||
userSettings = typeof userSettings === 'object' ? userSettings : {};
|
||||
|
@ -1163,50 +1189,40 @@ module.exports = function (element, userSettings) {
|
|||
// Create a plugin instance.
|
||||
var i = instances.add(element);
|
||||
|
||||
i.settings = h.extend(i.settings, userSettings);
|
||||
i.settings = _.extend(i.settings, userSettings);
|
||||
cls.add(element, 'ps-theme-' + i.settings.theme);
|
||||
|
||||
clickRailHandler(element);
|
||||
dragScrollbarHandler(element);
|
||||
mouseWheelHandler(element);
|
||||
i.settings.handlers.forEach(function (handlerName) {
|
||||
handlers[handlerName](element);
|
||||
});
|
||||
|
||||
nativeScrollHandler(element);
|
||||
|
||||
if (i.settings.useSelectionScroll) {
|
||||
selectionHandler(element);
|
||||
}
|
||||
|
||||
if (h.env.supportsTouch || h.env.supportsIePointer) {
|
||||
touchHandler(element, h.env.supportsTouch, h.env.supportsIePointer);
|
||||
}
|
||||
if (i.settings.useKeyboard) {
|
||||
keyboardHandler(element);
|
||||
}
|
||||
|
||||
updateGeometry(element);
|
||||
};
|
||||
|
||||
},{"../lib/class":2,"../lib/helper":6,"./handler/click-rail":10,"./handler/drag-scrollbar":11,"./handler/keyboard":12,"./handler/mouse-wheel":13,"./handler/native-scroll":14,"./handler/selection":15,"./handler/touch":16,"./instances":18,"./update-geometry":19}],18:[function(require,module,exports){
|
||||
'use strict';
|
||||
|
||||
var cls = require('../lib/class')
|
||||
, d = require('../lib/dom')
|
||||
, defaultSettings = require('./default-setting')
|
||||
, EventManager = require('../lib/event-manager')
|
||||
, guid = require('../lib/guid')
|
||||
, h = require('../lib/helper');
|
||||
var _ = require('../lib/helper');
|
||||
var cls = require('../lib/class');
|
||||
var defaultSettings = require('./default-setting');
|
||||
var dom = require('../lib/dom');
|
||||
var EventManager = require('../lib/event-manager');
|
||||
var guid = require('../lib/guid');
|
||||
|
||||
var instances = {};
|
||||
|
||||
function Instance(element) {
|
||||
var i = this;
|
||||
|
||||
i.settings = h.clone(defaultSettings);
|
||||
i.settings = _.clone(defaultSettings);
|
||||
i.containerWidth = null;
|
||||
i.containerHeight = null;
|
||||
i.contentWidth = null;
|
||||
i.contentHeight = null;
|
||||
|
||||
i.isRtl = d.css(element, 'direction') === "rtl";
|
||||
i.isRtl = dom.css(element, 'direction') === "rtl";
|
||||
i.isNegativeScroll = (function () {
|
||||
var originalScrollLeft = element.scrollLeft;
|
||||
var result = null;
|
||||
|
@ -1227,67 +1243,55 @@ function Instance(element) {
|
|||
cls.remove(element, 'ps-focus');
|
||||
}
|
||||
|
||||
i.scrollbarXRail = d.appendTo(d.e('div', 'ps-scrollbar-x-rail'), element);
|
||||
i.scrollbarX = d.appendTo(d.e('div', 'ps-scrollbar-x'), i.scrollbarXRail);
|
||||
i.scrollbarXRail = dom.appendTo(dom.e('div', 'ps-scrollbar-x-rail'), element);
|
||||
i.scrollbarX = dom.appendTo(dom.e('div', 'ps-scrollbar-x'), i.scrollbarXRail);
|
||||
i.scrollbarX.setAttribute('tabindex', 0);
|
||||
i.event.bind(i.scrollbarX, 'focus', focus);
|
||||
i.event.bind(i.scrollbarX, 'blur', blur);
|
||||
i.scrollbarXActive = null;
|
||||
i.scrollbarXWidth = null;
|
||||
i.scrollbarXLeft = null;
|
||||
i.scrollbarXBottom = h.toInt(d.css(i.scrollbarXRail, 'bottom'));
|
||||
i.scrollbarXBottom = _.toInt(dom.css(i.scrollbarXRail, 'bottom'));
|
||||
i.isScrollbarXUsingBottom = i.scrollbarXBottom === i.scrollbarXBottom; // !isNaN
|
||||
i.scrollbarXTop = i.isScrollbarXUsingBottom ? null : h.toInt(d.css(i.scrollbarXRail, 'top'));
|
||||
i.railBorderXWidth = h.toInt(d.css(i.scrollbarXRail, 'borderLeftWidth')) + h.toInt(d.css(i.scrollbarXRail, 'borderRightWidth'));
|
||||
i.scrollbarXTop = i.isScrollbarXUsingBottom ? null : _.toInt(dom.css(i.scrollbarXRail, 'top'));
|
||||
i.railBorderXWidth = _.toInt(dom.css(i.scrollbarXRail, 'borderLeftWidth')) + _.toInt(dom.css(i.scrollbarXRail, 'borderRightWidth'));
|
||||
// Set rail to display:block to calculate margins
|
||||
d.css(i.scrollbarXRail, 'display', 'block');
|
||||
i.railXMarginWidth = h.toInt(d.css(i.scrollbarXRail, 'marginLeft')) + h.toInt(d.css(i.scrollbarXRail, 'marginRight'));
|
||||
d.css(i.scrollbarXRail, 'display', '');
|
||||
dom.css(i.scrollbarXRail, 'display', 'block');
|
||||
i.railXMarginWidth = _.toInt(dom.css(i.scrollbarXRail, 'marginLeft')) + _.toInt(dom.css(i.scrollbarXRail, 'marginRight'));
|
||||
dom.css(i.scrollbarXRail, 'display', '');
|
||||
i.railXWidth = null;
|
||||
i.railXRatio = null;
|
||||
|
||||
i.scrollbarYRail = d.appendTo(d.e('div', 'ps-scrollbar-y-rail'), element);
|
||||
i.scrollbarY = d.appendTo(d.e('div', 'ps-scrollbar-y'), i.scrollbarYRail);
|
||||
i.scrollbarYRail = dom.appendTo(dom.e('div', 'ps-scrollbar-y-rail'), element);
|
||||
i.scrollbarY = dom.appendTo(dom.e('div', 'ps-scrollbar-y'), i.scrollbarYRail);
|
||||
i.scrollbarY.setAttribute('tabindex', 0);
|
||||
i.event.bind(i.scrollbarY, 'focus', focus);
|
||||
i.event.bind(i.scrollbarY, 'blur', blur);
|
||||
i.scrollbarYActive = null;
|
||||
i.scrollbarYHeight = null;
|
||||
i.scrollbarYTop = null;
|
||||
i.scrollbarYRight = h.toInt(d.css(i.scrollbarYRail, 'right'));
|
||||
i.scrollbarYRight = _.toInt(dom.css(i.scrollbarYRail, 'right'));
|
||||
i.isScrollbarYUsingRight = i.scrollbarYRight === i.scrollbarYRight; // !isNaN
|
||||
i.scrollbarYLeft = i.isScrollbarYUsingRight ? null : h.toInt(d.css(i.scrollbarYRail, 'left'));
|
||||
i.scrollbarYOuterWidth = i.isRtl ? h.outerWidth(i.scrollbarY) : null;
|
||||
i.railBorderYWidth = h.toInt(d.css(i.scrollbarYRail, 'borderTopWidth')) + h.toInt(d.css(i.scrollbarYRail, 'borderBottomWidth'));
|
||||
d.css(i.scrollbarYRail, 'display', 'block');
|
||||
i.railYMarginHeight = h.toInt(d.css(i.scrollbarYRail, 'marginTop')) + h.toInt(d.css(i.scrollbarYRail, 'marginBottom'));
|
||||
d.css(i.scrollbarYRail, 'display', '');
|
||||
i.scrollbarYLeft = i.isScrollbarYUsingRight ? null : _.toInt(dom.css(i.scrollbarYRail, 'left'));
|
||||
i.scrollbarYOuterWidth = i.isRtl ? _.outerWidth(i.scrollbarY) : null;
|
||||
i.railBorderYWidth = _.toInt(dom.css(i.scrollbarYRail, 'borderTopWidth')) + _.toInt(dom.css(i.scrollbarYRail, 'borderBottomWidth'));
|
||||
dom.css(i.scrollbarYRail, 'display', 'block');
|
||||
i.railYMarginHeight = _.toInt(dom.css(i.scrollbarYRail, 'marginTop')) + _.toInt(dom.css(i.scrollbarYRail, 'marginBottom'));
|
||||
dom.css(i.scrollbarYRail, 'display', '');
|
||||
i.railYHeight = null;
|
||||
i.railYRatio = null;
|
||||
}
|
||||
|
||||
function getId(element) {
|
||||
if (typeof element.dataset === 'undefined') {
|
||||
return element.getAttribute('data-ps-id');
|
||||
} else {
|
||||
return element.dataset.psId;
|
||||
}
|
||||
return element.getAttribute('data-ps-id');
|
||||
}
|
||||
|
||||
function setId(element, id) {
|
||||
if (typeof element.dataset === 'undefined') {
|
||||
element.setAttribute('data-ps-id', id);
|
||||
} else {
|
||||
element.dataset.psId = id;
|
||||
}
|
||||
element.setAttribute('data-ps-id', id);
|
||||
}
|
||||
|
||||
function removeId(element) {
|
||||
if (typeof element.dataset === 'undefined') {
|
||||
element.removeAttribute('data-ps-id');
|
||||
} else {
|
||||
delete element.dataset.psId;
|
||||
}
|
||||
element.removeAttribute('data-ps-id');
|
||||
}
|
||||
|
||||
exports.add = function (element) {
|
||||
|
@ -1309,11 +1313,11 @@ exports.get = function (element) {
|
|||
},{"../lib/class":2,"../lib/dom":3,"../lib/event-manager":4,"../lib/guid":5,"../lib/helper":6,"./default-setting":8}],19:[function(require,module,exports){
|
||||
'use strict';
|
||||
|
||||
var cls = require('../lib/class')
|
||||
, d = require('../lib/dom')
|
||||
, h = require('../lib/helper')
|
||||
, instances = require('./instances')
|
||||
, updateScroll = require('./update-scroll');
|
||||
var _ = require('../lib/helper');
|
||||
var cls = require('../lib/class');
|
||||
var dom = require('../lib/dom');
|
||||
var instances = require('./instances');
|
||||
var updateScroll = require('./update-scroll');
|
||||
|
||||
function getThumbSize(i, thumbSize) {
|
||||
if (i.settings.minScrollbarLength) {
|
||||
|
@ -1337,7 +1341,7 @@ function updateCss(element, i) {
|
|||
} else {
|
||||
xRailOffset.top = i.scrollbarXTop + element.scrollTop;
|
||||
}
|
||||
d.css(i.scrollbarXRail, xRailOffset);
|
||||
dom.css(i.scrollbarXRail, xRailOffset);
|
||||
|
||||
var yRailOffset = {top: element.scrollTop, height: i.railYHeight};
|
||||
if (i.isScrollbarYUsingRight) {
|
||||
|
@ -1353,10 +1357,10 @@ function updateCss(element, i) {
|
|||
yRailOffset.left = i.scrollbarYLeft + element.scrollLeft;
|
||||
}
|
||||
}
|
||||
d.css(i.scrollbarYRail, yRailOffset);
|
||||
dom.css(i.scrollbarYRail, yRailOffset);
|
||||
|
||||
d.css(i.scrollbarX, {left: i.scrollbarXLeft, width: i.scrollbarXWidth - i.railBorderXWidth});
|
||||
d.css(i.scrollbarY, {top: i.scrollbarYTop, height: i.scrollbarYHeight - i.railBorderYWidth});
|
||||
dom.css(i.scrollbarX, {left: i.scrollbarXLeft, width: i.scrollbarXWidth - i.railBorderXWidth});
|
||||
dom.css(i.scrollbarY, {top: i.scrollbarYTop, height: i.scrollbarYHeight - i.railBorderYWidth});
|
||||
}
|
||||
|
||||
module.exports = function (element) {
|
||||
|
@ -1369,30 +1373,30 @@ module.exports = function (element) {
|
|||
|
||||
var existingRails;
|
||||
if (!element.contains(i.scrollbarXRail)) {
|
||||
existingRails = d.queryChildren(element, '.ps-scrollbar-x-rail');
|
||||
existingRails = dom.queryChildren(element, '.ps-scrollbar-x-rail');
|
||||
if (existingRails.length > 0) {
|
||||
existingRails.forEach(function (rail) {
|
||||
d.remove(rail);
|
||||
dom.remove(rail);
|
||||
});
|
||||
}
|
||||
d.appendTo(i.scrollbarXRail, element);
|
||||
dom.appendTo(i.scrollbarXRail, element);
|
||||
}
|
||||
if (!element.contains(i.scrollbarYRail)) {
|
||||
existingRails = d.queryChildren(element, '.ps-scrollbar-y-rail');
|
||||
existingRails = dom.queryChildren(element, '.ps-scrollbar-y-rail');
|
||||
if (existingRails.length > 0) {
|
||||
existingRails.forEach(function (rail) {
|
||||
d.remove(rail);
|
||||
dom.remove(rail);
|
||||
});
|
||||
}
|
||||
d.appendTo(i.scrollbarYRail, element);
|
||||
dom.appendTo(i.scrollbarYRail, element);
|
||||
}
|
||||
|
||||
if (!i.settings.suppressScrollX && i.containerWidth + i.settings.scrollXMarginOffset < i.contentWidth) {
|
||||
i.scrollbarXActive = true;
|
||||
i.railXWidth = i.containerWidth - i.railXMarginWidth;
|
||||
i.railXRatio = i.containerWidth / i.railXWidth;
|
||||
i.scrollbarXWidth = getThumbSize(i, h.toInt(i.railXWidth * i.containerWidth / i.contentWidth));
|
||||
i.scrollbarXLeft = h.toInt((i.negativeScrollAdjustment + element.scrollLeft) * (i.railXWidth - i.scrollbarXWidth) / (i.contentWidth - i.containerWidth));
|
||||
i.scrollbarXWidth = getThumbSize(i, _.toInt(i.railXWidth * i.containerWidth / i.contentWidth));
|
||||
i.scrollbarXLeft = _.toInt((i.negativeScrollAdjustment + element.scrollLeft) * (i.railXWidth - i.scrollbarXWidth) / (i.contentWidth - i.containerWidth));
|
||||
} else {
|
||||
i.scrollbarXActive = false;
|
||||
}
|
||||
|
@ -1401,8 +1405,8 @@ module.exports = function (element) {
|
|||
i.scrollbarYActive = true;
|
||||
i.railYHeight = i.containerHeight - i.railYMarginHeight;
|
||||
i.railYRatio = i.containerHeight / i.railYHeight;
|
||||
i.scrollbarYHeight = getThumbSize(i, h.toInt(i.railYHeight * i.containerHeight / i.contentHeight));
|
||||
i.scrollbarYTop = h.toInt(element.scrollTop * (i.railYHeight - i.scrollbarYHeight) / (i.contentHeight - i.containerHeight));
|
||||
i.scrollbarYHeight = getThumbSize(i, _.toInt(i.railYHeight * i.containerHeight / i.contentHeight));
|
||||
i.scrollbarYTop = _.toInt(element.scrollTop * (i.railYHeight - i.scrollbarYHeight) / (i.contentHeight - i.containerHeight));
|
||||
} else {
|
||||
i.scrollbarYActive = false;
|
||||
}
|
||||
|
@ -1439,29 +1443,14 @@ module.exports = function (element) {
|
|||
|
||||
var instances = require('./instances');
|
||||
|
||||
var upEvent = document.createEvent('Event')
|
||||
, downEvent = document.createEvent('Event')
|
||||
, leftEvent = document.createEvent('Event')
|
||||
, rightEvent = document.createEvent('Event')
|
||||
, yEvent = document.createEvent('Event')
|
||||
, xEvent = document.createEvent('Event')
|
||||
, xStartEvent = document.createEvent('Event')
|
||||
, xEndEvent = document.createEvent('Event')
|
||||
, yStartEvent = document.createEvent('Event')
|
||||
, yEndEvent = document.createEvent('Event')
|
||||
, lastTop
|
||||
, lastLeft;
|
||||
var lastTop;
|
||||
var lastLeft;
|
||||
|
||||
upEvent.initEvent('ps-scroll-up', true, true);
|
||||
downEvent.initEvent('ps-scroll-down', true, true);
|
||||
leftEvent.initEvent('ps-scroll-left', true, true);
|
||||
rightEvent.initEvent('ps-scroll-right', true, true);
|
||||
yEvent.initEvent('ps-scroll-y', true, true);
|
||||
xEvent.initEvent('ps-scroll-x', true, true);
|
||||
xStartEvent.initEvent('ps-x-reach-start', true, true);
|
||||
xEndEvent.initEvent('ps-x-reach-end', true, true);
|
||||
yStartEvent.initEvent('ps-y-reach-start', true, true);
|
||||
yEndEvent.initEvent('ps-y-reach-end', true, true);
|
||||
var createDOMEvent = function (name) {
|
||||
var event = document.createEvent("Event");
|
||||
event.initEvent(name, true, true);
|
||||
return event;
|
||||
};
|
||||
|
||||
module.exports = function (element, axis, value) {
|
||||
if (typeof element === 'undefined') {
|
||||
|
@ -1478,24 +1467,38 @@ module.exports = function (element, axis, value) {
|
|||
|
||||
if (axis === 'top' && value <= 0) {
|
||||
element.scrollTop = value = 0; // don't allow negative scroll
|
||||
element.dispatchEvent(yStartEvent);
|
||||
element.dispatchEvent(createDOMEvent('ps-y-reach-start'));
|
||||
}
|
||||
|
||||
if (axis === 'left' && value <= 0) {
|
||||
element.scrollLeft = value = 0; // don't allow negative scroll
|
||||
element.dispatchEvent(xStartEvent);
|
||||
element.dispatchEvent(createDOMEvent('ps-x-reach-start'));
|
||||
}
|
||||
|
||||
var i = instances.get(element);
|
||||
|
||||
if (axis === 'top' && value >= i.contentHeight - i.containerHeight) {
|
||||
element.scrollTop = value = i.contentHeight - i.containerHeight; // don't allow scroll past container
|
||||
element.dispatchEvent(yEndEvent);
|
||||
// don't allow scroll past container
|
||||
value = i.contentHeight - i.containerHeight;
|
||||
if (value - element.scrollTop <= 1) {
|
||||
// mitigates rounding errors on non-subpixel scroll values
|
||||
value = element.scrollTop;
|
||||
} else {
|
||||
element.scrollTop = value;
|
||||
}
|
||||
element.dispatchEvent(createDOMEvent('ps-y-reach-end'));
|
||||
}
|
||||
|
||||
if (axis === 'left' && value >= i.contentWidth - i.containerWidth) {
|
||||
element.scrollLeft = value = i.contentWidth - i.containerWidth; // don't allow scroll past container
|
||||
element.dispatchEvent(xEndEvent);
|
||||
// don't allow scroll past container
|
||||
value = i.contentWidth - i.containerWidth;
|
||||
if (value - element.scrollLeft <= 1) {
|
||||
// mitigates rounding errors on non-subpixel scroll values
|
||||
value = element.scrollLeft;
|
||||
} else {
|
||||
element.scrollLeft = value;
|
||||
}
|
||||
element.dispatchEvent(createDOMEvent('ps-x-reach-end'));
|
||||
}
|
||||
|
||||
if (!lastTop) {
|
||||
|
@ -1507,29 +1510,29 @@ module.exports = function (element, axis, value) {
|
|||
}
|
||||
|
||||
if (axis === 'top' && value < lastTop) {
|
||||
element.dispatchEvent(upEvent);
|
||||
element.dispatchEvent(createDOMEvent('ps-scroll-up'));
|
||||
}
|
||||
|
||||
if (axis === 'top' && value > lastTop) {
|
||||
element.dispatchEvent(downEvent);
|
||||
element.dispatchEvent(createDOMEvent('ps-scroll-down'));
|
||||
}
|
||||
|
||||
if (axis === 'left' && value < lastLeft) {
|
||||
element.dispatchEvent(leftEvent);
|
||||
element.dispatchEvent(createDOMEvent('ps-scroll-left'));
|
||||
}
|
||||
|
||||
if (axis === 'left' && value > lastLeft) {
|
||||
element.dispatchEvent(rightEvent);
|
||||
element.dispatchEvent(createDOMEvent('ps-scroll-right'));
|
||||
}
|
||||
|
||||
if (axis === 'top') {
|
||||
element.scrollTop = lastTop = value;
|
||||
element.dispatchEvent(yEvent);
|
||||
element.dispatchEvent(createDOMEvent('ps-scroll-y'));
|
||||
}
|
||||
|
||||
if (axis === 'left') {
|
||||
element.scrollLeft = lastLeft = value;
|
||||
element.dispatchEvent(xEvent);
|
||||
element.dispatchEvent(createDOMEvent('ps-scroll-x'));
|
||||
}
|
||||
|
||||
};
|
||||
|
@ -1537,11 +1540,11 @@ module.exports = function (element, axis, value) {
|
|||
},{"./instances":18}],21:[function(require,module,exports){
|
||||
'use strict';
|
||||
|
||||
var d = require('../lib/dom')
|
||||
, h = require('../lib/helper')
|
||||
, instances = require('./instances')
|
||||
, updateGeometry = require('./update-geometry')
|
||||
, updateScroll = require('./update-scroll');
|
||||
var _ = require('../lib/helper');
|
||||
var dom = require('../lib/dom');
|
||||
var instances = require('./instances');
|
||||
var updateGeometry = require('./update-geometry');
|
||||
var updateScroll = require('./update-scroll');
|
||||
|
||||
module.exports = function (element) {
|
||||
var i = instances.get(element);
|
||||
|
@ -1554,14 +1557,14 @@ module.exports = function (element) {
|
|||
i.negativeScrollAdjustment = i.isNegativeScroll ? element.scrollWidth - element.clientWidth : 0;
|
||||
|
||||
// Recalculate rail margins
|
||||
d.css(i.scrollbarXRail, 'display', 'block');
|
||||
d.css(i.scrollbarYRail, 'display', 'block');
|
||||
i.railXMarginWidth = h.toInt(d.css(i.scrollbarXRail, 'marginLeft')) + h.toInt(d.css(i.scrollbarXRail, 'marginRight'));
|
||||
i.railYMarginHeight = h.toInt(d.css(i.scrollbarYRail, 'marginTop')) + h.toInt(d.css(i.scrollbarYRail, 'marginBottom'));
|
||||
dom.css(i.scrollbarXRail, 'display', 'block');
|
||||
dom.css(i.scrollbarYRail, 'display', 'block');
|
||||
i.railXMarginWidth = _.toInt(dom.css(i.scrollbarXRail, 'marginLeft')) + _.toInt(dom.css(i.scrollbarXRail, 'marginRight'));
|
||||
i.railYMarginHeight = _.toInt(dom.css(i.scrollbarYRail, 'marginTop')) + _.toInt(dom.css(i.scrollbarYRail, 'marginBottom'));
|
||||
|
||||
// Hide scrollbars not to affect scrollWidth and scrollHeight
|
||||
d.css(i.scrollbarXRail, 'display', 'none');
|
||||
d.css(i.scrollbarYRail, 'display', 'none');
|
||||
dom.css(i.scrollbarXRail, 'display', 'none');
|
||||
dom.css(i.scrollbarYRail, 'display', 'none');
|
||||
|
||||
updateGeometry(element);
|
||||
|
||||
|
@ -1569,8 +1572,8 @@ module.exports = function (element) {
|
|||
updateScroll(element, 'top', element.scrollTop);
|
||||
updateScroll(element, 'left', element.scrollLeft);
|
||||
|
||||
d.css(i.scrollbarXRail, 'display', '');
|
||||
d.css(i.scrollbarYRail, 'display', '');
|
||||
dom.css(i.scrollbarXRail, 'display', '');
|
||||
dom.css(i.scrollbarYRail, 'display', '');
|
||||
};
|
||||
|
||||
},{"../lib/dom":3,"../lib/helper":6,"./instances":18,"./update-geometry":19,"./update-scroll":20}]},{},[1]);
|
||||
|
|
File diff suppressed because one or more lines are too long
|
@ -1,2 +1,2 @@
|
|||
/* perfect-scrollbar v0.6.10 */
|
||||
.ps-container{-ms-touch-action:none;touch-action:none;overflow:hidden !important;-ms-overflow-style:none}@supports (-ms-overflow-style: none){.ps-container{overflow:auto !important}}@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){.ps-container{overflow:auto !important}}.ps-container.ps-active-x>.ps-scrollbar-x-rail,.ps-container.ps-active-y>.ps-scrollbar-y-rail{display:block;background-color:transparent}.ps-container.ps-in-scrolling{pointer-events:none}.ps-container.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail{background-color:#eee;opacity:0.9}.ps-container.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999}.ps-container.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail{background-color:#eee;opacity:0.9}.ps-container.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999}.ps-container>.ps-scrollbar-x-rail{display:none;position:absolute;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;opacity:0;-webkit-transition:background-color .2s linear, opacity .2s linear;-moz-transition:background-color .2s linear, opacity .2s linear;-o-transition:background-color .2s linear, opacity .2s linear;transition:background-color .2s linear, opacity .2s linear;bottom:3px;height:8px}.ps-container>.ps-scrollbar-x-rail>.ps-scrollbar-x{position:absolute;background-color:#aaa;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-transition:background-color .2s linear;-moz-transition:background-color .2s linear;-o-transition:background-color .2s linear;transition:background-color .2s linear;bottom:0;height:8px}.ps-container>.ps-scrollbar-y-rail{display:none;position:absolute;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;opacity:0;-webkit-transition:background-color .2s linear, opacity .2s linear;-moz-transition:background-color .2s linear, opacity .2s linear;-o-transition:background-color .2s linear, opacity .2s linear;transition:background-color .2s linear, opacity .2s linear;right:3px;width:8px}.ps-container>.ps-scrollbar-y-rail>.ps-scrollbar-y{position:absolute;background-color:#aaa;-webkit-border-radius:4px;-moz-border-radius:4px;border-radius:4px;-webkit-transition:background-color .2s linear;-moz-transition:background-color .2s linear;-o-transition:background-color .2s linear;transition:background-color .2s linear;right:0;width:8px}.ps-container:hover.ps-in-scrolling{pointer-events:none}.ps-container:hover.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail{background-color:#eee;opacity:0.9}.ps-container:hover.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999}.ps-container:hover.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail{background-color:#eee;opacity:0.9}.ps-container:hover.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999}.ps-container:hover>.ps-scrollbar-x-rail,.ps-container:hover>.ps-scrollbar-y-rail{opacity:0.6}.ps-container:hover>.ps-scrollbar-x-rail:hover{background-color:#eee;opacity:0.9}.ps-container:hover>.ps-scrollbar-x-rail:hover>.ps-scrollbar-x{background-color:#999}.ps-container:hover>.ps-scrollbar-y-rail:hover{background-color:#eee;opacity:0.9}.ps-container:hover>.ps-scrollbar-y-rail:hover>.ps-scrollbar-y{background-color:#999}
|
||||
/* perfect-scrollbar v0.6.15 */
|
||||
.ps-container{-ms-touch-action:auto;touch-action:auto;overflow:hidden !important;-ms-overflow-style:none}@supports (-ms-overflow-style: none){.ps-container{overflow:auto !important}}@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none){.ps-container{overflow:auto !important}}.ps-container.ps-active-x>.ps-scrollbar-x-rail,.ps-container.ps-active-y>.ps-scrollbar-y-rail{display:block;background-color:transparent}.ps-container.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail{background-color:#eee;opacity:.9}.ps-container.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999;height:11px}.ps-container.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail{background-color:#eee;opacity:.9}.ps-container.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999;width:11px}.ps-container>.ps-scrollbar-x-rail{display:none;position:absolute;opacity:0;-webkit-transition:background-color .2s linear, opacity .2s linear;-o-transition:background-color .2s linear, opacity .2s linear;-moz-transition:background-color .2s linear, opacity .2s linear;transition:background-color .2s linear, opacity .2s linear;bottom:0px;height:15px}.ps-container>.ps-scrollbar-x-rail>.ps-scrollbar-x{position:absolute;background-color:#aaa;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;-o-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;-moz-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -webkit-border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;bottom:2px;height:6px}.ps-container>.ps-scrollbar-x-rail:hover>.ps-scrollbar-x,.ps-container>.ps-scrollbar-x-rail:active>.ps-scrollbar-x{height:11px}.ps-container>.ps-scrollbar-y-rail{display:none;position:absolute;opacity:0;-webkit-transition:background-color .2s linear, opacity .2s linear;-o-transition:background-color .2s linear, opacity .2s linear;-moz-transition:background-color .2s linear, opacity .2s linear;transition:background-color .2s linear, opacity .2s linear;right:0;width:15px}.ps-container>.ps-scrollbar-y-rail>.ps-scrollbar-y{position:absolute;background-color:#aaa;-webkit-border-radius:6px;-moz-border-radius:6px;border-radius:6px;-webkit-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, -webkit-border-radius .2s ease-in-out;-o-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;-moz-transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out;transition:background-color .2s linear, height .2s linear, width .2s ease-in-out, border-radius .2s ease-in-out, -webkit-border-radius .2s ease-in-out, -moz-border-radius .2s ease-in-out;right:2px;width:6px}.ps-container>.ps-scrollbar-y-rail:hover>.ps-scrollbar-y,.ps-container>.ps-scrollbar-y-rail:active>.ps-scrollbar-y{width:11px}.ps-container:hover.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail{background-color:#eee;opacity:.9}.ps-container:hover.ps-in-scrolling.ps-x>.ps-scrollbar-x-rail>.ps-scrollbar-x{background-color:#999;height:11px}.ps-container:hover.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail{background-color:#eee;opacity:.9}.ps-container:hover.ps-in-scrolling.ps-y>.ps-scrollbar-y-rail>.ps-scrollbar-y{background-color:#999;width:11px}.ps-container:hover>.ps-scrollbar-x-rail,.ps-container:hover>.ps-scrollbar-y-rail{opacity:.6}.ps-container:hover>.ps-scrollbar-x-rail:hover{background-color:#eee;opacity:.9}.ps-container:hover>.ps-scrollbar-x-rail:hover>.ps-scrollbar-x{background-color:#999}.ps-container:hover>.ps-scrollbar-y-rail:hover{background-color:#eee;opacity:.9}.ps-container:hover>.ps-scrollbar-y-rail:hover>.ps-scrollbar-y{background-color:#999}
|
||||
|
|
119
mod/admin.php
119
mod/admin.php
|
@ -32,13 +32,12 @@ function admin_post(&$a){
|
|||
|
||||
// do not allow a page manager to access the admin panel at all.
|
||||
|
||||
if(x($_SESSION,'submanage') && intval($_SESSION['submanage']))
|
||||
if (x($_SESSION,'submanage') && intval($_SESSION['submanage'])) {
|
||||
return;
|
||||
|
||||
|
||||
}
|
||||
|
||||
// urls
|
||||
if($a->argc > 1) {
|
||||
if ($a->argc > 1) {
|
||||
switch ($a->argv[1]){
|
||||
case 'site':
|
||||
admin_page_site_post($a);
|
||||
|
@ -134,8 +133,9 @@ function admin_content(&$a) {
|
|||
return login(false);
|
||||
}
|
||||
|
||||
if(x($_SESSION,'submanage') && intval($_SESSION['submanage']))
|
||||
if (x($_SESSION,'submanage') && intval($_SESSION['submanage'])) {
|
||||
return "";
|
||||
}
|
||||
|
||||
// APC deactivated, since there are problems with PHP 5.5
|
||||
//if (function_exists("apc_delete")) {
|
||||
|
@ -285,14 +285,14 @@ function admin_page_federation(&$a) {
|
|||
// get a total count for the platform, the name and version of the
|
||||
// highest version and the protocol tpe
|
||||
$c = qu('SELECT COUNT(*) AS `total`, `platform`, `network`, `version` FROM `gserver`
|
||||
WHERE `platform` LIKE "%s" AND `last_contact` > `last_failure`
|
||||
WHERE `platform` LIKE "%s" AND `last_contact` >= `last_failure`
|
||||
ORDER BY `version` ASC;', $p);
|
||||
$total = $total + $c[0]['total'];
|
||||
|
||||
// what versions for that platform do we know at all?
|
||||
// again only the active nodes
|
||||
$v = qu('SELECT COUNT(*) AS `total`, `version` FROM `gserver`
|
||||
WHERE `last_contact` > `last_failure` AND `platform` LIKE "%s"
|
||||
WHERE `last_contact` >= `last_failure` AND `platform` LIKE "%s"
|
||||
GROUP BY `version`
|
||||
ORDER BY `version`;', $p);
|
||||
|
||||
|
@ -376,7 +376,7 @@ function admin_page_federation(&$a) {
|
|||
'$counts' => $counts,
|
||||
'$version' => FRIENDICA_VERSION,
|
||||
'$legendtext' => sprintf(t('Currently this node is aware of %d nodes from the following platforms:'), $total),
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
));
|
||||
}
|
||||
|
||||
|
@ -489,7 +489,7 @@ function admin_page_summary(&$a) {
|
|||
'$accounts' => $accounts,
|
||||
'$pending' => array(t('Pending registrations'), $pending),
|
||||
'$version' => array(t('Version'), FRIENDICA_VERSION),
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
'$platform' => FRIENDICA_PLATFORM,
|
||||
'$codename' => FRIENDICA_CODENAME,
|
||||
'$build' => get_config('system','build'),
|
||||
|
@ -527,7 +527,7 @@ function admin_page_site_post(&$a) {
|
|||
* send relocate for every local user
|
||||
* */
|
||||
|
||||
$old_url = $a->get_baseurl(true);
|
||||
$old_url = App::get_baseurl(true);
|
||||
|
||||
// Generate host names for relocation the addresses in the format user@address.tld
|
||||
$new_host = str_replace("http://", "@", normalise_link($new_url));
|
||||
|
@ -961,7 +961,7 @@ function admin_page_site(&$a) {
|
|||
'$performance' => t('Performance'),
|
||||
'$worker_title' => t('Worker'),
|
||||
'$relocate'=> t('Relocate - WARNING: advanced function. Could make this server unreachable.'),
|
||||
'$baseurl' => $a->get_baseurl(true),
|
||||
'$baseurl' => App::get_baseurl(true),
|
||||
// name, label, value, help string, extra data...
|
||||
'$sitename' => array('sitename', t("Site name"), $a->config['sitename'],''),
|
||||
'$hostname' => array('hostname', t("Host name"), $a->config['hostname'], ""),
|
||||
|
@ -1043,7 +1043,7 @@ function admin_page_site(&$a) {
|
|||
'$old_pager' => array('old_pager', t("Enable old style pager"), get_config('system','old_pager'), t("The old style pager has page numbers but slows down massively the page speed.")),
|
||||
'$only_tag_search' => array('only_tag_search', t("Only search in tags"), get_config('system','only_tag_search'), t("On large systems the text search can slow down the system extremely.")),
|
||||
|
||||
'$relocate_url' => array('relocate_url', t("New base url"), $a->get_baseurl(), t("Change base url for this server. Sends relocate message to all DFRN contacts of all users.")),
|
||||
'$relocate_url' => array('relocate_url', t("New base url"), App::get_baseurl(), t("Change base url for this server. Sends relocate message to all DFRN contacts of all users.")),
|
||||
|
||||
'$rino' => array('rino', t("RINO Encryption"), intval(get_config('system','rino_encrypt')), t("Encryption layer between nodes."), array("Disabled", "RINO1 (deprecated)", "RINO2")),
|
||||
'$embedly' => array('embedly', t("Embedly API key"), get_config('system','embedly'), t("<a href='http://embed.ly'>Embedly</a> is used to fetch additional data for web pages. This is an optional parameter.")),
|
||||
|
@ -1122,26 +1122,26 @@ function admin_page_dbsync(&$a) {
|
|||
$failed = array();
|
||||
$r = q("SELECT `k`, `v` FROM `config` WHERE `cat` = 'database' ");
|
||||
if (dbm::is_result($r)) {
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
$upd = intval(substr($rr['k'],7));
|
||||
if($upd < 1139 || $rr['v'] === 'success')
|
||||
continue;
|
||||
$failed[] = $upd;
|
||||
}
|
||||
}
|
||||
if(! count($failed)) {
|
||||
if (! count($failed)) {
|
||||
$o = replace_macros(get_markup_template('structure_check.tpl'),array(
|
||||
'$base' => $a->get_baseurl(true),
|
||||
'$base' => App::get_baseurl(true),
|
||||
'$banner' => t('No failed updates.'),
|
||||
'$check' => t('Check database structure'),
|
||||
'$check' => t('Check database structure'),
|
||||
));
|
||||
} else {
|
||||
$o = replace_macros(get_markup_template('failed_updates.tpl'),array(
|
||||
'$base' => $a->get_baseurl(true),
|
||||
'$base' => App::get_baseurl(true),
|
||||
'$banner' => t('Failed Updates'),
|
||||
'$desc' => t('This does not include updates prior to 1139, which did not return a status.'),
|
||||
'$mark' => t('Mark success (if update was manually applied)'),
|
||||
'$apply' => t('Attempt to execute this update step automatically'),
|
||||
'$desc' => t('This does not include updates prior to 1139, which did not return a status.'),
|
||||
'$mark' => t('Mark success (if update was manually applied)'),
|
||||
'$apply' => t('Attempt to execute this update step automatically'),
|
||||
'$failed' => $failed
|
||||
));
|
||||
}
|
||||
|
@ -1156,11 +1156,11 @@ function admin_page_dbsync(&$a) {
|
|||
* @param App $a
|
||||
*/
|
||||
function admin_page_users_post(&$a){
|
||||
$pending = (x($_POST, 'pending') ? $_POST['pending'] : array());
|
||||
$users = (x($_POST, 'user') ? $_POST['user'] : array());
|
||||
$nu_name = (x($_POST, 'new_user_name') ? $_POST['new_user_name'] : '');
|
||||
$nu_nickname = (x($_POST, 'new_user_nickname') ? $_POST['new_user_nickname'] : '');
|
||||
$nu_email = (x($_POST, 'new_user_email') ? $_POST['new_user_email'] : '');
|
||||
$pending = (x($_POST, 'pending') ? $_POST['pending'] : array());
|
||||
$users = (x($_POST, 'user') ? $_POST['user'] : array());
|
||||
$nu_name = (x($_POST, 'new_user_name') ? $_POST['new_user_name'] : '');
|
||||
$nu_nickname = (x($_POST, 'new_user_nickname') ? $_POST['new_user_nickname'] : '');
|
||||
$nu_email = (x($_POST, 'new_user_email') ? $_POST['new_user_email'] : '');
|
||||
$nu_language = get_config('system', 'language');
|
||||
|
||||
check_form_security_token_redirectOnErr('/admin/users', 'admin_users');
|
||||
|
@ -1205,7 +1205,7 @@ function admin_page_users_post(&$a){
|
|||
Thank you and welcome to %4$s.'));
|
||||
|
||||
$preamble = sprintf($preamble, $nu['username'], $a->config['sitename']);
|
||||
$body = sprintf($body, $a->get_baseurl(), $nu['email'], $result['password'], $a->config['sitename']);
|
||||
$body = sprintf($body, App::get_baseurl(), $nu['email'], $result['password'], $a->config['sitename']);
|
||||
|
||||
notification(array(
|
||||
'type' => "SYSTEM_EMAIL",
|
||||
|
@ -1430,7 +1430,7 @@ function admin_page_users(&$a){
|
|||
'$form_security_token' => get_form_security_token("admin_users"),
|
||||
|
||||
// values //
|
||||
'$baseurl' => $a->get_baseurl(true),
|
||||
'$baseurl' => App::get_baseurl(true),
|
||||
|
||||
'$pending' => $pending,
|
||||
'deleted' => $deleted,
|
||||
|
@ -1522,7 +1522,7 @@ function admin_page_plugins(&$a){
|
|||
'$page' => t('Plugins'),
|
||||
'$toggle' => t('Toggle'),
|
||||
'$settings' => t('Settings'),
|
||||
'$baseurl' => $a->get_baseurl(true),
|
||||
'$baseurl' => App::get_baseurl(true),
|
||||
|
||||
'$plugin' => $plugin,
|
||||
'$status' => $status,
|
||||
|
@ -1546,32 +1546,35 @@ function admin_page_plugins(&$a){
|
|||
* List plugins
|
||||
*/
|
||||
|
||||
if(x($_GET,"a") && $_GET['a']=="r") {
|
||||
check_form_security_token_redirectOnErr($a->get_baseurl().'/admin/plugins', 'admin_themes', 't');
|
||||
if (x($_GET,"a") && $_GET['a']=="r") {
|
||||
check_form_security_token_redirectOnErr(App::get_baseurl().'/admin/plugins', 'admin_themes', 't');
|
||||
reload_plugins();
|
||||
info("Plugins reloaded");
|
||||
goaway($a->get_baseurl().'/admin/plugins');
|
||||
goaway(App::get_baseurl().'/admin/plugins');
|
||||
}
|
||||
|
||||
$plugins = array();
|
||||
$files = glob("addon/*/");
|
||||
if($files) {
|
||||
foreach($files as $file) {
|
||||
if(is_dir($file)) {
|
||||
if ($files) {
|
||||
foreach ($files as $file) {
|
||||
if (is_dir($file)) {
|
||||
list($tmp, $id)=array_map("trim", explode("/",$file));
|
||||
$info = get_plugin_info($id);
|
||||
$show_plugin = true;
|
||||
|
||||
// If the addon is unsupported, then only show it, when it is enabled
|
||||
if((strtolower($info["status"]) == "unsupported") AND !in_array($id, $a->plugins))
|
||||
if ((strtolower($info["status"]) == "unsupported") AND !in_array($id, $a->plugins)) {
|
||||
$show_plugin = false;
|
||||
}
|
||||
|
||||
// Override the above szenario, when the admin really wants to see outdated stuff
|
||||
if(get_config("system", "show_unsupported_addons"))
|
||||
if (get_config("system", "show_unsupported_addons")) {
|
||||
$show_plugin = true;
|
||||
}
|
||||
|
||||
if($show_plugin)
|
||||
if ($show_plugin) {
|
||||
$plugins[] = array($id, (in_array($id, $a->plugins)?"on":"off") , $info);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1582,7 +1585,7 @@ function admin_page_plugins(&$a){
|
|||
'$page' => t('Plugins'),
|
||||
'$submit' => t('Save Settings'),
|
||||
'$reload' => t('Reload active plugins'),
|
||||
'$baseurl' => $a->get_baseurl(true),
|
||||
'$baseurl' => App::get_baseurl(true),
|
||||
'$function' => 'plugins',
|
||||
'$plugins' => $plugins,
|
||||
'$pcount' => count($plugins),
|
||||
|
@ -1780,7 +1783,7 @@ function admin_page_themes(&$a){
|
|||
'$page' => t('Themes'),
|
||||
'$toggle' => t('Toggle'),
|
||||
'$settings' => t('Settings'),
|
||||
'$baseurl' => $a->get_baseurl(true),
|
||||
'$baseurl' => App::get_baseurl(true),
|
||||
'$plugin' => $theme,
|
||||
'$status' => $status,
|
||||
'$action' => $action,
|
||||
|
@ -1798,18 +1801,18 @@ function admin_page_themes(&$a){
|
|||
|
||||
|
||||
// reload active themes
|
||||
if(x($_GET,"a") && $_GET['a']=="r") {
|
||||
check_form_security_token_redirectOnErr($a->get_baseurl().'/admin/themes', 'admin_themes', 't');
|
||||
if($themes) {
|
||||
foreach($themes as $th) {
|
||||
if($th['allowed']) {
|
||||
if (x($_GET,"a") && $_GET['a']=="r") {
|
||||
check_form_security_token_redirectOnErr(App::get_baseurl().'/admin/themes', 'admin_themes', 't');
|
||||
if ($themes) {
|
||||
foreach ($themes as $th) {
|
||||
if ($th['allowed']) {
|
||||
uninstall_theme($th['name']);
|
||||
install_theme($th['name']);
|
||||
}
|
||||
}
|
||||
}
|
||||
info("Themes reloaded");
|
||||
goaway($a->get_baseurl().'/admin/themes');
|
||||
goaway(App::get_baseurl().'/admin/themes');
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1817,7 +1820,7 @@ function admin_page_themes(&$a){
|
|||
*/
|
||||
|
||||
$xthemes = array();
|
||||
if($themes) {
|
||||
if ($themes) {
|
||||
foreach($themes as $th) {
|
||||
$xthemes[] = array($th['name'],(($th['allowed']) ? "on" : "off"), get_theme_info($th['name']));
|
||||
}
|
||||
|
@ -1826,17 +1829,17 @@ function admin_page_themes(&$a){
|
|||
|
||||
$t = get_markup_template("admin_plugins.tpl");
|
||||
return replace_macros($t, array(
|
||||
'$title' => t('Administration'),
|
||||
'$page' => t('Themes'),
|
||||
'$submit' => t('Save Settings'),
|
||||
'$reload' => t('Reload active themes'),
|
||||
'$baseurl' => $a->get_baseurl(true),
|
||||
'$function' => 'themes',
|
||||
'$plugins' => $xthemes,
|
||||
'$pcount' => count($themes),
|
||||
'$noplugshint' => sprintf(t('No themes found on the system. They should be paced in %1$s'),'<code>/view/themes</code>'),
|
||||
'$experimental' => t('[Experimental]'),
|
||||
'$unsupported' => t('[Unsupported]'),
|
||||
'$title' => t('Administration'),
|
||||
'$page' => t('Themes'),
|
||||
'$submit' => t('Save Settings'),
|
||||
'$reload' => t('Reload active themes'),
|
||||
'$baseurl' => App::get_baseurl(true),
|
||||
'$function' => 'themes',
|
||||
'$plugins' => $xthemes,
|
||||
'$pcount' => count($themes),
|
||||
'$noplugshint' => sprintf(t('No themes found on the system. They should be paced in %1$s'),'<code>/view/themes</code>'),
|
||||
'$experimental' => t('[Experimental]'),
|
||||
'$unsupported' => t('[Unsupported]'),
|
||||
'$form_security_token' => get_form_security_token("admin_themes"),
|
||||
));
|
||||
}
|
||||
|
@ -1904,7 +1907,7 @@ function admin_page_logs(&$a){
|
|||
'$page' => t('Logs'),
|
||||
'$submit' => t('Save Settings'),
|
||||
'$clear' => t('Clear'),
|
||||
'$baseurl' => $a->get_baseurl(true),
|
||||
'$baseurl' => App::get_baseurl(true),
|
||||
'$logname' => get_config('system','logfile'),
|
||||
|
||||
// name, label, value, help string, extra data...
|
||||
|
|
|
@ -8,16 +8,18 @@ require_once('mod/contacts.php');
|
|||
function allfriends_content(&$a) {
|
||||
|
||||
$o = '';
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
notice( t('Permission denied.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
||||
if($a->argc > 1)
|
||||
if ($a->argc > 1) {
|
||||
$cid = intval($a->argv[1]);
|
||||
}
|
||||
|
||||
if(! $cid)
|
||||
if (! $cid) {
|
||||
return;
|
||||
}
|
||||
|
||||
$uid = $a->user[uid];
|
||||
|
||||
|
@ -26,8 +28,9 @@ function allfriends_content(&$a) {
|
|||
intval(local_user())
|
||||
);
|
||||
|
||||
if(! count($c))
|
||||
if (! count($c)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$a->page['aside'] = "";
|
||||
profile_load($a, "", 0, get_contact_details_by_url($c[0]["url"]));
|
||||
|
@ -39,14 +42,14 @@ function allfriends_content(&$a) {
|
|||
|
||||
$r = all_friends(local_user(), $cid, $a->pager['start'], $a->pager['itemspage']);
|
||||
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
$o .= t('No friends to display.');
|
||||
return $o;
|
||||
}
|
||||
|
||||
$id = 0;
|
||||
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
|
||||
//get further details of the contact
|
||||
$contact_details = get_contact_details_by_url($rr['url'], $uid, $rr);
|
||||
|
@ -60,7 +63,7 @@ function allfriends_content(&$a) {
|
|||
$photo_menu = contact_photo_menu ($rr);
|
||||
}
|
||||
else {
|
||||
$connlnk = $a->get_baseurl() . '/follow/?url=' . $rr['url'];
|
||||
$connlnk = App::get_baseurl() . '/follow/?url=' . $rr['url'];
|
||||
$photo_menu = array(
|
||||
'profile' => array(t("View Profile"), zrl($rr['url'])),
|
||||
'follow' => array(t("Connect/Follow"), $connlnk)
|
||||
|
|
|
@ -22,7 +22,7 @@ function oauth_get_client($request){
|
|||
|
||||
function api_post(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
notice( t('Permission denied.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
@ -84,7 +84,7 @@ function api_content(&$a) {
|
|||
}
|
||||
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
/// @TODO We need login form to redirect to this page
|
||||
notice( t('Please login to continue.') . EOL );
|
||||
return login(false,$request->get_parameters());
|
||||
|
|
|
@ -16,7 +16,7 @@ function attach_init(&$a) {
|
|||
$r = q("SELECT * FROM `attach` WHERE `id` = %d LIMIT 1",
|
||||
intval($item_id)
|
||||
);
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
notice( t('Item was not found.'). EOL);
|
||||
return;
|
||||
}
|
||||
|
@ -29,7 +29,7 @@ function attach_init(&$a) {
|
|||
dbesc($item_id)
|
||||
);
|
||||
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
notice( t('Permission denied.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -8,14 +8,14 @@ function bookmarklet_init(&$a) {
|
|||
}
|
||||
|
||||
function bookmarklet_content(&$a) {
|
||||
if(!local_user()) {
|
||||
if (!local_user()) {
|
||||
$o = '<h2>'.t('Login').'</h2>';
|
||||
$o .= login(($a->config['register_policy'] == REGISTER_CLOSED) ? false : true);
|
||||
return $o;
|
||||
}
|
||||
|
||||
$referer = normalise_link($_SERVER["HTTP_REFERER"]);
|
||||
$page = normalise_link($a->get_baseurl()."/bookmarklet");
|
||||
$page = normalise_link(App::get_baseurl()."/bookmarklet");
|
||||
|
||||
if (!strstr($referer, $page)) {
|
||||
$content = add_page_info($_REQUEST["url"]);
|
||||
|
|
17
mod/cal.php
17
mod/cal.php
|
@ -80,7 +80,7 @@ function cal_content(&$a) {
|
|||
|
||||
$htpl = get_markup_template('event_head.tpl');
|
||||
$a->page['htmlhead'] .= replace_macros($htpl,array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
'$module_url' => '/cal/' . $a->data['user']['nickname'],
|
||||
'$modparams' => 2,
|
||||
'$i18n' => $i18n,
|
||||
|
@ -89,7 +89,7 @@ function cal_content(&$a) {
|
|||
|
||||
$etpl = get_markup_template('event_end.tpl');
|
||||
$a->page['end'] .= replace_macros($etpl,array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
'$editselect' => $editselect
|
||||
));
|
||||
|
||||
|
@ -229,10 +229,11 @@ function cal_content(&$a) {
|
|||
|
||||
if (dbm::is_result($r)) {
|
||||
$r = sort_by_date($r);
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
$j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'j') : datetime_convert('UTC','UTC',$rr['start'],'j'));
|
||||
if(! x($links,$j))
|
||||
$links[$j] = $a->get_baseurl() . '/' . $a->cmd . '#link-' . $j;
|
||||
if (! x($links,$j)) {
|
||||
$links[$j] = App::get_baseurl() . '/' . $a->cmd . '#link-' . $j;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -270,12 +271,12 @@ function cal_content(&$a) {
|
|||
}
|
||||
|
||||
$o = replace_macros($tpl, array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
'$tabs' => $tabs,
|
||||
'$title' => t('Events'),
|
||||
'$view' => t('View'),
|
||||
'$previus' => array($a->get_baseurl()."/events/$prevyear/$prevmonth",t('Previous'),'',''),
|
||||
'$next' => array($a->get_baseurl()."/events/$nextyear/$nextmonth",t('Next'),'',''),
|
||||
'$previus' => array(App::get_baseurl()."/events/$prevyear/$prevmonth",t('Previous'),'',''),
|
||||
'$next' => array(App::get_baseurl()."/events/$nextyear/$nextmonth",t('Next'),'',''),
|
||||
'$calendar' => cal($y,$m,$links, ' eventcal'),
|
||||
|
||||
'$events' => $events,
|
||||
|
|
|
@ -19,23 +19,27 @@ function common_content(&$a) {
|
|||
return;
|
||||
}
|
||||
|
||||
if($cmd !== 'loc' && $cmd != 'rem')
|
||||
if ($cmd !== 'loc' && $cmd != 'rem') {
|
||||
return;
|
||||
}
|
||||
|
||||
if(! $uid)
|
||||
if (! $uid) {
|
||||
return;
|
||||
}
|
||||
|
||||
if($cmd === 'loc' && $cid) {
|
||||
if ($cmd === 'loc' && $cid) {
|
||||
$c = q("SELECT `name`, `url`, `photo` FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($cid),
|
||||
intval($uid)
|
||||
);
|
||||
/// @TODO Handle $c with dbm::is_result()
|
||||
$a->page['aside'] = "";
|
||||
profile_load($a, "", 0, get_contact_details_by_url($c[0]["url"]));
|
||||
} else {
|
||||
$c = q("SELECT `name`, `url`, `photo` FROM `contact` WHERE `self` = 1 AND `uid` = %d LIMIT 1",
|
||||
intval($uid)
|
||||
);
|
||||
/// @TODO Handle $c with dbm::is_result()
|
||||
|
||||
$vcard_widget .= replace_macros(get_markup_template("vcard-widget.tpl"),array(
|
||||
'$name' => htmlentities($c[0]['name']),
|
||||
|
@ -43,8 +47,9 @@ function common_content(&$a) {
|
|||
'url' => 'contacts/' . $cid
|
||||
));
|
||||
|
||||
if(! x($a->page,'aside'))
|
||||
if (! x($a->page,'aside')) {
|
||||
$a->page['aside'] = '';
|
||||
}
|
||||
$a->page['aside'] .= $vcard_widget;
|
||||
}
|
||||
|
||||
|
@ -69,75 +74,77 @@ function common_content(&$a) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
if($cid == 0 && $zcid == 0)
|
||||
if ($cid == 0 && $zcid == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
if($cid)
|
||||
if ($cid) {
|
||||
$t = count_common_friends($uid, $cid);
|
||||
else
|
||||
} else {
|
||||
$t = count_common_friends_zcid($uid, $zcid);
|
||||
}
|
||||
|
||||
if(count($t))
|
||||
if (count($t)) {
|
||||
$a->set_pager_total($t);
|
||||
else {
|
||||
} else {
|
||||
notice( t('No contacts in common.') . EOL);
|
||||
return $o;
|
||||
}
|
||||
|
||||
|
||||
if($cid)
|
||||
if ($cid) {
|
||||
$r = common_friends($uid, $cid, $a->pager['start'], $a->pager['itemspage']);
|
||||
else
|
||||
} else {
|
||||
$r = common_friends_zcid($uid, $zcid, $a->pager['start'], $a->pager['itemspage']);
|
||||
}
|
||||
|
||||
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
return $o;
|
||||
}
|
||||
|
||||
$id = 0;
|
||||
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
|
||||
//get further details of the contact
|
||||
$contact_details = get_contact_details_by_url($rr['url'], $uid);
|
||||
|
||||
// $rr[id] is needed to use contact_photo_menu()
|
||||
$rr[id] = $rr[cid];
|
||||
// $rr['id'] is needed to use contact_photo_menu()
|
||||
/// @TODO Adding '/" here avoids E_NOTICE on missing constants
|
||||
$rr['id'] = $rr['cid'];
|
||||
|
||||
$photo_menu = '';
|
||||
$photo_menu = contact_photo_menu($rr);
|
||||
|
||||
$entry = array(
|
||||
'url' => $rr['url'],
|
||||
'itemurl' => (($contact_details['addr'] != "") ? $contact_details['addr'] : $rr['url']),
|
||||
'name' => $contact_details['name'],
|
||||
'thumb' => proxy_url($contact_details['thumb'], false, PROXY_SIZE_THUMB),
|
||||
'img_hover' => htmlentities($contact_details['name']),
|
||||
'details' => $contact_details['location'],
|
||||
'tags' => $contact_details['keywords'],
|
||||
'about' => $contact_details['about'],
|
||||
'account_type' => account_type($contact_details),
|
||||
'network' => network_to_name($contact_details['network'], $contact_details['url']),
|
||||
'photo_menu' => $photo_menu,
|
||||
'id' => ++$id,
|
||||
'url' => $rr['url'],
|
||||
'itemurl' => (($contact_details['addr'] != "") ? $contact_details['addr'] : $rr['url']),
|
||||
'name' => $contact_details['name'],
|
||||
'thumb' => proxy_url($contact_details['thumb'], false, PROXY_SIZE_THUMB),
|
||||
'img_hover' => htmlentities($contact_details['name']),
|
||||
'details' => $contact_details['location'],
|
||||
'tags' => $contact_details['keywords'],
|
||||
'about' => $contact_details['about'],
|
||||
'account_type' => account_type($contact_details),
|
||||
'network' => network_to_name($contact_details['network'], $contact_details['url']),
|
||||
'photo_menu' => $photo_menu,
|
||||
'id' => ++$id,
|
||||
);
|
||||
$entries[] = $entry;
|
||||
}
|
||||
|
||||
if($cmd === 'loc' && $cid && $uid == local_user()) {
|
||||
if ($cmd === 'loc' && $cid && $uid == local_user()) {
|
||||
$tab_str = contacts_tab($a, $cid, 4);
|
||||
} else
|
||||
} else {
|
||||
$title = t('Common Friends');
|
||||
}
|
||||
|
||||
$tpl = get_markup_template('viewcontact_template.tpl');
|
||||
|
||||
$o .= replace_macros($tpl,array(
|
||||
'$title' => $title,
|
||||
'$tab_str' => $tab_str,
|
||||
'$title' => $title,
|
||||
'$tab_str' => $tab_str,
|
||||
'$contacts' => $entries,
|
||||
'$paginate' => paginate($a),
|
||||
));
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
|
||||
function community_init(&$a) {
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
unset($_SESSION['theme']);
|
||||
unset($_SESSION['mobile-theme']);
|
||||
}
|
||||
|
@ -71,7 +71,7 @@ function community_content(&$a, $update = 0) {
|
|||
|
||||
$r = community_getitems($a->pager['start'], $a->pager['itemspage']);
|
||||
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
info( t('No results.') . EOL);
|
||||
return $o;
|
||||
}
|
||||
|
|
|
@ -5,7 +5,7 @@ require_once('include/group.php');
|
|||
function contactgroup_content(&$a) {
|
||||
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
killme();
|
||||
}
|
||||
|
||||
|
@ -24,7 +24,7 @@ function contactgroup_content(&$a) {
|
|||
intval($a->argv[1]),
|
||||
intval(local_user())
|
||||
);
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
killme();
|
||||
}
|
||||
|
||||
|
|
|
@ -8,8 +8,9 @@ require_once('mod/proxy.php');
|
|||
require_once('include/Photo.php');
|
||||
|
||||
function contacts_init(&$a) {
|
||||
if(! local_user())
|
||||
if (! local_user()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$contact_id = 0;
|
||||
|
||||
|
@ -19,7 +20,7 @@ function contacts_init(&$a) {
|
|||
intval(local_user()),
|
||||
intval($contact_id)
|
||||
);
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
$contact_id = 0;
|
||||
}
|
||||
}
|
||||
|
@ -78,13 +79,13 @@ function contacts_init(&$a) {
|
|||
$base = z_root();
|
||||
$tpl = get_markup_template("contacts-head.tpl");
|
||||
$a->page['htmlhead'] .= replace_macros($tpl,array(
|
||||
'$baseurl' => $a->get_baseurl(true),
|
||||
'$baseurl' => App::get_baseurl(true),
|
||||
'$base' => $base
|
||||
));
|
||||
|
||||
$tpl = get_markup_template("contacts-end.tpl");
|
||||
$a->page['end'] .= replace_macros($tpl,array(
|
||||
'$baseurl' => $a->get_baseurl(true),
|
||||
'$baseurl' => App::get_baseurl(true),
|
||||
'$base' => $base
|
||||
));
|
||||
|
||||
|
@ -128,18 +129,21 @@ function contacts_batch_actions(&$a){
|
|||
info ( sprintf( tt("%d contact edited.", "%d contacts edited.", $count_actions), $count_actions) );
|
||||
}
|
||||
|
||||
if(x($_SESSION,'return_url'))
|
||||
if (x($_SESSION,'return_url')) {
|
||||
goaway('' . $_SESSION['return_url']);
|
||||
else
|
||||
}
|
||||
else {
|
||||
goaway('contacts');
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
function contacts_post(&$a) {
|
||||
|
||||
if(! local_user())
|
||||
if (! local_user()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if ($a->argv[1]==="batch") {
|
||||
contacts_batch_actions($a);
|
||||
|
@ -147,15 +151,16 @@ function contacts_post(&$a) {
|
|||
}
|
||||
|
||||
$contact_id = intval($a->argv[1]);
|
||||
if(! $contact_id)
|
||||
if (! $contact_id) {
|
||||
return;
|
||||
}
|
||||
|
||||
$orig_record = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($contact_id),
|
||||
intval(local_user())
|
||||
);
|
||||
|
||||
if(! count($orig_record)) {
|
||||
if (! count($orig_record)) {
|
||||
notice( t('Could not access contact record.') . EOL);
|
||||
goaway('contacts');
|
||||
return; // NOTREACHED
|
||||
|
@ -164,12 +169,12 @@ function contacts_post(&$a) {
|
|||
call_hooks('contact_edit_post', $_POST);
|
||||
|
||||
$profile_id = intval($_POST['profile-assign']);
|
||||
if($profile_id) {
|
||||
if ($profile_id) {
|
||||
$r = q("SELECT `id` FROM `profile` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($profile_id),
|
||||
intval(local_user())
|
||||
);
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
notice( t('Could not locate selected profile.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
@ -346,7 +351,7 @@ function contacts_content(&$a) {
|
|||
nav_set_selected('contacts');
|
||||
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
notice( t('Permission denied.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
@ -384,7 +389,7 @@ function contacts_content(&$a) {
|
|||
|
||||
if($cmd === 'block') {
|
||||
$r = _contact_block($contact_id, $orig_record[0]);
|
||||
if($r) {
|
||||
if ($r) {
|
||||
$blocked = (($orig_record[0]['blocked']) ? 0 : 1);
|
||||
info((($blocked) ? t('Contact has been blocked') : t('Contact has been unblocked')).EOL);
|
||||
}
|
||||
|
@ -395,7 +400,7 @@ function contacts_content(&$a) {
|
|||
|
||||
if($cmd === 'ignore') {
|
||||
$r = _contact_ignore($contact_id, $orig_record[0]);
|
||||
if($r) {
|
||||
if ($r) {
|
||||
$readonly = (($orig_record[0]['readonly']) ? 0 : 1);
|
||||
info((($readonly) ? t('Contact has been ignored') : t('Contact has been unignored')).EOL);
|
||||
}
|
||||
|
@ -407,7 +412,7 @@ function contacts_content(&$a) {
|
|||
|
||||
if($cmd === 'archive') {
|
||||
$r = _contact_archive($contact_id, $orig_record[0]);
|
||||
if($r) {
|
||||
if ($r) {
|
||||
$archived = (($orig_record[0]['archive']) ? 0 : 1);
|
||||
info((($archived) ? t('Contact has been archived') : t('Contact has been unarchived')).EOL);
|
||||
}
|
||||
|
@ -446,22 +451,26 @@ function contacts_content(&$a) {
|
|||
));
|
||||
}
|
||||
// Now check how the user responded to the confirmation query
|
||||
if($_REQUEST['canceled']) {
|
||||
if(x($_SESSION,'return_url'))
|
||||
if ($_REQUEST['canceled']) {
|
||||
if (x($_SESSION,'return_url')) {
|
||||
goaway('' . $_SESSION['return_url']);
|
||||
else
|
||||
}
|
||||
else {
|
||||
goaway('contacts');
|
||||
}
|
||||
}
|
||||
|
||||
_contact_drop($contact_id, $orig_record[0]);
|
||||
info( t('Contact has been removed.') . EOL );
|
||||
if(x($_SESSION,'return_url'))
|
||||
if (x($_SESSION,'return_url')) {
|
||||
goaway('' . $_SESSION['return_url']);
|
||||
else
|
||||
}
|
||||
else {
|
||||
goaway('contacts');
|
||||
}
|
||||
return; // NOTREACHED
|
||||
}
|
||||
if($cmd === 'posts') {
|
||||
if ($cmd === 'posts') {
|
||||
return contact_posts($a, $contact_id);
|
||||
}
|
||||
}
|
||||
|
@ -480,11 +489,11 @@ function contacts_content(&$a) {
|
|||
$editselect = 'exact';
|
||||
|
||||
$a->page['htmlhead'] .= replace_macros(get_markup_template('contact_head.tpl'), array(
|
||||
'$baseurl' => $a->get_baseurl(true),
|
||||
'$baseurl' => App::get_baseurl(true),
|
||||
'$editselect' => $editselect,
|
||||
));
|
||||
$a->page['end'] .= replace_macros(get_markup_template('contact_end.tpl'), array(
|
||||
'$baseurl' => $a->get_baseurl(true),
|
||||
'$baseurl' => App::get_baseurl(true),
|
||||
'$editselect' => $editselect,
|
||||
));
|
||||
|
||||
|
@ -564,7 +573,7 @@ function contacts_content(&$a) {
|
|||
|
||||
if (in_array($contact['network'], array(NETWORK_DIASPORA, NETWORK_OSTATUS)) AND
|
||||
($contact['rel'] == CONTACT_IS_FOLLOWER))
|
||||
$follow = $a->get_baseurl(true)."/follow?url=".urlencode($contact["url"]);
|
||||
$follow = App::get_baseurl(true)."/follow?url=".urlencode($contact["url"]);
|
||||
|
||||
// Load contactact related actions like hide, suggest, delete and others
|
||||
$contact_actions = contact_actions($contact);
|
||||
|
|
|
@ -23,7 +23,7 @@ function content_content(&$a, $update = 0) {
|
|||
|
||||
// Currently security is based on the logged in user
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -113,11 +113,11 @@ function content_content(&$a, $update = 0) {
|
|||
intval($group),
|
||||
intval($_SESSION['uid'])
|
||||
);
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
if($update)
|
||||
killme();
|
||||
notice( t('No such group') . EOL );
|
||||
goaway($a->get_baseurl(true) . '/network');
|
||||
goaway(App::get_baseurl(true) . '/network');
|
||||
// NOTREACHED
|
||||
}
|
||||
|
||||
|
@ -509,8 +509,8 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
|
|||
'like' => '',
|
||||
'dislike' => '',
|
||||
'comment' => '',
|
||||
//'conv' => (($preview) ? '' : array('href'=> $a->get_baseurl($ssl_state) . '/display/' . $nickname . '/' . $item['id'], 'title'=> t('View in context'))),
|
||||
'conv' => (($preview) ? '' : array('href'=> $a->get_baseurl($ssl_state).'/display/'.$item['guid'], 'title'=> t('View in context'))),
|
||||
//'conv' => (($preview) ? '' : array('href'=> App::get_baseurl($ssl_state) . '/display/' . $nickname . '/' . $item['id'], 'title'=> t('View in context'))),
|
||||
'conv' => (($preview) ? '' : array('href'=> App::get_baseurl($ssl_state).'/display/'.$item['guid'], 'title'=> t('View in context'))),
|
||||
'previewing' => $previewing,
|
||||
'wait' => t('Please wait'),
|
||||
);
|
||||
|
@ -742,10 +742,11 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
|
|||
}
|
||||
}
|
||||
|
||||
if(local_user() && link_compare($a->contact['url'],$item['author-link']))
|
||||
$edpost = array($a->get_baseurl($ssl_state)."/editpost/".$item['id'], t("Edit"));
|
||||
else
|
||||
if (local_user() && link_compare($a->contact['url'],$item['author-link'])) {
|
||||
$edpost = array(App::get_baseurl($ssl_state)."/editpost/".$item['id'], t("Edit"));
|
||||
} else {
|
||||
$edpost = false;
|
||||
}
|
||||
|
||||
$drop = '';
|
||||
$dropping = false;
|
||||
|
@ -764,7 +765,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
|
|||
|
||||
$isstarred = "unstarred";
|
||||
if ($profile_owner == local_user()) {
|
||||
if($toplevelpost) {
|
||||
if ($toplevelpost) {
|
||||
$isstarred = (($item['starred']) ? "starred" : "unstarred");
|
||||
|
||||
$star = array(
|
||||
|
@ -782,6 +783,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
|
|||
intval($item['uid']),
|
||||
intval($item['id'])
|
||||
);
|
||||
|
||||
if (dbm::is_result($r)) {
|
||||
$ignore = array(
|
||||
'do' => t("ignore thread"),
|
||||
|
@ -793,7 +795,7 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
|
|||
);
|
||||
}
|
||||
$tagger = '';
|
||||
if(feature_enabled($profile_owner,'commtag')) {
|
||||
if (feature_enabled($profile_owner,'commtag')) {
|
||||
$tagger = array(
|
||||
'add' => t("add tag"),
|
||||
'class' => "",
|
||||
|
@ -818,19 +820,22 @@ function render_content(&$a, $items, $mode, $update, $preview = false) {
|
|||
|
||||
$sp = false;
|
||||
$profile_link = best_link_url($item,$sp);
|
||||
if($profile_link === 'mailbox')
|
||||
if ($profile_link === 'mailbox') {
|
||||
$profile_link = '';
|
||||
if($sp)
|
||||
}
|
||||
if ($sp) {
|
||||
$sparkle = ' sparkle';
|
||||
else
|
||||
} else {
|
||||
$profile_link = zrl($profile_link);
|
||||
}
|
||||
|
||||
// Don't rely on the author-avatar. It is better to use the data from the contact table
|
||||
$author_contact = get_contact_details_by_url($item['author-link'], $profile_owner);
|
||||
if ($author_contact["thumb"])
|
||||
if ($author_contact["thumb"]) {
|
||||
$profile_avatar = $author_contact["thumb"];
|
||||
else
|
||||
} else {
|
||||
$profile_avatar = $item['author-avatar'];
|
||||
}
|
||||
|
||||
$like = ((x($conv_responses['like'],$item['uri'])) ? format_like($conv_responses['like'][$item['uri']],$conv_responses['like'][$item['uri'] . '-l'],'like',$item['uri']) : '');
|
||||
$dislike = ((x($conv_responses['dislike'],$item['uri'])) ? format_like($conv_responses['dislike'][$item['uri']],$conv_responses['dislike'][$item['uri'] . '-l'],'dislike',$item['uri']) : '');
|
||||
|
|
|
@ -3,8 +3,9 @@ require_once("include/contact_selectors.php");
|
|||
require_once("mod/contacts.php");
|
||||
|
||||
function crepair_init(&$a) {
|
||||
if(! local_user())
|
||||
if (! local_user()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$contact_id = 0;
|
||||
|
||||
|
@ -14,7 +15,7 @@ function crepair_init(&$a) {
|
|||
intval(local_user()),
|
||||
intval($contact_id)
|
||||
);
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
$contact_id = 0;
|
||||
}
|
||||
}
|
||||
|
@ -29,10 +30,10 @@ function crepair_init(&$a) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
function crepair_post(&$a) {
|
||||
if(! local_user())
|
||||
if (! local_user()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$cid = (($a->argc > 1) ? intval($a->argv[1]) : 0);
|
||||
|
||||
|
@ -43,8 +44,9 @@ function crepair_post(&$a) {
|
|||
);
|
||||
}
|
||||
|
||||
if(! dbm::is_result($r))
|
||||
if (! dbm::is_result($r)) {
|
||||
return;
|
||||
}
|
||||
|
||||
$contact = $r[0];
|
||||
|
||||
|
@ -96,7 +98,7 @@ function crepair_post(&$a) {
|
|||
|
||||
function crepair_content(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
notice( t('Permission denied.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
@ -110,7 +112,7 @@ function crepair_content(&$a) {
|
|||
);
|
||||
}
|
||||
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
notice( t('Contact not found.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -8,17 +8,18 @@ function delegate_init(&$a) {
|
|||
|
||||
function delegate_content(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
notice( t('Permission denied.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
||||
if($a->argc > 2 && $a->argv[1] === 'add' && intval($a->argv[2])) {
|
||||
if ($a->argc > 2 && $a->argv[1] === 'add' && intval($a->argv[2])) {
|
||||
|
||||
// delegated admins can view but not change delegation permissions
|
||||
|
||||
if(x($_SESSION,'submanage') && intval($_SESSION['submanage']))
|
||||
goaway($a->get_baseurl() . '/delegate');
|
||||
if (x($_SESSION,'submanage') && intval($_SESSION['submanage'])) {
|
||||
goaway(App::get_baseurl() . '/delegate');
|
||||
}
|
||||
|
||||
|
||||
$id = $a->argv[2];
|
||||
|
@ -29,7 +30,7 @@ function delegate_content(&$a) {
|
|||
if (dbm::is_result($r)) {
|
||||
$r = q("select id from contact where uid = %d and nurl = '%s' limit 1",
|
||||
intval(local_user()),
|
||||
dbesc(normalise_link($a->get_baseurl() . '/profile/' . $r[0]['nickname']))
|
||||
dbesc(normalise_link(App::get_baseurl() . '/profile/' . $r[0]['nickname']))
|
||||
);
|
||||
if (dbm::is_result($r)) {
|
||||
q("insert into manage ( uid, mid ) values ( %d , %d ) ",
|
||||
|
@ -38,21 +39,22 @@ function delegate_content(&$a) {
|
|||
);
|
||||
}
|
||||
}
|
||||
goaway($a->get_baseurl() . '/delegate');
|
||||
goaway(App::get_baseurl() . '/delegate');
|
||||
}
|
||||
|
||||
if($a->argc > 2 && $a->argv[1] === 'remove' && intval($a->argv[2])) {
|
||||
if ($a->argc > 2 && $a->argv[1] === 'remove' && intval($a->argv[2])) {
|
||||
|
||||
// delegated admins can view but not change delegation permissions
|
||||
|
||||
if(x($_SESSION,'submanage') && intval($_SESSION['submanage']))
|
||||
goaway($a->get_baseurl() . '/delegate');
|
||||
if (x($_SESSION,'submanage') && intval($_SESSION['submanage'])) {
|
||||
goaway(App::get_baseurl() . '/delegate');
|
||||
}
|
||||
|
||||
q("delete from manage where uid = %d and mid = %d limit 1",
|
||||
intval($a->argv[2]),
|
||||
intval(local_user())
|
||||
);
|
||||
goaway($a->get_baseurl() . '/delegate');
|
||||
goaway(App::get_baseurl() . '/delegate');
|
||||
|
||||
}
|
||||
|
||||
|
@ -92,12 +94,12 @@ function delegate_content(&$a) {
|
|||
|
||||
$r = q("select nurl from contact where substring_index(contact.nurl,'/',3) = '%s'
|
||||
and contact.uid = %d and contact.self = 0 and network = '%s' ",
|
||||
dbesc(normalise_link($a->get_baseurl())),
|
||||
dbesc(normalise_link(App::get_baseurl())),
|
||||
intval(local_user()),
|
||||
dbesc(NETWORK_DFRN)
|
||||
);
|
||||
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
notice( t('No potential page delegates located.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
@ -105,7 +107,7 @@ function delegate_content(&$a) {
|
|||
$nicknames = array();
|
||||
|
||||
if (dbm::is_result($r)) {
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
$nicknames[] = "'" . dbesc(basename($rr['nurl'])) . "'";
|
||||
}
|
||||
}
|
||||
|
@ -128,7 +130,7 @@ function delegate_content(&$a) {
|
|||
|
||||
$o = replace_macros(get_markup_template('delegate.tpl'),array(
|
||||
'$header' => t('Delegate Page Management'),
|
||||
'$base' => $a->get_baseurl(),
|
||||
'$base' => App::get_baseurl(),
|
||||
'$desc' => t('Delegates are able to manage all aspects of this account/page except for basic account settings. Please do not delegate your personal account to anybody that you do not trust completely.'),
|
||||
'$head_managers' => t('Existing Page Managers'),
|
||||
'$managers' => $full_managers,
|
||||
|
|
|
@ -121,7 +121,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
|||
intval($uid)
|
||||
);
|
||||
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
logger('Contact not found in DB.');
|
||||
notice( t('Contact not found.') . EOL );
|
||||
notice( t('This may occasionally happen if contact was requested by both persons and it has already been approved.') . EOL );
|
||||
|
@ -194,7 +194,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
|||
$params['public_key'] = $public_key;
|
||||
|
||||
|
||||
$my_url = $a->get_baseurl() . '/profile/' . $user[0]['nickname'];
|
||||
$my_url = App::get_baseurl() . '/profile/' . $user[0]['nickname'];
|
||||
|
||||
openssl_public_encrypt($my_url, $params['source_url'], $site_pubkey);
|
||||
$params['source_url'] = bin2hex($params['source_url']);
|
||||
|
@ -433,7 +433,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
|||
|
||||
if(($contact) && ($contact['network'] === NETWORK_DIASPORA)) {
|
||||
require_once('include/diaspora.php');
|
||||
$ret = diaspora::send_share($user[0],$r[0]);
|
||||
$ret = Diaspora::send_share($user[0],$r[0]);
|
||||
logger('share returns: ' . $ret);
|
||||
}
|
||||
|
||||
|
@ -503,10 +503,11 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
|||
// Let's send our user to the contact editor in case they want to
|
||||
// do anything special with this new friend.
|
||||
|
||||
if($handsfree === null)
|
||||
goaway($a->get_baseurl() . '/contacts/' . intval($contact_id));
|
||||
else
|
||||
if ($handsfree === null) {
|
||||
goaway(App::get_baseurl() . '/contacts/' . intval($contact_id));
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
//NOTREACHED
|
||||
}
|
||||
|
||||
|
@ -522,7 +523,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
|||
*
|
||||
*/
|
||||
|
||||
if(x($_POST,'source_url')) {
|
||||
if (x($_POST,'source_url')) {
|
||||
|
||||
// We are processing an external confirmation to an introduction created by our user.
|
||||
|
||||
|
@ -543,7 +544,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
|||
|
||||
// If $aes_key is set, both of these items require unpacking from the hex transport encoding.
|
||||
|
||||
if(x($aes_key)) {
|
||||
if (x($aes_key)) {
|
||||
$aes_key = hex2bin($aes_key);
|
||||
$public_key = hex2bin($public_key);
|
||||
}
|
||||
|
@ -553,7 +554,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
|||
$r = q("SELECT * FROM `user` WHERE `nickname` = '%s' LIMIT 1",
|
||||
dbesc($node));
|
||||
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
$message = sprintf(t('No user record found for \'%s\' '), $node);
|
||||
xml_status(3,$message); // failure
|
||||
// NOTREACHED
|
||||
|
@ -640,7 +641,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
|||
dbesc($dfrn_pubkey),
|
||||
intval($dfrn_record)
|
||||
);
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
$message = t('Unable to set your contact credentials on our system.');
|
||||
xml_status(3,$message);
|
||||
}
|
||||
|
@ -661,10 +662,11 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
|||
$r = q("SELECT `photo` FROM `contact` WHERE `id` = %d LIMIT 1",
|
||||
intval($dfrn_record));
|
||||
|
||||
if (dbm::is_result($r))
|
||||
if (dbm::is_result($r)) {
|
||||
$photo = $r[0]['photo'];
|
||||
else
|
||||
$photo = $a->get_baseurl() . '/images/person-175.jpg';
|
||||
} else {
|
||||
$photo = App::get_baseurl() . '/images/person-175.jpg';
|
||||
}
|
||||
|
||||
require_once("include/Photo.php");
|
||||
|
||||
|
@ -673,11 +675,13 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
|||
logger('dfrn_confirm: request - photos imported');
|
||||
|
||||
$new_relation = CONTACT_IS_SHARING;
|
||||
if(($relation == CONTACT_IS_FOLLOWER) || ($duplex))
|
||||
if (($relation == CONTACT_IS_FOLLOWER) || ($duplex)) {
|
||||
$new_relation = CONTACT_IS_FRIEND;
|
||||
}
|
||||
|
||||
if(($relation == CONTACT_IS_FOLLOWER) && ($duplex))
|
||||
if (($relation == CONTACT_IS_FOLLOWER) && ($duplex)) {
|
||||
$duplex = 0;
|
||||
}
|
||||
|
||||
$r = q("UPDATE `contact` SET
|
||||
`rel` = %d,
|
||||
|
@ -699,7 +703,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
|||
dbesc(NETWORK_DFRN),
|
||||
intval($dfrn_record)
|
||||
);
|
||||
if($r === false) { // indicates schema is messed up or total db failure
|
||||
if ($r === false) { // indicates schema is messed up or total db failure
|
||||
$message = t('Unable to update your contact profile details on our system');
|
||||
xml_status(3,$message);
|
||||
}
|
||||
|
@ -726,7 +730,7 @@ function dfrn_confirm_post(&$a,$handsfree = null) {
|
|||
'to_name' => $r[0]['username'],
|
||||
'to_email' => $r[0]['email'],
|
||||
'uid' => $r[0]['uid'],
|
||||
'link' => $a->get_baseurl() . '/contacts/' . $dfrn_record,
|
||||
'link' => App::get_baseurl() . '/contacts/' . $dfrn_record,
|
||||
'source_name' => ((strlen(stripslashes($r[0]['name']))) ? stripslashes($r[0]['name']) : t('[Name Withheld]')),
|
||||
'source_link' => $r[0]['url'],
|
||||
'source_photo' => $r[0]['photo'],
|
||||
|
|
|
@ -42,7 +42,7 @@ function dfrn_notify_post(&$a) {
|
|||
dbesc($dfrn_id),
|
||||
dbesc($challenge)
|
||||
);
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
logger('dfrn_notify: could not match challenge to dfrn_id ' . $dfrn_id . ' challenge=' . $challenge);
|
||||
xml_status(3);
|
||||
}
|
||||
|
@ -88,7 +88,7 @@ function dfrn_notify_post(&$a) {
|
|||
dbesc($a->argv[1])
|
||||
);
|
||||
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
logger('dfrn_notify: contact not found for dfrn_id ' . $dfrn_id);
|
||||
xml_status(3);
|
||||
//NOTREACHED
|
||||
|
@ -284,8 +284,9 @@ function dfrn_notify_content(&$a) {
|
|||
dbesc($a->argv[1])
|
||||
);
|
||||
|
||||
if(! dbm::is_result($r))
|
||||
if (! dbm::is_result($r)) {
|
||||
$status = 1;
|
||||
}
|
||||
|
||||
logger("Remote rino version: ".$rino_remote." for ".$r[0]["url"], LOGGER_DEBUG);
|
||||
|
||||
|
|
|
@ -112,7 +112,7 @@ function dfrn_poll_init(&$a) {
|
|||
}
|
||||
}
|
||||
$profile = $r[0]['nickname'];
|
||||
goaway((strlen($destination_url)) ? $destination_url : $a->get_baseurl() . '/profile/' . $profile);
|
||||
goaway((strlen($destination_url)) ? $destination_url : App::get_baseurl() . '/profile/' . $profile);
|
||||
}
|
||||
goaway(z_root());
|
||||
|
||||
|
@ -126,7 +126,7 @@ function dfrn_poll_init(&$a) {
|
|||
$r = q("SELECT * FROM `profile_check` WHERE `sec` = '%s' ORDER BY `expire` DESC LIMIT 1",
|
||||
dbesc($sec)
|
||||
);
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
xml_status(3, 'No ticket');
|
||||
// NOTREACHED
|
||||
}
|
||||
|
@ -223,7 +223,7 @@ function dfrn_poll_post(&$a) {
|
|||
$r = q("SELECT * FROM `profile_check` WHERE `sec` = '%s' ORDER BY `expire` DESC LIMIT 1",
|
||||
dbesc($sec)
|
||||
);
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
xml_status(3, 'No ticket');
|
||||
// NOTREACHED
|
||||
}
|
||||
|
@ -284,8 +284,9 @@ function dfrn_poll_post(&$a) {
|
|||
dbesc($challenge)
|
||||
);
|
||||
|
||||
if(! dbm::is_result($r))
|
||||
if (! dbm::is_result($r)) {
|
||||
killme();
|
||||
}
|
||||
|
||||
$type = $r[0]['type'];
|
||||
$last_update = $r[0]['last_update'];
|
||||
|
@ -319,8 +320,9 @@ function dfrn_poll_post(&$a) {
|
|||
$r = q("SELECT * FROM `contact` WHERE `blocked` = 0 AND `pending` = 0 $sql_extra LIMIT 1");
|
||||
|
||||
|
||||
if(! dbm::is_result($r))
|
||||
if (! dbm::is_result($r)) {
|
||||
killme();
|
||||
}
|
||||
|
||||
$contact = $r[0];
|
||||
$owner_uid = $r[0]['uid'];
|
||||
|
@ -499,14 +501,14 @@ function dfrn_poll_content(&$a) {
|
|||
|
||||
switch($destination_url) {
|
||||
case 'profile':
|
||||
$dest = $a->get_baseurl() . '/profile/' . $profile . '?f=&tab=profile';
|
||||
$dest = App::get_baseurl() . '/profile/' . $profile . '?f=&tab=profile';
|
||||
break;
|
||||
case 'photos':
|
||||
$dest = $a->get_baseurl() . '/photos/' . $profile;
|
||||
$dest = App::get_baseurl() . '/photos/' . $profile;
|
||||
break;
|
||||
case 'status':
|
||||
case '':
|
||||
$dest = $a->get_baseurl() . '/profile/' . $profile;
|
||||
$dest = App::get_baseurl() . '/profile/' . $profile;
|
||||
break;
|
||||
default:
|
||||
$dest = $destination_url . '?f=&redir=1';
|
||||
|
|
|
@ -120,17 +120,19 @@ function dfrn_request_post(&$a) {
|
|||
|
||||
$parms = Probe::profile($dfrn_url);
|
||||
|
||||
if(! count($parms)) {
|
||||
if (! count($parms)) {
|
||||
notice( t('Profile location is not valid or does not contain profile information.') . EOL );
|
||||
return;
|
||||
}
|
||||
else {
|
||||
if(! x($parms,'fn'))
|
||||
if (! x($parms,'fn')) {
|
||||
notice( t('Warning: profile location has no identifiable owner name.') . EOL );
|
||||
if(! x($parms,'photo'))
|
||||
}
|
||||
if (! x($parms,'photo')) {
|
||||
notice( t('Warning: profile location has no profile photo.') . EOL );
|
||||
}
|
||||
$invalid = Probe::valid_dfrn($parms);
|
||||
if($invalid) {
|
||||
if ($invalid) {
|
||||
notice( sprintf( tt("%d required parameter was not found at the given location",
|
||||
"%d required parameters were not found at the given location",
|
||||
$invalid), $invalid) . EOL );
|
||||
|
@ -176,7 +178,7 @@ function dfrn_request_post(&$a) {
|
|||
);
|
||||
}
|
||||
|
||||
if($r) {
|
||||
if ($r) {
|
||||
info( t("Introduction complete.") . EOL);
|
||||
}
|
||||
|
||||
|
@ -193,19 +195,22 @@ function dfrn_request_post(&$a) {
|
|||
if (isset($photo))
|
||||
update_contact_avatar($photo, local_user(), $r[0]["id"], true);
|
||||
|
||||
$forwardurl = $a->get_baseurl()."/contacts/".$r[0]['id'];
|
||||
} else
|
||||
$forwardurl = $a->get_baseurl()."/contacts";
|
||||
$forwardurl = App::get_baseurl()."/contacts/".$r[0]['id'];
|
||||
} else {
|
||||
$forwardurl = App::get_baseurl()."/contacts";
|
||||
}
|
||||
|
||||
/*
|
||||
* Allow the blocked remote notification to complete
|
||||
*/
|
||||
|
||||
if(is_array($contact_record))
|
||||
if (is_array($contact_record)) {
|
||||
$dfrn_request = $contact_record['request'];
|
||||
}
|
||||
|
||||
if(strlen($dfrn_request) && strlen($confirm_key))
|
||||
if (strlen($dfrn_request) && strlen($confirm_key)) {
|
||||
$s = fetch_url($dfrn_request . '?confirm_key=' . $confirm_key);
|
||||
}
|
||||
|
||||
// (ignore reply, nothing we can do it failed)
|
||||
|
||||
|
@ -296,7 +301,7 @@ function dfrn_request_post(&$a) {
|
|||
dbesc(NETWORK_MAIL2)
|
||||
);
|
||||
if (dbm::is_result($r)) {
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
if(! $rr['rel']) {
|
||||
q("DELETE FROM `contact` WHERE `id` = %d",
|
||||
intval($rr['cid'])
|
||||
|
@ -321,7 +326,7 @@ function dfrn_request_post(&$a) {
|
|||
dbesc(NETWORK_MAIL2)
|
||||
);
|
||||
if (dbm::is_result($r)) {
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
if(! $rr['rel']) {
|
||||
q("DELETE FROM `contact` WHERE `id` = %d",
|
||||
intval($rr['cid'])
|
||||
|
@ -371,7 +376,7 @@ function dfrn_request_post(&$a) {
|
|||
intval($uid)
|
||||
);
|
||||
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
notice( t('This account has not been configured for email. Request failed.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
@ -499,15 +504,15 @@ function dfrn_request_post(&$a) {
|
|||
);
|
||||
}
|
||||
else {
|
||||
if(! validate_url($url)) {
|
||||
if (! validate_url($url)) {
|
||||
notice( t('Invalid profile URL.') . EOL);
|
||||
goaway($a->get_baseurl() . '/' . $a->cmd);
|
||||
goaway(App::get_baseurl() . '/' . $a->cmd);
|
||||
return; // NOTREACHED
|
||||
}
|
||||
|
||||
if(! allowed_url($url)) {
|
||||
if (! allowed_url($url)) {
|
||||
notice( t('Disallowed profile URL.') . EOL);
|
||||
goaway($a->get_baseurl() . '/' . $a->cmd);
|
||||
goaway(App::get_baseurl() . '/' . $a->cmd);
|
||||
return; // NOTREACHED
|
||||
}
|
||||
|
||||
|
@ -516,17 +521,19 @@ function dfrn_request_post(&$a) {
|
|||
|
||||
$parms = Probe::profile(($hcard) ? $hcard : $url);
|
||||
|
||||
if(! count($parms)) {
|
||||
if (! count($parms)) {
|
||||
notice( t('Profile location is not valid or does not contain profile information.') . EOL );
|
||||
goaway($a->get_baseurl() . '/' . $a->cmd);
|
||||
goaway(App::get_baseurl() . '/' . $a->cmd);
|
||||
}
|
||||
else {
|
||||
if(! x($parms,'fn'))
|
||||
if (! x($parms,'fn')) {
|
||||
notice( t('Warning: profile location has no identifiable owner name.') . EOL );
|
||||
if(! x($parms,'photo'))
|
||||
}
|
||||
if (! x($parms,'photo')) {
|
||||
notice( t('Warning: profile location has no profile photo.') . EOL );
|
||||
}
|
||||
$invalid = Probe::valid_dfrn($parms);
|
||||
if($invalid) {
|
||||
if ($invalid) {
|
||||
notice( sprintf( tt("%d required parameter was not found at the given location",
|
||||
"%d required parameters were not found at the given location",
|
||||
$invalid), $invalid) . EOL );
|
||||
|
@ -565,7 +572,7 @@ function dfrn_request_post(&$a) {
|
|||
);
|
||||
|
||||
// find the contact record we just created
|
||||
if($r) {
|
||||
if ($r) {
|
||||
$r = q("SELECT `id` FROM `contact`
|
||||
WHERE `uid` = %d AND `url` = '%s' AND `issued-id` = '%s' LIMIT 1",
|
||||
intval($uid),
|
||||
|
@ -579,14 +586,14 @@ function dfrn_request_post(&$a) {
|
|||
}
|
||||
|
||||
}
|
||||
if($r === false) {
|
||||
if ($r === false) {
|
||||
notice( t('Failed to update contact record.') . EOL );
|
||||
return;
|
||||
}
|
||||
|
||||
$hash = random_string() . (string) time(); // Generate a confirm_key
|
||||
|
||||
if(is_array($contact_record)) {
|
||||
if (is_array($contact_record)) {
|
||||
$ret = q("INSERT INTO `intro` ( `uid`, `contact-id`, `blocked`, `knowyou`, `note`, `hash`, `datetime`)
|
||||
VALUES ( %d, %d, 1, %d, '%s', '%s', '%s' )",
|
||||
intval($uid),
|
||||
|
@ -600,12 +607,13 @@ function dfrn_request_post(&$a) {
|
|||
|
||||
// This notice will only be seen by the requestor if the requestor and requestee are on the same server.
|
||||
|
||||
if(! $failed)
|
||||
if (! $failed) {
|
||||
info( t('Your introduction has been sent.') . EOL );
|
||||
}
|
||||
|
||||
// "Homecoming" - send the requestor back to their site to record the introduction.
|
||||
|
||||
$dfrn_url = bin2hex($a->get_baseurl() . '/profile/' . $nickname);
|
||||
$dfrn_url = bin2hex(App::get_baseurl() . '/profile/' . $nickname);
|
||||
$aes_allow = ((function_exists('openssl_encrypt')) ? 1 : 0);
|
||||
|
||||
goaway($parms['dfrn-request'] . "?dfrn_url=$dfrn_url"
|
||||
|
@ -633,8 +641,9 @@ function dfrn_request_post(&$a) {
|
|||
$uri .= '/'.$a->get_path();
|
||||
|
||||
$uri = urlencode($uri);
|
||||
} else
|
||||
$uri = $a->get_baseurl().'/profile/'.$nickname;
|
||||
} else {
|
||||
$uri = App::get_baseurl().'/profile/'.$nickname;
|
||||
}
|
||||
|
||||
$url = str_replace('{uri}', $uri, $url);
|
||||
goaway($url);
|
||||
|
@ -651,16 +660,17 @@ function dfrn_request_post(&$a) {
|
|||
|
||||
function dfrn_request_content(&$a) {
|
||||
|
||||
if(($a->argc != 2) || (! count($a->profile)))
|
||||
if (($a->argc != 2) || (! count($a->profile))) {
|
||||
return "";
|
||||
}
|
||||
|
||||
|
||||
// "Homecoming". Make sure we're logged in to this site as the correct user. Then offer a confirm button
|
||||
// to send us to the post section to record the introduction.
|
||||
|
||||
if(x($_GET,'dfrn_url')) {
|
||||
if (x($_GET,'dfrn_url')) {
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
info( t("Please login to confirm introduction.") . EOL );
|
||||
/* setup the return URL to come back to this page if they use openid */
|
||||
$_SESSION['return_url'] = $a->query_string;
|
||||
|
@ -742,7 +752,7 @@ function dfrn_request_content(&$a) {
|
|||
'to_name' => $r[0]['username'],
|
||||
'to_email' => $r[0]['email'],
|
||||
'uid' => $r[0]['uid'],
|
||||
'link' => $a->get_baseurl() . '/notifications/intros',
|
||||
'link' => App::get_baseurl() . '/notifications/intros',
|
||||
'source_name' => ((strlen(stripslashes($r[0]['name']))) ? stripslashes($r[0]['name']) : t('[Name Withheld]')),
|
||||
'source_link' => $r[0]['url'],
|
||||
'source_photo' => $r[0]['photo'],
|
||||
|
@ -804,15 +814,18 @@ function dfrn_request_content(&$a) {
|
|||
$myaddr = hex2bin($_GET['addr']);
|
||||
elseif (x($_GET,'address') AND ($_GET['address'] != ""))
|
||||
$myaddr = $_GET['address'];
|
||||
elseif(local_user()) {
|
||||
if(strlen($a->path)) {
|
||||
$myaddr = $a->get_baseurl() . '/profile/' . $a->user['nickname'];
|
||||
elseif (local_user()) {
|
||||
if (strlen($a->path)) {
|
||||
$myaddr = App::get_baseurl() . '/profile/' . $a->user['nickname'];
|
||||
}
|
||||
else {
|
||||
$myaddr = $a->user['nickname'] . '@' . substr(z_root(), strpos(z_root(),'://') + 3 );
|
||||
}
|
||||
} else // last, try a zrl
|
||||
}
|
||||
else {
|
||||
// last, try a zrl
|
||||
$myaddr = get_my_url();
|
||||
}
|
||||
|
||||
$target_addr = $a->profile['nickname'] . '@' . substr(z_root(), strpos(z_root(),'://') + 3 );
|
||||
|
||||
|
@ -825,10 +838,12 @@ function dfrn_request_content(&$a) {
|
|||
*
|
||||
*/
|
||||
|
||||
if($a->profile['page-flags'] == PAGE_NORMAL)
|
||||
if ($a->profile['page-flags'] == PAGE_NORMAL) {
|
||||
$tpl = get_markup_template('dfrn_request.tpl');
|
||||
else
|
||||
}
|
||||
else {
|
||||
$tpl = get_markup_template('auto_request.tpl');
|
||||
}
|
||||
|
||||
$page_desc = t("Please enter your 'Identity Address' from one of the following supported communications networks:");
|
||||
|
||||
|
@ -842,8 +857,9 @@ function dfrn_request_content(&$a) {
|
|||
$r = q("SELECT * FROM `mailacct` WHERE `uid` = %d LIMIT 1",
|
||||
intval($a->profile['uid'])
|
||||
);
|
||||
if(! dbm::is_result($r))
|
||||
if (! dbm::is_result($r)) {
|
||||
$mail_disabled = 1;
|
||||
}
|
||||
}
|
||||
|
||||
// "coming soon" is disabled for now
|
||||
|
|
|
@ -92,12 +92,14 @@ function directory_content(&$a) {
|
|||
WHERE `is-default` = 1 $publish AND `user`.`blocked` = 0 AND `contact`.`self` $sql_extra $order LIMIT ".$limit);
|
||||
if (dbm::is_result($r)) {
|
||||
|
||||
if(in_array('small', $a->argv))
|
||||
if (in_array('small', $a->argv)) {
|
||||
$photo = 'thumb';
|
||||
else
|
||||
}
|
||||
else {
|
||||
$photo = 'photo';
|
||||
}
|
||||
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
|
||||
$itemurl= '';
|
||||
|
||||
|
|
|
@ -7,13 +7,14 @@ require_once('mod/contacts.php');
|
|||
|
||||
function dirfind_init(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
notice( t('Permission denied.') . EOL );
|
||||
return;
|
||||
}
|
||||
|
||||
if(! x($a->page,'aside'))
|
||||
if (! x($a->page,'aside')) {
|
||||
$a->page['aside'] = '';
|
||||
}
|
||||
|
||||
$a->page['aside'] .= findpeople_widget();
|
||||
|
||||
|
@ -31,7 +32,7 @@ function dirfind_content(&$a, $prefix = "") {
|
|||
|
||||
$search = $prefix.notags(trim($_REQUEST['search']));
|
||||
|
||||
if(strpos($search,'@') === 0) {
|
||||
if (strpos($search,'@') === 0) {
|
||||
$search = substr($search,1);
|
||||
$header = sprintf( t('People Search - %s'), $search);
|
||||
if ((valid_email($search) AND validate_email($search)) OR
|
||||
|
@ -41,7 +42,7 @@ function dirfind_content(&$a, $prefix = "") {
|
|||
}
|
||||
}
|
||||
|
||||
if(strpos($search,'!') === 0) {
|
||||
if (strpos($search,'!') === 0) {
|
||||
$search = substr($search,1);
|
||||
$community = true;
|
||||
$header = sprintf( t('Forum Search - %s'), $search);
|
||||
|
@ -49,7 +50,7 @@ function dirfind_content(&$a, $prefix = "") {
|
|||
|
||||
$o = '';
|
||||
|
||||
if($search) {
|
||||
if ($search) {
|
||||
|
||||
if ($discover_user) {
|
||||
$j = new stdClass();
|
||||
|
@ -85,18 +86,21 @@ function dirfind_content(&$a, $prefix = "") {
|
|||
$perpage = 80;
|
||||
$startrec = (($a->pager['page']) * $perpage) - $perpage;
|
||||
|
||||
if (get_config('system','diaspora_enabled'))
|
||||
if (get_config('system','diaspora_enabled')) {
|
||||
$diaspora = NETWORK_DIASPORA;
|
||||
else
|
||||
} else {
|
||||
$diaspora = NETWORK_DFRN;
|
||||
}
|
||||
|
||||
if (!get_config('system','ostatus_disabled'))
|
||||
if (!get_config('system','ostatus_disabled')) {
|
||||
$ostatus = NETWORK_OSTATUS;
|
||||
else
|
||||
} else {
|
||||
$ostatus = NETWORK_DFRN;
|
||||
}
|
||||
|
||||
$search2 = "%".$search."%";
|
||||
|
||||
/// @TODO These 2 SELECTs are not checked on validity with dbm::is_result()
|
||||
$count = q("SELECT count(*) AS `total` FROM `gcontact`
|
||||
LEFT JOIN `contact` ON `contact`.`nurl` = `gcontact`.`nurl`
|
||||
AND `contact`.`network` = `gcontact`.`network`
|
||||
|
@ -133,8 +137,9 @@ function dirfind_content(&$a, $prefix = "") {
|
|||
$j->items_page = $perpage;
|
||||
$j->page = $a->pager['page'];
|
||||
foreach ($results AS $result) {
|
||||
if (poco_alternate_ostatus_url($result["url"]))
|
||||
continue;
|
||||
if (poco_alternate_ostatus_url($result["url"])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$result = get_contact_details_by_url($result["url"], local_user(), $result);
|
||||
|
||||
|
@ -167,16 +172,16 @@ function dirfind_content(&$a, $prefix = "") {
|
|||
$j = json_decode($x);
|
||||
}
|
||||
|
||||
if($j->total) {
|
||||
if ($j->total) {
|
||||
$a->set_pager_total($j->total);
|
||||
$a->set_pager_itemspage($j->items_page);
|
||||
}
|
||||
|
||||
if(count($j->results)) {
|
||||
if (count($j->results)) {
|
||||
|
||||
$id = 0;
|
||||
|
||||
foreach($j->results as $jj) {
|
||||
foreach ($j->results as $jj) {
|
||||
|
||||
$alt_text = "";
|
||||
|
||||
|
@ -194,10 +199,11 @@ function dirfind_content(&$a, $prefix = "") {
|
|||
$photo_menu = contact_photo_menu($contact[0]);
|
||||
$details = _contact_detail_for_template($contact[0]);
|
||||
$alt_text = $details['alt_text'];
|
||||
} else
|
||||
} else {
|
||||
$photo_menu = array();
|
||||
}
|
||||
} else {
|
||||
$connlnk = $a->get_baseurl().'/follow/?url='.(($jj->connect) ? $jj->connect : $jj->url);
|
||||
$connlnk = App::get_baseurl().'/follow/?url='.(($jj->connect) ? $jj->connect : $jj->url);
|
||||
$conntxt = t('Connect');
|
||||
$photo_menu = array(
|
||||
'profile' => array(t("View Profile"), zrl($jj->url)),
|
||||
|
@ -235,8 +241,7 @@ function dirfind_content(&$a, $prefix = "") {
|
|||
'$paginate' => paginate($a),
|
||||
));
|
||||
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
info( t('No matches') . EOL);
|
||||
}
|
||||
|
||||
|
|
|
@ -81,8 +81,8 @@ function display_init(&$a) {
|
|||
|
||||
$profiledata = display_fetchauthor($a, $r[0]);
|
||||
|
||||
if (strstr(normalise_link($profiledata["url"]), normalise_link($a->get_baseurl()))) {
|
||||
$nickname = str_replace(normalise_link($a->get_baseurl())."/profile/", "", normalise_link($profiledata["url"]));
|
||||
if (strstr(normalise_link($profiledata["url"]), normalise_link(App::get_baseurl()))) {
|
||||
$nickname = str_replace(normalise_link(App::get_baseurl())."/profile/", "", normalise_link($profiledata["url"]));
|
||||
|
||||
if (($nickname != $a->user["nickname"])) {
|
||||
$r = qu("SELECT `profile`.`uid` AS `profile_uid`, `profile`.* , `contact`.`avatar-date` AS picdate, `user`.* FROM `profile`
|
||||
|
@ -184,7 +184,7 @@ function display_fetchauthor($a, $item) {
|
|||
|
||||
if (local_user()) {
|
||||
if (in_array($profiledata["network"], array(NETWORK_DFRN, NETWORK_DIASPORA, NETWORK_OSTATUS))) {
|
||||
$profiledata["remoteconnect"] = $a->get_baseurl()."/follow?url=".urlencode($profiledata["url"]);
|
||||
$profiledata["remoteconnect"] = App::get_baseurl()."/follow?url=".urlencode($profiledata["url"]);
|
||||
}
|
||||
} elseif ($profiledata["network"] == NETWORK_DFRN) {
|
||||
$connect = str_replace("/profile/", "/dfrn_request/", $profiledata["url"]);
|
||||
|
|
|
@ -6,14 +6,14 @@ function editpost_content(&$a) {
|
|||
|
||||
$o = '';
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
notice( t('Permission denied.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
||||
$post_id = (($a->argc > 1) ? intval($a->argv[1]) : 0);
|
||||
|
||||
if(! $post_id) {
|
||||
if (! $post_id) {
|
||||
notice( t('Item not found') . EOL);
|
||||
return;
|
||||
}
|
||||
|
@ -23,7 +23,7 @@ function editpost_content(&$a) {
|
|||
intval(local_user())
|
||||
);
|
||||
|
||||
if(! count($itm)) {
|
||||
if (! count($itm)) {
|
||||
notice( t('Item not found') . EOL);
|
||||
return;
|
||||
}
|
||||
|
@ -42,7 +42,7 @@ function editpost_content(&$a) {
|
|||
|
||||
$tpl = get_markup_template('jot-header.tpl');
|
||||
$a->page['htmlhead'] .= replace_macros($tpl, array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
|
||||
'$ispublic' => ' ', // t('Visible to <strong>everybody</strong>'),
|
||||
'$geotag' => $geotag,
|
||||
|
@ -51,7 +51,7 @@ function editpost_content(&$a) {
|
|||
|
||||
$tpl = get_markup_template('jot-end.tpl');
|
||||
$a->page['end'] .= replace_macros($tpl, array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
'$editselect' => (($plaintext) ? 'none' : '/(profile-jot-text|prvmail-text)/'),
|
||||
'$ispublic' => ' ', // t('Visible to <strong>everybody</strong>'),
|
||||
'$geotag' => $geotag,
|
||||
|
@ -126,7 +126,7 @@ function editpost_content(&$a) {
|
|||
'$ptyp' => $itm[0]['type'],
|
||||
'$content' => undo_post_tagging($itm[0]['body']),
|
||||
'$post_id' => $post_id,
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
'$defloc' => $a->user['default-location'],
|
||||
'$visitor' => 'none',
|
||||
'$pvisit' => 'none',
|
||||
|
|
|
@ -9,18 +9,19 @@ require_once('include/event.php');
|
|||
require_once('include/items.php');
|
||||
|
||||
function events_init(&$a) {
|
||||
if(! local_user())
|
||||
if (! local_user()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if($a->argc == 1) {
|
||||
if ($a->argc == 1) {
|
||||
// if it's a json request abort here becaus we don't
|
||||
// need the widget data
|
||||
if($a->argv[1] === 'json')
|
||||
if ($a->argv[1] === 'json')
|
||||
return;
|
||||
|
||||
$cal_widget = widget_events();
|
||||
|
||||
if(! x($a->page,'aside'))
|
||||
if (! x($a->page,'aside'))
|
||||
$a->page['aside'] = '';
|
||||
|
||||
$a->page['aside'] .= $cal_widget;
|
||||
|
@ -33,8 +34,9 @@ function events_post(&$a) {
|
|||
|
||||
logger('post: ' . print_r($_REQUEST,true));
|
||||
|
||||
if(! local_user())
|
||||
if (! local_user()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$event_id = ((x($_POST,'event_id')) ? intval($_POST['event_id']) : 0);
|
||||
$cid = ((x($_POST,'cid')) ? intval($_POST['cid']) : 0);
|
||||
|
@ -49,33 +51,35 @@ function events_post(&$a) {
|
|||
// The default setting for the `private` field in event_store() is false, so mirror that
|
||||
$private_event = false;
|
||||
|
||||
if($start_text) {
|
||||
if ($start_text) {
|
||||
$start = $start_text;
|
||||
}
|
||||
else {
|
||||
$start = sprintf('%d-%d-%d %d:%d:0',$startyear,$startmonth,$startday,$starthour,$startminute);
|
||||
}
|
||||
|
||||
if($nofinish) {
|
||||
if ($nofinish) {
|
||||
$finish = '0000-00-00 00:00:00';
|
||||
}
|
||||
|
||||
if($finish_text) {
|
||||
if ($finish_text) {
|
||||
$finish = $finish_text;
|
||||
}
|
||||
else {
|
||||
$finish = sprintf('%d-%d-%d %d:%d:0',$finishyear,$finishmonth,$finishday,$finishhour,$finishminute);
|
||||
}
|
||||
|
||||
if($adjust) {
|
||||
if ($adjust) {
|
||||
$start = datetime_convert(date_default_timezone_get(),'UTC',$start);
|
||||
if(! $nofinish)
|
||||
if (! $nofinish) {
|
||||
$finish = datetime_convert(date_default_timezone_get(),'UTC',$finish);
|
||||
}
|
||||
}
|
||||
else {
|
||||
$start = datetime_convert('UTC','UTC',$start);
|
||||
if(! $nofinish)
|
||||
if (! $nofinish) {
|
||||
$finish = datetime_convert('UTC','UTC',$finish);
|
||||
}
|
||||
}
|
||||
|
||||
// Don't allow the event to finish before it begins.
|
||||
|
@ -89,11 +93,11 @@ function events_post(&$a) {
|
|||
$type = 'event';
|
||||
|
||||
$action = ($event_id == '') ? 'new' : "event/" . $event_id;
|
||||
$onerror_url = $a->get_baseurl() . "/events/" . $action . "?summary=$summary&description=$desc&location=$location&start=$start_text&finish=$finish_text&adjust=$adjust&nofinish=$nofinish";
|
||||
$onerror_url = App::get_baseurl() . "/events/" . $action . "?summary=$summary&description=$desc&location=$location&start=$start_text&finish=$finish_text&adjust=$adjust&nofinish=$nofinish";
|
||||
|
||||
if(strcmp($finish,$start) < 0 && !$nofinish) {
|
||||
if (strcmp($finish,$start) < 0 && !$nofinish) {
|
||||
notice( t('Event can not end before it has started.') . EOL);
|
||||
if(intval($_REQUEST['preview'])) {
|
||||
if (intval($_REQUEST['preview'])) {
|
||||
echo( t('Event can not end before it has started.'));
|
||||
killme();
|
||||
}
|
||||
|
@ -186,43 +190,46 @@ function events_post(&$a) {
|
|||
|
||||
function events_content(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
notice( t('Permission denied.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
||||
if($a->argc == 1)
|
||||
$_SESSION['return_url'] = $a->get_baseurl() . '/' . $a->cmd;
|
||||
if ($a->argc == 1) {
|
||||
$_SESSION['return_url'] = App::get_baseurl() . '/' . $a->cmd;
|
||||
}
|
||||
|
||||
if(($a->argc > 2) && ($a->argv[1] === 'ignore') && intval($a->argv[2])) {
|
||||
if (($a->argc > 2) && ($a->argv[1] === 'ignore') && intval($a->argv[2])) {
|
||||
$r = q("update event set ignore = 1 where id = %d and uid = %d",
|
||||
intval($a->argv[2]),
|
||||
intval(local_user())
|
||||
);
|
||||
}
|
||||
|
||||
if(($a->argc > 2) && ($a->argv[1] === 'unignore') && intval($a->argv[2])) {
|
||||
if (($a->argc > 2) && ($a->argv[1] === 'unignore') && intval($a->argv[2])) {
|
||||
$r = q("update event set ignore = 0 where id = %d and uid = %d",
|
||||
intval($a->argv[2]),
|
||||
intval(local_user())
|
||||
);
|
||||
}
|
||||
|
||||
if ($a->theme_events_in_profile)
|
||||
if ($a->theme_events_in_profile) {
|
||||
nav_set_selected('home');
|
||||
else
|
||||
} else {
|
||||
nav_set_selected('events');
|
||||
}
|
||||
|
||||
$editselect = 'none';
|
||||
if( feature_enabled(local_user(), 'richtext') )
|
||||
if ( feature_enabled(local_user(), 'richtext') ) {
|
||||
$editselect = 'textareas';
|
||||
}
|
||||
|
||||
// get the translation strings for the callendar
|
||||
$i18n = get_event_strings();
|
||||
|
||||
$htpl = get_markup_template('event_head.tpl');
|
||||
$a->page['htmlhead'] .= replace_macros($htpl,array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
'$module_url' => '/events',
|
||||
'$modparams' => 1,
|
||||
'$i18n' => $i18n,
|
||||
|
@ -231,7 +238,7 @@ function events_content(&$a) {
|
|||
|
||||
$etpl = get_markup_template('event_end.tpl');
|
||||
$a->page['end'] .= replace_macros($etpl,array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
'$editselect' => $editselect
|
||||
));
|
||||
|
||||
|
@ -248,15 +255,15 @@ function events_content(&$a) {
|
|||
$ignored = ((x($_REQUEST,'ignored')) ? intval($_REQUEST['ignored']) : 0);
|
||||
|
||||
if($a->argc > 1) {
|
||||
if($a->argc > 2 && $a->argv[1] == 'event') {
|
||||
if ($a->argc > 2 && $a->argv[1] == 'event') {
|
||||
$mode = 'edit';
|
||||
$event_id = intval($a->argv[2]);
|
||||
}
|
||||
if($a->argv[1] === 'new') {
|
||||
if ($a->argv[1] === 'new') {
|
||||
$mode = 'new';
|
||||
$event_id = 0;
|
||||
}
|
||||
if($a->argc > 2 && intval($a->argv[1]) && intval($a->argv[2])) {
|
||||
if ($a->argc > 2 && intval($a->argv[1]) && intval($a->argv[2])) {
|
||||
$mode = 'view';
|
||||
$y = intval($a->argv[1]);
|
||||
$m = intval($a->argv[2]);
|
||||
|
@ -264,23 +271,27 @@ function events_content(&$a) {
|
|||
}
|
||||
|
||||
// The view mode part is similiar to /mod/cal.php
|
||||
if($mode == 'view') {
|
||||
if ($mode == 'view') {
|
||||
|
||||
|
||||
$thisyear = datetime_convert('UTC',date_default_timezone_get(),'now','Y');
|
||||
$thismonth = datetime_convert('UTC',date_default_timezone_get(),'now','m');
|
||||
if(! $y)
|
||||
if (! $y) {
|
||||
$y = intval($thisyear);
|
||||
if(! $m)
|
||||
}
|
||||
if (! $m) {
|
||||
$m = intval($thismonth);
|
||||
}
|
||||
|
||||
// Put some limits on dates. The PHP date functions don't seem to do so well before 1900.
|
||||
// An upper limit was chosen to keep search engines from exploring links millions of years in the future.
|
||||
|
||||
if($y < 1901)
|
||||
if ($y < 1901) {
|
||||
$y = 1900;
|
||||
if($y > 2099)
|
||||
}
|
||||
if ($y > 2099) {
|
||||
$y = 2100;
|
||||
}
|
||||
|
||||
$nextyear = $y;
|
||||
$nextmonth = $m + 1;
|
||||
|
@ -334,10 +345,11 @@ function events_content(&$a) {
|
|||
|
||||
if (dbm::is_result($r)) {
|
||||
$r = sort_by_date($r);
|
||||
foreach($r as $rr) {
|
||||
foreach ($r as $rr) {
|
||||
$j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'j') : datetime_convert('UTC','UTC',$rr['start'],'j'));
|
||||
if(! x($links,$j))
|
||||
$links[$j] = $a->get_baseurl() . '/' . $a->cmd . '#link-' . $j;
|
||||
if (! x($links,$j)) {
|
||||
$links[$j] = App::get_baseurl() . '/' . $a->cmd . '#link-' . $j;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -375,13 +387,13 @@ function events_content(&$a) {
|
|||
}
|
||||
|
||||
$o = replace_macros($tpl, array(
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
'$tabs' => $tabs,
|
||||
'$title' => t('Events'),
|
||||
'$view' => t('View'),
|
||||
'$new_event' => array($a->get_baseurl().'/events/new',t('Create New Event'),'',''),
|
||||
'$previus' => array($a->get_baseurl()."/events/$prevyear/$prevmonth",t('Previous'),'',''),
|
||||
'$next' => array($a->get_baseurl()."/events/$nextyear/$nextmonth",t('Next'),'',''),
|
||||
'$new_event' => array(App::get_baseurl().'/events/new',t('Create New Event'),'',''),
|
||||
'$previus' => array(App::get_baseurl()."/events/$prevyear/$prevmonth",t('Previous'),'',''),
|
||||
'$next' => array(App::get_baseurl()."/events/$nextyear/$nextmonth",t('Next'),'',''),
|
||||
'$calendar' => cal($y,$m,$links, ' eventcal'),
|
||||
|
||||
'$events' => $events,
|
||||
|
@ -475,7 +487,7 @@ function events_content(&$a) {
|
|||
$tpl = get_markup_template('event_form.tpl');
|
||||
|
||||
$o .= replace_macros($tpl,array(
|
||||
'$post' => $a->get_baseurl() . '/events',
|
||||
'$post' => App::get_baseurl() . '/events',
|
||||
'$eid' => $eid,
|
||||
'$cid' => $cid,
|
||||
'$uri' => $uri,
|
||||
|
|
|
@ -10,6 +10,7 @@ require_once('include/Photo.php');
|
|||
/**
|
||||
* @param App $a
|
||||
*/
|
||||
/// @TODO & is missing or App ?
|
||||
function fbrowser_content($a){
|
||||
|
||||
if (!local_user())
|
||||
|
@ -83,9 +84,9 @@ function fbrowser_content($a){
|
|||
$scale = $rr['loq'];
|
||||
|
||||
return array(
|
||||
$a->get_baseurl() . '/photos/' . $a->user['nickname'] . '/image/' . $rr['resource-id'],
|
||||
App::get_baseurl() . '/photos/' . $a->user['nickname'] . '/image/' . $rr['resource-id'],
|
||||
$filename_e,
|
||||
$a->get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . $scale . '.'. $ext
|
||||
App::get_baseurl() . '/photo/' . $rr['resource-id'] . '-' . $scale . '.'. $ext
|
||||
);
|
||||
}
|
||||
$files = array_map("_map_files1", $r);
|
||||
|
@ -93,19 +94,19 @@ function fbrowser_content($a){
|
|||
$tpl = get_markup_template($template_file);
|
||||
|
||||
$o = replace_macros($tpl, array(
|
||||
'$type' => 'image',
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$path' => $path,
|
||||
'$folders' => $albums,
|
||||
'$files' =>$files,
|
||||
'$cancel' => t('Cancel'),
|
||||
'$type' => 'image',
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
'$path' => $path,
|
||||
'$folders' => $albums,
|
||||
'$files' => $files,
|
||||
'$cancel' => t('Cancel'),
|
||||
'$nickname' => $a->user['nickname'],
|
||||
));
|
||||
|
||||
|
||||
break;
|
||||
case "file":
|
||||
if ($a->argc==2){
|
||||
if ($a->argc==2) {
|
||||
$files = q("SELECT `id`, `filename`, `filetype` FROM `attach` WHERE `uid` = %d ",
|
||||
intval(local_user())
|
||||
);
|
||||
|
@ -115,26 +116,25 @@ function fbrowser_content($a){
|
|||
list($m1,$m2) = explode("/",$rr['filetype']);
|
||||
$filetype = ( (file_exists("images/icons/$m1.png"))?$m1:"zip");
|
||||
|
||||
if($a->theme['template_engine'] === 'internal') {
|
||||
if ($a->theme['template_engine'] === 'internal') {
|
||||
$filename_e = template_escape($rr['filename']);
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
$filename_e = $rr['filename'];
|
||||
}
|
||||
|
||||
return array( $a->get_baseurl() . '/attach/' . $rr['id'], $filename_e, $a->get_baseurl() . '/images/icons/16/' . $filetype . '.png');
|
||||
return array( App::get_baseurl() . '/attach/' . $rr['id'], $filename_e, App::get_baseurl() . '/images/icons/16/' . $filetype . '.png');
|
||||
}
|
||||
$files = array_map("_map_files2", $files);
|
||||
|
||||
|
||||
$tpl = get_markup_template($template_file);
|
||||
$o = replace_macros($tpl, array(
|
||||
'$type' => 'file',
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$path' => array( array( "", t("Files")) ),
|
||||
'$folders' => false,
|
||||
'$files' =>$files,
|
||||
'$cancel' => t('Cancel'),
|
||||
'$type' => 'file',
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
'$path' => array( array( "", t("Files")) ),
|
||||
'$folders' => false,
|
||||
'$files' =>$files,
|
||||
'$cancel' => t('Cancel'),
|
||||
'$nickname' => $a->user['nickname'],
|
||||
));
|
||||
|
||||
|
|
|
@ -52,12 +52,12 @@ function fetch_init(&$a){
|
|||
}
|
||||
$user = $r[0];
|
||||
|
||||
$status = diaspora::build_status($item[0], $user);
|
||||
$xml = diaspora::build_post_xml($status["type"], $status["message"]);
|
||||
$status = Diaspora::build_status($item[0], $user);
|
||||
$xml = Diaspora::build_post_xml($status["type"], $status["message"]);
|
||||
|
||||
// Send the envelope
|
||||
header("Content-Type: application/magic-envelope+xml; charset=utf-8");
|
||||
echo diaspora::build_magic_envelope($xml, $user);
|
||||
echo Diaspora::build_magic_envelope($xml, $user);
|
||||
|
||||
killme();
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ require_once('include/items.php');
|
|||
|
||||
function filer_content(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
killme();
|
||||
}
|
||||
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
|
||||
function filerm_content(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
killme();
|
||||
}
|
||||
|
||||
|
@ -10,18 +10,21 @@ function filerm_content(&$a) {
|
|||
$cat = unxmlify(trim($_GET['cat']));
|
||||
|
||||
$category = (($cat) ? true : false);
|
||||
if($category)
|
||||
if ($category) {
|
||||
$term = $cat;
|
||||
}
|
||||
|
||||
$item_id = (($a->argc > 1) ? intval($a->argv[1]) : 0);
|
||||
|
||||
logger('filerm: tag ' . $term . ' item ' . $item_id);
|
||||
|
||||
if($item_id && strlen($term))
|
||||
if ($item_id && strlen($term)) {
|
||||
file_tag_unsave_file(local_user(),$item_id,$term, $category);
|
||||
}
|
||||
|
||||
if(x($_SESSION,'return_url'))
|
||||
goaway($a->get_baseurl() . '/' . $_SESSION['return_url']);
|
||||
if (x($_SESSION,'return_url')) {
|
||||
goaway(App::get_baseurl() . '/' . $_SESSION['return_url']);
|
||||
}
|
||||
|
||||
killme();
|
||||
}
|
||||
|
|
|
@ -7,7 +7,7 @@ require_once('include/contact_selectors.php');
|
|||
|
||||
function follow_content(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
notice( t('Permission denied.') . EOL);
|
||||
goaway($_SESSION['return_url']);
|
||||
// NOTREACHED
|
||||
|
@ -56,14 +56,15 @@ function follow_content(&$a) {
|
|||
// NOTREACHED
|
||||
}
|
||||
|
||||
if ($ret["network"] == NETWORK_MAIL)
|
||||
if ($ret["network"] == NETWORK_MAIL) {
|
||||
$ret["url"] = $ret["addr"];
|
||||
}
|
||||
|
||||
if($ret['network'] === NETWORK_DFRN) {
|
||||
if ($ret['network'] === NETWORK_DFRN) {
|
||||
$request = $ret["request"];
|
||||
$tpl = get_markup_template('dfrn_request.tpl');
|
||||
} else {
|
||||
$request = $a->get_baseurl()."/follow";
|
||||
$request = App::get_baseurl()."/follow";
|
||||
$tpl = get_markup_template('auto_request.tpl');
|
||||
}
|
||||
|
||||
|
@ -84,20 +85,22 @@ function follow_content(&$a) {
|
|||
$r = q("SELECT `id`, `location`, `about`, `keywords` FROM `gcontact` WHERE `nurl` = '%s'",
|
||||
normalise_link($ret["url"]));
|
||||
|
||||
if (!$r)
|
||||
if (!$r) {
|
||||
$r = array(array("location" => "", "about" => "", "keywords" => ""));
|
||||
else
|
||||
} else {
|
||||
$gcontact_id = $r[0]["id"];
|
||||
}
|
||||
|
||||
if($ret['network'] === NETWORK_DIASPORA) {
|
||||
if ($ret['network'] === NETWORK_DIASPORA) {
|
||||
$r[0]["location"] = "";
|
||||
$r[0]["about"] = "";
|
||||
}
|
||||
|
||||
$header = $ret["name"];
|
||||
|
||||
if ($ret["addr"] != "")
|
||||
if ($ret["addr"] != "") {
|
||||
$header .= " <".$ret["addr"].">";
|
||||
}
|
||||
|
||||
//$header .= " (".network_to_name($ret['network'], $ret['url']).")";
|
||||
$header = t("Connect/Follow");
|
||||
|
@ -151,14 +154,15 @@ function follow_content(&$a) {
|
|||
|
||||
function follow_post(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
notice( t('Permission denied.') . EOL);
|
||||
goaway($_SESSION['return_url']);
|
||||
// NOTREACHED
|
||||
}
|
||||
|
||||
if ($_REQUEST['cancel'])
|
||||
if ($_REQUEST['cancel']) {
|
||||
goaway($_SESSION['return_url']);
|
||||
}
|
||||
|
||||
$uid = local_user();
|
||||
$url = notags(trim($_REQUEST['url']));
|
||||
|
@ -170,17 +174,20 @@ function follow_post(&$a) {
|
|||
|
||||
$result = new_contact($uid,$url,true);
|
||||
|
||||
if($result['success'] == false) {
|
||||
if($result['message'])
|
||||
if ($result['success'] == false) {
|
||||
if ($result['message']) {
|
||||
notice($result['message']);
|
||||
}
|
||||
goaway($return_url);
|
||||
} elseif ($result['cid'])
|
||||
goaway($a->get_baseurl().'/contacts/'.$result['cid']);
|
||||
} elseif ($result['cid']) {
|
||||
goaway(App::get_baseurl().'/contacts/'.$result['cid']);
|
||||
}
|
||||
|
||||
info( t('Contact added').EOL);
|
||||
|
||||
if(strstr($return_url,'contacts'))
|
||||
goaway($a->get_baseurl().'/contacts/'.$contact_id);
|
||||
if (strstr($return_url,'contacts')) {
|
||||
goaway(App::get_baseurl().'/contacts/'.$contact_id);
|
||||
}
|
||||
|
||||
goaway($return_url);
|
||||
// NOTREACHED
|
||||
|
|
|
@ -15,7 +15,7 @@ function friendica_init(&$a) {
|
|||
$r = q("SELECT username, nickname FROM user WHERE email='%s' $sql_extra", dbesc($adminlist[0]));
|
||||
$admin = array(
|
||||
'name' => $r[0]['username'],
|
||||
'profile'=> $a->get_baseurl().'/profile/'.$r[0]['nickname'],
|
||||
'profile'=> App::get_baseurl().'/profile/'.$r[0]['nickname'],
|
||||
);
|
||||
} else {
|
||||
$admin = false;
|
||||
|
@ -49,7 +49,7 @@ function friendica_init(&$a) {
|
|||
'site_name' => $a->config['sitename'],
|
||||
'platform' => FRIENDICA_PLATFORM,
|
||||
'info' => ((x($a->config,'info')) ? $a->config['info'] : ''),
|
||||
'no_scrape_url' => $a->get_baseurl().'/noscrape'
|
||||
'no_scrape_url' => App::get_baseurl().'/noscrape'
|
||||
);
|
||||
|
||||
echo json_encode($data);
|
||||
|
|
|
@ -3,12 +3,13 @@
|
|||
|
||||
function fsuggest_post(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if($a->argc != 2)
|
||||
if ($a->argc != 2) {
|
||||
return;
|
||||
}
|
||||
|
||||
$contact_id = intval($a->argv[1]);
|
||||
|
||||
|
@ -16,7 +17,7 @@ function fsuggest_post(&$a) {
|
|||
intval($contact_id),
|
||||
intval(local_user())
|
||||
);
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
notice( t('Contact not found.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
@ -74,7 +75,7 @@ function fsuggest_content(&$a) {
|
|||
|
||||
require_once('include/acl_selectors.php');
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
notice( t('Permission denied.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
@ -88,7 +89,7 @@ function fsuggest_content(&$a) {
|
|||
intval($contact_id),
|
||||
intval(local_user())
|
||||
);
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
notice( t('Contact not found.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
|
|
@ -15,7 +15,7 @@ function group_init(&$a) {
|
|||
|
||||
function group_post(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
notice( t('Permission denied.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
@ -25,39 +25,44 @@ function group_post(&$a) {
|
|||
|
||||
$name = notags(trim($_POST['groupname']));
|
||||
$r = group_add(local_user(),$name);
|
||||
if($r) {
|
||||
if ($r) {
|
||||
info( t('Group created.') . EOL );
|
||||
$r = group_byname(local_user(),$name);
|
||||
if($r)
|
||||
goaway($a->get_baseurl() . '/group/' . $r);
|
||||
if ($r) {
|
||||
goaway(App::get_baseurl() . '/group/' . $r);
|
||||
}
|
||||
}
|
||||
else
|
||||
else {
|
||||
notice( t('Could not create group.') . EOL );
|
||||
goaway($a->get_baseurl() . '/group');
|
||||
}
|
||||
goaway(App::get_baseurl() . '/group');
|
||||
return; // NOTREACHED
|
||||
}
|
||||
if(($a->argc == 2) && (intval($a->argv[1]))) {
|
||||
|
||||
if (($a->argc == 2) && (intval($a->argv[1]))) {
|
||||
check_form_security_token_redirectOnErr('/group', 'group_edit');
|
||||
|
||||
$r = q("SELECT * FROM `group` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($a->argv[1]),
|
||||
intval(local_user())
|
||||
);
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
notice( t('Group not found.') . EOL );
|
||||
goaway($a->get_baseurl() . '/contacts');
|
||||
goaway(App::get_baseurl() . '/contacts');
|
||||
return; // NOTREACHED
|
||||
}
|
||||
$group = $r[0];
|
||||
$groupname = notags(trim($_POST['groupname']));
|
||||
if((strlen($groupname)) && ($groupname != $group['name'])) {
|
||||
if ((strlen($groupname)) && ($groupname != $group['name'])) {
|
||||
$r = q("UPDATE `group` SET `name` = '%s' WHERE `uid` = %d AND `id` = %d",
|
||||
dbesc($groupname),
|
||||
intval(local_user()),
|
||||
intval($group['id'])
|
||||
);
|
||||
if($r)
|
||||
|
||||
if ($r) {
|
||||
info( t('Group name changed.') . EOL );
|
||||
}
|
||||
}
|
||||
|
||||
$a->page['aside'] = group_side();
|
||||
|
@ -68,7 +73,7 @@ function group_post(&$a) {
|
|||
function group_content(&$a) {
|
||||
$change = false;
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
notice( t('Permission denied') . EOL);
|
||||
return;
|
||||
}
|
||||
|
@ -99,26 +104,32 @@ function group_content(&$a) {
|
|||
|
||||
}
|
||||
|
||||
if(($a->argc == 3) && ($a->argv[1] === 'drop')) {
|
||||
if (($a->argc == 3) && ($a->argv[1] === 'drop')) {
|
||||
check_form_security_token_redirectOnErr('/group', 'group_drop', 't');
|
||||
|
||||
if(intval($a->argv[2])) {
|
||||
if (intval($a->argv[2])) {
|
||||
$r = q("SELECT `name` FROM `group` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($a->argv[2]),
|
||||
intval(local_user())
|
||||
);
|
||||
if (dbm::is_result($r))
|
||||
|
||||
$result = null;
|
||||
|
||||
if (dbm::is_result($r)) {
|
||||
$result = group_rmv(local_user(),$r[0]['name']);
|
||||
if($result)
|
||||
}
|
||||
|
||||
if ($result) {
|
||||
info( t('Group removed.') . EOL);
|
||||
else
|
||||
} else {
|
||||
notice( t('Unable to remove group.') . EOL);
|
||||
}
|
||||
}
|
||||
goaway($a->get_baseurl() . '/group');
|
||||
goaway(App::get_baseurl() . '/group');
|
||||
// NOTREACHED
|
||||
}
|
||||
|
||||
if(($a->argc > 2) && intval($a->argv[1]) && intval($a->argv[2])) {
|
||||
if (($a->argc > 2) && intval($a->argv[1]) && intval($a->argv[2])) {
|
||||
check_form_security_token_ForbiddenOnErr('group_member_change', 't');
|
||||
|
||||
$r = q("SELECT `id` FROM `contact` WHERE `id` = %d AND `uid` = %d and `self` = 0 and `blocked` = 0 AND `pending` = 0 LIMIT 1",
|
||||
|
@ -129,16 +140,16 @@ function group_content(&$a) {
|
|||
$change = intval($a->argv[2]);
|
||||
}
|
||||
|
||||
if(($a->argc > 1) && (intval($a->argv[1]))) {
|
||||
if (($a->argc > 1) && (intval($a->argv[1]))) {
|
||||
|
||||
require_once('include/acl_selectors.php');
|
||||
$r = q("SELECT * FROM `group` WHERE `id` = %d AND `uid` = %d AND `deleted` = 0 LIMIT 1",
|
||||
intval($a->argv[1]),
|
||||
intval(local_user())
|
||||
);
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
notice( t('Group not found.') . EOL );
|
||||
goaway($a->get_baseurl() . '/contacts');
|
||||
goaway(App::get_baseurl() . '/contacts');
|
||||
}
|
||||
$group = $r[0];
|
||||
$members = group_get_members($group['id']);
|
||||
|
|
|
@ -4,8 +4,9 @@ function hcard_init(&$a) {
|
|||
|
||||
$blocked = (((get_config('system','block_public')) && (! local_user()) && (! remote_user())) ? true : false);
|
||||
|
||||
if($a->argc > 1)
|
||||
if ($a->argc > 1) {
|
||||
$which = $a->argv[1];
|
||||
}
|
||||
else {
|
||||
notice( t('No profile') . EOL );
|
||||
$a->error = 404;
|
||||
|
@ -13,39 +14,42 @@ function hcard_init(&$a) {
|
|||
}
|
||||
|
||||
$profile = 0;
|
||||
if((local_user()) && ($a->argc > 2) && ($a->argv[2] === 'view')) {
|
||||
$which = $a->user['nickname'];
|
||||
$profile = $a->argv[1];
|
||||
if ((local_user()) && ($a->argc > 2) && ($a->argv[2] === 'view')) {
|
||||
$which = $a->user['nickname'];
|
||||
$profile = $a->argv[1];
|
||||
}
|
||||
|
||||
profile_load($a,$which,$profile);
|
||||
|
||||
if((x($a->profile,'page-flags')) && ($a->profile['page-flags'] == PAGE_COMMUNITY)) {
|
||||
if ((x($a->profile,'page-flags')) && ($a->profile['page-flags'] == PAGE_COMMUNITY)) {
|
||||
$a->page['htmlhead'] .= '<meta name="friendica.community" content="true" />';
|
||||
}
|
||||
if(x($a->profile,'openidserver'))
|
||||
if (x($a->profile,'openidserver')) {
|
||||
$a->page['htmlhead'] .= '<link rel="openid.server" href="' . $a->profile['openidserver'] . '" />' . "\r\n";
|
||||
if(x($a->profile,'openid')) {
|
||||
}
|
||||
if (x($a->profile,'openid')) {
|
||||
$delegate = ((strstr($a->profile['openid'],'://')) ? $a->profile['openid'] : 'http://' . $a->profile['openid']);
|
||||
$a->page['htmlhead'] .= '<link rel="openid.delegate" href="' . $delegate . '" />' . "\r\n";
|
||||
}
|
||||
|
||||
if(! $blocked) {
|
||||
if (! $blocked) {
|
||||
$keywords = ((x($a->profile,'pub_keywords')) ? $a->profile['pub_keywords'] : '');
|
||||
$keywords = str_replace(array(',',' ',',,'),array(' ',',',','),$keywords);
|
||||
if(strlen($keywords))
|
||||
if (strlen($keywords)) {
|
||||
$a->page['htmlhead'] .= '<meta name="keywords" content="' . $keywords . '" />' . "\r\n" ;
|
||||
}
|
||||
}
|
||||
|
||||
$a->page['htmlhead'] .= '<meta name="dfrn-global-visibility" content="' . (($a->profile['net-publish']) ? 'true' : 'false') . '" />' . "\r\n" ;
|
||||
$a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . $a->get_baseurl() . '/dfrn_poll/' . $which .'" />' . "\r\n" ;
|
||||
$a->page['htmlhead'] .= '<link rel="alternate" type="application/atom+xml" href="' . App::get_baseurl() . '/dfrn_poll/' . $which .'" />' . "\r\n" ;
|
||||
$uri = urlencode('acct:' . $a->profile['nickname'] . '@' . $a->get_hostname() . (($a->path) ? '/' . $a->path : ''));
|
||||
$a->page['htmlhead'] .= '<link rel="lrdd" type="application/xrd+xml" href="' . $a->get_baseurl() . '/xrd/?uri=' . $uri . '" />' . "\r\n";
|
||||
header('Link: <' . $a->get_baseurl() . '/xrd/?uri=' . $uri . '>; rel="lrdd"; type="application/xrd+xml"', false);
|
||||
|
||||
$a->page['htmlhead'] .= '<link rel="lrdd" type="application/xrd+xml" href="' . App::get_baseurl() . '/xrd/?uri=' . $uri . '" />' . "\r\n";
|
||||
header('Link: <' . App::get_baseurl() . '/xrd/?uri=' . $uri . '>; rel="lrdd"; type="application/xrd+xml"', false);
|
||||
|
||||
$dfrn_pages = array('request', 'confirm', 'notify', 'poll');
|
||||
foreach($dfrn_pages as $dfrn)
|
||||
$a->page['htmlhead'] .= "<link rel=\"dfrn-{$dfrn}\" href=\"".$a->get_baseurl()."/dfrn_{$dfrn}/{$which}\" />\r\n";
|
||||
foreach ($dfrn_pages as $dfrn) {
|
||||
$a->page['htmlhead'] .= "<link rel=\"dfrn-{$dfrn}\" href=\"".App::get_baseurl()."/dfrn_{$dfrn}/{$which}\" />\r\n";
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ function help_content(&$a) {
|
|||
if ($level>$lastlevel) $toc.="<ul>";
|
||||
$idnum[$level]++;
|
||||
$id = implode("_", array_slice($idnum,1,$level));
|
||||
$href = $a->get_baseurl()."/help/{$filename}#{$id}";
|
||||
$href = App::get_baseurl()."/help/{$filename}#{$id}";
|
||||
$toc .= "<li><a href='{$href}'>".strip_tags($line)."</a></li>";
|
||||
$line = "<a name='{$id}'></a>".$line;
|
||||
$lastlevel = $level;
|
||||
|
|
34
mod/home.php
34
mod/home.php
|
@ -6,33 +6,38 @@ function home_init(&$a) {
|
|||
$ret = array();
|
||||
call_hooks('home_init',$ret);
|
||||
|
||||
if(local_user() && ($a->user['nickname']))
|
||||
goaway($a->get_baseurl()."/network");
|
||||
//goaway($a->get_baseurl()."/profile/".$a->user['nickname']);
|
||||
if (local_user() && ($a->user['nickname'])) {
|
||||
goaway(App::get_baseurl()."/network");
|
||||
}
|
||||
|
||||
if(strlen(get_config('system','singleuser')))
|
||||
goaway($a->get_baseurl()."/profile/" . get_config('system','singleuser'));
|
||||
if (strlen(get_config('system','singleuser'))) {
|
||||
goaway(App::get_baseurl()."/profile/" . get_config('system','singleuser'));
|
||||
}
|
||||
|
||||
}}
|
||||
|
||||
|
||||
if(! function_exists('home_content')) {
|
||||
function home_content(&$a) {
|
||||
|
||||
$o = '';
|
||||
|
||||
if(x($_SESSION,'theme'))
|
||||
if (x($_SESSION,'theme')) {
|
||||
unset($_SESSION['theme']);
|
||||
if(x($_SESSION,'mobile-theme'))
|
||||
}
|
||||
if (x($_SESSION,'mobile-theme')) {
|
||||
unset($_SESSION['mobile-theme']);
|
||||
}
|
||||
|
||||
if(file_exists('home.html')){
|
||||
if(file_exists('home.css')){
|
||||
$a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="'.$a->get_baseurl().'/home.css'.'" media="all" />';}
|
||||
/// @TODO No absolute path used, maybe risky (security)
|
||||
if (file_exists('home.html')) {
|
||||
if (file_exists('home.css')) {
|
||||
$a->page['htmlhead'] .= '<link rel="stylesheet" type="text/css" href="'.App::get_baseurl().'/home.css'.'" media="all" />';
|
||||
}
|
||||
|
||||
$o .= file_get_contents('home.html');}
|
||||
|
||||
else $o .= '<h1>'.((x($a->config,'sitename')) ? sprintf(t("Welcome to %s"), $a->config['sitename']) : "").'</h1>';
|
||||
$o .= file_get_contents('home.html');
|
||||
} else {
|
||||
$o .= '<h1>'.((x($a->config,'sitename')) ? sprintf(t("Welcome to %s"), $a->config['sitename']) : "").'</h1>';
|
||||
}
|
||||
|
||||
|
||||
$o .= login(($a->config['register_policy'] == REGISTER_CLOSED) ? 0 : 1);
|
||||
|
@ -41,5 +46,4 @@ function home_content(&$a) {
|
|||
|
||||
return $o;
|
||||
|
||||
|
||||
}}
|
||||
|
|
|
@ -5,22 +5,27 @@ function ignored_init(&$a) {
|
|||
|
||||
$ignored = 0;
|
||||
|
||||
if(! local_user())
|
||||
if (! local_user()) {
|
||||
killme();
|
||||
if($a->argc > 1)
|
||||
}
|
||||
if ($a->argc > 1) {
|
||||
$message_id = intval($a->argv[1]);
|
||||
if(! $message_id)
|
||||
}
|
||||
if (! $message_id) {
|
||||
killme();
|
||||
}
|
||||
|
||||
$r = q("SELECT `ignored` FROM `thread` WHERE `uid` = %d AND `iid` = %d LIMIT 1",
|
||||
intval(local_user()),
|
||||
intval($message_id)
|
||||
);
|
||||
if(! dbm::is_result($r))
|
||||
if (! dbm::is_result($r)) {
|
||||
killme();
|
||||
}
|
||||
|
||||
if(! intval($r[0]['ignored']))
|
||||
if (! intval($r[0]['ignored'])) {
|
||||
$ignored = 1;
|
||||
}
|
||||
|
||||
$r = q("UPDATE `thread` SET `ignored` = %d WHERE `uid` = %d and `iid` = %d",
|
||||
intval($ignored),
|
||||
|
@ -30,12 +35,12 @@ function ignored_init(&$a) {
|
|||
|
||||
// See if we've been passed a return path to redirect to
|
||||
$return_path = ((x($_REQUEST,'return')) ? $_REQUEST['return'] : '');
|
||||
if($return_path) {
|
||||
if ($return_path) {
|
||||
$rand = '_=' . time();
|
||||
if(strpos($return_path, '?')) $rand = "&$rand";
|
||||
else $rand = "?$rand";
|
||||
|
||||
goaway($a->get_baseurl() . "/" . $return_path . $rand);
|
||||
goaway(App::get_baseurl() . "/" . $return_path . $rand);
|
||||
}
|
||||
|
||||
// the json doesn't really matter, it will either be 0 or 1
|
||||
|
|
109
mod/install.php
109
mod/install.php
|
@ -11,17 +11,16 @@ function install_init(&$a){
|
|||
echo "ok";
|
||||
killme();
|
||||
}
|
||||
|
||||
|
||||
// We overwrite current theme css, because during install we could not have a working mod_rewrite
|
||||
// so we could not have a css at all. Here we set a static css file for the install procedure pages
|
||||
$a->config['system']['theme'] = "../install";
|
||||
$a->theme['stylesheet'] = $a->get_baseurl()."/view/install/style.css";
|
||||
|
||||
|
||||
|
||||
$a->theme['stylesheet'] = App::get_baseurl()."/view/install/style.css";
|
||||
|
||||
global $install_wizard_pass;
|
||||
if (x($_POST,'pass'))
|
||||
if (x($_POST,'pass')) {
|
||||
$install_wizard_pass = intval($_POST['pass']);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
@ -52,7 +51,7 @@ function install_post(&$a) {
|
|||
$r = q("CREATE DATABASE '%s'",
|
||||
dbesc($dbdata)
|
||||
);
|
||||
if($r) {
|
||||
if ($r) {
|
||||
unset($db);
|
||||
$db = new dba($dbhost, $dbuser, $dbpass, $dbdata, true);
|
||||
} else {
|
||||
|
@ -63,7 +62,7 @@ function install_post(&$a) {
|
|||
return;
|
||||
}
|
||||
}*/
|
||||
if(get_db_errno()) {
|
||||
if (get_db_errno()) {
|
||||
$a->data['db_conn_failed']=true;
|
||||
}
|
||||
|
||||
|
@ -107,17 +106,18 @@ function install_post(&$a) {
|
|||
|
||||
|
||||
$result = file_put_contents('.htconfig.php', $txt);
|
||||
if(! $result) {
|
||||
if (! $result) {
|
||||
$a->data['txt'] = $txt;
|
||||
}
|
||||
|
||||
$errors = load_database($db);
|
||||
|
||||
|
||||
if($errors)
|
||||
if ($errors) {
|
||||
$a->data['db_failed'] = $errors;
|
||||
else
|
||||
} else {
|
||||
$a->data['db_installed'] = true;
|
||||
}
|
||||
|
||||
return;
|
||||
break;
|
||||
|
@ -125,10 +125,11 @@ function install_post(&$a) {
|
|||
}
|
||||
|
||||
function get_db_errno() {
|
||||
if(class_exists('mysqli'))
|
||||
if (class_exists('mysqli')) {
|
||||
return mysqli_connect_errno();
|
||||
else
|
||||
} else {
|
||||
return mysql_errno();
|
||||
}
|
||||
}
|
||||
|
||||
function install_content(&$a) {
|
||||
|
@ -140,23 +141,23 @@ function install_content(&$a) {
|
|||
|
||||
|
||||
|
||||
if(x($a->data,'db_conn_failed')) {
|
||||
if (x($a->data,'db_conn_failed')) {
|
||||
$install_wizard_pass = 2;
|
||||
$wizard_status = t('Could not connect to database.');
|
||||
}
|
||||
if(x($a->data,'db_create_failed')) {
|
||||
if (x($a->data,'db_create_failed')) {
|
||||
$install_wizard_pass = 2;
|
||||
$wizard_status = t('Could not create table.');
|
||||
}
|
||||
|
||||
$db_return_text="";
|
||||
if(x($a->data,'db_installed')) {
|
||||
if (x($a->data,'db_installed')) {
|
||||
$txt = '<p style="font-size: 130%;">';
|
||||
$txt .= t('Your Friendica site database has been installed.') . EOL;
|
||||
$db_return_text .= $txt;
|
||||
}
|
||||
|
||||
if(x($a->data,'db_failed')) {
|
||||
if (x($a->data,'db_failed')) {
|
||||
$txt = t('You may need to import the file "database.sql" manually using phpmyadmin or mysql.') . EOL;
|
||||
$txt .= t('Please see the file "INSTALL.txt".') . EOL ."<hr>" ;
|
||||
$txt .= "<pre>".$a->data['db_failed'] . "</pre>". EOL ;
|
||||
|
@ -176,7 +177,7 @@ function install_content(&$a) {
|
|||
}
|
||||
}
|
||||
|
||||
if(x($a->data,'txt') && strlen($a->data['txt'])) {
|
||||
if (x($a->data,'txt') && strlen($a->data['txt'])) {
|
||||
$db_return_text .= manual_config($a);
|
||||
}
|
||||
|
||||
|
@ -205,16 +206,19 @@ function install_content(&$a) {
|
|||
|
||||
check_keys($checks);
|
||||
|
||||
if(x($_POST,'phpath'))
|
||||
if (x($_POST,'phpath')) {
|
||||
$phpath = notags(trim($_POST['phpath']));
|
||||
}
|
||||
|
||||
check_php($phpath, $checks);
|
||||
|
||||
check_htaccess($checks);
|
||||
check_htaccess($checks);
|
||||
|
||||
/// @TODO Maybe move this out?
|
||||
function check_passed($v, $c){
|
||||
if ($c['required'])
|
||||
if ($c['required']) {
|
||||
$v = $v && $c['status'];
|
||||
}
|
||||
return $v;
|
||||
}
|
||||
$checkspassed = array_reduce($checks, "check_passed", true);
|
||||
|
@ -231,7 +235,7 @@ function install_content(&$a) {
|
|||
'$next' => t('Next'),
|
||||
'$reload' => t('Check again'),
|
||||
'$phpath' => $phpath,
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
));
|
||||
return $o;
|
||||
}; break;
|
||||
|
@ -265,7 +269,7 @@ function install_content(&$a) {
|
|||
|
||||
'$lbl_10' => t('Please select a default timezone for your website'),
|
||||
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
|
||||
'$phpath' => $phpath,
|
||||
|
||||
|
@ -305,7 +309,7 @@ function install_content(&$a) {
|
|||
|
||||
'$timezone' => field_timezone('timezone', t('Please select a default timezone for your website'), $timezone, ''),
|
||||
'$language' => array('language', t('System Language:'), 'en', t('Set the default language for your Friendica installation interface and to send emails.'), $lang_choices),
|
||||
'$baseurl' => $a->get_baseurl(),
|
||||
'$baseurl' => App::get_baseurl(),
|
||||
|
||||
|
||||
|
||||
|
@ -343,7 +347,7 @@ function check_php(&$phpath, &$checks) {
|
|||
$passed = strlen($phpath);
|
||||
}
|
||||
$help = "";
|
||||
if(!$passed) {
|
||||
if (!$passed) {
|
||||
$help .= t('Could not find a command line version of PHP in the web server PATH.'). EOL;
|
||||
$help .= t("If you don't have a command line version of PHP installed on server, you will not be able to run background polling via cron. See <a href='https://github.com/friendica/friendica/blob/master/doc/Install.md#set-up-the-poller'>'Setup the poller'</a>") . EOL ;
|
||||
$help .= EOL . EOL ;
|
||||
|
@ -370,7 +374,7 @@ function check_php(&$phpath, &$checks) {
|
|||
}
|
||||
|
||||
|
||||
if($passed2) {
|
||||
if ($passed2) {
|
||||
$str = autoname(8);
|
||||
$cmd = "$phpath testargs.php $str";
|
||||
$result = trim(shell_exec($cmd));
|
||||
|
@ -392,15 +396,17 @@ function check_keys(&$checks) {
|
|||
|
||||
$res = false;
|
||||
|
||||
if(function_exists('openssl_pkey_new'))
|
||||
$res=openssl_pkey_new(array(
|
||||
'digest_alg' => 'sha1',
|
||||
'private_key_bits' => 4096,
|
||||
'encrypt_key' => false ));
|
||||
if (function_exists('openssl_pkey_new')) {
|
||||
$res = openssl_pkey_new(array(
|
||||
'digest_alg' => 'sha1',
|
||||
'private_key_bits' => 4096,
|
||||
'encrypt_key' => false
|
||||
));
|
||||
}
|
||||
|
||||
// Get private key
|
||||
|
||||
if(! $res) {
|
||||
if (! $res) {
|
||||
$help .= t('Error: the "openssl_pkey_new" function on this system is not able to generate encryption keys'). EOL;
|
||||
$help .= t('If running under Windows, please see "http://www.php.net/manual/en/openssl.installation.php".');
|
||||
}
|
||||
|
@ -420,7 +426,7 @@ function check_funcs(&$checks) {
|
|||
check_add($ck_funcs, t('XML PHP module'), true, true, "");
|
||||
check_add($ck_funcs, t('iconv module'), true, true, "");
|
||||
|
||||
if(function_exists('apache_get_modules')){
|
||||
if (function_exists('apache_get_modules')){
|
||||
if (! in_array('mod_rewrite',apache_get_modules())) {
|
||||
check_add($ck_funcs, t('Apache mod_rewrite module'), false, true, t('Error: Apache webserver mod-rewrite module is required but not installed.'));
|
||||
} else {
|
||||
|
@ -428,31 +434,31 @@ function check_funcs(&$checks) {
|
|||
}
|
||||
}
|
||||
|
||||
if(! function_exists('curl_init')){
|
||||
if (! function_exists('curl_init')){
|
||||
$ck_funcs[0]['status']= false;
|
||||
$ck_funcs[0]['help']= t('Error: libCURL PHP module required but not installed.');
|
||||
}
|
||||
if(! function_exists('imagecreatefromjpeg')){
|
||||
if (! function_exists('imagecreatefromjpeg')){
|
||||
$ck_funcs[1]['status']= false;
|
||||
$ck_funcs[1]['help']= t('Error: GD graphics PHP module with JPEG support required but not installed.');
|
||||
}
|
||||
if(! function_exists('openssl_public_encrypt')) {
|
||||
if (! function_exists('openssl_public_encrypt')) {
|
||||
$ck_funcs[2]['status']= false;
|
||||
$ck_funcs[2]['help']= t('Error: openssl PHP module required but not installed.');
|
||||
}
|
||||
if(! function_exists('mysqli_connect')){
|
||||
if (! function_exists('mysqli_connect')){
|
||||
$ck_funcs[3]['status']= false;
|
||||
$ck_funcs[3]['help']= t('Error: mysqli PHP module required but not installed.');
|
||||
}
|
||||
if(! function_exists('mb_strlen')){
|
||||
if (! function_exists('mb_strlen')){
|
||||
$ck_funcs[4]['status']= false;
|
||||
$ck_funcs[4]['help']= t('Error: mb_string PHP module required but not installed.');
|
||||
}
|
||||
if(! function_exists('mcrypt_create_iv')){
|
||||
if (! function_exists('mcrypt_create_iv')){
|
||||
$ck_funcs[5]['status']= false;
|
||||
$ck_funcs[5]['help']= t('Error: mcrypt PHP module required but not installed.');
|
||||
}
|
||||
if(! function_exists('iconv_strlen')){
|
||||
if (! function_exists('iconv_strlen')){
|
||||
$ck_funcs[7]['status']= false;
|
||||
$ck_funcs[7]['help']= t('Error: iconv PHP module required but not installed.');
|
||||
}
|
||||
|
@ -487,7 +493,7 @@ function check_funcs(&$checks) {
|
|||
function check_htconfig(&$checks) {
|
||||
$status = true;
|
||||
$help = "";
|
||||
if( (file_exists('.htconfig.php') && !is_writable('.htconfig.php')) ||
|
||||
if ((file_exists('.htconfig.php') && !is_writable('.htconfig.php')) ||
|
||||
(!file_exists('.htconfig.php') && !is_writable('.')) ) {
|
||||
|
||||
$status=false;
|
||||
|
@ -504,7 +510,7 @@ function check_htconfig(&$checks) {
|
|||
function check_smarty3(&$checks) {
|
||||
$status = true;
|
||||
$help = "";
|
||||
if( !is_writable('view/smarty3') ) {
|
||||
if (!is_writable('view/smarty3') ) {
|
||||
|
||||
$status=false;
|
||||
$help = t('Friendica uses the Smarty3 template engine to render its web views. Smarty3 compiles templates to PHP to speed up rendering.') .EOL;
|
||||
|
@ -518,14 +524,14 @@ function check_smarty3(&$checks) {
|
|||
}
|
||||
|
||||
function check_htaccess(&$checks) {
|
||||
$a = get_app();
|
||||
$status = true;
|
||||
$help = "";
|
||||
if (function_exists('curl_init')){
|
||||
$test = fetch_url($a->get_baseurl()."/install/testrewrite");
|
||||
if (function_exists('curl_init')) {
|
||||
$test = fetch_url(App::get_baseurl()."/install/testrewrite");
|
||||
|
||||
if ($test!="ok")
|
||||
$test = fetch_url(normalise_link($a->get_baseurl()."/install/testrewrite"));
|
||||
if ($test!="ok") {
|
||||
$test = fetch_url(normalise_link(App::get_baseurl()."/install/testrewrite"));
|
||||
}
|
||||
|
||||
if ($test!="ok") {
|
||||
$status = false;
|
||||
|
@ -534,6 +540,7 @@ function check_htaccess(&$checks) {
|
|||
check_add($checks, t('Url rewrite is working'), $status, true, $help);
|
||||
} else {
|
||||
// cannot check modrewrite if libcurl is not installed
|
||||
/// @TODO Maybe issue warning here?
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -550,8 +557,7 @@ function check_imagik(&$checks) {
|
|||
}
|
||||
if ($imagick == false) {
|
||||
check_add($checks, t('ImageMagick PHP extension is not installed'), $imagick, false, "");
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
check_add($checks, t('ImageMagick PHP extension is installed'), $imagick, false, "");
|
||||
if ($imagick) {
|
||||
check_add($checks, t('ImageMagick supports GIF'), $gif, false, "");
|
||||
|
@ -559,8 +565,6 @@ function check_imagik(&$checks) {
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
function manual_config(&$a) {
|
||||
$data = htmlentities($a->data['txt'],ENT_COMPAT,'UTF-8');
|
||||
$o = t('The database configuration file ".htconfig.php" could not be written. Please use the enclosed text to create a configuration file in your web server root.');
|
||||
|
@ -599,8 +603,7 @@ function load_database($db) {
|
|||
}
|
||||
|
||||
function what_next() {
|
||||
$a = get_app();
|
||||
$baseurl = $a->get_baseurl();
|
||||
$baseurl = App::get_baseurl();
|
||||
return
|
||||
t('<h1>What next</h1>')
|
||||
."<p>".t('IMPORTANT: You will need to [manually] setup a scheduled task for the poller.')
|
||||
|
|
|
@ -11,7 +11,7 @@ require_once('include/email.php');
|
|||
|
||||
function invite_post(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
notice( t('Permission denied.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
@ -19,14 +19,15 @@ function invite_post(&$a) {
|
|||
check_form_security_token_redirectOnErr('/', 'send_invite');
|
||||
|
||||
$max_invites = intval(get_config('system','max_invites'));
|
||||
if(! $max_invites)
|
||||
if (! $max_invites) {
|
||||
$max_invites = 50;
|
||||
}
|
||||
|
||||
$current_invites = intval(get_pconfig(local_user(),'system','sent_invites'));
|
||||
if($current_invites > $max_invites) {
|
||||
if ($current_invites > $max_invites) {
|
||||
notice( t('Total invitation limit exceeded.') . EOL);
|
||||
return;
|
||||
};
|
||||
}
|
||||
|
||||
|
||||
$recips = ((x($_POST,'recipients')) ? explode("\n",$_POST['recipients']) : array());
|
||||
|
@ -34,23 +35,24 @@ function invite_post(&$a) {
|
|||
|
||||
$total = 0;
|
||||
|
||||
if(get_config('system','invitation_only')) {
|
||||
if (get_config('system','invitation_only')) {
|
||||
$invonly = true;
|
||||
$x = get_pconfig(local_user(),'system','invites_remaining');
|
||||
if((! $x) && (! is_site_admin()))
|
||||
if ((! $x) && (! is_site_admin())) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
foreach($recips as $recip) {
|
||||
foreach ($recips as $recip) {
|
||||
|
||||
$recip = trim($recip);
|
||||
|
||||
if(! valid_email($recip)) {
|
||||
if (! valid_email($recip)) {
|
||||
notice( sprintf( t('%s : Not a valid email address.'), $recip) . EOL);
|
||||
continue;
|
||||
}
|
||||
|
||||
if($invonly && ($x || is_site_admin())) {
|
||||
|
||||
if ($invonly && ($x || is_site_admin())) {
|
||||
$code = autoname(8) . srand(1000,9999);
|
||||
$nmessage = str_replace('$invite_code',$code,$message);
|
||||
|
||||
|
@ -59,16 +61,17 @@ function invite_post(&$a) {
|
|||
dbesc(datetime_convert())
|
||||
);
|
||||
|
||||
if(! is_site_admin()) {
|
||||
if (! is_site_admin()) {
|
||||
$x --;
|
||||
if($x >= 0)
|
||||
if ($x >= 0) {
|
||||
set_pconfig(local_user(),'system','invites_remaining',$x);
|
||||
else
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
} else {
|
||||
$nmessage = $message;
|
||||
}
|
||||
|
||||
$res = mail($recip, email_header_encode( t('Please join us on Friendica'),'UTF-8'),
|
||||
$nmessage,
|
||||
|
@ -76,7 +79,7 @@ function invite_post(&$a) {
|
|||
. 'Content-type: text/plain; charset=UTF-8' . "\n"
|
||||
. 'Content-transfer-encoding: 8bit' );
|
||||
|
||||
if($res) {
|
||||
if ($res) {
|
||||
$total ++;
|
||||
$current_invites ++;
|
||||
set_pconfig(local_user(),'system','sent_invites',$current_invites);
|
||||
|
@ -84,8 +87,7 @@ function invite_post(&$a) {
|
|||
notice( t('Invitation limit exceeded. Please contact your site administrator.') . EOL);
|
||||
return;
|
||||
}
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
notice( sprintf( t('%s : Message delivery failed.'), $recip) . EOL);
|
||||
}
|
||||
|
||||
|
@ -97,7 +99,7 @@ function invite_post(&$a) {
|
|||
|
||||
function invite_content(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
notice( t('Permission denied.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
@ -105,39 +107,39 @@ function invite_content(&$a) {
|
|||
$tpl = get_markup_template('invite.tpl');
|
||||
$invonly = false;
|
||||
|
||||
if(get_config('system','invitation_only')) {
|
||||
if (get_config('system','invitation_only')) {
|
||||
$invonly = true;
|
||||
$x = get_pconfig(local_user(),'system','invites_remaining');
|
||||
if((! $x) && (! is_site_admin())) {
|
||||
if ((! $x) && (! is_site_admin())) {
|
||||
notice( t('You have no more invitations available') . EOL);
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
||||
$dirloc = get_config('system','directory');
|
||||
if(strlen($dirloc)) {
|
||||
if($a->config['register_policy'] == REGISTER_CLOSED)
|
||||
if (strlen($dirloc)) {
|
||||
if ($a->config['register_policy'] == REGISTER_CLOSED) {
|
||||
$linktxt = sprintf( t('Visit %s for a list of public sites that you can join. Friendica members on other sites can all connect with each other, as well as with members of many other social networks.'), $dirloc . '/siteinfo');
|
||||
elseif($a->config['register_policy'] != REGISTER_CLOSED)
|
||||
$linktxt = sprintf( t('To accept this invitation, please visit and register at %s or any other public Friendica website.'), $a->get_baseurl())
|
||||
} elseif($a->config['register_policy'] != REGISTER_CLOSED) {
|
||||
$linktxt = sprintf( t('To accept this invitation, please visit and register at %s or any other public Friendica website.'), App::get_baseurl())
|
||||
. "\r\n" . "\r\n" . sprintf( t('Friendica sites all inter-connect to create a huge privacy-enhanced social web that is owned and controlled by its members. They can also connect with many traditional social networks. See %s for a list of alternate Friendica sites you can join.'),$dirloc . '/siteinfo');
|
||||
}
|
||||
else {
|
||||
}
|
||||
} else {
|
||||
$o = t('Our apologies. This system is not currently configured to connect with other public sites or invite members.');
|
||||
return $o;
|
||||
}
|
||||
|
||||
$o = replace_macros($tpl, array(
|
||||
'$form_security_token' => get_form_security_token("send_invite"),
|
||||
'$invite' => t('Send invitations'),
|
||||
'$addr_text' => t('Enter email addresses, one per line:'),
|
||||
'$msg_text' => t('Your message:'),
|
||||
'$default_message' => t('You are cordially invited to join me and other close friends on Friendica - and help us to create a better social web.') . "\r\n" . "\r\n"
|
||||
'$invite' => t('Send invitations'),
|
||||
'$addr_text' => t('Enter email addresses, one per line:'),
|
||||
'$msg_text' => t('Your message:'),
|
||||
'$default_message' => t('You are cordially invited to join me and other close friends on Friendica - and help us to create a better social web.') . "\r\n" . "\r\n"
|
||||
. $linktxt
|
||||
. "\r\n" . "\r\n" . (($invonly) ? t('You will need to supply this invitation code: $invite_code') . "\r\n" . "\r\n" : '') .t('Once you have registered, please connect with me via my profile page at:')
|
||||
. "\r\n" . "\r\n" . $a->get_baseurl() . '/profile/' . $a->user['nickname']
|
||||
. "\r\n" . "\r\n" . App::get_baseurl() . '/profile/' . $a->user['nickname']
|
||||
. "\r\n" . "\r\n" . t('For more information about the Friendica project and why we feel it is important, please visit http://friendica.com') . "\r\n" . "\r\n" ,
|
||||
'$submit' => t('Submit')
|
||||
'$submit' => t('Submit')
|
||||
));
|
||||
|
||||
return $o;
|
||||
|
|
115
mod/item.php
115
mod/item.php
|
@ -59,13 +59,14 @@ function item_post(&$a) {
|
|||
// Check for doubly-submitted posts, and reject duplicates
|
||||
// Note that we have to ignore previews, otherwise nothing will post
|
||||
// after it's been previewed
|
||||
if(!$preview && x($_REQUEST['post_id_random'])) {
|
||||
if(x($_SESSION['post-random']) && $_SESSION['post-random'] == $_REQUEST['post_id_random']) {
|
||||
if (!$preview && x($_REQUEST['post_id_random'])) {
|
||||
if (x($_SESSION['post-random']) && $_SESSION['post-random'] == $_REQUEST['post_id_random']) {
|
||||
logger("item post: duplicate post", LOGGER_DEBUG);
|
||||
item_post_return($a->get_baseurl(), $api_source, $return_path);
|
||||
item_post_return(App::get_baseurl(), $api_source, $return_path);
|
||||
}
|
||||
else
|
||||
else {
|
||||
$_SESSION['post-random'] = $_REQUEST['post_id_random'];
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -82,18 +83,19 @@ function item_post(&$a) {
|
|||
$r = false;
|
||||
$objecttype = null;
|
||||
|
||||
if($parent || $parent_uri) {
|
||||
if ($parent || $parent_uri) {
|
||||
|
||||
$objecttype = ACTIVITY_OBJ_COMMENT;
|
||||
|
||||
if(! x($_REQUEST,'type'))
|
||||
if (! x($_REQUEST,'type')) {
|
||||
$_REQUEST['type'] = 'net-comment';
|
||||
}
|
||||
|
||||
if($parent) {
|
||||
if ($parent) {
|
||||
$r = q("SELECT * FROM `item` WHERE `id` = %d LIMIT 1",
|
||||
intval($parent)
|
||||
);
|
||||
} elseif($parent_uri && local_user()) {
|
||||
} elseif ($parent_uri && local_user()) {
|
||||
// This is coming from an API source, and we are logged in
|
||||
$r = q("SELECT * FROM `item` WHERE `uri` = '%s' AND `uid` = %d LIMIT 1",
|
||||
dbesc($parent_uri),
|
||||
|
@ -105,17 +107,18 @@ function item_post(&$a) {
|
|||
if (dbm::is_result($r)) {
|
||||
$parid = $r[0]['parent'];
|
||||
$parent_uri = $r[0]['uri'];
|
||||
if($r[0]['id'] != $r[0]['parent']) {
|
||||
if ($r[0]['id'] != $r[0]['parent']) {
|
||||
$r = q("SELECT * FROM `item` WHERE `id` = `parent` AND `parent` = %d LIMIT 1",
|
||||
intval($parid)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
notice( t('Unable to locate original post.') . EOL);
|
||||
if(x($_REQUEST,'return'))
|
||||
if (x($_REQUEST,'return')) {
|
||||
goaway($return_path);
|
||||
}
|
||||
killme();
|
||||
}
|
||||
$parent_item = $r[0];
|
||||
|
@ -125,7 +128,7 @@ function item_post(&$a) {
|
|||
//if(($parid) && ($parid != $parent))
|
||||
$thr_parent = $parent_uri;
|
||||
|
||||
if($parent_item['contact-id'] && $uid) {
|
||||
if ($parent_item['contact-id'] && $uid) {
|
||||
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($parent_item['contact-id']),
|
||||
intval($uid)
|
||||
|
@ -137,16 +140,7 @@ function item_post(&$a) {
|
|||
$thrparent = q("SELECT `author-link`, `network` FROM `item` WHERE `uri` = '%s' LIMIT 1", dbesc($thr_parent));
|
||||
if (count($thrparent) AND ($thrparent[0]["network"] === NETWORK_OSTATUS)
|
||||
AND (normalise_link($parent_contact["url"]) != normalise_link($thrparent[0]["author-link"]))) {
|
||||
$parent_contact = null;
|
||||
|
||||
$r = q("SELECT * FROM `gcontact` WHERE `nurl` = '%s' LIMIT 1",
|
||||
dbesc(normalise_link($thrparent[0]["author-link"])));
|
||||
if (dbm::is_result($r)) {
|
||||
$parent_contact = $r[0];
|
||||
$parent_contact["thumb"] = $parent_contact["photo"];
|
||||
$parent_contact["micro"] = $parent_contact["photo"];
|
||||
unset($parent_contact["id"]);
|
||||
}
|
||||
$parent_contact = get_contact_details_by_url($thrparent[0]["author-link"]);
|
||||
|
||||
if (!isset($parent_contact["nick"])) {
|
||||
require_once("include/Scrape.php");
|
||||
|
@ -448,13 +442,15 @@ function item_post(&$a) {
|
|||
|
||||
$objecttype = ACTIVITY_OBJ_IMAGE;
|
||||
|
||||
foreach($images as $image) {
|
||||
if(! stristr($image,$a->get_baseurl() . '/photo/'))
|
||||
foreach ($images as $image) {
|
||||
if (! stristr($image,App::get_baseurl() . '/photo/')) {
|
||||
continue;
|
||||
}
|
||||
$image_uri = substr($image,strrpos($image,'/') + 1);
|
||||
$image_uri = substr($image_uri,0, strpos($image_uri,'-'));
|
||||
if(! strlen($image_uri))
|
||||
if (! strlen($image_uri)) {
|
||||
continue;
|
||||
}
|
||||
$srch = '<' . intval($contact_id) . '>';
|
||||
|
||||
$r = q("SELECT `id` FROM `photo` WHERE `allow_cid` = '%s' AND `allow_gid` = '' AND `deny_cid` = '' AND `deny_gid` = ''
|
||||
|
@ -464,8 +460,9 @@ function item_post(&$a) {
|
|||
intval($profile_uid)
|
||||
);
|
||||
|
||||
if(! dbm::is_result($r))
|
||||
if (! dbm::is_result($r)) {
|
||||
continue;
|
||||
}
|
||||
|
||||
$r = q("UPDATE `photo` SET `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s'
|
||||
WHERE `resource-id` = '%s' AND `uid` = %d AND `album` = '%s' ",
|
||||
|
@ -561,12 +558,8 @@ function item_post(&$a) {
|
|||
* add a statusnet style reply tag if the original post was from there
|
||||
* and we are replying, and there isn't one already
|
||||
*/
|
||||
|
||||
if($parent AND ($parent_contact['network'] === NETWORK_OSTATUS)) {
|
||||
if ($parent_contact['id'] != "")
|
||||
$contact = '@'.$parent_contact['nick'].'+'.$parent_contact['id'];
|
||||
else
|
||||
$contact = '@[url='.$parent_contact['url'].']'.$parent_contact['nick'].'[/url]';
|
||||
if ($parent AND ($parent_contact['network'] == NETWORK_OSTATUS)) {
|
||||
$contact = '@[url='.$parent_contact['url'].']'.$parent_contact['nick'].'[/url]';
|
||||
|
||||
if (!in_array($contact,$tags)) {
|
||||
$body = $contact.' '.$body;
|
||||
|
@ -638,9 +631,10 @@ function item_post(&$a) {
|
|||
intval($mtch)
|
||||
);
|
||||
if (dbm::is_result($r)) {
|
||||
if(strlen($attachments))
|
||||
if (strlen($attachments)) {
|
||||
$attachments .= ',';
|
||||
$attachments .= '[attach]href="' . $a->get_baseurl() . '/attach/' . $r[0]['id'] . '" length="' . $r[0]['filesize'] . '" type="' . $r[0]['filetype'] . '" title="' . (($r[0]['filename']) ? $r[0]['filename'] : '') . '"[/attach]';
|
||||
}
|
||||
$attachments .= '[attach]href="' . App::get_baseurl() . '/attach/' . $r[0]['id'] . '" length="' . $r[0]['filesize'] . '" type="' . $r[0]['filetype'] . '" title="' . (($r[0]['filename']) ? $r[0]['filename'] : '') . '"[/attach]';
|
||||
}
|
||||
$body = str_replace($match[1],'',$body);
|
||||
}
|
||||
|
@ -648,14 +642,17 @@ function item_post(&$a) {
|
|||
|
||||
$wall = 0;
|
||||
|
||||
if($post_type === 'wall' || $post_type === 'wall-comment')
|
||||
if ($post_type === 'wall' || $post_type === 'wall-comment') {
|
||||
$wall = 1;
|
||||
}
|
||||
|
||||
if(! strlen($verb))
|
||||
if (! strlen($verb)) {
|
||||
$verb = ACTIVITY_POST ;
|
||||
}
|
||||
|
||||
if ($network == "")
|
||||
if ($network == "") {
|
||||
$network = NETWORK_DFRN;
|
||||
}
|
||||
|
||||
$gravity = (($parent) ? 6 : 0 );
|
||||
|
||||
|
@ -669,8 +666,9 @@ function item_post(&$a) {
|
|||
$uri = (($message_id) ? $message_id : item_new_uri($a->get_hostname(),$profile_uid, $guid));
|
||||
|
||||
// Fallback so that we alway have a thr-parent
|
||||
if(!$thr_parent)
|
||||
if (!$thr_parent) {
|
||||
$thr_parent = $uri;
|
||||
}
|
||||
|
||||
$datarray = array();
|
||||
$datarray['uid'] = $profile_uid;
|
||||
|
@ -732,7 +730,7 @@ function item_post(&$a) {
|
|||
// $datarray['prvnets'] = $user['prvnets'];
|
||||
|
||||
$datarray['parent-uri'] = ($parent == 0) ? $uri : $parent_item['uri'];
|
||||
$datarray['plink'] = $a->get_baseurl().'/display/'.urlencode($datarray['guid']);
|
||||
$datarray['plink'] = App::get_baseurl().'/display/'.urlencode($datarray['guid']);
|
||||
$datarray['last-child'] = 1;
|
||||
$datarray['visible'] = 1;
|
||||
|
||||
|
@ -765,8 +763,9 @@ function item_post(&$a) {
|
|||
}
|
||||
|
||||
$json = array('cancel' => 1);
|
||||
if(x($_REQUEST,'jsreload') && strlen($_REQUEST['jsreload']))
|
||||
$json['reload'] = $a->get_baseurl() . '/' . $_REQUEST['jsreload'];
|
||||
if (x($_REQUEST,'jsreload') && strlen($_REQUEST['jsreload'])) {
|
||||
$json['reload'] = App::get_baseurl() . '/' . $_REQUEST['jsreload'];
|
||||
}
|
||||
|
||||
echo json_encode($json);
|
||||
killme();
|
||||
|
@ -938,7 +937,7 @@ function item_post(&$a) {
|
|||
'to_email' => $user['email'],
|
||||
'uid' => $user['uid'],
|
||||
'item' => $datarray,
|
||||
'link' => $a->get_baseurl().'/display/'.urlencode($datarray['guid']),
|
||||
'link' => App::get_baseurl().'/display/'.urlencode($datarray['guid']),
|
||||
'source_name' => $datarray['author-name'],
|
||||
'source_link' => $datarray['author-link'],
|
||||
'source_photo' => $datarray['author-avatar'],
|
||||
|
@ -952,7 +951,7 @@ function item_post(&$a) {
|
|||
|
||||
|
||||
// Store the comment signature information in case we need to relay to Diaspora
|
||||
diaspora::store_comment_signature($datarray, $author, ($self ? $user['prvkey'] : false), $post_id);
|
||||
Diaspora::store_comment_signature($datarray, $author, ($self ? $user['prvkey'] : false), $post_id);
|
||||
|
||||
} else {
|
||||
$parent = $post_id;
|
||||
|
@ -970,7 +969,7 @@ function item_post(&$a) {
|
|||
'to_email' => $user['email'],
|
||||
'uid' => $user['uid'],
|
||||
'item' => $datarray,
|
||||
'link' => $a->get_baseurl().'/display/'.urlencode($datarray['guid']),
|
||||
'link' => App::get_baseurl().'/display/'.urlencode($datarray['guid']),
|
||||
'source_name' => $datarray['author-name'],
|
||||
'source_link' => $datarray['author-link'],
|
||||
'source_photo' => $datarray['author-avatar'],
|
||||
|
@ -991,14 +990,14 @@ function item_post(&$a) {
|
|||
continue;
|
||||
$disclaimer = '<hr />' . sprintf( t('This message was sent to you by %s, a member of the Friendica social network.'),$a->user['username'])
|
||||
. '<br />';
|
||||
$disclaimer .= sprintf( t('You may visit them online at %s'), $a->get_baseurl() . '/profile/' . $a->user['nickname']) . EOL;
|
||||
$disclaimer .= sprintf( t('You may visit them online at %s'), App::get_baseurl() . '/profile/' . $a->user['nickname']) . EOL;
|
||||
$disclaimer .= t('Please contact the sender by replying to this post if you do not wish to receive these messages.') . EOL;
|
||||
if (!$datarray['title']=='') {
|
||||
$subject = email_header_encode($datarray['title'],'UTF-8');
|
||||
} else {
|
||||
$subject = email_header_encode('[Friendica]' . ' ' . sprintf( t('%s posted an update.'),$a->user['username']),'UTF-8');
|
||||
}
|
||||
$link = '<a href="' . $a->get_baseurl() . '/profile/' . $a->user['nickname'] . '"><img src="' . $author['thumb'] . '" alt="' . $a->user['username'] . '" /></a><br /><br />';
|
||||
$link = '<a href="' . App::get_baseurl() . '/profile/' . $a->user['nickname'] . '"><img src="' . $author['thumb'] . '" alt="' . $a->user['username'] . '" /></a><br /><br />';
|
||||
$html = prepare_body($datarray);
|
||||
$message = '<html><body>' . $link . $html . $disclaimer . '</body></html>';
|
||||
include_once('include/html2plain.php');
|
||||
|
@ -1038,7 +1037,7 @@ function item_post(&$a) {
|
|||
|
||||
logger('post_complete');
|
||||
|
||||
item_post_return($a->get_baseurl(), $api_source, $return_path);
|
||||
item_post_return(App::get_baseurl(), $api_source, $return_path);
|
||||
// NOTREACHED
|
||||
}
|
||||
|
||||
|
@ -1048,13 +1047,14 @@ function item_post_return($baseurl, $api_source, $return_path) {
|
|||
if($api_source)
|
||||
return;
|
||||
|
||||
if($return_path) {
|
||||
if ($return_path) {
|
||||
goaway($return_path);
|
||||
}
|
||||
|
||||
$json = array('success' => 1);
|
||||
if(x($_REQUEST,'jsreload') && strlen($_REQUEST['jsreload']))
|
||||
if (x($_REQUEST,'jsreload') && strlen($_REQUEST['jsreload'])) {
|
||||
$json['reload'] = $baseurl . '/' . $_REQUEST['jsreload'];
|
||||
}
|
||||
|
||||
logger('post_json: ' . print_r($json,true), LOGGER_DEBUG);
|
||||
|
||||
|
@ -1066,15 +1066,16 @@ function item_post_return($baseurl, $api_source, $return_path) {
|
|||
|
||||
function item_content(&$a) {
|
||||
|
||||
if((! local_user()) && (! remote_user()))
|
||||
if ((! local_user()) && (! remote_user())) {
|
||||
return;
|
||||
}
|
||||
|
||||
require_once('include/security.php');
|
||||
|
||||
$o = '';
|
||||
if(($a->argc == 3) && ($a->argv[1] === 'drop') && intval($a->argv[2])) {
|
||||
if (($a->argc == 3) && ($a->argv[1] === 'drop') && intval($a->argv[2])) {
|
||||
$o = drop_item($a->argv[2], !is_ajax());
|
||||
if (is_ajax()){
|
||||
if (is_ajax()) {
|
||||
// ajax return: [<item id>, 0 (no perm) | <owner id>]
|
||||
echo json_encode(array(intval($a->argv[2]), intval($o)));
|
||||
killme();
|
||||
|
@ -1087,6 +1088,7 @@ function item_content(&$a) {
|
|||
* This function removes the tag $tag from the text $body and replaces it with
|
||||
* the appropiate link.
|
||||
*
|
||||
* @param App $a Application instance @TODO is unused in this function's scope (excluding included files)
|
||||
* @param unknown_type $body the text to replace the tag in
|
||||
* @param string $inform a comma-seperated string containing everybody to inform
|
||||
* @param string $str_tags string to add the tag to
|
||||
|
@ -1104,13 +1106,14 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag, $netwo
|
|||
$r = null;
|
||||
|
||||
//is it a person tag?
|
||||
if(strpos($tag,'@') === 0) {
|
||||
if (strpos($tag,'@') === 0) {
|
||||
//is it already replaced?
|
||||
if(strpos($tag,'[url=')) {
|
||||
if (strpos($tag,'[url=')) {
|
||||
//append tag to str_tags
|
||||
if(!stristr($str_tags,$tag)) {
|
||||
if(strlen($str_tags))
|
||||
if (!stristr($str_tags,$tag)) {
|
||||
if (strlen($str_tags)) {
|
||||
$str_tags .= ',';
|
||||
}
|
||||
$str_tags .= $tag;
|
||||
}
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@ function like_content(&$a) {
|
|||
// See if we've been passed a return path to redirect to
|
||||
$return_path = ((x($_REQUEST,'return')) ? $_REQUEST['return'] : '');
|
||||
|
||||
like_content_return($a->get_baseurl(), $return_path);
|
||||
like_content_return(App::get_baseurl(), $return_path);
|
||||
killme(); // NOTREACHED
|
||||
// return; // NOTREACHED
|
||||
}
|
||||
|
|
|
@ -36,7 +36,7 @@ function localtime_content(&$a) {
|
|||
$o .= '<p>' . sprintf( t('Converted localtime: %s'),$a->data['mod-localtime']) . '</p>';
|
||||
|
||||
|
||||
$o .= '<form action ="' . $a->get_baseurl() . '/localtime?f=&time=' . $t . '" method="post" >';
|
||||
$o .= '<form action ="' . App::get_baseurl() . '/localtime?f=&time=' . $t . '" method="post" >';
|
||||
|
||||
$o .= '<p>' . t('Please select your timezone:') . '</p>';
|
||||
|
||||
|
|
|
@ -21,8 +21,9 @@ function lockview_content(&$a) {
|
|||
dbesc($type),
|
||||
intval($item_id)
|
||||
);
|
||||
if(! dbm::is_result($r))
|
||||
if (! dbm::is_result($r)) {
|
||||
killme();
|
||||
}
|
||||
$item = $r[0];
|
||||
|
||||
call_hooks('lockview_content', $item);
|
||||
|
|
|
@ -15,7 +15,7 @@ function lostpass_post(&$a) {
|
|||
dbesc($loginame)
|
||||
);
|
||||
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
notice( t('No valid account found.') . EOL);
|
||||
goaway(z_root());
|
||||
}
|
||||
|
@ -36,8 +36,7 @@ function lostpass_post(&$a) {
|
|||
|
||||
|
||||
$sitename = $a->config['sitename'];
|
||||
$siteurl = $a->get_baseurl();
|
||||
$resetlink = $a->get_baseurl() . '/lostpass?verify=' . $new_password;
|
||||
$resetlink = App::get_baseurl() . '/lostpass?verify=' . $new_password;
|
||||
|
||||
$preamble = deindent(t('
|
||||
Dear %1$s,
|
||||
|
@ -64,7 +63,7 @@ function lostpass_post(&$a) {
|
|||
Login Name: %3$s'));
|
||||
|
||||
$preamble = sprintf($preamble, $username, $sitename);
|
||||
$body = sprintf($body, $resetlink, $siteurl, $email);
|
||||
$body = sprintf($body, $resetlink, App::get_baseurl(), $email);
|
||||
|
||||
notification(array(
|
||||
'type' => "SYSTEM_EMAIL",
|
||||
|
@ -88,7 +87,7 @@ function lostpass_content(&$a) {
|
|||
$r = q("SELECT * FROM `user` WHERE `pwdreset` = '%s' LIMIT 1",
|
||||
dbesc($hash)
|
||||
);
|
||||
if(! dbm::is_result($r)) {
|
||||
if (! dbm::is_result($r)) {
|
||||
$o = t("Request could not be verified. \x28You may have previously submitted it.\x29 Password reset failed.");
|
||||
return $o;
|
||||
}
|
||||
|
@ -103,24 +102,23 @@ function lostpass_content(&$a) {
|
|||
dbesc($new_password_encoded),
|
||||
intval($uid)
|
||||
);
|
||||
if($r) {
|
||||
if ($r) {
|
||||
$tpl = get_markup_template('pwdreset.tpl');
|
||||
$o .= replace_macros($tpl,array(
|
||||
'$lbl1' => t('Password Reset'),
|
||||
'$lbl2' => t('Your password has been reset as requested.'),
|
||||
'$lbl3' => t('Your new password is'),
|
||||
'$lbl4' => t('Save or copy your new password - and then'),
|
||||
'$lbl5' => '<a href="' . $a->get_baseurl() . '">' . t('click here to login') . '</a>.',
|
||||
'$lbl5' => '<a href="' . App::get_baseurl() . '">' . t('click here to login') . '</a>.',
|
||||
'$lbl6' => t('Your password may be changed from the <em>Settings</em> page after successful login.'),
|
||||
'$newpass' => $new_password,
|
||||
'$baseurl' => $a->get_baseurl()
|
||||
'$baseurl' => App::get_baseurl()
|
||||
|
||||
));
|
||||
info("Your password has been reset." . EOL);
|
||||
|
||||
|
||||
$sitename = $a->config['sitename'];
|
||||
$siteurl = $a->get_baseurl();
|
||||
// $username, $email, $new_password
|
||||
$preamble = deindent(t('
|
||||
Dear %1$s,
|
||||
|
@ -139,7 +137,7 @@ function lostpass_content(&$a) {
|
|||
'));
|
||||
|
||||
$preamble = sprintf($preamble, $username);
|
||||
$body = sprintf($body, $siteurl, $email, $new_password);
|
||||
$body = sprintf($body, App::get_baseurl(), $email, $new_password);
|
||||
|
||||
notification(array(
|
||||
'type' => "SYSTEM_EMAIL",
|
||||
|
|
|
@ -5,8 +5,9 @@ require_once("include/text.php");
|
|||
|
||||
function manage_post(&$a) {
|
||||
|
||||
if(! local_user())
|
||||
if (! local_user()) {
|
||||
return;
|
||||
}
|
||||
|
||||
$uid = local_user();
|
||||
$orig_record = $a->user;
|
||||
|
@ -56,8 +57,9 @@ function manage_post(&$a) {
|
|||
);
|
||||
}
|
||||
|
||||
if(! dbm::is_result($r))
|
||||
if (! dbm::is_result($r)) {
|
||||
return;
|
||||
}
|
||||
|
||||
unset($_SESSION['authenticated']);
|
||||
unset($_SESSION['uid']);
|
||||
|
@ -84,7 +86,7 @@ function manage_post(&$a) {
|
|||
$ret = array();
|
||||
call_hooks('home_init',$ret);
|
||||
|
||||
goaway( $a->get_baseurl() . "/profile/" . $a->user['nickname'] );
|
||||
goaway( App::get_baseurl() . "/profile/" . $a->user['nickname'] );
|
||||
// NOTREACHED
|
||||
}
|
||||
|
||||
|
@ -92,7 +94,7 @@ function manage_post(&$a) {
|
|||
|
||||
function manage_content(&$a) {
|
||||
|
||||
if(! local_user()) {
|
||||
if (! local_user()) {
|
||||
notice( t('Permission denied.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user