Merge remote-tracking branch 'upstream/dev' into wiki
|
@ -34,7 +34,7 @@ class Cron_daily {
|
|||
|
||||
// expire any read notifications over a month old
|
||||
|
||||
q("delete from notify where seen = 1 and date < %s - INTERVAL %s",
|
||||
q("delete from notify where seen = 1 and created < %s - INTERVAL %s",
|
||||
db_utcnow(), db_quoteinterval('30 DAY')
|
||||
);
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@ class Hook {
|
|||
$function = serialize($function);
|
||||
}
|
||||
|
||||
$r = q("SELECT * FROM `hook` WHERE `hook` = '%s' AND `file` = '%s' AND `function` = '%s' and priority = %d and hook_version = %d LIMIT 1",
|
||||
$r = q("SELECT * FROM `hook` WHERE `hook` = '%s' AND `file` = '%s' AND `fn` = '%s' and priority = %d and hook_version = %d LIMIT 1",
|
||||
dbesc($hook),
|
||||
dbesc($file),
|
||||
dbesc($function),
|
||||
|
@ -23,13 +23,13 @@ class Hook {
|
|||
// To aid in upgrade and transition, remove old settings for any registered hooks that match in all respects except
|
||||
// for priority or hook_version
|
||||
|
||||
$r = q("DELETE FROM `hook` where `hook` = '%s' and `file` = '%s' and `function` = '%s'",
|
||||
$r = q("DELETE FROM `hook` where `hook` = '%s' and `file` = '%s' and `fn` = '%s'",
|
||||
dbesc($hook),
|
||||
dbesc($file),
|
||||
dbesc($function)
|
||||
);
|
||||
|
||||
$r = q("INSERT INTO `hook` (`hook`, `file`, `function`, `priority`, `hook_version`) VALUES ( '%s', '%s', '%s', %d, %d )",
|
||||
$r = q("INSERT INTO `hook` (`hook`, `file`, `fn`, `priority`, `hook_version`) VALUES ( '%s', '%s', '%s', %d, %d )",
|
||||
dbesc($hook),
|
||||
dbesc($file),
|
||||
dbesc($function),
|
||||
|
@ -44,7 +44,7 @@ class Hook {
|
|||
if(is_array($function)) {
|
||||
$function = serialize($function);
|
||||
}
|
||||
$r = q("DELETE FROM hook WHERE hook = '%s' AND `file` = '%s' AND `function` = '%s' and priority = %d and hook_version = %d",
|
||||
$r = q("DELETE FROM hook WHERE hook = '%s' AND `file` = '%s' AND `fn` = '%s' and priority = %d and hook_version = %d",
|
||||
dbesc($hook),
|
||||
dbesc($file),
|
||||
dbesc($function),
|
||||
|
|
|
@ -13,6 +13,8 @@ require_once('include/channel.php');
|
|||
|
||||
class Apps {
|
||||
|
||||
static public $installed_system_apps = null;
|
||||
|
||||
static public function get_system_apps($translate = true) {
|
||||
|
||||
$ret = array();
|
||||
|
@ -49,22 +51,62 @@ class Apps {
|
|||
static public function import_system_apps() {
|
||||
if(! local_channel())
|
||||
return;
|
||||
|
||||
// Eventually we want to look at modification dates and update system apps.
|
||||
|
||||
$installed = get_pconfig(local_channel(),'system','apps_installed');
|
||||
if($installed)
|
||||
return;
|
||||
$apps = self::get_system_apps(false);
|
||||
|
||||
|
||||
self::$installed_system_apps = q("select * from app where app_system = 1 and app_channel = %d",
|
||||
intval(local_channel())
|
||||
);
|
||||
|
||||
if($apps) {
|
||||
foreach($apps as $app) {
|
||||
$id = self::check_install_system_app($app);
|
||||
// $id will be boolean true or false to install an app, or an integer id to update an existing app
|
||||
if($id === false)
|
||||
continue;
|
||||
if($id !== true) {
|
||||
// if we already installed this app, but it changed, preserve any categories we created
|
||||
$s = '';
|
||||
$r = q("select * from term where otype = %d and oid = d",
|
||||
intval(TERM_OBJ_APP),
|
||||
intval($id)
|
||||
);
|
||||
if($r) {
|
||||
foreach($r as $t) {
|
||||
if($s)
|
||||
$s .= ',';
|
||||
$s .= $t['term'];
|
||||
}
|
||||
$app['categories'] = $s;
|
||||
}
|
||||
}
|
||||
$app['uid'] = local_channel();
|
||||
$app['guid'] = hash('whirlpool',$app['name']);
|
||||
$app['system'] = 1;
|
||||
self::app_install(local_channel(),$app);
|
||||
self::app_install(local_channel(),$app);
|
||||
}
|
||||
}
|
||||
set_pconfig(local_channel(),'system','apps_installed',1);
|
||||
}
|
||||
|
||||
/**
|
||||
* Install the system app if no system apps have been installed, or if a new system app
|
||||
* is discovered, or if the version of a system app changes.
|
||||
*/
|
||||
|
||||
static public function check_install_system_app($app) {
|
||||
if((! is_array(self::$installed_system_apps)) || (! count(self::$installed_system_apps))) {
|
||||
return true;
|
||||
}
|
||||
$notfound = true;
|
||||
foreach(self::$installed_system_apps as $iapp) {
|
||||
if($iapp['app_id'] == hash('whirlpool',$app['name'])) {
|
||||
$notfound = false;
|
||||
if($iapp['app_version'] != $app['version']) {
|
||||
return intval($iapp['app_id']);
|
||||
}
|
||||
}
|
||||
}
|
||||
return $notfound;
|
||||
}
|
||||
|
||||
|
||||
|
@ -111,6 +153,10 @@ class Apps {
|
|||
if(array_key_exists('target',$ret))
|
||||
$ret['target'] = str_replace(array('\'','"'),array(''','&dquot;'),$ret['target']);
|
||||
|
||||
if(array_key_exists('version',$ret))
|
||||
$ret['version'] = str_replace(array('\'','"'),array(''','&dquot;'),$ret['version']);
|
||||
|
||||
|
||||
if(array_key_exists('requires',$ret)) {
|
||||
$requires = explode(',',$ret['requires']);
|
||||
foreach($requires as $require) {
|
||||
|
|
166
Zotlabs/Lib/Config.php
Normal file
|
@ -0,0 +1,166 @@
|
|||
<?php /** @file */
|
||||
|
||||
namespace Zotlabs\Lib;
|
||||
|
||||
|
||||
class Config {
|
||||
|
||||
/**
|
||||
* @brief Loads the hub's configuration from database to a cached storage.
|
||||
*
|
||||
* Retrieve a category ($family) of config variables from database to a cached
|
||||
* storage in the global App::$config[$family].
|
||||
*
|
||||
* @param string $family
|
||||
* The category of the configuration value
|
||||
*/
|
||||
|
||||
static public function Load($family) {
|
||||
if(! array_key_exists($family, \App::$config))
|
||||
\App::$config[$family] = array();
|
||||
|
||||
if(! array_key_exists('config_loaded', \App::$config[$family])) {
|
||||
$r = q("SELECT * FROM config WHERE cat = '%s'", dbesc($family));
|
||||
if($r !== false) {
|
||||
if($r) {
|
||||
foreach($r as $rr) {
|
||||
$k = $rr['k'];
|
||||
\App::$config[$family][$k] = $rr['v'];
|
||||
}
|
||||
}
|
||||
\App::$config[$family]['config_loaded'] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Sets a configuration value for the hub.
|
||||
*
|
||||
* Stores a config value ($value) in the category ($family) under the key ($key).
|
||||
*
|
||||
* @param string $family
|
||||
* The category of the configuration value
|
||||
* @param string $key
|
||||
* The configuration key to set
|
||||
* @param mixed $value
|
||||
* The value to store in the configuration
|
||||
* @return mixed
|
||||
* Return the set value, or false if the database update failed
|
||||
*/
|
||||
|
||||
static public function Set($family,$key,$value) {
|
||||
// manage array value
|
||||
$dbvalue = ((is_array($value)) ? serialize($value) : $value);
|
||||
$dbvalue = ((is_bool($dbvalue)) ? intval($dbvalue) : $dbvalue);
|
||||
|
||||
if(get_config($family, $key) === false || (! self::get_from_storage($family, $key))) {
|
||||
$ret = q("INSERT INTO config ( cat, k, v ) VALUES ( '%s', '%s', '%s' ) ",
|
||||
dbesc($family),
|
||||
dbesc($key),
|
||||
dbesc($dbvalue)
|
||||
);
|
||||
if($ret) {
|
||||
\App::$config[$family][$key] = $value;
|
||||
$ret = $value;
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
$ret = q("UPDATE config SET v = '%s' WHERE cat = '%s' AND k = '%s'",
|
||||
dbesc($dbvalue),
|
||||
dbesc($family),
|
||||
dbesc($key)
|
||||
);
|
||||
|
||||
if($ret) {
|
||||
\App::$config[$family][$key] = $value;
|
||||
$ret = $value;
|
||||
}
|
||||
return $ret;
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get a particular config variable given the category name ($family)
|
||||
* and a key.
|
||||
*
|
||||
* Get a particular config variable from the given category ($family) and the
|
||||
* $key from a cached storage in App::$config[$family]. If a key is found in the
|
||||
* DB but does not exist in local config cache, pull it into the cache so we
|
||||
* do not have to hit the DB again for this item.
|
||||
*
|
||||
* Returns false if not set.
|
||||
*
|
||||
* @param string $family
|
||||
* The category of the configuration value
|
||||
* @param string $key
|
||||
* The configuration key to query
|
||||
* @return mixed Return value or false on error or if not set
|
||||
*/
|
||||
|
||||
static public function Get($family,$key) {
|
||||
if((! array_key_exists($family, \App::$config)) || (! array_key_exists('config_loaded', \App::$config[$family])))
|
||||
self::Load($family);
|
||||
|
||||
if(array_key_exists('config_loaded', \App::$config[$family])) {
|
||||
if(! array_key_exists($key, \App::$config[$family])) {
|
||||
return false;
|
||||
}
|
||||
return ((! is_array(\App::$config[$family][$key])) && (preg_match('|^a:[0-9]+:{.*}$|s', \App::$config[$family][$key]))
|
||||
? unserialize(\App::$config[$family][$key])
|
||||
: \App::$config[$family][$key]
|
||||
);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Deletes the given key from the hub's configuration database.
|
||||
*
|
||||
* Removes the configured value from the stored cache in App::$config[$family]
|
||||
* and removes it from the database.
|
||||
*
|
||||
* @param string $family
|
||||
* The category of the configuration value
|
||||
* @param string $key
|
||||
* The configuration key to delete
|
||||
* @return mixed
|
||||
*/
|
||||
|
||||
static public function Delete($family,$key) {
|
||||
|
||||
$ret = false;
|
||||
|
||||
if(array_key_exists($family, \App::$config) && array_key_exists($key, \App::$config[$family]))
|
||||
unset(\App::$config[$family][$key]);
|
||||
$ret = q("DELETE FROM config WHERE cat = '%s' AND k = '%s'",
|
||||
dbesc($family),
|
||||
dbesc($key)
|
||||
);
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @brief Returns a value directly from the database configuration storage.
|
||||
*
|
||||
* This function queries directly the database and bypasses the chached storage
|
||||
* from get_config($family, $key).
|
||||
*
|
||||
* @param string $family
|
||||
* The category of the configuration value
|
||||
* @param string $key
|
||||
* The configuration key to query
|
||||
* @return mixed
|
||||
*/
|
||||
|
||||
static private function get_from_storage($family,$key) {
|
||||
$ret = q("SELECT * FROM config WHERE cat = '%s' AND k = '%s' LIMIT 1",
|
||||
dbesc($family),
|
||||
dbesc($key)
|
||||
);
|
||||
return $ret;
|
||||
}
|
||||
|
||||
}
|
|
@ -348,7 +348,7 @@ class Enotify {
|
|||
$hash = random_string();
|
||||
$r = q("SELECT `id` FROM `notify` WHERE `hash` = '%s' LIMIT 1",
|
||||
dbesc($hash));
|
||||
if (count($r))
|
||||
if ($r)
|
||||
$dups = true;
|
||||
} while ($dups === true);
|
||||
|
||||
|
@ -356,16 +356,16 @@ class Enotify {
|
|||
$datarray = array();
|
||||
$datarray['hash'] = $hash;
|
||||
$datarray['sender_hash'] = $sender['xchan_hash'];
|
||||
$datarray['name'] = $sender['xchan_name'];
|
||||
$datarray['xname'] = $sender['xchan_name'];
|
||||
$datarray['url'] = $sender['xchan_url'];
|
||||
$datarray['photo'] = $sender['xchan_photo_s'];
|
||||
$datarray['date'] = datetime_convert();
|
||||
$datarray['created'] = datetime_convert();
|
||||
$datarray['aid'] = $recip['channel_account_id'];
|
||||
$datarray['uid'] = $recip['channel_id'];
|
||||
$datarray['link'] = $itemlink;
|
||||
$datarray['parent'] = $parent_mid;
|
||||
$datarray['parent_item'] = $parent_item;
|
||||
$datarray['type'] = $params['type'];
|
||||
$datarray['ntype'] = $params['type'];
|
||||
$datarray['verb'] = $params['verb'];
|
||||
$datarray['otype'] = $params['otype'];
|
||||
$datarray['abort'] = false;
|
||||
|
@ -394,19 +394,19 @@ class Enotify {
|
|||
}
|
||||
}
|
||||
|
||||
$r = q("insert into notify (hash,name,url,photo,date,aid,uid,link,parent,seen,type,verb,otype)
|
||||
$r = q("insert into notify (hash,xname,url,photo,created,aid,uid,link,parent,seen,ntype,verb,otype)
|
||||
values('%s','%s','%s','%s','%s',%d,%d,'%s','%s',%d,%d,'%s','%s')",
|
||||
dbesc($datarray['hash']),
|
||||
dbesc($datarray['name']),
|
||||
dbesc($datarray['xname']),
|
||||
dbesc($datarray['url']),
|
||||
dbesc($datarray['photo']),
|
||||
dbesc($datarray['date']),
|
||||
dbesc($datarray['created']),
|
||||
intval($datarray['aid']),
|
||||
intval($datarray['uid']),
|
||||
dbesc($datarray['link']),
|
||||
dbesc($datarray['parent']),
|
||||
intval($seen),
|
||||
intval($datarray['type']),
|
||||
intval($datarray['ntype']),
|
||||
dbesc($datarray['verb']),
|
||||
dbesc($datarray['otype'])
|
||||
);
|
||||
|
|
|
@ -53,13 +53,13 @@ class Acl extends \Zotlabs\Web\Controller {
|
|||
|
||||
if ($type=='' || $type=='g'){
|
||||
|
||||
$r = q("SELECT `groups`.`id`, `groups`.`hash`, `groups`.`name`
|
||||
$r = q("SELECT `groups`.`id`, `groups`.`hash`, `groups`.`gname`
|
||||
FROM `groups`,`group_member`
|
||||
WHERE `groups`.`deleted` = 0 AND `groups`.`uid` = %d
|
||||
AND `group_member`.`gid`=`groups`.`id`
|
||||
$sql_extra
|
||||
GROUP BY `groups`.`id`
|
||||
ORDER BY `groups`.`name`
|
||||
ORDER BY `groups`.`gname`
|
||||
LIMIT %d OFFSET %d",
|
||||
intval(local_channel()),
|
||||
intval($count),
|
||||
|
@ -67,11 +67,11 @@ class Acl extends \Zotlabs\Web\Controller {
|
|||
);
|
||||
|
||||
foreach($r as $g){
|
||||
// logger('acl: group: ' . $g['name'] . ' members: ' . group_get_members_xchan($g['id']));
|
||||
// logger('acl: group: ' . $g['gname'] . ' members: ' . group_get_members_xchan($g['id']));
|
||||
$groups[] = array(
|
||||
"type" => "g",
|
||||
"photo" => "images/twopeople.png",
|
||||
"name" => $g['name'],
|
||||
"name" => $g['gname'],
|
||||
"id" => $g['id'],
|
||||
"xid" => $g['hash'],
|
||||
"uids" => group_get_members_xchan($g['id']),
|
||||
|
|
|
@ -1291,7 +1291,7 @@ class Admin extends \Zotlabs\Web\Controller {
|
|||
|
||||
$admin_form = '';
|
||||
|
||||
$r = q("select * from addon where plugin_admin = 1 and name = '%s' limit 1",
|
||||
$r = q("select * from addon where plugin_admin = 1 and aname = '%s' limit 1",
|
||||
dbesc($plugin)
|
||||
);
|
||||
|
||||
|
|
|
@ -107,7 +107,7 @@ class Api extends \Zotlabs\Web\Controller {
|
|||
$r = q("SELECT `clients`.*
|
||||
FROM `clients`, `tokens`
|
||||
WHERE `clients`.`client_id`=`tokens`.`client_id`
|
||||
AND `tokens`.`id`='%s' AND `tokens`.`scope`='request'",
|
||||
AND `tokens`.`id`='%s' AND `tokens`.`auth_scope`='request'",
|
||||
dbesc($token));
|
||||
|
||||
if (!count($r))
|
||||
|
|
|
@ -40,7 +40,7 @@ class Attach extends \Zotlabs\Web\Controller {
|
|||
|
||||
header('Content-disposition: attachment; filename="' . $r['data']['filename'] . '"');
|
||||
if(intval($r['data']['os_storage'])) {
|
||||
$fname = dbunescbin($r['data']['data']);
|
||||
$fname = dbunescbin($r['data']['content']);
|
||||
if(strpos($fname,'store') !== false)
|
||||
$istream = fopen($fname,'rb');
|
||||
else
|
||||
|
@ -53,7 +53,7 @@ class Attach extends \Zotlabs\Web\Controller {
|
|||
}
|
||||
}
|
||||
else
|
||||
echo dbunescbin($r['data']['data']);
|
||||
echo dbunescbin($r['data']['content']);
|
||||
killme();
|
||||
|
||||
}
|
||||
|
|
|
@ -91,7 +91,7 @@ class Cal extends \Zotlabs\Web\Controller {
|
|||
$mode = 'view';
|
||||
$y = 0;
|
||||
$m = 0;
|
||||
$ignored = ((x($_REQUEST,'ignored')) ? " and ignored = " . intval($_REQUEST['ignored']) . " " : '');
|
||||
$ignored = ((x($_REQUEST,'ignored')) ? " and dismissed = " . intval($_REQUEST['ignored']) . " " : '');
|
||||
|
||||
// logger('args: ' . print_r(\App::$argv,true));
|
||||
|
||||
|
@ -146,7 +146,7 @@ class Cal extends \Zotlabs\Web\Controller {
|
|||
$ftext = datetime_convert('UTC',$tz,$fdt);
|
||||
$ftext = substr($ftext,0,14) . "00:00";
|
||||
|
||||
$type = ((x($orig_event)) ? $orig_event['type'] : 'event');
|
||||
$type = ((x($orig_event)) ? $orig_event['etype'] : 'event');
|
||||
|
||||
$f = get_config('system','event_input_format');
|
||||
if(! $f)
|
||||
|
@ -157,7 +157,7 @@ class Cal extends \Zotlabs\Web\Controller {
|
|||
|
||||
$show_bd = perm_is_allowed($channel['channel_id'], get_observer_hash(), 'view_contacts');
|
||||
if(! $show_bd) {
|
||||
$sql_extra .= " and event.type != 'birthday' ";
|
||||
$sql_extra .= " and event.etype != 'birthday' ";
|
||||
}
|
||||
|
||||
|
||||
|
@ -225,8 +225,8 @@ class Cal extends \Zotlabs\Web\Controller {
|
|||
$r = q("SELECT event.*, item.plink, item.item_flags, item.author_xchan, item.owner_xchan
|
||||
from event left join item on event_hash = resource_id
|
||||
where resource_type = 'event' and event.uid = %d $ignored
|
||||
AND (( adjust = 0 AND ( finish >= '%s' or nofinish = 1 ) AND start <= '%s' )
|
||||
OR ( adjust = 1 AND ( finish >= '%s' or nofinish = 1 ) AND start <= '%s' )) $sql_extra ",
|
||||
AND (( adjust = 0 AND ( dtend >= '%s' or nofinish = 1 ) AND dtstart <= '%s' )
|
||||
OR ( adjust = 1 AND ( dtend >= '%s' or nofinish = 1 ) AND dtstart <= '%s' )) $sql_extra ",
|
||||
intval($channel['channel_id']),
|
||||
dbesc($start),
|
||||
dbesc($finish),
|
||||
|
@ -247,7 +247,7 @@ class Cal extends \Zotlabs\Web\Controller {
|
|||
|
||||
if($r) {
|
||||
foreach($r as $rr) {
|
||||
$j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'j') : datetime_convert('UTC','UTC',$rr['start'],'j'));
|
||||
$j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['dtstart'], 'j') : datetime_convert('UTC','UTC',$rr['dtstart'],'j'));
|
||||
if(! x($links,$j))
|
||||
$links[$j] = z_root() . '/' . \App::$cmd . '#link-' . $j;
|
||||
}
|
||||
|
@ -262,15 +262,15 @@ class Cal extends \Zotlabs\Web\Controller {
|
|||
|
||||
foreach($r as $rr) {
|
||||
|
||||
$j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'j') : datetime_convert('UTC','UTC',$rr['start'],'j'));
|
||||
$d = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], $fmt) : datetime_convert('UTC','UTC',$rr['start'],$fmt));
|
||||
$j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['dtstart'], 'j') : datetime_convert('UTC','UTC',$rr['dtstart'],'j'));
|
||||
$d = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['dtstart'], $fmt) : datetime_convert('UTC','UTC',$rr['dtstart'],$fmt));
|
||||
$d = day_translate($d);
|
||||
|
||||
$start = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'c') : datetime_convert('UTC','UTC',$rr['start'],'c'));
|
||||
$start = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['dtstart'], 'c') : datetime_convert('UTC','UTC',$rr['dtstart'],'c'));
|
||||
if ($rr['nofinish']){
|
||||
$end = null;
|
||||
} else {
|
||||
$end = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['finish'], 'c') : datetime_convert('UTC','UTC',$rr['finish'],'c'));
|
||||
$end = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['dtend'], 'c') : datetime_convert('UTC','UTC',$rr['dtend'],'c'));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -243,7 +243,7 @@ class Chat extends \Zotlabs\Web\Controller {
|
|||
$rooms = Zlib\Chatroom::roomlist(\App::$profile['profile_uid']);
|
||||
|
||||
$o .= replace_macros(get_markup_template('chatrooms.tpl'), array(
|
||||
'$header' => sprintf( t('%1$s\'s Chatrooms'), \App::$profile['name']),
|
||||
'$header' => sprintf( t('%1$s\'s Chatrooms'), \App::$profile['fullname']),
|
||||
'$name' => t('Name'),
|
||||
'$baseurl' => z_root(),
|
||||
'$nickname' => \App::$profile['channel_address'],
|
||||
|
|
|
@ -270,7 +270,7 @@ class Connedit extends \Zotlabs\Web\Controller {
|
|||
array('rel' => 'photo', 'type' => \App::$poi['xchan_photo_mimetype'], 'href' => \App::$poi['xchan_photo_l'])
|
||||
),
|
||||
);
|
||||
$xarr['object'] = json_encode($obj);
|
||||
$xarr['obj'] = json_encode($obj);
|
||||
$xarr['obj_type'] = ACTIVITY_OBJ_PERSON;
|
||||
|
||||
$xarr['body'] = '[zrl=' . $channel['xchan_url'] . ']' . $channel['xchan_name'] . '[/zrl]' . ' ' . t('is now connected to') . ' ' . '[zrl=' . \App::$poi['xchan_url'] . ']' . \App::$poi['xchan_name'] . '[/zrl]';
|
||||
|
|
|
@ -41,10 +41,10 @@ class Contactgroup extends \Zotlabs\Web\Controller {
|
|||
|
||||
if($change) {
|
||||
if(in_array($change,$preselected)) {
|
||||
group_rmv_member(local_channel(),$group['name'],$change);
|
||||
group_rmv_member(local_channel(),$group['gname'],$change);
|
||||
}
|
||||
else {
|
||||
group_add_member(local_channel(),$group['name'],$change);
|
||||
group_add_member(local_channel(),$group['gname'],$change);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -80,7 +80,7 @@ class Cover_photo extends \Zotlabs\Web\Controller {
|
|||
$profile = $r[0];
|
||||
}
|
||||
|
||||
$r = q("SELECT * FROM photo WHERE resource_id = '%s' AND uid = %d AND scale = 0 LIMIT 1",
|
||||
$r = q("SELECT * FROM photo WHERE resource_id = '%s' AND uid = %d AND imgscale = 0 LIMIT 1",
|
||||
dbesc($image_id),
|
||||
intval(local_channel())
|
||||
);
|
||||
|
@ -88,9 +88,9 @@ class Cover_photo extends \Zotlabs\Web\Controller {
|
|||
if($r) {
|
||||
|
||||
$base_image = $r[0];
|
||||
$base_image['data'] = (($r[0]['os_storage']) ? @file_get_contents($base_image['data']) : dbunescbin($base_image['data']));
|
||||
$base_image['content'] = (($r[0]['os_storage']) ? @file_get_contents($base_image['content']) : dbunescbin($base_image['content']));
|
||||
|
||||
$im = photo_factory($base_image['data'], $base_image['type']);
|
||||
$im = photo_factory($base_image['content'], $base_image['mimetype']);
|
||||
if($im->is_valid()) {
|
||||
|
||||
// We are scaling and cropping the relative pixel locations to the original photo instead of the
|
||||
|
@ -99,7 +99,7 @@ class Cover_photo extends \Zotlabs\Web\Controller {
|
|||
// First load the scaled photo to check its size. (Should probably pass this in the post form and save
|
||||
// a query.)
|
||||
|
||||
$g = q("select width, height from photo where resource_id = '%s' and uid = %d and scale = 3",
|
||||
$g = q("select width, height from photo where resource_id = '%s' and uid = %d and imgscale = 3",
|
||||
dbesc($image_id),
|
||||
intval(local_channel())
|
||||
);
|
||||
|
@ -133,26 +133,26 @@ class Cover_photo extends \Zotlabs\Web\Controller {
|
|||
$p = array('aid' => $aid, 'uid' => local_channel(), 'resource_id' => $base_image['resource_id'],
|
||||
'filename' => $base_image['filename'], 'album' => t('Cover Photos'));
|
||||
|
||||
$p['scale'] = 7;
|
||||
$p['imgscale'] = 7;
|
||||
$p['photo_usage'] = PHOTO_COVER;
|
||||
|
||||
$r1 = $im->save($p);
|
||||
|
||||
$im->doScaleImage(850,310);
|
||||
$p['scale'] = 8;
|
||||
$p['imgscale'] = 8;
|
||||
|
||||
$r2 = $im->save($p);
|
||||
|
||||
|
||||
$im->doScaleImage(425,160);
|
||||
$p['scale'] = 9;
|
||||
$p['imgscale'] = 9;
|
||||
|
||||
$r3 = $im->save($p);
|
||||
|
||||
if($r1 === false || $r2 === false || $r3 === false) {
|
||||
// if one failed, delete them all so we can start over.
|
||||
notice( t('Image resize failed.') . EOL );
|
||||
$x = q("delete from photo where resource_id = '%s' and uid = %d and scale >= 7 ",
|
||||
$x = q("delete from photo where resource_id = '%s' and uid = %d and imgscale >= 7 ",
|
||||
dbesc($base_image['resource_id']),
|
||||
local_channel()
|
||||
);
|
||||
|
@ -183,7 +183,7 @@ class Cover_photo extends \Zotlabs\Web\Controller {
|
|||
logger('attach_store: ' . print_r($res,true));
|
||||
|
||||
if($res && intval($res['data']['is_photo'])) {
|
||||
$i = q("select * from photo where resource_id = '%s' and uid = %d and scale = 0",
|
||||
$i = q("select * from photo where resource_id = '%s' and uid = %d and imgscale = 0",
|
||||
dbesc($hash),
|
||||
intval(local_channel())
|
||||
);
|
||||
|
@ -195,10 +195,10 @@ class Cover_photo extends \Zotlabs\Web\Controller {
|
|||
$os_storage = false;
|
||||
|
||||
foreach($i as $ii) {
|
||||
$smallest = intval($ii['scale']);
|
||||
$smallest = intval($ii['imgscale']);
|
||||
$os_storage = intval($ii['os_storage']);
|
||||
$imagedata = $ii['data'];
|
||||
$filetype = $ii['type'];
|
||||
$imagedata = $ii['content'];
|
||||
$filetype = $ii['mimetype'];
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -224,10 +224,10 @@ class Cover_photo extends \Zotlabs\Web\Controller {
|
|||
$arr['obj_type'] = ACTIVITY_OBJ_PHOTO;
|
||||
$arr['verb'] = ACTIVITY_UPDATE;
|
||||
|
||||
$arr['object'] = json_encode(array(
|
||||
$arr['obj'] = json_encode(array(
|
||||
'type' => $arr['obj_type'],
|
||||
'id' => z_root() . '/photo/' . $photo['resource_id'] . '-7',
|
||||
'link' => array('rel' => 'photo', 'type' => $photo['type'], 'href' => z_root() . '/photo/' . $photo['resource_id'] . '-7')
|
||||
'link' => array('rel' => 'photo', 'type' => $photo['mimetype'], 'href' => z_root() . '/photo/' . $photo['resource_id'] . '-7')
|
||||
));
|
||||
|
||||
if($profile && stripos($profile['gender'],t('female')) !== false)
|
||||
|
@ -295,7 +295,7 @@ class Cover_photo extends \Zotlabs\Web\Controller {
|
|||
|
||||
$resource_id = argv(2);
|
||||
|
||||
$r = q("SELECT id, album, scale FROM photo WHERE uid = %d AND resource_id = '%s' ORDER BY scale ASC",
|
||||
$r = q("SELECT id, album, imgscale FROM photo WHERE uid = %d AND resource_id = '%s' ORDER BY imgscale ASC",
|
||||
intval(local_channel()),
|
||||
dbesc($resource_id)
|
||||
);
|
||||
|
@ -305,11 +305,11 @@ class Cover_photo extends \Zotlabs\Web\Controller {
|
|||
}
|
||||
$havescale = false;
|
||||
foreach($r as $rr) {
|
||||
if($rr['scale'] == 7)
|
||||
if($rr['imgscale'] == 7)
|
||||
$havescale = true;
|
||||
}
|
||||
|
||||
$r = q("SELECT `data`, `type`, resource_id, os_storage FROM photo WHERE id = %d and uid = %d limit 1",
|
||||
$r = q("SELECT `content`, `mimetype`, resource_id, os_storage FROM photo WHERE id = %d and uid = %d limit 1",
|
||||
intval($r[0]['id']),
|
||||
intval(local_channel())
|
||||
|
||||
|
@ -320,15 +320,15 @@ class Cover_photo extends \Zotlabs\Web\Controller {
|
|||
}
|
||||
|
||||
if(intval($r[0]['os_storage']))
|
||||
$data = @file_get_contents($r[0]['data']);
|
||||
$data = @file_get_contents($r[0]['content']);
|
||||
else
|
||||
$data = dbunescbin($r[0]['data']);
|
||||
$data = dbunescbin($r[0]['content']);
|
||||
|
||||
$ph = photo_factory($data, $r[0]['type']);
|
||||
$ph = photo_factory($data, $r[0]['mimetype']);
|
||||
$smallest = 0;
|
||||
if($ph->is_valid()) {
|
||||
// go ahead as if we have just uploaded a new photo to crop
|
||||
$i = q("select resource_id, scale from photo where resource_id = '%s' and uid = %d and scale = 0",
|
||||
$i = q("select resource_id, imgscale from photo where resource_id = '%s' and uid = %d and imgscale = 0",
|
||||
dbesc($r[0]['resource_id']),
|
||||
intval(local_channel())
|
||||
);
|
||||
|
@ -336,7 +336,7 @@ class Cover_photo extends \Zotlabs\Web\Controller {
|
|||
if($i) {
|
||||
$hash = $i[0]['resource_id'];
|
||||
foreach($i as $ii) {
|
||||
$smallest = intval($ii['scale']);
|
||||
$smallest = intval($ii['imgscale']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -171,7 +171,7 @@ class Events extends \Zotlabs\Web\Controller {
|
|||
foreach($cats as $cat) {
|
||||
$post_tags[] = array(
|
||||
'uid' => $profile_uid,
|
||||
'type' => TERM_CATEGORY,
|
||||
'ttype' => TERM_CATEGORY,
|
||||
'otype' => TERM_OBJ_POST,
|
||||
'term' => trim($cat),
|
||||
'url' => $channel['xchan_url'] . '?f=&cat=' . urlencode(trim($cat))
|
||||
|
@ -180,12 +180,12 @@ class Events extends \Zotlabs\Web\Controller {
|
|||
}
|
||||
|
||||
$datarray = array();
|
||||
$datarray['start'] = $start;
|
||||
$datarray['finish'] = $finish;
|
||||
$datarray['dtstart'] = $start;
|
||||
$datarray['dtend'] = $finish;
|
||||
$datarray['summary'] = $summary;
|
||||
$datarray['description'] = $desc;
|
||||
$datarray['location'] = $location;
|
||||
$datarray['type'] = $type;
|
||||
$datarray['etype'] = $type;
|
||||
$datarray['adjust'] = $adjust;
|
||||
$datarray['nofinish'] = $nofinish;
|
||||
$datarray['uid'] = local_channel();
|
||||
|
@ -269,14 +269,14 @@ class Events extends \Zotlabs\Web\Controller {
|
|||
nav_set_selected('all_events');
|
||||
|
||||
if((argc() > 2) && (argv(1) === 'ignore') && intval(argv(2))) {
|
||||
$r = q("update event set ignore = 1 where id = %d and uid = %d",
|
||||
$r = q("update event set dismissed = 1 where id = %d and uid = %d",
|
||||
intval(argv(2)),
|
||||
intval(local_channel())
|
||||
);
|
||||
}
|
||||
|
||||
if((argc() > 2) && (argv(1) === 'unignore') && intval(argv(2))) {
|
||||
$r = q("update event set ignore = 0 where id = %d and uid = %d",
|
||||
$r = q("update event set dismissed = 0 where id = %d and uid = %d",
|
||||
intval(argv(2)),
|
||||
intval(local_channel())
|
||||
);
|
||||
|
@ -301,7 +301,7 @@ class Events extends \Zotlabs\Web\Controller {
|
|||
$mode = 'view';
|
||||
$y = 0;
|
||||
$m = 0;
|
||||
$ignored = ((x($_REQUEST,'ignored')) ? " and ignored = " . intval($_REQUEST['ignored']) . " " : '');
|
||||
$ignored = ((x($_REQUEST,'ignored')) ? " and dismissed = " . intval($_REQUEST['ignored']) . " " : '');
|
||||
|
||||
|
||||
// logger('args: ' . print_r(\App::$argv,true));
|
||||
|
@ -358,9 +358,9 @@ class Events extends \Zotlabs\Web\Controller {
|
|||
if(x($_REQUEST,'summary')) $orig_event['summary'] = $_REQUEST['summary'];
|
||||
if(x($_REQUEST,'description')) $orig_event['description'] = $_REQUEST['description'];
|
||||
if(x($_REQUEST,'location')) $orig_event['location'] = $_REQUEST['location'];
|
||||
if(x($_REQUEST,'start')) $orig_event['start'] = $_REQUEST['start'];
|
||||
if(x($_REQUEST,'finish')) $orig_event['finish'] = $_REQUEST['finish'];
|
||||
if(x($_REQUEST,'type')) $orig_event['type'] = $_REQUEST['type'];
|
||||
if(x($_REQUEST,'start')) $orig_event['dtstart'] = $_REQUEST['start'];
|
||||
if(x($_REQUEST,'finish')) $orig_event['dtend'] = $_REQUEST['finish'];
|
||||
if(x($_REQUEST,'type')) $orig_event['etype'] = $_REQUEST['type'];
|
||||
*/
|
||||
|
||||
$n_checked = ((x($orig_event) && $orig_event['nofinish']) ? ' checked="checked" ' : '');
|
||||
|
@ -380,9 +380,9 @@ class Events extends \Zotlabs\Web\Controller {
|
|||
if($orig_event['event_xchan'])
|
||||
$sh_checked .= ' disabled="disabled" ';
|
||||
|
||||
$sdt = ((x($orig_event)) ? $orig_event['start'] : 'now');
|
||||
$sdt = ((x($orig_event)) ? $orig_event['dtstart'] : 'now');
|
||||
|
||||
$fdt = ((x($orig_event)) ? $orig_event['finish'] : '+1 hour');
|
||||
$fdt = ((x($orig_event)) ? $orig_event['dtend'] : '+1 hour');
|
||||
|
||||
$tz = date_default_timezone_get();
|
||||
if(x($orig_event))
|
||||
|
@ -406,7 +406,7 @@ class Events extends \Zotlabs\Web\Controller {
|
|||
$ftext = datetime_convert('UTC',$tz,$fdt);
|
||||
$ftext = substr($ftext,0,14) . "00:00";
|
||||
|
||||
$type = ((x($orig_event)) ? $orig_event['type'] : 'event');
|
||||
$type = ((x($orig_event)) ? $orig_event['etype'] : 'event');
|
||||
|
||||
$f = get_config('system','event_input_format');
|
||||
if(! $f)
|
||||
|
@ -536,8 +536,8 @@ class Events extends \Zotlabs\Web\Controller {
|
|||
);
|
||||
} elseif($export) {
|
||||
$r = q("SELECT * from event where uid = %d
|
||||
AND (( `adjust` = 0 AND ( `finish` >= '%s' or nofinish = 1 ) AND `start` <= '%s' )
|
||||
OR ( `adjust` = 1 AND ( `finish` >= '%s' or nofinish = 1 ) AND `start` <= '%s' )) ",
|
||||
AND (( `adjust` = 0 AND ( `dtend` >= '%s' or nofinish = 1 ) AND `dtstart` <= '%s' )
|
||||
OR ( `adjust` = 1 AND ( `dtend` >= '%s' or nofinish = 1 ) AND `dtstart` <= '%s' )) ",
|
||||
intval(local_channel()),
|
||||
dbesc($start),
|
||||
dbesc($finish),
|
||||
|
@ -554,8 +554,8 @@ class Events extends \Zotlabs\Web\Controller {
|
|||
$r = q("SELECT event.*, item.plink, item.item_flags, item.author_xchan, item.owner_xchan
|
||||
from event left join item on event_hash = resource_id
|
||||
where resource_type = 'event' and event.uid = %d $ignored
|
||||
AND (( adjust = 0 AND ( finish >= '%s' or nofinish = 1 ) AND start <= '%s' )
|
||||
OR ( adjust = 1 AND ( finish >= '%s' or nofinish = 1 ) AND start <= '%s' )) ",
|
||||
AND (( adjust = 0 AND ( dtend >= '%s' or nofinish = 1 ) AND dtstart <= '%s' )
|
||||
OR ( adjust = 1 AND ( dtend >= '%s' or nofinish = 1 ) AND dtstart <= '%s' )) ",
|
||||
intval(local_channel()),
|
||||
dbesc($start),
|
||||
dbesc($finish),
|
||||
|
@ -576,7 +576,7 @@ class Events extends \Zotlabs\Web\Controller {
|
|||
|
||||
if($r) {
|
||||
foreach($r as $rr) {
|
||||
$j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'j') : datetime_convert('UTC','UTC',$rr['start'],'j'));
|
||||
$j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['dtstart'], 'j') : datetime_convert('UTC','UTC',$rr['dtstart'],'j'));
|
||||
if(! x($links,$j))
|
||||
$links[$j] = z_root() . '/' . \App::$cmd . '#link-' . $j;
|
||||
}
|
||||
|
@ -591,15 +591,15 @@ class Events extends \Zotlabs\Web\Controller {
|
|||
|
||||
foreach($r as $rr) {
|
||||
|
||||
$j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'j') : datetime_convert('UTC','UTC',$rr['start'],'j'));
|
||||
$d = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], $fmt) : datetime_convert('UTC','UTC',$rr['start'],$fmt));
|
||||
$j = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['dtstart'], 'j') : datetime_convert('UTC','UTC',$rr['dtstart'],'j'));
|
||||
$d = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['dtstart'], $fmt) : datetime_convert('UTC','UTC',$rr['dtstart'],$fmt));
|
||||
$d = day_translate($d);
|
||||
|
||||
$start = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['start'], 'c') : datetime_convert('UTC','UTC',$rr['start'],'c'));
|
||||
$start = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['dtstart'], 'c') : datetime_convert('UTC','UTC',$rr['dtstart'],'c'));
|
||||
if ($rr['nofinish']){
|
||||
$end = null;
|
||||
} else {
|
||||
$end = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['finish'], 'c') : datetime_convert('UTC','UTC',$rr['finish'],'c'));
|
||||
$end = (($rr['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$rr['dtend'], 'c') : datetime_convert('UTC','UTC',$rr['dtend'],'c'));
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -45,10 +45,10 @@ class Fbrowser extends \Zotlabs\Web\Controller {
|
|||
$album = hex2bin(\App::$argv[2]);
|
||||
$sql_extra = sprintf("AND `album` = '%s' ",dbesc($album));
|
||||
$sql_extra2 = "";
|
||||
$path[]=array(z_root()."/fbrowser/image/".\App::$argv[2]."/", $album);
|
||||
$path[]=array(z_root() . "/fbrowser/image/" . \App::$argv[2] . "/", $album);
|
||||
}
|
||||
|
||||
$r = q("SELECT `resource_id`, `id`, `filename`, type, min(`scale`) AS `hiq`,max(`scale`) AS `loq`, `description`
|
||||
$r = q("SELECT `resource_id`, `id`, `filename`, type, min(`imgscale`) AS `hiq`,max(`imgscale`) AS `loq`, `description`
|
||||
FROM `photo` WHERE `uid` = %d $sql_extra
|
||||
GROUP BY `resource_id` $sql_extra2",
|
||||
intval(local_channel())
|
||||
|
|
|
@ -39,7 +39,7 @@ class Filer extends \Zotlabs\Web\Controller {
|
|||
}
|
||||
else {
|
||||
$filetags = array();
|
||||
$r = q("select distinct(term) from term where uid = %d and type = %d order by term asc",
|
||||
$r = q("select distinct(term) from term where uid = %d and ttype = %d order by term asc",
|
||||
intval(local_channel()),
|
||||
intval(TERM_FILE)
|
||||
);
|
||||
|
|
|
@ -22,7 +22,7 @@ class Filerm extends \Zotlabs\Web\Controller {
|
|||
logger('filerm: tag ' . $term . ' item ' . $item_id);
|
||||
|
||||
if($item_id && strlen($term)) {
|
||||
$r = q("delete from term where uid = %d and type = %d and oid = %d and term = '%s'",
|
||||
$r = q("delete from term where uid = %d and ttype = %d and oid = %d and term = '%s'",
|
||||
intval(local_channel()),
|
||||
intval(($category) ? TERM_CATEGORY : TERM_FILE),
|
||||
intval($item_id),
|
||||
|
|
|
@ -1,117 +0,0 @@
|
|||
<?php
|
||||
namespace Zotlabs\Module;
|
||||
|
||||
|
||||
|
||||
class Fsuggest extends \Zotlabs\Web\Controller {
|
||||
|
||||
function post() {
|
||||
|
||||
if(! local_channel()) {
|
||||
return;
|
||||
}
|
||||
|
||||
if(\App::$argc != 2)
|
||||
return;
|
||||
|
||||
$contact_id = intval(\App::$argv[1]);
|
||||
|
||||
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($contact_id),
|
||||
intval(local_channel())
|
||||
);
|
||||
if(! count($r)) {
|
||||
notice( t('Contact not found.') . EOL);
|
||||
return;
|
||||
}
|
||||
$contact = $r[0];
|
||||
|
||||
$new_contact = intval($_POST['suggest']);
|
||||
|
||||
$hash = random_string();
|
||||
|
||||
$note = escape_tags(trim($_POST['note']));
|
||||
|
||||
if($new_contact) {
|
||||
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($new_contact),
|
||||
intval(local_channel())
|
||||
);
|
||||
if(count($r)) {
|
||||
|
||||
$x = q("INSERT INTO `fsuggest` ( `uid`,`cid`,`name`,`url`,`request`,`photo`,`note`,`created`)
|
||||
VALUES ( %d, %d, '%s','%s','%s','%s','%s','%s')",
|
||||
intval(local_channel()),
|
||||
intval($contact_id),
|
||||
dbesc($r[0]['name']),
|
||||
dbesc($r[0]['url']),
|
||||
dbesc($r[0]['request']),
|
||||
dbesc($r[0]['photo']),
|
||||
dbesc($hash),
|
||||
dbesc(datetime_convert())
|
||||
);
|
||||
$r = q("SELECT `id` FROM `fsuggest` WHERE `note` = '%s' AND `uid` = %d LIMIT 1",
|
||||
dbesc($hash),
|
||||
intval(local_channel())
|
||||
);
|
||||
if(count($r)) {
|
||||
$fsuggest_id = $r[0]['id'];
|
||||
q("UPDATE `fsuggest` SET `note` = '%s' WHERE `id` = %d AND `uid` = %d",
|
||||
dbesc($note),
|
||||
intval($fsuggest_id),
|
||||
intval(local_channel())
|
||||
);
|
||||
\Zotlabs\Daemon\Master::Summon(array('Notifier', 'suggest' , $fsuggest_id));
|
||||
}
|
||||
|
||||
info( t('Friend suggestion sent.') . EOL);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
function get() {
|
||||
|
||||
require_once('include/acl_selectors.php');
|
||||
|
||||
if(! local_channel()) {
|
||||
notice( t('Permission denied.') . EOL);
|
||||
return;
|
||||
}
|
||||
|
||||
if(\App::$argc != 2)
|
||||
return;
|
||||
|
||||
$contact_id = intval(\App::$argv[1]);
|
||||
|
||||
$r = q("SELECT * FROM `contact` WHERE `id` = %d AND `uid` = %d LIMIT 1",
|
||||
intval($contact_id),
|
||||
intval(local_channel())
|
||||
);
|
||||
if(! count($r)) {
|
||||
notice( t('Contact not found.') . EOL);
|
||||
return;
|
||||
}
|
||||
$contact = $r[0];
|
||||
|
||||
$o = '<h3>' . t('Suggest Friends') . '</h3>';
|
||||
|
||||
$o .= '<div id="fsuggest-desc" >' . sprintf( t('Suggest a friend for %s'), $contact['name']) . '</div>';
|
||||
|
||||
$o .= '<form id="fsuggest-form" action="fsuggest/' . $contact_id . '" method="post" >';
|
||||
|
||||
// FIXME contact_selector deprecated, removed
|
||||
// $o .= contact_selector('suggest','suggest-select', false,
|
||||
// array('size' => 4, 'exclude' => $contact_id, 'networks' => 'DFRN_ONLY', 'single' => true));
|
||||
|
||||
|
||||
$o .= '<div id="fsuggest-submit-wrapper"><input id="fsuggest-submit" type="submit" name="submit" value="' . t('Submit') . '" /></div>';
|
||||
$o .= '</form>';
|
||||
|
||||
return $o;
|
||||
}
|
||||
}
|
|
@ -47,8 +47,8 @@ class Group extends \Zotlabs\Web\Controller {
|
|||
$groupname = notags(trim($_POST['groupname']));
|
||||
$public = intval($_POST['public']);
|
||||
|
||||
if((strlen($groupname)) && (($groupname != $group['name']) || ($public != $group['visible']))) {
|
||||
$r = q("UPDATE `groups` SET `name` = '%s', visible = %d WHERE `uid` = %d AND `id` = %d",
|
||||
if((strlen($groupname)) && (($groupname != $group['gname']) || ($public != $group['visible']))) {
|
||||
$r = q("UPDATE `groups` SET `gname` = '%s', visible = %d WHERE `uid` = %d AND `id` = %d",
|
||||
dbesc($groupname),
|
||||
intval($public),
|
||||
intval(local_channel()),
|
||||
|
@ -106,7 +106,7 @@ class Group extends \Zotlabs\Web\Controller {
|
|||
intval(local_channel())
|
||||
);
|
||||
if($r)
|
||||
$result = group_rmv(local_channel(),$r[0]['name']);
|
||||
$result = group_rmv(local_channel(),$r[0]['gname']);
|
||||
if($result)
|
||||
info( t('Privacy group removed.') . EOL);
|
||||
else
|
||||
|
@ -156,10 +156,10 @@ class Group extends \Zotlabs\Web\Controller {
|
|||
if($change) {
|
||||
|
||||
if(in_array($change,$preselected)) {
|
||||
group_rmv_member(local_channel(),$group['name'],$change);
|
||||
group_rmv_member(local_channel(),$group['gname'],$change);
|
||||
}
|
||||
else {
|
||||
group_add_member(local_channel(),$group['name'],$change);
|
||||
group_add_member(local_channel(),$group['gname'],$change);
|
||||
}
|
||||
|
||||
$members = group_get_members($group['id']);
|
||||
|
@ -181,7 +181,7 @@ class Group extends \Zotlabs\Web\Controller {
|
|||
|
||||
$context = $context + array(
|
||||
'$title' => t('Privacy group editor'),
|
||||
'$gname' => array('groupname',t('Privacy group name: '),$group['name'], ''),
|
||||
'$gname' => array('groupname',t('Privacy group name: '),$group['gname'], ''),
|
||||
'$gid' => $group['id'],
|
||||
'$drop' => $drop_txt,
|
||||
'$public' => array('public',t('Members are visible to other channels'), $group['visible'], ''),
|
||||
|
@ -209,7 +209,7 @@ class Group extends \Zotlabs\Web\Controller {
|
|||
$groupeditor['members'][] = micropro($member,true,'mpgroup', $textmode);
|
||||
}
|
||||
else
|
||||
group_rmv_member(local_channel(),$group['name'],$member['xchan_hash']);
|
||||
group_rmv_member(local_channel(),$group['gname'],$member['xchan_hash']);
|
||||
}
|
||||
|
||||
$r = q("SELECT abook.*, xchan.* FROM `abook` left join xchan on abook_xchan = xchan_hash WHERE `abook_channel` = %d AND abook_self = 0 and abook_blocked = 0 and abook_pending = 0 and xchan_deleted = 0 order by xchan_name asc",
|
||||
|
|
|
@ -408,8 +408,12 @@ class Import extends \Zotlabs\Web\Controller {
|
|||
$saved = array();
|
||||
foreach($groups as $group) {
|
||||
$saved[$group['hash']] = array('old' => $group['id']);
|
||||
if(array_key_exists('name',$group)) {
|
||||
$group['gname'] = $group['name'];
|
||||
unset($group['name']);
|
||||
}
|
||||
unset($group['id']);
|
||||
$group['uid'] = $channel['channel_id'];
|
||||
$group['uid'] = $channel['channel_id'];
|
||||
dbesc_array($group);
|
||||
$r = dbq("INSERT INTO groups (`"
|
||||
. implode("`, `", array_keys($group))
|
||||
|
|
|
@ -581,7 +581,7 @@ class Item extends \Zotlabs\Web\Controller {
|
|||
if($success['replaced']) {
|
||||
$post_tags[] = array(
|
||||
'uid' => $profile_uid,
|
||||
'type' => $success['termtype'],
|
||||
'ttype' => $success['termtype'],
|
||||
'otype' => TERM_OBJ_POST,
|
||||
'term' => $success['term'],
|
||||
'url' => $success['url']
|
||||
|
@ -666,7 +666,7 @@ class Item extends \Zotlabs\Web\Controller {
|
|||
foreach($cats as $cat) {
|
||||
$post_tags[] = array(
|
||||
'uid' => $profile_uid,
|
||||
'type' => TERM_CATEGORY,
|
||||
'ttype' => TERM_CATEGORY,
|
||||
'otype' => TERM_OBJ_POST,
|
||||
'term' => trim($cat),
|
||||
'url' => $owner_xchan['xchan_url'] . '?f=&cat=' . urlencode(trim($cat))
|
||||
|
@ -676,7 +676,7 @@ class Item extends \Zotlabs\Web\Controller {
|
|||
|
||||
if($orig_post) {
|
||||
// preserve original tags
|
||||
$t = q("select * from term where oid = %d and otype = %d and uid = %d and type in ( %d, %d, %d )",
|
||||
$t = q("select * from term where oid = %d and otype = %d and uid = %d and ttype in ( %d, %d, %d )",
|
||||
intval($orig_post['id']),
|
||||
intval(TERM_OBJ_POST),
|
||||
intval($profile_uid),
|
||||
|
@ -688,7 +688,7 @@ class Item extends \Zotlabs\Web\Controller {
|
|||
foreach($t as $t1) {
|
||||
$post_tags[] = array(
|
||||
'uid' => $profile_uid,
|
||||
'type' => $t1['type'],
|
||||
'ttype' => $t1['type'],
|
||||
'otype' => TERM_OBJ_POST,
|
||||
'term' => $t1['term'],
|
||||
'url' => $t1['url'],
|
||||
|
|
|
@ -483,7 +483,7 @@ class Like extends \Zotlabs\Web\Controller {
|
|||
|
||||
$arr['verb'] = $activity;
|
||||
$arr['obj_type'] = $objtype;
|
||||
$arr['object'] = $object;
|
||||
$arr['obj'] = $object;
|
||||
|
||||
if($target) {
|
||||
$arr['tgt_type'] = $tgttype;
|
||||
|
|
|
@ -88,10 +88,10 @@ class Lockview extends \Zotlabs\Web\Controller {
|
|||
stringify_array_elms($deny_users,true);
|
||||
|
||||
if(count($allowed_groups)) {
|
||||
$r = q("SELECT name FROM `groups` WHERE hash IN ( " . implode(', ', $allowed_groups) . " )");
|
||||
$r = q("SELECT gname FROM `groups` WHERE hash IN ( " . implode(', ', $allowed_groups) . " )");
|
||||
if($r)
|
||||
foreach($r as $rr)
|
||||
$l[] = '<li><b>' . $rr['name'] . '</b></li>';
|
||||
$l[] = '<li><b>' . $rr['gname'] . '</b></li>';
|
||||
}
|
||||
if(count($allowed_users)) {
|
||||
$r = q("SELECT xchan_name FROM xchan WHERE xchan_hash IN ( " . implode(', ',$allowed_users) . " )");
|
||||
|
@ -100,10 +100,10 @@ class Lockview extends \Zotlabs\Web\Controller {
|
|||
$l[] = '<li>' . $rr['xchan_name'] . '</li>';
|
||||
}
|
||||
if(count($deny_groups)) {
|
||||
$r = q("SELECT name FROM `groups` WHERE hash IN ( " . implode(', ', $deny_groups) . " )");
|
||||
$r = q("SELECT gname FROM `groups` WHERE hash IN ( " . implode(', ', $deny_groups) . " )");
|
||||
if($r)
|
||||
foreach($r as $rr)
|
||||
$l[] = '<li><b><strike>' . $rr['name'] . '</strike></b></li>';
|
||||
$l[] = '<li><b><strike>' . $rr['gname'] . '</strike></b></li>';
|
||||
}
|
||||
if(count($deny_users)) {
|
||||
$r = q("SELECT xchan_name FROM xchan WHERE xchan_hash IN ( " . implode(', ', $deny_users) . " )");
|
||||
|
|
|
@ -223,7 +223,7 @@ class Network extends \Zotlabs\Web\Controller {
|
|||
|
||||
if($x) {
|
||||
$title = replace_macros(get_markup_template("section_title.tpl"),array(
|
||||
'$title' => t('Privacy group: ') . $x['name']
|
||||
'$title' => t('Privacy group: ') . $x['gname']
|
||||
));
|
||||
}
|
||||
|
||||
|
|
|
@ -80,18 +80,18 @@ class Notifications extends \Zotlabs\Web\Controller {
|
|||
$not_tpl = get_markup_template('notify.tpl');
|
||||
require_once('include/bbcode.php');
|
||||
|
||||
$r = q("SELECT * from notify where uid = %d and seen = 0 order by date desc",
|
||||
$r = q("SELECT * from notify where uid = %d and seen = 0 order by created desc",
|
||||
intval(local_channel())
|
||||
);
|
||||
|
||||
if (count($r) > 0) {
|
||||
if ($r > 0) {
|
||||
$notifications_available =1;
|
||||
foreach ($r as $it) {
|
||||
$notif_content .= replace_macros($not_tpl,array(
|
||||
'$item_link' => z_root().'/notify/view/'. $it['id'],
|
||||
'$item_image' => $it['photo'],
|
||||
'$item_text' => strip_tags(bbcode($it['msg'])),
|
||||
'$item_when' => relative_date($it['date'])
|
||||
'$item_when' => relative_date($it['created'])
|
||||
));
|
||||
}
|
||||
} else {
|
||||
|
|
|
@ -39,7 +39,7 @@ class Notify extends \Zotlabs\Web\Controller {
|
|||
$not_tpl = get_markup_template('notify.tpl');
|
||||
require_once('include/bbcode.php');
|
||||
|
||||
$r = q("SELECT * from notify where uid = %d and seen = 0 order by date desc",
|
||||
$r = q("SELECT * from notify where uid = %d and seen = 0 order by created desc",
|
||||
intval(local_channel())
|
||||
);
|
||||
|
||||
|
@ -49,7 +49,7 @@ class Notify extends \Zotlabs\Web\Controller {
|
|||
'$item_link' => z_root().'/notify/view/'. $it['id'],
|
||||
'$item_image' => $it['photo'],
|
||||
'$item_text' => strip_tags(bbcode($it['msg'])),
|
||||
'$item_when' => relative_date($it['date'])
|
||||
'$item_when' => relative_date($it['created'])
|
||||
));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -249,7 +249,7 @@ class Oep extends \Zotlabs\Web\Controller {
|
|||
|
||||
$sql_extra = permissions_sql($c[0]['channel_id']);
|
||||
|
||||
$p = q("select resource_id from photo where album = '%s' and uid = %d and scale = 0 $sql_extra order by created desc limit 1",
|
||||
$p = q("select resource_id from photo where album = '%s' and uid = %d and imgscale = 0 $sql_extra order by created desc limit 1",
|
||||
dbesc($res),
|
||||
intval($c[0]['channel_id'])
|
||||
);
|
||||
|
@ -258,7 +258,7 @@ class Oep extends \Zotlabs\Web\Controller {
|
|||
|
||||
$res = $p[0]['resource_id'];
|
||||
|
||||
$r = q("select height, width, scale, resource_id from photo where uid = %d and resource_id = '%s' $sql_extra order by scale asc",
|
||||
$r = q("select height, width, imgscale, resource_id from photo where uid = %d and resource_id = '%s' $sql_extra order by imgscale asc",
|
||||
intval($c[0]['channel_id']),
|
||||
dbesc($res)
|
||||
);
|
||||
|
@ -276,7 +276,7 @@ class Oep extends \Zotlabs\Web\Controller {
|
|||
|
||||
if($foundres) {
|
||||
$ret['type'] = 'link';
|
||||
$ret['thumbnail_url'] = z_root() . '/photo/' . '/' . $rr['resource_id'] . '-' . $rr['scale'];
|
||||
$ret['thumbnail_url'] = z_root() . '/photo/' . '/' . $rr['resource_id'] . '-' . $rr['imgscale'];
|
||||
$ret['thumbnail_width'] = $rr['width'];
|
||||
$ret['thumbnail_height'] = $rr['height'];
|
||||
}
|
||||
|
@ -310,7 +310,7 @@ class Oep extends \Zotlabs\Web\Controller {
|
|||
|
||||
$sql_extra = permissions_sql($c[0]['channel_id']);
|
||||
|
||||
$p = q("select resource_id from photo where uid = %d and scale = 0 $sql_extra order by created desc limit 1",
|
||||
$p = q("select resource_id from photo where uid = %d and imgscale = 0 $sql_extra order by created desc limit 1",
|
||||
intval($c[0]['channel_id'])
|
||||
);
|
||||
if(! $p)
|
||||
|
@ -318,7 +318,7 @@ class Oep extends \Zotlabs\Web\Controller {
|
|||
|
||||
$res = $p[0]['resource_id'];
|
||||
|
||||
$r = q("select height, width, scale, resource_id from photo where uid = %d and resource_id = '%s' $sql_extra order by scale asc",
|
||||
$r = q("select height, width, imgscale, resource_id from photo where uid = %d and resource_id = '%s' $sql_extra order by imgscale asc",
|
||||
intval($c[0]['channel_id']),
|
||||
dbesc($res)
|
||||
);
|
||||
|
@ -336,7 +336,7 @@ class Oep extends \Zotlabs\Web\Controller {
|
|||
|
||||
if($foundres) {
|
||||
$ret['type'] = 'link';
|
||||
$ret['thumbnail_url'] = z_root() . '/photo/' . '/' . $rr['resource_id'] . '-' . $rr['scale'];
|
||||
$ret['thumbnail_url'] = z_root() . '/photo/' . '/' . $rr['resource_id'] . '-' . $rr['imgscale'];
|
||||
$ret['thumbnail_width'] = $rr['width'];
|
||||
$ret['thumbnail_height'] = $rr['height'];
|
||||
}
|
||||
|
@ -372,7 +372,7 @@ class Oep extends \Zotlabs\Web\Controller {
|
|||
$sql_extra = permissions_sql($c[0]['channel_id']);
|
||||
|
||||
|
||||
$r = q("select height, width, scale, resource_id from photo where uid = %d and resource_id = '%s' $sql_extra order by scale asc",
|
||||
$r = q("select height, width, imgscale, resource_id from photo where uid = %d and resource_id = '%s' $sql_extra order by imgscale asc",
|
||||
intval($c[0]['channel_id']),
|
||||
dbesc($res)
|
||||
);
|
||||
|
@ -390,7 +390,7 @@ class Oep extends \Zotlabs\Web\Controller {
|
|||
|
||||
if($foundres) {
|
||||
$ret['type'] = 'link';
|
||||
$ret['thumbnail_url'] = z_root() . '/photo/' . '/' . $rr['resource_id'] . '-' . $rr['scale'];
|
||||
$ret['thumbnail_url'] = z_root() . '/photo/' . '/' . $rr['resource_id'] . '-' . $rr['imgscale'];
|
||||
$ret['thumbnail_width'] = $rr['width'];
|
||||
$ret['thumbnail_height'] = $rr['height'];
|
||||
}
|
||||
|
|
|
@ -57,14 +57,14 @@ class Photo extends \Zotlabs\Web\Controller {
|
|||
|
||||
$uid = $person;
|
||||
|
||||
$r = q("SELECT * FROM photo WHERE scale = %d AND uid = %d AND photo_usage = %d LIMIT 1",
|
||||
$r = q("SELECT * FROM photo WHERE imgscale = %d AND uid = %d AND photo_usage = %d LIMIT 1",
|
||||
intval($resolution),
|
||||
intval($uid),
|
||||
intval(PHOTO_PROFILE)
|
||||
);
|
||||
if(count($r)) {
|
||||
$data = dbunescbin($r[0]['data']);
|
||||
$mimetype = $r[0]['type'];
|
||||
$data = dbunescbin($r[0]['content']);
|
||||
$mimetype = $r[0]['mimetype'];
|
||||
}
|
||||
if(intval($r[0]['os_storage']))
|
||||
$data = file_get_contents($data);
|
||||
|
@ -113,7 +113,7 @@ class Photo extends \Zotlabs\Web\Controller {
|
|||
// If using resolution 1, make sure it exists before proceeding:
|
||||
if ($resolution == 1)
|
||||
{
|
||||
$r = q("SELECT uid FROM photo WHERE resource_id = '%s' AND scale = %d LIMIT 1",
|
||||
$r = q("SELECT uid FROM photo WHERE resource_id = '%s' AND imgscale = %d LIMIT 1",
|
||||
dbesc($photo),
|
||||
intval($resolution)
|
||||
);
|
||||
|
@ -121,7 +121,7 @@ class Photo extends \Zotlabs\Web\Controller {
|
|||
$resolution = 2;
|
||||
}
|
||||
|
||||
$r = q("SELECT uid FROM photo WHERE resource_id = '%s' AND scale = %d LIMIT 1",
|
||||
$r = q("SELECT uid FROM photo WHERE resource_id = '%s' AND imgscale = %d LIMIT 1",
|
||||
dbesc($photo),
|
||||
intval($resolution)
|
||||
);
|
||||
|
@ -133,14 +133,14 @@ class Photo extends \Zotlabs\Web\Controller {
|
|||
|
||||
// Now we'll see if we can access the photo
|
||||
|
||||
$r = q("SELECT * FROM photo WHERE resource_id = '%s' AND scale = %d $sql_extra LIMIT 1",
|
||||
$r = q("SELECT * FROM photo WHERE resource_id = '%s' AND imgscale = %d $sql_extra LIMIT 1",
|
||||
dbesc($photo),
|
||||
intval($resolution)
|
||||
);
|
||||
|
||||
if($r && $allowed) {
|
||||
$data = dbunescbin($r[0]['data']);
|
||||
$mimetype = $r[0]['type'];
|
||||
$data = dbunescbin($r[0]['content']);
|
||||
$mimetype = $r[0]['mimetype'];
|
||||
if(intval($r[0]['os_storage']))
|
||||
$data = file_get_contents($data);
|
||||
}
|
||||
|
@ -154,7 +154,7 @@ class Photo extends \Zotlabs\Web\Controller {
|
|||
// they won't have the photo link, so there's a reasonable chance that the person
|
||||
// might be able to obtain permission to view it.
|
||||
|
||||
$r = q("SELECT * FROM `photo` WHERE `resource_id` = '%s' AND `scale` = %d LIMIT 1",
|
||||
$r = q("SELECT * FROM `photo` WHERE `resource_id` = '%s' AND `imgscale` = %d LIMIT 1",
|
||||
dbesc($photo),
|
||||
intval($resolution)
|
||||
);
|
||||
|
|
|
@ -255,13 +255,13 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
( (intval($_POST['rotate']) == 1) || (intval($_POST['rotate']) == 2) )) {
|
||||
logger('rotate');
|
||||
|
||||
$r = q("select * from photo where `resource_id` = '%s' and uid = %d and scale = 0 limit 1",
|
||||
$r = q("select * from photo where `resource_id` = '%s' and uid = %d and imgscale = 0 limit 1",
|
||||
dbesc($resource_id),
|
||||
intval($page_owner_uid)
|
||||
);
|
||||
if(count($r)) {
|
||||
$d = (($r[0]['os_storage']) ? @file_get_contents($r[0]['data']) : dbunescbin($r[0]['data']));
|
||||
$ph = photo_factory($d, $r[0]['type']);
|
||||
$d = (($r[0]['os_storage']) ? @file_get_contents($r[0]['content']) : dbunescbin($r[0]['content']));
|
||||
$ph = photo_factory($d, $r[0]['mimetype']);
|
||||
if($ph->is_valid()) {
|
||||
$rotate_deg = ( (intval($_POST['rotate']) == 1) ? 270 : 90 );
|
||||
$ph->rotate($rotate_deg);
|
||||
|
@ -270,9 +270,9 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
$height = $ph->getHeight();
|
||||
|
||||
if(intval($r[0]['os_storage'])) {
|
||||
@file_put_contents($r[0]['data'],$ph->imageString());
|
||||
$data = $r[0]['data'];
|
||||
$fsize = @filesize($r[0]['data']);
|
||||
@file_put_contents($r[0]['content'],$ph->imageString());
|
||||
$data = $r[0]['content'];
|
||||
$fsize = @filesize($r[0]['content']);
|
||||
q("update attach set filesize = %d where hash = '%s' and uid = %d limit 1",
|
||||
intval($fsize),
|
||||
dbesc($resource_id),
|
||||
|
@ -284,7 +284,7 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
$fsize = strlen($data);
|
||||
}
|
||||
|
||||
$x = q("update photo set data = '%s', `size` = %d, height = %d, width = %d where `resource_id` = '%s' and uid = %d and scale = 0",
|
||||
$x = q("update photo set content = '%s', filesize = %d, height = %d, width = %d where `resource_id` = '%s' and uid = %d and imgscale = 0",
|
||||
dbescbin($data),
|
||||
intval($fsize),
|
||||
intval($height),
|
||||
|
@ -299,7 +299,7 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
$width = $ph->getWidth();
|
||||
$height = $ph->getHeight();
|
||||
|
||||
$x = q("update photo set data = '%s', height = %d, width = %d where `resource_id` = '%s' and uid = %d and scale = 1",
|
||||
$x = q("update photo set content = '%s', height = %d, width = %d where `resource_id` = '%s' and uid = %d and imgscale = 1",
|
||||
dbescbin($ph->imageString()),
|
||||
intval($height),
|
||||
intval($width),
|
||||
|
@ -314,7 +314,7 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
$width = $ph->getWidth();
|
||||
$height = $ph->getHeight();
|
||||
|
||||
$x = q("update photo set data = '%s', height = %d, width = %d where `resource_id` = '%s' and uid = %d and scale = 2",
|
||||
$x = q("update photo set content = '%s', height = %d, width = %d where `resource_id` = '%s' and uid = %d and imgscale = 2",
|
||||
dbescbin($ph->imageString()),
|
||||
intval($height),
|
||||
intval($width),
|
||||
|
@ -329,7 +329,7 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
$width = $ph->getWidth();
|
||||
$height = $ph->getHeight();
|
||||
|
||||
$x = q("update photo set data = '%s', height = %d, width = %d where `resource_id` = '%s' and uid = %d and scale = 3",
|
||||
$x = q("update photo set content = '%s', height = %d, width = %d where `resource_id` = '%s' and uid = %d and imgscale = 3",
|
||||
dbescbin($ph->imageString()),
|
||||
intval($height),
|
||||
intval($width),
|
||||
|
@ -340,12 +340,12 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
}
|
||||
}
|
||||
|
||||
$p = q("SELECT type, is_nsfw, description, resource_id, scale, allow_cid, allow_gid, deny_cid, deny_gid FROM photo WHERE resource_id = '%s' AND uid = %d ORDER BY scale DESC",
|
||||
$p = q("SELECT mimetype, is_nsfw, description, resource_id, imgscale, allow_cid, allow_gid, deny_cid, deny_gid FROM photo WHERE resource_id = '%s' AND uid = %d ORDER BY imgscale DESC",
|
||||
dbesc($resource_id),
|
||||
intval($page_owner_uid)
|
||||
);
|
||||
if($p) {
|
||||
$ext = $phototypes[$p[0]['type']];
|
||||
$ext = $phototypes[$p[0]['mimetype']];
|
||||
|
||||
$r = q("UPDATE `photo` SET `description` = '%s', `allow_cid` = '%s', `allow_gid` = '%s', `deny_cid` = '%s', `deny_gid` = '%s' WHERE `resource_id` = '%s' AND `uid` = %d",
|
||||
dbesc($desc),
|
||||
|
@ -440,7 +440,7 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
if($success['replaced']) {
|
||||
$post_tags[] = array(
|
||||
'uid' => $profile_uid,
|
||||
'type' => $success['termtype'],
|
||||
'ttype' => $success['termtype'],
|
||||
'otype' => TERM_OBJ_POST,
|
||||
'term' => $success['term'],
|
||||
'url' => $success['url']
|
||||
|
@ -611,7 +611,7 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
|
||||
/* Show space usage */
|
||||
|
||||
$r = q("select sum(size) as total from photo where aid = %d and scale = 0 ",
|
||||
$r = q("select sum(filesize) as total from photo where aid = %d and imgscale = 0 ",
|
||||
intval(\App::$data['channel']['channel_account_id'])
|
||||
);
|
||||
|
||||
|
@ -704,8 +704,8 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
\App::$page['htmlhead'] .= "\r\n" . '<link rel="alternate" type="application/json+oembed" href="' . z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$cmd) . '" title="oembed" />' . "\r\n";
|
||||
|
||||
|
||||
$r = q("SELECT `resource_id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` = '%s'
|
||||
AND `scale` <= 4 and photo_usage IN ( %d, %d ) and is_nsfw = %d $sql_extra GROUP BY `resource_id`",
|
||||
$r = q("SELECT `resource_id`, max(`imgscale`) AS `imgscale` FROM `photo` WHERE `uid` = %d AND `album` = '%s'
|
||||
AND `imgscale` <= 4 and photo_usage IN ( %d, %d ) and is_nsfw = %d $sql_extra GROUP BY `resource_id`",
|
||||
intval($owner_uid),
|
||||
dbesc($album),
|
||||
intval(PHOTO_NORMAL),
|
||||
|
@ -725,9 +725,9 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
$order = 'DESC';
|
||||
|
||||
|
||||
$r = q("SELECT p.resource_id, p.id, p.filename, p.type, p.scale, p.description, p.created FROM photo p INNER JOIN
|
||||
(SELECT resource_id, max(scale) scale FROM photo WHERE uid = %d AND album = '%s' AND scale <= 4 AND photo_usage IN ( %d, %d ) and is_nsfw = %d $sql_extra GROUP BY resource_id) ph
|
||||
ON (p.resource_id = ph.resource_id AND p.scale = ph.scale)
|
||||
$r = q("SELECT p.resource_id, p.id, p.filename, p.mimetype, p.imgscale, p.description, p.created FROM photo p INNER JOIN
|
||||
(SELECT resource_id, max(imgscale) imgscale FROM photo WHERE uid = %d AND album = '%s' AND imgscale <= 4 AND photo_usage IN ( %d, %d ) and is_nsfw = %d $sql_extra GROUP BY resource_id) ph
|
||||
ON (p.resource_id = ph.resource_id AND p.imgscale = ph.imgscale)
|
||||
ORDER BY created $order LIMIT %d OFFSET %d",
|
||||
intval($owner_uid),
|
||||
dbesc($album),
|
||||
|
@ -777,7 +777,7 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
else
|
||||
$twist = 'rotright';
|
||||
|
||||
$ext = $phototypes[$rr['type']];
|
||||
$ext = $phototypes[$rr['mimetype']];
|
||||
|
||||
$imgalt_e = $rr['filename'];
|
||||
$desc_e = $rr['description'];
|
||||
|
@ -790,7 +790,7 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
'twist' => ' ' . $twist . rand(2,4),
|
||||
'link' => $imagelink,
|
||||
'title' => t('View Photo'),
|
||||
'src' => z_root() . '/photo/' . $rr['resource_id'] . '-' . $rr['scale'] . '.' .$ext,
|
||||
'src' => z_root() . '/photo/' . $rr['resource_id'] . '-' . $rr['imgscale'] . '.' .$ext,
|
||||
'alt' => $imgalt_e,
|
||||
'desc'=> $desc_e,
|
||||
'ext' => $ext,
|
||||
|
@ -852,8 +852,8 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
|
||||
// fetch image, item containing image, then comments
|
||||
|
||||
$ph = q("SELECT id,aid,uid,xchan,resource_id,created,edited,title,`description`,album,filename,`type`,height,width,`size`,scale,photo_usage,is_nsfw,allow_cid,allow_gid,deny_cid,deny_gid FROM `photo` WHERE `uid` = %d AND `resource_id` = '%s'
|
||||
$sql_extra ORDER BY `scale` ASC ",
|
||||
$ph = q("SELECT id,aid,uid,xchan,resource_id,created,edited,title,`description`,album,filename,mimetype,height,width,filesize,imgscale,photo_usage,is_nsfw,allow_cid,allow_gid,deny_cid,deny_gid FROM `photo` WHERE `uid` = %d AND `resource_id` = '%s'
|
||||
$sql_extra ORDER BY `imgscale` ASC ",
|
||||
intval($owner_uid),
|
||||
dbesc($datum)
|
||||
);
|
||||
|
@ -884,7 +884,7 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
$order = 'DESC';
|
||||
|
||||
|
||||
$prvnxt = q("SELECT `resource_id` FROM `photo` WHERE `album` = '%s' AND `uid` = %d AND `scale` = 0
|
||||
$prvnxt = q("SELECT `resource_id` FROM `photo` WHERE `album` = '%s' AND `uid` = %d AND `imgscale` = 0
|
||||
$sql_extra ORDER BY `created` $order ",
|
||||
dbesc($ph[0]['album']),
|
||||
intval($owner_uid)
|
||||
|
@ -911,7 +911,7 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
if(count($ph) == 1)
|
||||
$hires = $lores = $ph[0];
|
||||
if(count($ph) > 1) {
|
||||
if($ph[1]['scale'] == 2) {
|
||||
if($ph[1]['imgscale'] == 2) {
|
||||
// original is 640 or less, we can display it directly
|
||||
$hires = $lores = $ph[0];
|
||||
}
|
||||
|
@ -949,9 +949,9 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
$prevlink = array($prevlink, t('Previous'));
|
||||
|
||||
$photo = array(
|
||||
'href' => z_root() . '/photo/' . $hires['resource_id'] . '-' . $hires['scale'] . '.' . $phototypes[$hires['type']],
|
||||
'href' => z_root() . '/photo/' . $hires['resource_id'] . '-' . $hires['imgscale'] . '.' . $phototypes[$hires['mimetype']],
|
||||
'title'=> t('View Full Size'),
|
||||
'src' => z_root() . '/photo/' . $lores['resource_id'] . '-' . $lores['scale'] . '.' . $phototypes[$lores['type']] . '?f=&_u=' . datetime_convert('','','','ymdhis')
|
||||
'src' => z_root() . '/photo/' . $lores['resource_id'] . '-' . $lores['imgscale'] . '.' . $phototypes[$lores['mimetype']] . '?f=&_u=' . datetime_convert('','','','ymdhis')
|
||||
);
|
||||
|
||||
if($nextlink)
|
||||
|
@ -1277,7 +1277,7 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
\App::$page['htmlhead'] .= "\r\n" . '<link rel="alternate" type="application/json+oembed" href="' . z_root() . '/oep?f=&url=' . urlencode(z_root() . '/' . \App::$cmd) . '" title="oembed" />' . "\r\n";
|
||||
|
||||
|
||||
$r = q("SELECT `resource_id`, max(`scale`) AS `scale` FROM `photo` WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s'
|
||||
$r = q("SELECT `resource_id`, max(`imgscale`) AS `imgscale` FROM `photo` WHERE `uid` = %d AND `album` != '%s' AND `album` != '%s'
|
||||
and photo_usage in ( %d, %d ) and is_nsfw = %d $sql_extra GROUP BY `resource_id`",
|
||||
intval(\App::$data['channel']['channel_id']),
|
||||
dbesc('Contact Photos'),
|
||||
|
@ -1286,16 +1286,17 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
intval(PHOTO_PROFILE),
|
||||
intval($unsafe)
|
||||
);
|
||||
if(count($r)) {
|
||||
if($r) {
|
||||
\App::set_pager_total(count($r));
|
||||
\App::set_pager_itemspage(60);
|
||||
}
|
||||
|
||||
$r = q("SELECT p.resource_id, p.id, p.filename, p.type, p.album, p.scale, p.created FROM photo p INNER JOIN
|
||||
(SELECT resource_id, max(scale) scale FROM photo
|
||||
WHERE uid=%d AND album != '%s' AND album != '%s'
|
||||
AND photo_usage IN ( %d, %d ) and is_nsfw = %d $sql_extra group by resource_id) ph
|
||||
ON (p.resource_id = ph.resource_id and p.scale = ph.scale) ORDER by p.created DESC LIMIT %d OFFSET %d",
|
||||
$r = q("SELECT p.resource_id, p.id, p.filename, p.mimetype, p.album, p.imgscale, p.created FROM photo as p
|
||||
INNER JOIN ( SELECT resource_id, max(imgscale) as imgscale FROM photo
|
||||
WHERE uid = %d AND photo_usage IN ( %d, %d )
|
||||
AND is_nsfw = %d $sql_extra group by resource_id ) as ph
|
||||
ON (p.resource_id = ph.resource_id and p.imgscale = ph.imgscale)
|
||||
ORDER by p.created DESC LIMIT %d OFFSET %d",
|
||||
intval(\App::$data['channel']['channel_id']),
|
||||
dbesc('Contact Photos'),
|
||||
dbesc( t('Contact Photos')),
|
||||
|
@ -1309,14 +1310,14 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
|
||||
|
||||
$photos = array();
|
||||
if(count($r)) {
|
||||
if($r) {
|
||||
$twist = 'rotright';
|
||||
foreach($r as $rr) {
|
||||
if($twist == 'rotright')
|
||||
$twist = 'rotleft';
|
||||
else
|
||||
$twist = 'rotright';
|
||||
$ext = $phototypes[$rr['type']];
|
||||
$ext = $phototypes[$rr['mimetype']];
|
||||
|
||||
if(\App::get_template_engine() === 'internal') {
|
||||
$alt_e = template_escape($rr['filename']);
|
||||
|
@ -1332,7 +1333,7 @@ class Photos extends \Zotlabs\Web\Controller {
|
|||
'twist' => ' ' . $twist . rand(2,4),
|
||||
'link' => z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/image/' . $rr['resource_id'],
|
||||
'title' => t('View Photo'),
|
||||
'src' => z_root() . '/photo/' . $rr['resource_id'] . '-' . ((($rr['scale']) == 6) ? 4 : $rr['scale']) . '.' . $ext,
|
||||
'src' => z_root() . '/photo/' . $rr['resource_id'] . '-' . ((($rr['imgscale']) == 6) ? 4 : $rr['imgscale']) . '.' . $ext,
|
||||
'alt' => $alt_e,
|
||||
'album' => array(
|
||||
'link' => z_root() . '/photos/' . \App::$data['channel']['channel_address'] . '/album/' . bin2hex($rr['album']),
|
||||
|
|
|
@ -173,7 +173,7 @@ class Ping extends \Zotlabs\Web\Controller {
|
|||
);
|
||||
break;
|
||||
case 'all_events':
|
||||
$r = q("update event set `ignore` = 1 where `ignore` = 0 and uid = %d AND start < '%s' AND start > '%s' ",
|
||||
$r = q("update event set `dimissed` = 1 where `dismissed` = 0 and uid = %d AND dtstart < '%s' AND dtstart > '%s' ",
|
||||
intval(local_channel()),
|
||||
dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now + ' . intval($evdays) . ' days')),
|
||||
dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now - 1 days'))
|
||||
|
@ -209,17 +209,17 @@ class Ping extends \Zotlabs\Web\Controller {
|
|||
);
|
||||
if($t && intval($t[0]['total']) > 49) {
|
||||
$z = q("select * from notify where uid = %d
|
||||
and seen = 0 order by date desc limit 50",
|
||||
and seen = 0 order by created desc limit 50",
|
||||
intval(local_channel())
|
||||
);
|
||||
}
|
||||
else {
|
||||
$z1 = q("select * from notify where uid = %d
|
||||
and seen = 0 order by date desc limit 50",
|
||||
and seen = 0 order by created desc limit 50",
|
||||
intval(local_channel())
|
||||
);
|
||||
$z2 = q("select * from notify where uid = %d
|
||||
and seen = 1 order by date desc limit %d",
|
||||
and seen = 1 order by created desc limit %d",
|
||||
intval(local_channel()),
|
||||
intval(50 - intval($t[0]['total']))
|
||||
);
|
||||
|
@ -230,10 +230,10 @@ class Ping extends \Zotlabs\Web\Controller {
|
|||
foreach($z as $zz) {
|
||||
$notifs[] = array(
|
||||
'notify_link' => z_root() . '/notify/view/' . $zz['id'],
|
||||
'name' => $zz['name'],
|
||||
'name' => $zz['xname'],
|
||||
'url' => $zz['url'],
|
||||
'photo' => $zz['photo'],
|
||||
'when' => relative_date($zz['date']),
|
||||
'when' => relative_date($zz['created']),
|
||||
'hclass' => (($zz['seen']) ? 'notify-seen' : 'notify-unseen'),
|
||||
'message' => strip_tags(bbcode($zz['msg']))
|
||||
);
|
||||
|
@ -325,9 +325,9 @@ class Ping extends \Zotlabs\Web\Controller {
|
|||
$result = array();
|
||||
|
||||
$r = q("SELECT * FROM event left join xchan on event_xchan = xchan_hash
|
||||
WHERE `event`.`uid` = %d AND start < '%s' AND start > '%s' and `ignore` = 0
|
||||
and type in ( 'event', 'birthday' )
|
||||
ORDER BY `start` DESC LIMIT 1000",
|
||||
WHERE `event`.`uid` = %d AND dtstart < '%s' AND dtstart > '%s' and `dismissed` = 0
|
||||
and etype in ( 'event', 'birthday' )
|
||||
ORDER BY `dtstart` DESC LIMIT 1000",
|
||||
intval(local_channel()),
|
||||
dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now + ' . intval($evdays) . ' days')),
|
||||
dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now - 1 days'))
|
||||
|
@ -336,14 +336,14 @@ class Ping extends \Zotlabs\Web\Controller {
|
|||
if($r) {
|
||||
foreach($r as $rr) {
|
||||
if($rr['adjust'])
|
||||
$md = datetime_convert('UTC', date_default_timezone_get(), $rr['start'], 'Y/m');
|
||||
$md = datetime_convert('UTC', date_default_timezone_get(), $rr['dtstart'], 'Y/m');
|
||||
else
|
||||
$md = datetime_convert('UTC', 'UTC', $rr['start'], 'Y/m');
|
||||
$md = datetime_convert('UTC', 'UTC', $rr['dtstart'], 'Y/m');
|
||||
|
||||
$strt = datetime_convert('UTC', (($rr['adjust']) ? date_default_timezone_get() : 'UTC'), $rr['start']);
|
||||
$strt = datetime_convert('UTC', (($rr['adjust']) ? date_default_timezone_get() : 'UTC'), $rr['dtstart']);
|
||||
$today = ((substr($strt, 0, 10) === datetime_convert('UTC', date_default_timezone_get(), 'now', 'Y-m-d')) ? true : false);
|
||||
|
||||
$when = day_translate(datetime_convert('UTC', (($rr['adjust']) ? date_default_timezone_get() : 'UTC'), $rr['start'], $bd_format)) . (($today) ? ' ' . t('[today]') : '');
|
||||
$when = day_translate(datetime_convert('UTC', (($rr['adjust']) ? date_default_timezone_get() : 'UTC'), $rr['dtstart'], $bd_format)) . (($today) ? ' ' . t('[today]') : '');
|
||||
|
||||
$result[] = array(
|
||||
'notify_link' => z_root() . '/events', // FIXME this takes you to an edit page and it may not be yours, we really want to just view the single event --> '/events/event/' . $rr['event_hash'],
|
||||
|
@ -443,10 +443,10 @@ class Ping extends \Zotlabs\Web\Controller {
|
|||
$t5 = dba_timer();
|
||||
|
||||
if($vnotify & (VNOTIFY_EVENT|VNOTIFY_EVENTTODAY|VNOTIFY_BIRTHDAY)) {
|
||||
$events = q("SELECT type, start, adjust FROM `event`
|
||||
WHERE `event`.`uid` = %d AND start < '%s' AND start > '%s' and `ignore` = 0
|
||||
and type in ( 'event', 'birthday' )
|
||||
ORDER BY `start` ASC ",
|
||||
$events = q("SELECT etype, dtstart, adjust FROM `event`
|
||||
WHERE `event`.`uid` = %d AND dtstart < '%s' AND dtstart > '%s' and `dismissed` = 0
|
||||
and etype in ( 'event', 'birthday' )
|
||||
ORDER BY `dtstart` ASC ",
|
||||
intval(local_channel()),
|
||||
dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now + ' . intval($evdays) . ' days')),
|
||||
dbesc(datetime_convert('UTC', date_default_timezone_get(), 'now - 1 days'))
|
||||
|
@ -459,14 +459,14 @@ class Ping extends \Zotlabs\Web\Controller {
|
|||
$str_now = datetime_convert('UTC', date_default_timezone_get(), 'now', 'Y-m-d');
|
||||
foreach($events as $x) {
|
||||
$bd = false;
|
||||
if($x['type'] === 'birthday') {
|
||||
if($x['etype'] === 'birthday') {
|
||||
$result['birthdays'] ++;
|
||||
$bd = true;
|
||||
}
|
||||
else {
|
||||
$result['events'] ++;
|
||||
}
|
||||
if(datetime_convert('UTC', ((intval($x['adjust'])) ? date_default_timezone_get() : 'UTC'), $x['start'], 'Y-m-d') === $str_now) {
|
||||
if(datetime_convert('UTC', ((intval($x['adjust'])) ? date_default_timezone_get() : 'UTC'), $x['dtstart'], 'Y-m-d') === $str_now) {
|
||||
$result['all_events_today'] ++;
|
||||
if($bd)
|
||||
$result['birthdays_today'] ++;
|
||||
|
|
|
@ -115,7 +115,7 @@ class Poke extends \Zotlabs\Web\Controller {
|
|||
),
|
||||
);
|
||||
|
||||
$arr['object'] = json_encode($obj);
|
||||
$arr['obj'] = json_encode($obj);
|
||||
|
||||
$arr['item_origin'] = 1;
|
||||
$arr['item_wall'] = 1;
|
||||
|
|
|
@ -93,7 +93,7 @@ class Profile_photo extends \Zotlabs\Web\Controller {
|
|||
$srcW = $_POST['xfinal'] - $srcX;
|
||||
$srcH = $_POST['yfinal'] - $srcY;
|
||||
|
||||
$r = q("SELECT * FROM photo WHERE resource_id = '%s' AND uid = %d AND scale = %d LIMIT 1",
|
||||
$r = q("SELECT * FROM photo WHERE resource_id = '%s' AND uid = %d AND imgscale = %d LIMIT 1",
|
||||
dbesc($image_id),
|
||||
dbesc(local_channel()),
|
||||
intval($scale));
|
||||
|
@ -101,9 +101,9 @@ class Profile_photo extends \Zotlabs\Web\Controller {
|
|||
if($r) {
|
||||
|
||||
$base_image = $r[0];
|
||||
$base_image['data'] = (($r[0]['os_storage']) ? @file_get_contents($base_image['data']) : dbunescbin($base_image['data']));
|
||||
$base_image['content'] = (($r[0]['os_storage']) ? @file_get_contents($base_image['content']) : dbunescbin($base_image['content']));
|
||||
|
||||
$im = photo_factory($base_image['data'], $base_image['type']);
|
||||
$im = photo_factory($base_image['content'], $base_image['mimetype']);
|
||||
if($im->is_valid()) {
|
||||
|
||||
$im->cropImage(300,$srcX,$srcY,$srcW,$srcH);
|
||||
|
@ -113,25 +113,25 @@ class Profile_photo extends \Zotlabs\Web\Controller {
|
|||
$p = array('aid' => $aid, 'uid' => local_channel(), 'resource_id' => $base_image['resource_id'],
|
||||
'filename' => $base_image['filename'], 'album' => t('Profile Photos'));
|
||||
|
||||
$p['scale'] = 4;
|
||||
$p['imgscale'] = 4;
|
||||
$p['photo_usage'] = (($is_default_profile) ? PHOTO_PROFILE : PHOTO_NORMAL);
|
||||
|
||||
$r1 = $im->save($p);
|
||||
|
||||
$im->scaleImage(80);
|
||||
$p['scale'] = 5;
|
||||
$p['imgscale'] = 5;
|
||||
|
||||
$r2 = $im->save($p);
|
||||
|
||||
$im->scaleImage(48);
|
||||
$p['scale'] = 6;
|
||||
$p['imgscale'] = 6;
|
||||
|
||||
$r3 = $im->save($p);
|
||||
|
||||
if($r1 === false || $r2 === false || $r3 === false) {
|
||||
// if one failed, delete them all so we can start over.
|
||||
notice( t('Image resize failed.') . EOL );
|
||||
$x = q("delete from photo where resource_id = '%s' and uid = %d and scale >= 4 ",
|
||||
$x = q("delete from photo where resource_id = '%s' and uid = %d and imgscale >= 4 ",
|
||||
dbesc($base_image['resource_id']),
|
||||
local_channel()
|
||||
);
|
||||
|
@ -208,7 +208,7 @@ class Profile_photo extends \Zotlabs\Web\Controller {
|
|||
logger('attach_store: ' . print_r($res,true));
|
||||
|
||||
if($res && intval($res['data']['is_photo'])) {
|
||||
$i = q("select * from photo where resource_id = '%s' and uid = %d order by scale",
|
||||
$i = q("select * from photo where resource_id = '%s' and uid = %d order by imgscale",
|
||||
dbesc($hash),
|
||||
intval(local_channel())
|
||||
);
|
||||
|
@ -220,11 +220,11 @@ class Profile_photo extends \Zotlabs\Web\Controller {
|
|||
$os_storage = false;
|
||||
|
||||
foreach($i as $ii) {
|
||||
if(intval($ii['scale']) < 2) {
|
||||
$smallest = intval($ii['scale']);
|
||||
if(intval($ii['imgscale']) < 2) {
|
||||
$smallest = intval($ii['imgscale']);
|
||||
$os_storage = intval($ii['os_storage']);
|
||||
$imagedata = $ii['data'];
|
||||
$filetype = $ii['type'];
|
||||
$imagedata = $ii['content'];
|
||||
$filetype = $ii['mimetype'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -250,7 +250,7 @@ class Profile_photo extends \Zotlabs\Web\Controller {
|
|||
*/
|
||||
|
||||
|
||||
function get() {
|
||||
function get() {
|
||||
|
||||
if(! local_channel()) {
|
||||
notice( t('Permission denied.') . EOL );
|
||||
|
@ -275,7 +275,7 @@ class Profile_photo extends \Zotlabs\Web\Controller {
|
|||
$resource_id = argv(2);
|
||||
|
||||
|
||||
$r = q("SELECT id, album, scale FROM photo WHERE uid = %d AND resource_id = '%s' ORDER BY scale ASC",
|
||||
$r = q("SELECT id, album, imgscale FROM photo WHERE uid = %d AND resource_id = '%s' ORDER BY imgscale ASC",
|
||||
intval(local_channel()),
|
||||
dbesc($resource_id)
|
||||
);
|
||||
|
@ -285,7 +285,7 @@ class Profile_photo extends \Zotlabs\Web\Controller {
|
|||
}
|
||||
$havescale = false;
|
||||
foreach($r as $rr) {
|
||||
if($rr['scale'] == 5)
|
||||
if($rr['imgscale'] == 5)
|
||||
$havescale = true;
|
||||
}
|
||||
|
||||
|
@ -315,7 +315,7 @@ class Profile_photo extends \Zotlabs\Web\Controller {
|
|||
goaway(z_root() . '/profiles');
|
||||
}
|
||||
|
||||
$r = q("SELECT `data`, `type`, resource_id, os_storage FROM photo WHERE id = %d and uid = %d limit 1",
|
||||
$r = q("SELECT content, mimetype, resource_id, os_storage FROM photo WHERE id = %d and uid = %d limit 1",
|
||||
intval($r[0]['id']),
|
||||
intval(local_channel())
|
||||
|
||||
|
@ -326,15 +326,15 @@ class Profile_photo extends \Zotlabs\Web\Controller {
|
|||
}
|
||||
|
||||
if(intval($r[0]['os_storage']))
|
||||
$data = @file_get_contents($r[0]['data']);
|
||||
$data = @file_get_contents($r[0]['content']);
|
||||
else
|
||||
$data = dbunescbin($r[0]['data']);
|
||||
$data = dbunescbin($r[0]['content']);
|
||||
|
||||
$ph = photo_factory($data, $r[0]['type']);
|
||||
$ph = photo_factory($data, $r[0]['mimetype']);
|
||||
$smallest = 0;
|
||||
if($ph->is_valid()) {
|
||||
// go ahead as if we have just uploaded a new photo to crop
|
||||
$i = q("select resource_id, scale from photo where resource_id = '%s' and uid = %d order by scale",
|
||||
$i = q("select resource_id, imgscale from photo where resource_id = '%s' and uid = %d order by imgscale",
|
||||
dbesc($r[0]['resource_id']),
|
||||
intval(local_channel())
|
||||
);
|
||||
|
@ -342,8 +342,8 @@ class Profile_photo extends \Zotlabs\Web\Controller {
|
|||
if($i) {
|
||||
$hash = $i[0]['resource_id'];
|
||||
foreach($i as $ii) {
|
||||
if(intval($ii['scale']) < 2) {
|
||||
$smallest = intval($ii['scale']);
|
||||
if(intval($ii['imgscale']) < 2) {
|
||||
$smallest = intval($ii['imgscale']);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -67,16 +67,16 @@ class Profiles extends \Zotlabs\Web\Controller {
|
|||
|
||||
$name = t('Profile-') . ($num_profiles + 1);
|
||||
|
||||
$r1 = q("SELECT `name`, `photo`, `thumb` FROM `profile` WHERE `uid` = %d AND `is_default` = 1 LIMIT 1",
|
||||
$r1 = q("SELECT `fullname`, `photo`, `thumb` FROM `profile` WHERE `uid` = %d AND `is_default` = 1 LIMIT 1",
|
||||
intval(local_channel()));
|
||||
|
||||
$r2 = q("INSERT INTO `profile` (`aid`, `uid` , `profile_guid`, `profile_name` , `name`, `photo`, `thumb`)
|
||||
$r2 = q("INSERT INTO `profile` (`aid`, `uid` , `profile_guid`, `profile_name` , `fullname`, `photo`, `thumb`)
|
||||
VALUES ( %d, '%s', '%s', '%s', '%s', '%s', '%s' )",
|
||||
intval(get_account_id()),
|
||||
intval(local_channel()),
|
||||
dbesc(random_string()),
|
||||
dbesc($name),
|
||||
dbesc($r1[0]['name']),
|
||||
dbesc($r1[0]['fullname']),
|
||||
dbesc($r1[0]['photo']),
|
||||
dbesc($r1[0]['thumb'])
|
||||
);
|
||||
|
@ -277,14 +277,14 @@ class Profiles extends \Zotlabs\Web\Controller {
|
|||
|
||||
$name = escape_tags(trim($_POST['name']));
|
||||
|
||||
if($orig[0]['name'] != $name) {
|
||||
if($orig[0]['fullname'] != $name) {
|
||||
$namechanged = true;
|
||||
|
||||
$v = validate_channelname($name);
|
||||
if($v) {
|
||||
notice($v);
|
||||
$namechanged = false;
|
||||
$name = $orig[0]['name'];
|
||||
$name = $orig[0]['fullname'];
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -350,7 +350,7 @@ class Profiles extends \Zotlabs\Web\Controller {
|
|||
$withchanged = false;
|
||||
|
||||
if(strlen($with)) {
|
||||
if($with != strip_tags($orig[0]['with'])) {
|
||||
if($with != strip_tags($orig[0]['partner'])) {
|
||||
$withchanged = true;
|
||||
$prf = '';
|
||||
$lookup = $with;
|
||||
|
@ -382,7 +382,7 @@ class Profiles extends \Zotlabs\Web\Controller {
|
|||
}
|
||||
}
|
||||
else
|
||||
$with = $orig[0]['with'];
|
||||
$with = $orig[0]['partner'];
|
||||
}
|
||||
|
||||
$profile_fields_basic = get_profile_fields_basic();
|
||||
|
@ -439,7 +439,7 @@ class Profiles extends \Zotlabs\Web\Controller {
|
|||
$changes[] = t('Dislikes');
|
||||
$value = $dislikes;
|
||||
}
|
||||
if($work != $orig[0]['work']) {
|
||||
if($work != $orig[0]['employment']) {
|
||||
$changes[] = t('Work/Employment');
|
||||
}
|
||||
if($religion != $orig[0]['religion']) {
|
||||
|
@ -486,7 +486,7 @@ class Profiles extends \Zotlabs\Web\Controller {
|
|||
|
||||
$r = q("UPDATE `profile`
|
||||
SET `profile_name` = '%s',
|
||||
`name` = '%s',
|
||||
`fullname` = '%s',
|
||||
`pdesc` = '%s',
|
||||
`gender` = '%s',
|
||||
`dob` = '%s',
|
||||
|
@ -496,7 +496,7 @@ class Profiles extends \Zotlabs\Web\Controller {
|
|||
`postal_code` = '%s',
|
||||
`country_name` = '%s',
|
||||
`marital` = '%s',
|
||||
`with` = '%s',
|
||||
`partner` = '%s',
|
||||
`howlong` = '%s',
|
||||
`sexual` = '%s',
|
||||
`homepage` = '%s',
|
||||
|
@ -515,7 +515,7 @@ class Profiles extends \Zotlabs\Web\Controller {
|
|||
`tv` = '%s',
|
||||
`film` = '%s',
|
||||
`romance` = '%s',
|
||||
`work` = '%s',
|
||||
`employment` = '%s',
|
||||
`education` = '%s',
|
||||
`hide_friends` = %d
|
||||
WHERE `id` = %d AND `uid` = %d",
|
||||
|
@ -591,7 +591,7 @@ class Profiles extends \Zotlabs\Web\Controller {
|
|||
}
|
||||
|
||||
|
||||
function get() {
|
||||
function get() {
|
||||
|
||||
$o = '';
|
||||
|
||||
|
@ -627,8 +627,6 @@ class Profiles extends \Zotlabs\Web\Controller {
|
|||
}
|
||||
|
||||
$editselect = 'none';
|
||||
// if(feature_enabled(local_channel(),'richtext'))
|
||||
// $editselect = 'textareas';
|
||||
|
||||
\App::$page['htmlhead'] .= replace_macros(get_markup_template('profed_head.tpl'), array(
|
||||
'$baseurl' => z_root(),
|
||||
|
@ -712,7 +710,7 @@ class Profiles extends \Zotlabs\Web\Controller {
|
|||
'$is_default' => $is_default,
|
||||
'$default' => t('This is your default profile.') . EOL . translate_scope(map_scope($channel['channel_r_profile'])),
|
||||
'$advanced' => $advanced,
|
||||
'$name' => array('name', t('Your full name'), $r[0]['name'], t('Required'), '*'),
|
||||
'$name' => array('name', t('Your full name'), $r[0]['fullname'], t('Required'), '*'),
|
||||
'$pdesc' => array('pdesc', t('Title/Description'), $r[0]['pdesc']),
|
||||
'$dob' => dob($r[0]['dob']),
|
||||
'$hide_friends' => $hide_friends,
|
||||
|
@ -725,7 +723,7 @@ class Profiles extends \Zotlabs\Web\Controller {
|
|||
'$gender_min' => gender_selector_min($r[0]['gender']),
|
||||
'$marital' => marital_selector($r[0]['marital']),
|
||||
'$marital_min' => marital_selector_min($r[0]['marital']),
|
||||
'$with' => array('with', t("Who (if applicable)"), $r[0]['with'], t('Examples: cathy123, Cathy Williams, cathy@example.com')),
|
||||
'$with' => array('with', t("Who (if applicable)"), $r[0]['partner'], t('Examples: cathy123, Cathy Williams, cathy@example.com')),
|
||||
'$howlong' => array('howlong', t('Since (date)'), ($r[0]['howlong'] === NULL_DATE ? '' : datetime_convert('UTC',date_default_timezone_get(),$r[0]['howlong']))),
|
||||
'$sexual' => sexpref_selector($r[0]['sexual']),
|
||||
'$sexual_min' => sexpref_selector_min($r[0]['sexual']),
|
||||
|
@ -743,7 +741,7 @@ class Profiles extends \Zotlabs\Web\Controller {
|
|||
'$film' => array('film', t('Film/Dance/Culture/Entertainment'), $r[0]['film']),
|
||||
'$interest' => array('interest', t('Hobbies/Interests'), $r[0]['interest']),
|
||||
'$romance' => array('romance',t('Love/Romance'), $r[0]['romance']),
|
||||
'$work' => array('work', t('Work/Employment'), $r[0]['work']),
|
||||
'$work' => array('work', t('Work/Employment'), $r[0]['employment']),
|
||||
'$education' => array('education', t('School/Education'), $r[0]['education']),
|
||||
'$contact' => array('contact', t('Contact information and social networks'), $r[0]['contact']),
|
||||
'$channels' => array('channels', t('My other channels'), $r[0]['channels']),
|
||||
|
@ -759,7 +757,7 @@ class Profiles extends \Zotlabs\Web\Controller {
|
|||
|
||||
$r = q("SELECT * FROM `profile` WHERE `uid` = %d",
|
||||
local_channel());
|
||||
if(count($r)) {
|
||||
if($r) {
|
||||
|
||||
$tpl = get_markup_template('profile_entry.tpl');
|
||||
foreach($r as $rr) {
|
||||
|
@ -780,10 +778,7 @@ class Profiles extends \Zotlabs\Web\Controller {
|
|||
'$cr_new' => t('Create New'),
|
||||
'$cr_new_link' => 'profiles/new?t=' . get_form_security_token("profile_new"),
|
||||
'$profiles' => $profiles
|
||||
));
|
||||
|
||||
|
||||
|
||||
));
|
||||
|
||||
}
|
||||
return $o;
|
||||
|
|
|
@ -79,7 +79,7 @@ class Search extends \Zotlabs\Web\Controller {
|
|||
return $o;
|
||||
|
||||
if($tag) {
|
||||
$sql_extra = sprintf(" AND `item`.`id` IN (select `oid` from term where otype = %d and type in ( %d , %d) and term = '%s') ",
|
||||
$sql_extra = sprintf(" AND `item`.`id` IN (select `oid` from term where otype = %d and ttype in ( %d , %d) and term = '%s') ",
|
||||
intval(TERM_OBJ_POST),
|
||||
intval(TERM_HASHTAG),
|
||||
intval(TERM_COMMUNITYTAG),
|
||||
|
|
|
@ -46,7 +46,7 @@ class Search_ac extends \Zotlabs\Web\Controller {
|
|||
}
|
||||
}
|
||||
|
||||
$r = q("select distinct term, tid, url from term where type in ( %d, %d ) $tag_sql_extra group by term order by term asc",
|
||||
$r = q("select distinct term, tid, url from term where ttype in ( %d, %d ) $tag_sql_extra group by term order by term asc",
|
||||
intval(TERM_HASHTAG),
|
||||
intval(TERM_COMMUNITYTAG)
|
||||
);
|
||||
|
|
|
@ -78,7 +78,7 @@ class Settings extends \Zotlabs\Web\Controller {
|
|||
$r = q("UPDATE clients SET
|
||||
client_id='%s',
|
||||
pw='%s',
|
||||
name='%s',
|
||||
clname='%s',
|
||||
redirect_uri='%s',
|
||||
icon='%s',
|
||||
uid=%d
|
||||
|
@ -91,7 +91,7 @@ class Settings extends \Zotlabs\Web\Controller {
|
|||
intval(local_channel()),
|
||||
dbesc($key));
|
||||
} else {
|
||||
$r = q("INSERT INTO clients (client_id, pw, name, redirect_uri, icon, uid)
|
||||
$r = q("INSERT INTO clients (client_id, pw, clname, redirect_uri, icon, uid)
|
||||
VALUES ('%s','%s','%s','%s','%s',%d)",
|
||||
dbesc($key),
|
||||
dbesc($secret),
|
||||
|
@ -337,7 +337,7 @@ class Settings extends \Zotlabs\Web\Controller {
|
|||
}
|
||||
$hide_presence = 1 - (intval($role_permissions['online']));
|
||||
if($role_permissions['default_collection']) {
|
||||
$r = q("select hash from groups where uid = %d and name = '%s' limit 1",
|
||||
$r = q("select hash from groups where uid = %d and gname = '%s' limit 1",
|
||||
intval(local_channel()),
|
||||
dbesc( t('Friends') )
|
||||
);
|
||||
|
@ -345,7 +345,7 @@ class Settings extends \Zotlabs\Web\Controller {
|
|||
require_once('include/group.php');
|
||||
group_add(local_channel(), t('Friends'));
|
||||
group_add_member(local_channel(),t('Friends'),$channel['channel_hash']);
|
||||
$r = q("select hash from groups where uid = %d and name = '%s' limit 1",
|
||||
$r = q("select hash from groups where uid = %d and gname = '%s' limit 1",
|
||||
intval(local_channel()),
|
||||
dbesc( t('Friends') )
|
||||
);
|
||||
|
@ -537,7 +537,7 @@ class Settings extends \Zotlabs\Web\Controller {
|
|||
dbesc(datetime_convert()),
|
||||
dbesc($channel['channel_hash'])
|
||||
);
|
||||
$r = q("update profile set name = '%s' where uid = %d and is_default = 1",
|
||||
$r = q("update profile set fullname = '%s' where uid = %d and is_default = 1",
|
||||
dbesc($username),
|
||||
intval($channel['channel_id'])
|
||||
);
|
||||
|
@ -562,7 +562,7 @@ class Settings extends \Zotlabs\Web\Controller {
|
|||
|
||||
|
||||
|
||||
function get() {
|
||||
function get() {
|
||||
|
||||
$o = '';
|
||||
nav_set_selected('settings');
|
||||
|
@ -615,7 +615,7 @@ class Settings extends \Zotlabs\Web\Controller {
|
|||
'$title' => t('Add application'),
|
||||
'$submit' => t('Update'),
|
||||
'$cancel' => t('Cancel'),
|
||||
'$name' => array('name', t('Name'), $app['name'] , ''),
|
||||
'$name' => array('name', t('Name'), $app['clname'] , ''),
|
||||
'$key' => array('key', t('Consumer Key'), $app['client_id'], ''),
|
||||
'$secret' => array('secret', t('Consumer Secret'), $app['pw'], ''),
|
||||
'$redirect' => array('redirect', t('Redirect'), $app['redirect_uri'], ''),
|
||||
|
|
|
@ -48,7 +48,7 @@ class Share extends \Zotlabs\Web\Controller {
|
|||
|
||||
$is_photo = (($r[0]['obj_type'] === ACTIVITY_OBJ_PHOTO) ? true : false);
|
||||
if($is_photo) {
|
||||
$object = json_decode($r[0]['object'],true);
|
||||
$object = json_decode($r[0]['obj'],true);
|
||||
$photo_bb = $object['body'];
|
||||
}
|
||||
|
||||
|
|
|
@ -46,7 +46,7 @@ class Sharedwithme extends \Zotlabs\Web\Controller {
|
|||
}
|
||||
|
||||
//list files
|
||||
$r = q("SELECT id, uid, object, item_unseen FROM item WHERE verb = '%s' AND obj_type = '%s' AND uid = %d AND owner_xchan != '%s'",
|
||||
$r = q("SELECT id, uid, obj, item_unseen FROM item WHERE verb = '%s' AND obj_type = '%s' AND uid = %d AND owner_xchan != '%s'",
|
||||
dbesc(ACTIVITY_POST),
|
||||
dbesc(ACTIVITY_OBJ_FILE),
|
||||
intval(local_channel()),
|
||||
|
@ -59,7 +59,7 @@ class Sharedwithme extends \Zotlabs\Web\Controller {
|
|||
if($r) {
|
||||
|
||||
foreach($r as $rr) {
|
||||
$object = json_decode($rr['object'],true);
|
||||
$object = json_decode($rr['obj'],true);
|
||||
|
||||
$item = array();
|
||||
$item['id'] = $rr['id'];
|
||||
|
|
|
@ -144,7 +144,7 @@ class Subthread extends \Zotlabs\Web\Controller {
|
|||
|
||||
$arr['verb'] = $activity;
|
||||
$arr['obj_type'] = $objtype;
|
||||
$arr['object'] = $obj;
|
||||
$arr['obj'] = $obj;
|
||||
|
||||
$arr['allow_cid'] = $item['allow_cid'];
|
||||
$arr['allow_gid'] = $item['allow_gid'];
|
||||
|
|
|
@ -124,7 +124,7 @@ class Tagger extends \Zotlabs\Web\Controller {
|
|||
$arr['tgt_type'] = $targettype;
|
||||
$arr['target'] = $target;
|
||||
$arr['obj_type'] = $objtype;
|
||||
$arr['object'] = $obj;
|
||||
$arr['obj'] = $obj;
|
||||
$arr['parent_mid'] = $item['mid'];
|
||||
|
||||
store_item_tag($item['uid'],$item['id'],TERM_OBJ_POST,TERM_COMMUNITYTAG,$term,$tagid);
|
||||
|
|
|
@ -54,7 +54,7 @@ class Tagrm extends \Zotlabs\Web\Controller {
|
|||
|
||||
|
||||
|
||||
function get() {
|
||||
function get() {
|
||||
|
||||
if(! local_channel()) {
|
||||
goaway(z_root() . '/' . $_SESSION['photo_return']);
|
||||
|
|
|
@ -45,7 +45,7 @@ class Tasks extends \Zotlabs\Web\Controller {
|
|||
|
||||
if((argc() > 2) && (argv(1) === 'complete') && intval(argv(2))) {
|
||||
$ret = array('success' => false);
|
||||
$r = q("select * from event where `type` = 'task' and uid = %d and id = %d limit 1",
|
||||
$r = q("select * from event where `etype` = 'task' and uid = %d and id = %d limit 1",
|
||||
intval(local_channel()),
|
||||
intval(argv(2))
|
||||
);
|
||||
|
@ -80,9 +80,9 @@ class Tasks extends \Zotlabs\Web\Controller {
|
|||
$event['account'] = $channel['channel_account_id'];
|
||||
$event['uid'] = $channel['channel_id'];
|
||||
$event['event_xchan'] = $channel['channel_hash'];
|
||||
$event['type'] = 'task';
|
||||
$event['etype'] = 'task';
|
||||
$event['nofinish'] = true;
|
||||
$event['created'] = $event['edited'] = $event['start'] = datetime_convert();
|
||||
$event['created'] = $event['edited'] = $event['dtstart'] = datetime_convert();
|
||||
$event['adjust'] = 1;
|
||||
$event['allow_cid'] = '<' . $channel['channel_hash'] . '>';
|
||||
$event['summary'] = escape_tags($_REQUEST['summary']);
|
||||
|
@ -92,21 +92,13 @@ class Tasks extends \Zotlabs\Web\Controller {
|
|||
else
|
||||
$x = array('success' => false);
|
||||
json_return_and_die($x);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
function get() {
|
||||
|
||||
function get() {
|
||||
if(! local_channel())
|
||||
return;
|
||||
|
||||
|
||||
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
|
|
@ -212,7 +212,7 @@ class Thing extends \Zotlabs\Web\Controller {
|
|||
|
||||
$arr['verb'] = $verb;
|
||||
$arr['obj_type'] = $objtype;
|
||||
$arr['object'] = $obj;
|
||||
$arr['obj'] = $obj;
|
||||
|
||||
if(! $profile['is_default']) {
|
||||
$arr['item_private'] = true;
|
||||
|
|
|
@ -246,7 +246,7 @@ class Directory extends DAV\Node implements DAV\ICollection, DAV\IQuota {
|
|||
$deny_gid = $c[0]['channel_deny_gid'];
|
||||
}
|
||||
|
||||
$r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, folder, os_storage, filetype, filesize, revision, is_photo, data, created, edited, allow_cid, allow_gid, deny_cid, deny_gid )
|
||||
$r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, folder, os_storage, filetype, filesize, revision, is_photo, content, created, edited, allow_cid, allow_gid, deny_cid, deny_gid )
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
|
||||
intval($c[0]['channel_account_id']),
|
||||
intval($c[0]['channel_id']),
|
||||
|
|
|
@ -124,7 +124,7 @@ class File extends DAV\Node implements DAV\IFile {
|
|||
);
|
||||
if ($r) {
|
||||
if (intval($r[0]['os_storage'])) {
|
||||
$d = q("select folder, data from attach where hash = '%s' and uid = %d limit 1",
|
||||
$d = q("select folder, content from attach where hash = '%s' and uid = %d limit 1",
|
||||
dbesc($this->data['hash']),
|
||||
intval($c[0]['channel_id'])
|
||||
);
|
||||
|
@ -139,7 +139,7 @@ class File extends DAV\Node implements DAV\IFile {
|
|||
$direct = $f1[0];
|
||||
}
|
||||
}
|
||||
$fname = dbunescbin($d[0]['data']);
|
||||
$fname = dbunescbin($d[0]['content']);
|
||||
if(strpos($fname,'store') === false)
|
||||
$f = 'store/' . $this->auth->owner_nick . '/' . $fname ;
|
||||
else
|
||||
|
@ -158,12 +158,12 @@ class File extends DAV\Node implements DAV\IFile {
|
|||
}
|
||||
else {
|
||||
// this shouldn't happen any more
|
||||
$r = q("UPDATE attach SET data = '%s' WHERE hash = '%s' AND uid = %d",
|
||||
$r = q("UPDATE attach SET content = '%s' WHERE hash = '%s' AND uid = %d",
|
||||
dbescbin(stream_get_contents($data)),
|
||||
dbesc($this->data['hash']),
|
||||
intval($this->data['uid'])
|
||||
);
|
||||
$r = q("SELECT length(data) AS fsize FROM attach WHERE hash = '%s' AND uid = %d LIMIT 1",
|
||||
$r = q("SELECT length(content) AS fsize FROM attach WHERE hash = '%s' AND uid = %d LIMIT 1",
|
||||
dbesc($this->data['hash']),
|
||||
intval($this->data['uid'])
|
||||
);
|
||||
|
@ -236,7 +236,7 @@ class File extends DAV\Node implements DAV\IFile {
|
|||
logger('get file ' . basename($this->name), LOGGER_DEBUG);
|
||||
logger('os_path: ' . $this->os_path, LOGGER_DATA);
|
||||
|
||||
$r = q("SELECT data, flags, os_storage, filename, filetype FROM attach WHERE hash = '%s' AND uid = %d LIMIT 1",
|
||||
$r = q("SELECT content, flags, os_storage, filename, filetype FROM attach WHERE hash = '%s' AND uid = %d LIMIT 1",
|
||||
dbesc($this->data['hash']),
|
||||
intval($this->data['uid'])
|
||||
);
|
||||
|
@ -250,14 +250,14 @@ class File extends DAV\Node implements DAV\IFile {
|
|||
}
|
||||
|
||||
if (intval($r[0]['os_storage'])) {
|
||||
$x = dbunescbin($r[0]['data']);
|
||||
$x = dbunescbin($r[0]['content']);
|
||||
if(strpos($x,'store') === false)
|
||||
$f = 'store/' . $this->auth->owner_nick . '/' . (($this->os_path) ? $this->os_path . '/' : '') . $x;
|
||||
else
|
||||
$f = $x;
|
||||
return fopen($f, 'rb');
|
||||
}
|
||||
return dbunescbin($r[0]['data']);
|
||||
return dbunescbin($r[0]['content']);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -18,10 +18,10 @@ class SessionHandler implements \SessionHandlerInterface {
|
|||
function read ($id) {
|
||||
|
||||
if($id) {
|
||||
$r = q("SELECT `data` FROM `session` WHERE `sid`= '%s'", dbesc($id));
|
||||
$r = q("SELECT `sess_data` FROM `session` WHERE `sid`= '%s'", dbesc($id));
|
||||
|
||||
if($r) {
|
||||
return $r[0]['data'];
|
||||
return $r[0]['sess_data'];
|
||||
}
|
||||
else {
|
||||
q("INSERT INTO `session` (sid, expire) values ('%s', '%s')",
|
||||
|
@ -59,7 +59,7 @@ class SessionHandler implements \SessionHandlerInterface {
|
|||
}
|
||||
|
||||
q("UPDATE `session`
|
||||
SET `data` = '%s', `expire` = '%s' WHERE `sid` = '%s'",
|
||||
SET `sess_data` = '%s', `expire` = '%s' WHERE `sid` = '%s'",
|
||||
dbesc($data),
|
||||
dbesc($expire),
|
||||
dbesc($id)
|
||||
|
|
|
@ -6,7 +6,7 @@ namespace Zotlabs\Zot;
|
|||
class Verify {
|
||||
|
||||
function create($type,$channel_id,$token,$meta) {
|
||||
return q("insert into verify ( type, channel, token, meta, created ) values ( '%s', %d, '%s', '%s', '%s' )",
|
||||
return q("insert into verify ( vtype, channel, token, meta, created ) values ( '%s', %d, '%s', '%s', '%s' )",
|
||||
dbesc($type),
|
||||
intval($channel_id),
|
||||
dbesc($token),
|
||||
|
@ -16,7 +16,7 @@ class Verify {
|
|||
}
|
||||
|
||||
function match($type,$channel_id,$token,$meta) {
|
||||
$r = q("select id from verify where type = '%s' and channel = %d and token = '%s' and meta = '%s' limit 1",
|
||||
$r = q("select id from verify where vtype = '%s' and channel = %d and token = '%s' and meta = '%s' limit 1",
|
||||
dbesc($type),
|
||||
intval($channel_id),
|
||||
dbesc($token),
|
||||
|
@ -32,7 +32,7 @@ class Verify {
|
|||
}
|
||||
|
||||
function purge($type,$interval) {
|
||||
q("delete from verify where type = '%s' and created < %s - INTERVAL %s",
|
||||
q("delete from verify where vtype = '%s' and created < %s - INTERVAL %s",
|
||||
dbesc($type),
|
||||
db_utcnow(),
|
||||
db_quoteinterval($interval)
|
||||
|
|
11
boot.php
|
@ -45,10 +45,10 @@ require_once('include/account.php');
|
|||
|
||||
|
||||
define ( 'PLATFORM_NAME', 'hubzilla' );
|
||||
define ( 'STD_VERSION', '1.7.1' );
|
||||
define ( 'STD_VERSION', '1.7.3' );
|
||||
define ( 'ZOT_REVISION', 1.1 );
|
||||
|
||||
define ( 'DB_UPDATE_VERSION', 1169 );
|
||||
define ( 'DB_UPDATE_VERSION', 1176 );
|
||||
|
||||
|
||||
/**
|
||||
|
@ -473,6 +473,7 @@ define ( 'NAMESPACE_YMEDIA', 'http://search.yahoo.com/mrss/' );
|
|||
* activity stream defines
|
||||
*/
|
||||
|
||||
define ( 'ACTIVITY_REACT', NAMESPACE_ZOT . '/activity/react' );
|
||||
define ( 'ACTIVITY_LIKE', NAMESPACE_ACTIVITY_SCHEMA . 'like' );
|
||||
define ( 'ACTIVITY_DISLIKE', NAMESPACE_ZOT . '/activity/dislike' );
|
||||
define ( 'ACTIVITY_AGREE', NAMESPACE_ZOT . '/activity/agree' );
|
||||
|
@ -1523,11 +1524,11 @@ function check_config(&$a) {
|
|||
|
||||
if(count($installed)) {
|
||||
foreach($installed as $i) {
|
||||
if(! in_array($i['name'], $plugins_arr)) {
|
||||
unload_plugin($i['name']);
|
||||
if(! in_array($i['aname'], $plugins_arr)) {
|
||||
unload_plugin($i['aname']);
|
||||
}
|
||||
else {
|
||||
$installed_arr[] = $i['name'];
|
||||
$installed_arr[] = $i['aname'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -229,7 +229,7 @@ function verify_email_address($arr) {
|
|||
|
||||
$hash = random_string();
|
||||
|
||||
$r = q("INSERT INTO register ( hash, created, uid, password, language ) VALUES ( '%s', '%s', %d, '%s', '%s' ) ",
|
||||
$r = q("INSERT INTO register ( hash, created, uid, password, lang ) VALUES ( '%s', '%s', %d, '%s', '%s' ) ",
|
||||
dbesc($hash),
|
||||
dbesc(datetime_convert()),
|
||||
intval($arr['account']['account_id']),
|
||||
|
@ -283,7 +283,7 @@ function send_reg_approval_email($arr) {
|
|||
|
||||
$hash = random_string();
|
||||
|
||||
$r = q("INSERT INTO register ( hash, created, uid, password, language ) VALUES ( '%s', '%s', %d, '%s', '%s' ) ",
|
||||
$r = q("INSERT INTO register ( hash, created, uid, password, lang ) VALUES ( '%s', '%s', %d, '%s', '%s' ) ",
|
||||
dbesc($hash),
|
||||
dbesc(datetime_convert()),
|
||||
intval($arr['account']['account_id']),
|
||||
|
@ -387,7 +387,7 @@ function account_allow($hash) {
|
|||
intval($register[0]['uid'])
|
||||
);
|
||||
|
||||
push_lang($register[0]['language']);
|
||||
push_lang($register[0]['lang']);
|
||||
|
||||
$email_tpl = get_intltext_template("register_open_eml.tpl");
|
||||
$email_tpl = replace_macros($email_tpl, array(
|
||||
|
|
|
@ -15,7 +15,7 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) {
|
|||
|
||||
$o .= "<select name=\"{$selname}[]\" id=\"$selclass\" class=\"$selclass\" multiple=\"multiple\" size=\"$size\" >\r\n";
|
||||
|
||||
$r = q("SELECT * FROM `groups` WHERE `deleted` = 0 AND `uid` = %d ORDER BY `name` ASC",
|
||||
$r = q("SELECT * FROM `groups` WHERE `deleted` = 0 AND `uid` = %d ORDER BY `gname` ASC",
|
||||
intval(local_channel())
|
||||
);
|
||||
|
||||
|
@ -32,7 +32,7 @@ function group_select($selname,$selclass,$preselected = false,$size = 4) {
|
|||
$selected = " selected=\"selected\" ";
|
||||
else
|
||||
$selected = '';
|
||||
$trimmed = mb_substr($rr['name'],0,12);
|
||||
$trimmed = mb_substr($rr['gname'],0,12);
|
||||
|
||||
$o .= "<option value=\"{$rr['id']}\" $selected title=\"{$rr['name']}\" >$trimmed</option>\r\n";
|
||||
}
|
||||
|
|
|
@ -368,7 +368,7 @@ require_once('include/api_auth.php');
|
|||
else
|
||||
$redirect = trim($_REQUEST['redirect_uris']);
|
||||
$icon = trim($_REQUEST['logo_uri']);
|
||||
$r = q("INSERT INTO clients (client_id, pw, name, redirect_uri, icon, uid)
|
||||
$r = q("INSERT INTO clients (client_id, pw, clname, redirect_uri, icon, uid)
|
||||
VALUES ('%s','%s','%s','%s','%s',%d)",
|
||||
dbesc($key),
|
||||
dbesc($secret),
|
||||
|
@ -554,7 +554,7 @@ require_once('include/api_auth.php');
|
|||
dbesc($_REQUEST['file_id'])
|
||||
);
|
||||
if($r) {
|
||||
unset($r[0]['data']);
|
||||
unset($r[0]['content']);
|
||||
$ret = array('attach' => $r[0]);
|
||||
json_return_and_die($ret);
|
||||
}
|
||||
|
@ -580,21 +580,21 @@ require_once('include/api_auth.php');
|
|||
$length = intval($ptr['filesize']);
|
||||
|
||||
if($ptr['is_dir'])
|
||||
$ptr['data'] = '';
|
||||
$ptr['content'] = '';
|
||||
elseif(! intval($r[0]['os_storage'])) {
|
||||
$ptr['start'] = $start;
|
||||
$x = substr(dbunescbin($ptr['data'],$start,$length));
|
||||
$x = substr(dbunescbin($ptr['content'],$start,$length));
|
||||
$ptr['length'] = strlen($x);
|
||||
$ptr['data'] = base64_encode($x);
|
||||
$ptr['content'] = base64_encode($x);
|
||||
}
|
||||
else {
|
||||
$fp = fopen(dbunescbin($ptr['data']),'r');
|
||||
$fp = fopen(dbunescbin($ptr['content']),'r');
|
||||
if($fp) {
|
||||
$seek = fseek($fp,$start,SEEK_SET);
|
||||
$x = fread($fp,$length);
|
||||
$ptr['start'] = $start;
|
||||
$ptr['length'] = strlen($x);
|
||||
$ptr['data'] = base64_encode($x);
|
||||
$ptr['content'] = base64_encode($x);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -617,11 +617,11 @@ require_once('include/api_auth.php');
|
|||
);
|
||||
if($r) {
|
||||
if($r[0]['is_dir'])
|
||||
$r[0]['data'] = '';
|
||||
$r[0]['content'] = '';
|
||||
elseif(intval($r[0]['os_storage']))
|
||||
$r[0]['data'] = base64_encode(file_get_contents(dbunescbin($r[0]['data'])));
|
||||
$r[0]['content'] = base64_encode(file_get_contents(dbunescbin($r[0]['content'])));
|
||||
else
|
||||
$r[0]['data'] = base64_encode(dbunescbin($r[0]['data']));
|
||||
$r[0]['content'] = base64_encode(dbunescbin($r[0]['content']));
|
||||
|
||||
$ret = array('attach' => $r[0]);
|
||||
json_return_and_die($ret);
|
||||
|
@ -647,16 +647,16 @@ require_once('include/api_auth.php');
|
|||
if (api_user()===false) return false;
|
||||
if(! $_REQUEST['photo_id']) return false;
|
||||
$scale = ((array_key_exists('scale',$_REQUEST)) ? intval($_REQUEST['scale']) : 0);
|
||||
$r = q("select * from photo where uid = %d and resource_id = '%s' and scale = %d limit 1",
|
||||
$r = q("select * from photo where uid = %d and resource_id = '%s' and imgscale = %d limit 1",
|
||||
intval(local_channel()),
|
||||
dbesc($_REQUEST['photo_id']),
|
||||
intval($scale)
|
||||
);
|
||||
if($r) {
|
||||
$data = dbunescbin($r[0]['data']);
|
||||
$data = dbunescbin($r[0]['content']);
|
||||
if(array_key_exists('os_storage',$r[0]) && intval($r[0]['os_storage']))
|
||||
$data = file_get_contents($data);
|
||||
$r[0]['data'] = base64_encode($data);
|
||||
$r[0]['content'] = base64_encode($data);
|
||||
$ret = array('photo' => $r[0]);
|
||||
$i = q("select id from item where uid = %d and resource_type = 'photo' and resource_id = '%s' limit 1",
|
||||
intval(local_channel()),
|
||||
|
|
|
@ -720,7 +720,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||
$edited = $created;
|
||||
|
||||
if($options === 'replace') {
|
||||
$r = q("update attach set filename = '%s', filetype = '%s', folder = '%s', filesize = %d, os_storage = %d, is_photo = %d, data = '%s', edited = '%s' where id = %d and uid = %d",
|
||||
$r = q("update attach set filename = '%s', filetype = '%s', folder = '%s', filesize = %d, os_storage = %d, is_photo = %d, content = '%s', edited = '%s' where id = %d and uid = %d",
|
||||
dbesc($filename),
|
||||
dbesc($mimetype),
|
||||
dbesc($folder_hash),
|
||||
|
@ -734,7 +734,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||
);
|
||||
}
|
||||
elseif($options === 'revise') {
|
||||
$r = q("insert into attach ( aid, uid, hash, creator, filename, filetype, folder, filesize, revision, os_storage, is_photo, data, created, edited, allow_cid, allow_gid, deny_cid, deny_gid )
|
||||
$r = q("insert into attach ( aid, uid, hash, creator, filename, filetype, folder, filesize, revision, os_storage, is_photo, content, created, edited, allow_cid, allow_gid, deny_cid, deny_gid )
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
|
||||
intval($x[0]['aid']),
|
||||
intval($channel_id),
|
||||
|
@ -775,7 +775,7 @@ function attach_store($channel, $observer_hash, $options = '', $arr = null) {
|
|||
}
|
||||
else {
|
||||
|
||||
$r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, filetype, folder, filesize, revision, os_storage, is_photo, data, created, edited, allow_cid, allow_gid,deny_cid, deny_gid )
|
||||
$r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, filetype, folder, filesize, revision, os_storage, is_photo, content, created, edited, allow_cid, allow_gid,deny_cid, deny_gid )
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
|
||||
intval($channel['channel_account_id']),
|
||||
intval($channel_id),
|
||||
|
@ -1032,7 +1032,7 @@ function attach_mkdir($channel, $observer_hash, $arr = null) {
|
|||
|
||||
$created = datetime_convert();
|
||||
|
||||
$r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, filetype, filesize, revision, folder, os_storage, is_dir, data, created, edited, allow_cid, allow_gid, deny_cid, deny_gid )
|
||||
$r = q("INSERT INTO attach ( aid, uid, hash, creator, filename, filetype, filesize, revision, folder, os_storage, is_dir, content, created, edited, allow_cid, allow_gid, deny_cid, deny_gid )
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', %d, %d, '%s', %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s' ) ",
|
||||
intval($channel['channel_account_id']),
|
||||
intval($channel_id),
|
||||
|
@ -1275,16 +1275,16 @@ function attach_delete($channel_id, $resource, $is_photo = 0) {
|
|||
|
||||
// delete a file from filesystem
|
||||
if(intval($r[0]['os_storage'])) {
|
||||
$y = q("SELECT data FROM attach WHERE hash = '%s' AND uid = %d LIMIT 1",
|
||||
$y = q("SELECT content FROM attach WHERE hash = '%s' AND uid = %d LIMIT 1",
|
||||
dbesc($resource),
|
||||
intval($channel_id)
|
||||
);
|
||||
|
||||
if($y) {
|
||||
if(strpos($y[0]['data'],'store') === false)
|
||||
$f = 'store/' . $channel_address . '/' . $y[0]['data'];
|
||||
if(strpos($y[0]['content'],'store') === false)
|
||||
$f = 'store/' . $channel_address . '/' . $y[0]['content'];
|
||||
else
|
||||
$f = $y[0]['data'];
|
||||
$f = $y[0]['content'];
|
||||
|
||||
if(is_dir($f))
|
||||
@rmdir($f);
|
||||
|
@ -1585,7 +1585,7 @@ function file_activity($channel_id, $object, $allow_cid, $allow_gid, $deny_cid,
|
|||
$arr['deny_gid'] = perms2str($u_arr_deny_gid);
|
||||
$arr['item_private'] = $private;
|
||||
$arr['verb'] = ACTIVITY_UPDATE;
|
||||
$arr['object'] = $u_jsonobject;
|
||||
$arr['obj'] = $u_jsonobject;
|
||||
$arr['body'] = '';
|
||||
|
||||
$post = item_store($arr);
|
||||
|
@ -1620,7 +1620,7 @@ function file_activity($channel_id, $object, $allow_cid, $allow_gid, $deny_cid,
|
|||
$arr['deny_gid'] = perms2str($arr_deny_gid);
|
||||
$arr['item_private'] = $private;
|
||||
$arr['verb'] = (($update) ? ACTIVITY_UPDATE : ACTIVITY_POST);
|
||||
$arr['object'] = (($update) ? $u_jsonobject : $jsonobject);
|
||||
$arr['obj'] = (($update) ? $u_jsonobject : $jsonobject);
|
||||
$arr['body'] = '';
|
||||
|
||||
$post = item_store($arr);
|
||||
|
@ -1854,21 +1854,19 @@ function attach_export_data($channel, $resource_id, $deleted = false) {
|
|||
} while($hash_ptr);
|
||||
|
||||
|
||||
|
||||
|
||||
$paths = array_reverse($paths);
|
||||
|
||||
$ret['attach'] = $paths;
|
||||
|
||||
|
||||
if($attach_ptr['is_photo']) {
|
||||
$r = q("select * from photo where resource_id = '%s' and uid = %d order by scale asc",
|
||||
$r = q("select * from photo where resource_id = '%s' and uid = %d order by imgscale asc",
|
||||
dbesc($resource_id),
|
||||
intval($channel['channel_id'])
|
||||
);
|
||||
if($r) {
|
||||
for($x = 0; $x < count($r); $x ++) {
|
||||
$r[$x]['data'] = base64_encode($r[$x]['data']);
|
||||
$r[$x]['content'] = base64_encode($r[$x]['content']);
|
||||
}
|
||||
$ret['photo'] = $r;
|
||||
}
|
||||
|
|
|
@ -477,9 +477,12 @@ function bb_observer($Text) {
|
|||
return $Text;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
function bb_code($match) {
|
||||
if(strpos($match[0], "<br />"))
|
||||
return '<code>' . trim($match[1]) . '</code>';
|
||||
else
|
||||
return '<code class="inline-code">' . trim($match[1]) . '</code>';
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
@ -785,12 +788,9 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false)
|
|||
$Text = preg_replace("/\[font=(.*?)\](.*?)\[\/font\]/sm", "<span style=\"font-family: $1;\">$2</span>", $Text);
|
||||
}
|
||||
|
||||
// Declare the format for [code] layout
|
||||
$CodeLayout = '<code>$1</code>';
|
||||
|
||||
// Check for [code] text
|
||||
if (strpos($Text,'[code]') !== false) {
|
||||
$Text = preg_replace("/\[code\](.*?)\[\/code\]/ism", "$CodeLayout", $Text);
|
||||
$Text = preg_replace_callback("/\[code\](.*?)\[\/code\]/ism", 'bb_code', $Text);
|
||||
}
|
||||
|
||||
// Check for [spoiler] text
|
||||
|
|
|
@ -337,7 +337,7 @@ function create_identity($arr) {
|
|||
// Not checking return value.
|
||||
// It's ok for this to fail if it's an imported channel, and therefore the hash is a duplicate
|
||||
|
||||
$r = q("INSERT INTO profile ( aid, uid, profile_guid, profile_name, is_default, publish, name, photo, thumb)
|
||||
$r = q("INSERT INTO profile ( aid, uid, profile_guid, profile_name, is_default, publish, fullname, photo, thumb)
|
||||
VALUES ( %d, %d, '%s', '%s', %d, %d, '%s', '%s', '%s') ",
|
||||
intval($ret['channel']['channel_account_id']),
|
||||
intval($newuid),
|
||||
|
@ -392,7 +392,7 @@ function create_identity($arr) {
|
|||
// if our role_permissions indicate that we're using a default collection ACL, add it.
|
||||
|
||||
if(is_array($role_permissions) && $role_permissions['default_collection']) {
|
||||
$r = q("select hash from groups where uid = %d and name = '%s' limit 1",
|
||||
$r = q("select hash from groups where uid = %d and gname = '%s' limit 1",
|
||||
intval($newuid),
|
||||
dbesc( t('Friends') )
|
||||
);
|
||||
|
@ -550,18 +550,18 @@ function identity_basic_export($channel_id, $items = false) {
|
|||
if($r)
|
||||
$ret['config'] = $r;
|
||||
|
||||
$r = q("select type, data, os_storage from photo where scale = 4 and photo_usage = %d and uid = %d limit 1",
|
||||
$r = q("select mimetype, content, os_storage from photo where imgscale = 4 and photo_usage = %d and uid = %d limit 1",
|
||||
intval(PHOTO_PROFILE),
|
||||
intval($channel_id)
|
||||
);
|
||||
|
||||
if($r) {
|
||||
$ret['photo'] = array('type' => $r[0]['type'], 'data' => (($r[0]['os_storage']) ? base64url_encode(file_get_contents($r[0]['data'])) : base64url_encode($r[0]['data'])));
|
||||
$ret['photo'] = array('type' => $r[0]['mimetype'], 'data' => (($r[0]['os_storage']) ? base64url_encode(file_get_contents($r[0]['content'])) : base64url_encode($r[0]['content'])));
|
||||
}
|
||||
|
||||
// All other term types will be included in items, if requested.
|
||||
|
||||
$r = q("select * from term where type in (%d,%d) and uid = %d",
|
||||
$r = q("select * from term where ttype in (%d,%d) and uid = %d",
|
||||
intval(TERM_SAVEDSEARCH),
|
||||
intval(TERM_THING),
|
||||
intval($channel_id)
|
||||
|
@ -1108,156 +1108,12 @@ function profile_sidebar($profile, $block = 0, $show_connect = true, $zcard = fa
|
|||
}
|
||||
|
||||
|
||||
/**
|
||||
* @FIXME or remove
|
||||
*/
|
||||
function get_birthdays() {
|
||||
|
||||
$o = '';
|
||||
|
||||
if(! local_channel())
|
||||
return $o;
|
||||
|
||||
$bd_format = t('g A l F d') ; // 8 AM Friday January 18
|
||||
$bd_short = t('F d');
|
||||
|
||||
$r = q("SELECT `event`.*, `event`.`id` AS `eid`, `contact`.* FROM `event`
|
||||
LEFT JOIN `contact` ON `contact`.`id` = `event`.`cid`
|
||||
WHERE `event`.`uid` = %d AND `type` = 'birthday' AND `start` < '%s' AND `finish` > '%s'
|
||||
ORDER BY `start` ASC ",
|
||||
intval(local_channel()),
|
||||
dbesc(datetime_convert('UTC','UTC','now + 6 days')),
|
||||
dbesc(datetime_convert('UTC','UTC','now'))
|
||||
);
|
||||
|
||||
if($r && count($r)) {
|
||||
$total = 0;
|
||||
$now = strtotime('now');
|
||||
$cids = array();
|
||||
|
||||
$istoday = false;
|
||||
foreach($r as $rr) {
|
||||
if(strlen($rr['name']))
|
||||
$total ++;
|
||||
if((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now))
|
||||
$istoday = true;
|
||||
}
|
||||
$classtoday = $istoday ? ' birthday-today ' : '';
|
||||
if($total) {
|
||||
foreach($r as &$rr) {
|
||||
if(! strlen($rr['name']))
|
||||
continue;
|
||||
|
||||
// avoid duplicates
|
||||
|
||||
if(in_array($rr['cid'],$cids))
|
||||
continue;
|
||||
$cids[] = $rr['cid'];
|
||||
|
||||
$today = (((strtotime($rr['start'] . ' +00:00') < $now) && (strtotime($rr['finish'] . ' +00:00') > $now)) ? true : false);
|
||||
$sparkle = '';
|
||||
$url = $rr['url'];
|
||||
if($rr['network'] === NETWORK_DFRN) {
|
||||
$sparkle = " sparkle";
|
||||
$url = z_root() . '/redir/' . $rr['cid'];
|
||||
}
|
||||
|
||||
$rr['link'] = $url;
|
||||
$rr['title'] = $rr['name'];
|
||||
$rr['date'] = day_translate(datetime_convert('UTC', App::$timezone, $rr['start'], $rr['adjust'] ? $bd_format : $bd_short)) . (($today) ? ' ' . t('[today]') : '');
|
||||
$rr['startime'] = Null;
|
||||
$rr['today'] = $today;
|
||||
}
|
||||
}
|
||||
}
|
||||
$tpl = get_markup_template("birthdays_reminder.tpl");
|
||||
return replace_macros($tpl, array(
|
||||
'$baseurl' => z_root(),
|
||||
'$classtoday' => $classtoday,
|
||||
'$count' => $total,
|
||||
'$event_reminders' => t('Birthday Reminders'),
|
||||
'$event_title' => t('Birthdays this week:'),
|
||||
'$events' => $r,
|
||||
'$lbr' => '{', // raw brackets mess up if/endif macro processing
|
||||
'$rbr' => '}'
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @FIXME
|
||||
*/
|
||||
function get_events() {
|
||||
|
||||
require_once('include/bbcode.php');
|
||||
|
||||
if(! local_channel())
|
||||
return $o;
|
||||
|
||||
$bd_format = t('g A l F d') ; // 8 AM Friday January 18
|
||||
$bd_short = t('F d');
|
||||
|
||||
$r = q("SELECT `event`.* FROM `event`
|
||||
WHERE `event`.`uid` = %d AND `type` != 'birthday' AND `start` < '%s' AND `start` > '%s'
|
||||
ORDER BY `start` ASC ",
|
||||
intval(local_channel()),
|
||||
dbesc(datetime_convert('UTC','UTC','now + 6 days')),
|
||||
dbesc(datetime_convert('UTC','UTC','now - 1 days'))
|
||||
);
|
||||
|
||||
if($r && count($r)) {
|
||||
$now = strtotime('now');
|
||||
$istoday = false;
|
||||
foreach($r as $rr) {
|
||||
if(strlen($rr['name']))
|
||||
$total ++;
|
||||
|
||||
$strt = datetime_convert('UTC',$rr['convert'] ? App::$timezone : 'UTC',$rr['start'],'Y-m-d');
|
||||
if($strt === datetime_convert('UTC',App::$timezone,'now','Y-m-d'))
|
||||
$istoday = true;
|
||||
}
|
||||
$classtoday = (($istoday) ? 'event-today' : '');
|
||||
|
||||
foreach($r as &$rr) {
|
||||
if($rr['adjust'])
|
||||
$md = datetime_convert('UTC',App::$timezone,$rr['start'],'Y/m');
|
||||
else
|
||||
$md = datetime_convert('UTC','UTC',$rr['start'],'Y/m');
|
||||
$md .= "/#link-".$rr['id'];
|
||||
|
||||
$title = substr(strip_tags(bbcode($rr['desc'])),0,32) . '... ';
|
||||
if(! $title)
|
||||
$title = t('[No description]');
|
||||
|
||||
$strt = datetime_convert('UTC',$rr['convert'] ? App::$timezone : 'UTC',$rr['start']);
|
||||
$today = ((substr($strt,0,10) === datetime_convert('UTC',App::$timezone,'now','Y-m-d')) ? true : false);
|
||||
|
||||
$rr['link'] = $md;
|
||||
$rr['title'] = $title;
|
||||
$rr['date'] = day_translate(datetime_convert('UTC', $rr['adjust'] ? App::$timezone : 'UTC', $rr['start'], $bd_format)) . (($today) ? ' ' . t('[today]') : '');
|
||||
$rr['startime'] = $strt;
|
||||
$rr['today'] = $today;
|
||||
}
|
||||
}
|
||||
|
||||
$tpl = get_markup_template("events_reminder.tpl");
|
||||
return replace_macros($tpl, array(
|
||||
'$baseurl' => z_root(),
|
||||
'$classtoday' => $classtoday,
|
||||
'$count' => count($r),
|
||||
'$event_reminders' => t('Event Reminders'),
|
||||
'$event_title' => t('Events this week:'),
|
||||
'$events' => $r,
|
||||
));
|
||||
}
|
||||
|
||||
|
||||
function advanced_profile(&$a) {
|
||||
require_once('include/text.php');
|
||||
if(! perm_is_allowed(App::$profile['profile_uid'],get_observer_hash(),'view_profile'))
|
||||
return '';
|
||||
|
||||
if(App::$profile['name']) {
|
||||
if(App::$profile['fullname']) {
|
||||
|
||||
$profile_fields_basic = get_profile_fields_basic();
|
||||
$profile_fields_advanced = get_profile_fields_advanced();
|
||||
|
@ -1281,7 +1137,7 @@ function advanced_profile(&$a) {
|
|||
|
||||
$profile = array();
|
||||
|
||||
$profile['fullname'] = array( t('Full Name:'), App::$profile['name'] ) ;
|
||||
$profile['fullname'] = array( t('Full Name:'), App::$profile['fullname'] ) ;
|
||||
|
||||
if(App::$profile['gender']) $profile['gender'] = array( t('Gender:'), App::$profile['gender'] );
|
||||
|
||||
|
@ -1329,8 +1185,8 @@ function advanced_profile(&$a) {
|
|||
if(App::$profile['marital'])
|
||||
$profile['marital'] = array( t('Status:'), App::$profile['marital']);
|
||||
|
||||
if(App::$profile['with'])
|
||||
$profile['marital']['with'] = bbcode(App::$profile['with']);
|
||||
if(App::$profile['partner'])
|
||||
$profile['marital']['partner'] = bbcode(App::$profile['partner']);
|
||||
|
||||
if(strlen(App::$profile['howlong']) && App::$profile['howlong'] !== NULL_DATE) {
|
||||
$profile['howlong'] = relative_date(App::$profile['howlong'], t('for %1$d %2$s'));
|
||||
|
@ -1370,7 +1226,7 @@ function advanced_profile(&$a) {
|
|||
|
||||
if($txt = prepare_text(App::$profile['romance'])) $profile['romance'] = array( t('Love/Romance:'), $txt);
|
||||
|
||||
if($txt = prepare_text(App::$profile['work'])) $profile['work'] = array( t('Work/employment:'), $txt);
|
||||
if($txt = prepare_text(App::$profile['employment'])) $profile['employment'] = array( t('Work/employment:'), $txt);
|
||||
|
||||
if($txt = prepare_text(App::$profile['education'])) $profile['education'] = array( t('School/education:'), $txt );
|
||||
|
||||
|
@ -1658,7 +1514,7 @@ function get_profile_fields_basic($filter = 0) {
|
|||
|
||||
$profile_fields_basic = (($filter == 0) ? get_config('system','profile_fields_basic') : null);
|
||||
if(! $profile_fields_basic)
|
||||
$profile_fields_basic = array('name','pdesc','chandesc','gender','dob','dob_tz','address','locality','region','postal_code','country_name','marital','sexual','homepage','hometown','keywords','about','contact');
|
||||
$profile_fields_basic = array('fullname','pdesc','chandesc','gender','dob','dob_tz','address','locality','region','postal_code','country_name','marital','sexual','homepage','hometown','keywords','about','contact');
|
||||
|
||||
$x = array();
|
||||
if($profile_fields_basic)
|
||||
|
@ -1673,7 +1529,7 @@ function get_profile_fields_advanced($filter = 0) {
|
|||
$basic = get_profile_fields_basic($filter);
|
||||
$profile_fields_advanced = (($filter == 0) ? get_config('system','profile_fields_advanced') : null);
|
||||
if(! $profile_fields_advanced)
|
||||
$profile_fields_advanced = array('with','howlong','politic','religion','likes','dislikes','interest','channels','music','book','film','tv','romance','work','education');
|
||||
$profile_fields_advanced = array('partner','howlong','politic','religion','likes','dislikes','interest','channels','music','book','film','tv','romance','employment','education');
|
||||
|
||||
$x = array();
|
||||
if($basic)
|
||||
|
@ -1785,7 +1641,7 @@ function auto_channel_create($account_id) {
|
|||
|
||||
function get_cover_photo($channel_id,$format = 'bbcode', $res = PHOTO_RES_COVER_1200) {
|
||||
|
||||
$r = q("select height, width, resource_id, type from photo where uid = %d and scale = %d and photo_usage = %d",
|
||||
$r = q("select height, width, resource_id, mimetype from photo where uid = %d and imgscale = %d and photo_usage = %d",
|
||||
intval($channel_id),
|
||||
intval($res),
|
||||
intval(PHOTO_COVER)
|
||||
|
@ -1808,8 +1664,8 @@ function get_cover_photo($channel_id,$format = 'bbcode', $res = PHOTO_RES_COVER_
|
|||
default:
|
||||
$output = array(
|
||||
'width' => $r[0]['width'],
|
||||
'height' => $r[0]['type'],
|
||||
'type' => $r[0]['type'],
|
||||
'height' => $r[0]['height'],
|
||||
'type' => $r[0]['mimetype'],
|
||||
'url' => $url
|
||||
);
|
||||
break;
|
||||
|
@ -1834,19 +1690,19 @@ function get_zcard($channel,$observer_hash = '',$args = array()) {
|
|||
$width = 425;
|
||||
$size = 'hz_small';
|
||||
$cover_size = PHOTO_RES_COVER_425;
|
||||
$pphoto = array('type' => $channel['xchan_photo_mimetype'], 'width' => 80 , 'height' => 80, 'href' => $channel['xchan_photo_m']);
|
||||
$pphoto = array('mimetype' => $channel['xchan_photo_mimetype'], 'width' => 80 , 'height' => 80, 'href' => $channel['xchan_photo_m']);
|
||||
}
|
||||
elseif($maxwidth <= 900) {
|
||||
$width = 900;
|
||||
$size = 'hz_medium';
|
||||
$cover_size = PHOTO_RES_COVER_850;
|
||||
$pphoto = array('type' => $channel['xchan_photo_mimetype'], 'width' => 160 , 'height' => 160, 'href' => $channel['xchan_photo_l']);
|
||||
$pphoto = array('mimetype' => $channel['xchan_photo_mimetype'], 'width' => 160 , 'height' => 160, 'href' => $channel['xchan_photo_l']);
|
||||
}
|
||||
elseif($maxwidth <= 1200) {
|
||||
$width = 1200;
|
||||
$size = 'hz_large';
|
||||
$cover_size = PHOTO_RES_COVER_1200;
|
||||
$pphoto = array('type' => $channel['xchan_photo_mimetype'], 'width' => 300 , 'height' => 300, 'href' => $channel['xchan_photo_l']);
|
||||
$pphoto = array('mimetype' => $channel['xchan_photo_mimetype'], 'width' => 300 , 'height' => 300, 'href' => $channel['xchan_photo_l']);
|
||||
}
|
||||
|
||||
// $scale = (float) $maxwidth / $width;
|
||||
|
@ -1856,7 +1712,7 @@ function get_zcard($channel,$observer_hash = '',$args = array()) {
|
|||
$channel['channel_addr'] = $channel['channel_address'] . '@' . App::get_hostname();
|
||||
$zcard = array('chan' => $channel);
|
||||
|
||||
$r = q("select height, width, resource_id, scale, type from photo where uid = %d and scale = %d and photo_usage = %d",
|
||||
$r = q("select height, width, resource_id, imgscale, mimetype from photo where uid = %d and imgscale = %d and photo_usage = %d",
|
||||
intval($channel['channel_id']),
|
||||
intval($cover_size),
|
||||
intval(PHOTO_COVER)
|
||||
|
@ -1864,7 +1720,7 @@ function get_zcard($channel,$observer_hash = '',$args = array()) {
|
|||
|
||||
if($r) {
|
||||
$cover = $r[0];
|
||||
$cover['href'] = z_root() . '/photo/' . $r[0]['resource_id'] . '-' . $r[0]['scale'];
|
||||
$cover['href'] = z_root() . '/photo/' . $r[0]['resource_id'] . '-' . $r[0]['imgscale'];
|
||||
}
|
||||
else {
|
||||
$cover = $pphoto;
|
||||
|
@ -1900,25 +1756,25 @@ function get_zcard_embed($channel,$observer_hash = '',$args = array()) {
|
|||
$width = 425;
|
||||
$size = 'hz_small';
|
||||
$cover_size = PHOTO_RES_COVER_425;
|
||||
$pphoto = array('type' => $channel['xchan_photo_mimetype'], 'width' => 80 , 'height' => 80, 'href' => $channel['xchan_photo_m']);
|
||||
$pphoto = array('mimetype' => $channel['xchan_photo_mimetype'], 'width' => 80 , 'height' => 80, 'href' => $channel['xchan_photo_m']);
|
||||
}
|
||||
elseif($maxwidth <= 900) {
|
||||
$width = 900;
|
||||
$size = 'hz_medium';
|
||||
$cover_size = PHOTO_RES_COVER_850;
|
||||
$pphoto = array('type' => $channel['xchan_photo_mimetype'], 'width' => 160 , 'height' => 160, 'href' => $channel['xchan_photo_l']);
|
||||
$pphoto = array('mimetype' => $channel['xchan_photo_mimetype'], 'width' => 160 , 'height' => 160, 'href' => $channel['xchan_photo_l']);
|
||||
}
|
||||
elseif($maxwidth <= 1200) {
|
||||
$width = 1200;
|
||||
$size = 'hz_large';
|
||||
$cover_size = PHOTO_RES_COVER_1200;
|
||||
$pphoto = array('type' => $channel['xchan_photo_mimetype'], 'width' => 300 , 'height' => 300, 'href' => $channel['xchan_photo_l']);
|
||||
$pphoto = array('mimetype' => $channel['xchan_photo_mimetype'], 'width' => 300 , 'height' => 300, 'href' => $channel['xchan_photo_l']);
|
||||
}
|
||||
|
||||
$channel['channel_addr'] = $channel['channel_address'] . '@' . App::get_hostname();
|
||||
$zcard = array('chan' => $channel);
|
||||
|
||||
$r = q("select height, width, resource_id, scale, type from photo where uid = %d and scale = %d and photo_usage = %d",
|
||||
$r = q("select height, width, resource_id, imgscale, mimetype from photo where uid = %d and imgscale = %d and photo_usage = %d",
|
||||
intval($channel['channel_id']),
|
||||
intval($cover_size),
|
||||
intval(PHOTO_COVER)
|
||||
|
@ -1926,7 +1782,7 @@ function get_zcard_embed($channel,$observer_hash = '',$args = array()) {
|
|||
|
||||
if($r) {
|
||||
$cover = $r[0];
|
||||
$cover['href'] = z_root() . '/photo/' . $r[0]['resource_id'] . '-' . $r[0]['scale'];
|
||||
$cover['href'] = z_root() . '/photo/' . $r[0]['resource_id'] . '-' . $r[0]['imgscale'];
|
||||
}
|
||||
else {
|
||||
$cover = $pphoto;
|
||||
|
|
|
@ -1,17 +1,13 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* @file include/config.php
|
||||
* @brief Arbitrary configuration storage.
|
||||
*
|
||||
* @note Please do not store booleans - convert to 0/1 integer values.
|
||||
* The get_?config() functions return boolean false for keys that are unset,
|
||||
* and this could lead to subtle bugs.
|
||||
*
|
||||
* Arrays get stored as serialize strings.
|
||||
*
|
||||
* @todo There are a few places in the code (such as the admin panel) where
|
||||
* boolean configurations need to be fixed as of 10/08/2011.
|
||||
* Arrays get stored as serialized strings.
|
||||
* Booleans are stored as integer 0/1.
|
||||
*
|
||||
|
||||
* - <b>config</b> is used for hub specific configurations. It overrides the
|
||||
* configurations from .htconfig file. The storage is of size TEXT.
|
||||
* - <b>pconfig</b> is used for channel specific configurations and takes a
|
||||
|
@ -34,163 +30,39 @@
|
|||
*
|
||||
*/
|
||||
|
||||
/**
|
||||
* @brief Loads the hub's configuration from database to a cached storage.
|
||||
*
|
||||
* Retrieve a category ($family) of config variables from database to a cached
|
||||
* storage in the global App::$config[$family].
|
||||
*
|
||||
* @param string $family
|
||||
* The category of the configuration value
|
||||
*/
|
||||
|
||||
use Zotlabs\Lib as Zlib;
|
||||
|
||||
|
||||
|
||||
function load_config($family) {
|
||||
|
||||
if(! array_key_exists($family, App::$config))
|
||||
App::$config[$family] = array();
|
||||
Zlib\Config::Load($family);
|
||||
|
||||
if(! array_key_exists('config_loaded', App::$config[$family])) {
|
||||
$r = q("SELECT * FROM config WHERE cat = '%s'", dbesc($family));
|
||||
if($r !== false) {
|
||||
if($r) {
|
||||
foreach($r as $rr) {
|
||||
$k = $rr['k'];
|
||||
App::$config[$family][$k] = $rr['v'];
|
||||
}
|
||||
}
|
||||
App::$config[$family]['config_loaded'] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Get a particular config variable given the category name ($family)
|
||||
* and a key.
|
||||
*
|
||||
* Get a particular config variable from the given category ($family) and the
|
||||
* $key from a cached storage in App::$config[$family]. If a key is found in the
|
||||
* DB but does not exist in local config cache, pull it into the cache so we
|
||||
* do not have to hit the DB again for this item.
|
||||
*
|
||||
* Returns false if not set.
|
||||
*
|
||||
* @param string $family
|
||||
* The category of the configuration value
|
||||
* @param string $key
|
||||
* The configuration key to query
|
||||
* @return mixed Return value or false on error or if not set
|
||||
*/
|
||||
function get_config($family, $key) {
|
||||
|
||||
if((! array_key_exists($family, App::$config)) || (! array_key_exists('config_loaded', App::$config[$family])))
|
||||
load_config($family);
|
||||
return Zlib\Config::Get($family,$key);
|
||||
|
||||
if(array_key_exists('config_loaded', App::$config[$family])) {
|
||||
if(! array_key_exists($key, App::$config[$family])) {
|
||||
return false;
|
||||
}
|
||||
return ((! is_array(App::$config[$family][$key])) && (preg_match('|^a:[0-9]+:{.*}$|s', App::$config[$family][$key]))
|
||||
? unserialize(App::$config[$family][$key])
|
||||
: App::$config[$family][$key]
|
||||
);
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Returns a value directly from the database configuration storage.
|
||||
*
|
||||
* This function queries directly the database and bypasses the chached storage
|
||||
* from get_config($family, $key).
|
||||
*
|
||||
* @param string $family
|
||||
* The category of the configuration value
|
||||
* @param string $key
|
||||
* The configuration key to query
|
||||
* @return mixed
|
||||
*/
|
||||
|
||||
function get_config_from_storage($family, $key) {
|
||||
$ret = q("SELECT * FROM config WHERE cat = '%s' AND k = '%s' LIMIT 1",
|
||||
dbesc($family),
|
||||
dbesc($key)
|
||||
);
|
||||
return $ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Sets a configuration value for the hub.
|
||||
*
|
||||
* Stores a config value ($value) in the category ($family) under the key ($key).
|
||||
*
|
||||
* @note Please do not store booleans - convert to 0/1 integer values!
|
||||
*
|
||||
* @param string $family
|
||||
* The category of the configuration value
|
||||
* @param string $key
|
||||
* The configuration key to set
|
||||
* @param mixed $value
|
||||
* The value to store in the configuration
|
||||
* @return mixed
|
||||
* Return the set value, or false if the database update failed
|
||||
*/
|
||||
function set_config($family, $key, $value) {
|
||||
|
||||
// manage array value
|
||||
$dbvalue = ((is_array($value)) ? serialize($value) : $value);
|
||||
$dbvalue = ((is_bool($dbvalue)) ? intval($dbvalue) : $dbvalue);
|
||||
return Zlib\Config::Set($family,$key,$value);
|
||||
|
||||
if(get_config($family, $key) === false || (! get_config_from_storage($family, $key))) {
|
||||
$ret = q("INSERT INTO config ( cat, k, v ) VALUES ( '%s', '%s', '%s' ) ",
|
||||
dbesc($family),
|
||||
dbesc($key),
|
||||
dbesc($dbvalue)
|
||||
);
|
||||
if($ret) {
|
||||
App::$config[$family][$key] = $value;
|
||||
$ret = $value;
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
$ret = q("UPDATE config SET v = '%s' WHERE cat = '%s' AND k = '%s'",
|
||||
dbesc($dbvalue),
|
||||
dbesc($family),
|
||||
dbesc($key)
|
||||
);
|
||||
|
||||
if($ret) {
|
||||
App::$config[$family][$key] = $value;
|
||||
$ret = $value;
|
||||
}
|
||||
return $ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* @brief Deletes the given key from the hub's configuration database.
|
||||
*
|
||||
* Removes the configured value from the stored cache in App::$config[$family]
|
||||
* and removes it from the database.
|
||||
*
|
||||
* @param string $family
|
||||
* The category of the configuration value
|
||||
* @param string $key
|
||||
* The configuration key to delete
|
||||
* @return mixed
|
||||
*/
|
||||
function del_config($family, $key) {
|
||||
|
||||
$ret = false;
|
||||
return Zlib\Config::Delete($family,$key);
|
||||
|
||||
if(array_key_exists($family, App::$config) && array_key_exists($key, App::$config[$family]))
|
||||
unset(App::$config[$family][$key]);
|
||||
$ret = q("DELETE FROM config WHERE cat = '%s' AND k = '%s'",
|
||||
dbesc($family),
|
||||
dbesc($key)
|
||||
);
|
||||
return $ret;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* @brief Loads all configuration values of a channel into a cached storage.
|
||||
*
|
||||
|
@ -201,6 +73,7 @@ function del_config($family, $key) {
|
|||
* The channel_id
|
||||
* @return void|false Nothing or false if $uid is false
|
||||
*/
|
||||
|
||||
function load_pconfig($uid) {
|
||||
|
||||
if($uid === false)
|
||||
|
|
|
@ -39,7 +39,7 @@ function fileas_widget($baseurl,$selected = '') {
|
|||
return '';
|
||||
|
||||
$terms = array();
|
||||
$r = q("select distinct(term) from term where uid = %d and type = %d order by term asc",
|
||||
$r = q("select distinct(term) from term where uid = %d and ttype = %d order by term asc",
|
||||
intval(local_channel()),
|
||||
intval(TERM_FILE)
|
||||
);
|
||||
|
@ -72,7 +72,7 @@ function categories_widget($baseurl,$selected = '') {
|
|||
from term join item on term.oid = item.id
|
||||
where item.uid = %d
|
||||
and term.uid = item.uid
|
||||
and term.type = %d
|
||||
and term.ttype = %d
|
||||
and term.otype = %d
|
||||
and item.owner_xchan = '%s'
|
||||
and item.item_wall = 1
|
||||
|
|
|
@ -93,15 +93,15 @@ function localize_item(&$item){
|
|||
|
||||
if (activity_match($item['verb'],ACTIVITY_LIKE) || activity_match($item['verb'],ACTIVITY_DISLIKE)){
|
||||
|
||||
if(! $item['object'])
|
||||
if(! $item['obj'])
|
||||
return;
|
||||
|
||||
if(intval($item['item_thread_top']))
|
||||
return;
|
||||
|
||||
$obj = json_decode_plus($item['object']);
|
||||
if((! $obj) && ($item['object'])) {
|
||||
logger('localize_item: failed to decode object: ' . print_r($item['object'],true));
|
||||
$obj = json_decode_plus($item['obj']);
|
||||
if((! $obj) && ($item['obj'])) {
|
||||
logger('localize_item: failed to decode object: ' . print_r($item['obj'],true));
|
||||
}
|
||||
|
||||
if($obj['author'] && $obj['author']['link'])
|
||||
|
@ -186,7 +186,7 @@ function localize_item(&$item){
|
|||
$Alink = $item['author']['xchan_url'];
|
||||
|
||||
|
||||
$obj= json_decode_plus($item['object']);
|
||||
$obj= json_decode_plus($item['obj']);
|
||||
|
||||
$Blink = $Bphoto = '';
|
||||
|
||||
|
@ -219,7 +219,7 @@ function localize_item(&$item){
|
|||
$Aname = $item['author']['xchan_name'];
|
||||
$Alink = $item['author']['xchan_url'];
|
||||
|
||||
$obj= json_decode_plus($item['object']);
|
||||
$obj= json_decode_plus($item['obj']);
|
||||
|
||||
$Blink = $Bphoto = '';
|
||||
|
||||
|
@ -299,7 +299,7 @@ function localize_item(&$item){
|
|||
}
|
||||
$plink = '[zrl=' . $obj['plink'] . ']' . $post_type . '[/zrl]';
|
||||
|
||||
$parsedobj = parse_xml_string($xmlhead.$item['object']);
|
||||
$parsedobj = parse_xml_string($xmlhead.$item['obj']);
|
||||
|
||||
$tag = sprintf('#[zrl=%s]%s[/zrl]', $parsedobj->id, $parsedobj->content);
|
||||
$item['body'] = sprintf( t('%1$s tagged %2$s\'s %3$s with %4$s'), $author, $objauthor, $plink, $tag );
|
||||
|
@ -316,7 +316,7 @@ function localize_item(&$item){
|
|||
|
||||
$xmlhead="<"."?xml version='1.0' encoding='UTF-8' ?".">";
|
||||
|
||||
$obj = parse_xml_string($xmlhead.$item['object']);
|
||||
$obj = parse_xml_string($xmlhead.$item['obj']);
|
||||
if(strlen($obj->id)) {
|
||||
$r = q("select * from item where mid = '%s' and uid = %d limit 1",
|
||||
dbesc($obj->id),
|
||||
|
|
|
@ -49,26 +49,12 @@ function AES256CBC_encrypt($data,$key,$iv) {
|
|||
|
||||
return openssl_encrypt($data,'aes-256-cbc',str_pad($key,32,"\0"),OPENSSL_RAW_DATA,str_pad($iv,16,"\0"));
|
||||
|
||||
/* deprecated in php 7.1
|
||||
return mcrypt_encrypt(
|
||||
MCRYPT_RIJNDAEL_128,
|
||||
str_pad($key,32,"\0"),
|
||||
pkcs5_pad($data,16),
|
||||
MCRYPT_MODE_CBC,
|
||||
str_pad($iv,16,"\0"));
|
||||
*/
|
||||
}
|
||||
|
||||
function AES256CBC_decrypt($data,$key,$iv) {
|
||||
|
||||
return openssl_decrypt($data,'aes-256-cbc',str_pad($key,32,"\0"),OPENSSL_RAW_DATA,str_pad($iv,16,"\0"));
|
||||
/* deprecated in php 7.1
|
||||
return pkcs5_unpad(mcrypt_decrypt(
|
||||
MCRYPT_RIJNDAEL_128,
|
||||
str_pad($key,32,"\0"),
|
||||
$data,
|
||||
MCRYPT_MODE_CBC,
|
||||
str_pad($iv,16,"\0")));
|
||||
*/
|
||||
|
||||
}
|
||||
|
||||
function crypto_encapsulate($data,$pubkey,$alg='aes256cbc') {
|
||||
|
|
|
@ -12,7 +12,7 @@ class DBA {
|
|||
|
||||
static public $dba = null;
|
||||
static public $dbtype = null;
|
||||
|
||||
static public $logging = false;
|
||||
|
||||
/**
|
||||
* @brief Returns the database driver object.
|
||||
|
@ -421,8 +421,13 @@ function db_getfunc($f) {
|
|||
|
||||
function db_logger($s,$level = LOGGER_NORMAL,$syslog = LOG_INFO) {
|
||||
|
||||
if(\DBA::$logging)
|
||||
return;
|
||||
|
||||
$saved = \DBA::$dba->debug;
|
||||
\DBA::$dba->debug = false;
|
||||
\DBA::$logging = true;
|
||||
logger($s,$level,$syslog);
|
||||
\DBA::$logging = false;
|
||||
\DBA::$dba->debug = $saved;
|
||||
}
|
|
@ -28,22 +28,22 @@ function format_event_html($ev) {
|
|||
$o .= '<div class="event-title"><h3><i class="fa fa-calendar"></i> ' . bbcode($ev['summary']) . '</h3></div>' . "\r\n";
|
||||
|
||||
$o .= '<div class="event-start"><span class="event-label">' . t('Starts:') . '</span> <span class="dtstart" title="'
|
||||
. datetime_convert('UTC', 'UTC', $ev['start'], (($ev['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' ))
|
||||
. datetime_convert('UTC', 'UTC', $ev['dtstart'], (($ev['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' ))
|
||||
. '" >'
|
||||
. (($ev['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(),
|
||||
$ev['start'] , $bd_format ))
|
||||
$ev['dtstart'] , $bd_format ))
|
||||
: day_translate(datetime_convert('UTC', 'UTC',
|
||||
$ev['start'] , $bd_format)))
|
||||
$ev['dtstart'] , $bd_format)))
|
||||
. '</span></div>' . "\r\n";
|
||||
|
||||
if(! $ev['nofinish'])
|
||||
$o .= '<div class="event-end" ><span class="event-label">' . t('Finishes:') . '</span> <span class="dtend" title="'
|
||||
. datetime_convert('UTC','UTC',$ev['finish'], (($ev['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' ))
|
||||
. datetime_convert('UTC','UTC',$ev['dtend'], (($ev['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' ))
|
||||
. '" >'
|
||||
. (($ev['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(),
|
||||
$ev['finish'] , $bd_format ))
|
||||
$ev['dtend'] , $bd_format ))
|
||||
: day_translate(datetime_convert('UTC', 'UTC',
|
||||
$ev['finish'] , $bd_format )))
|
||||
$ev['dtend'] , $bd_format )))
|
||||
. '</span></div>' . "\r\n";
|
||||
|
||||
$o .= '<div class="event-description">' . bbcode($ev['description']) . '</div>' . "\r\n";
|
||||
|
@ -58,6 +58,37 @@ function format_event_html($ev) {
|
|||
return $o;
|
||||
}
|
||||
|
||||
function format_event_obj($jobject) {
|
||||
$event = array();
|
||||
|
||||
$object = json_decode($jobject,true);
|
||||
|
||||
//ensure compatibility with older items - this check can be removed at a later point
|
||||
if(array_key_exists('description', $object)) {
|
||||
|
||||
$bd_format = t('l F d, Y \@ g:i A'); // Friday January 18, 2011 @ 8:01 AM
|
||||
|
||||
$event['header'] = replace_macros(get_markup_template('event_item_header.tpl'),array(
|
||||
'$title' => bbcode($object['title']),
|
||||
'$dtstart_label' => t('Starts:'),
|
||||
'$dtstart_title' => datetime_convert('UTC', 'UTC', $object['dtstart'], (($object['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' )),
|
||||
'$dtstart_dt' => (($object['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(), $object['dtstart'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $object['dtstart'] , $bd_format))),
|
||||
'$finish' => (($object['nofinish']) ? false : true),
|
||||
'$dtend_label' => t('Finishes:'),
|
||||
'$dtend_title' => datetime_convert('UTC','UTC',$object['dtend'], (($object['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' )),
|
||||
'$dtend_dt' => (($object['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(), $object['dtend'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $object['dtend'] , $bd_format )))
|
||||
));
|
||||
|
||||
$event['content'] = replace_macros(get_markup_template('event_item_content.tpl'),array(
|
||||
'$description' => bbcode($object['description']),
|
||||
'$location_label' => t('Location:'),
|
||||
'$location' => bbcode($object['location'])
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
return $event;
|
||||
}
|
||||
|
||||
function ical_wrapper($ev) {
|
||||
|
||||
|
@ -68,7 +99,7 @@ function ical_wrapper($ev) {
|
|||
$o .= "\r\nVERSION:2.0";
|
||||
$o .= "\r\nMETHOD:PUBLISH";
|
||||
$o .= "\r\nPRODID:-//" . get_config('system','sitename') . "//" . Zotlabs\Lib\System::get_platform_name() . "//" . strtoupper(App::$language). "\r\n";
|
||||
if(array_key_exists('start', $ev))
|
||||
if(array_key_exists('dtstart', $ev))
|
||||
$o .= format_event_ical($ev);
|
||||
else {
|
||||
foreach($ev as $e) {
|
||||
|
@ -82,7 +113,7 @@ function ical_wrapper($ev) {
|
|||
|
||||
function format_event_ical($ev) {
|
||||
|
||||
if($ev['type'] === 'task')
|
||||
if($ev['etype'] === 'task')
|
||||
return format_todo_ical($ev);
|
||||
|
||||
$o = '';
|
||||
|
@ -92,10 +123,10 @@ function format_event_ical($ev) {
|
|||
$o .= "\r\nCREATED:" . datetime_convert('UTC','UTC', $ev['created'],'Ymd\\THis\\Z');
|
||||
$o .= "\r\nLAST-MODIFIED:" . datetime_convert('UTC','UTC', $ev['edited'],'Ymd\\THis\\Z');
|
||||
$o .= "\r\nDTSTAMP:" . datetime_convert('UTC','UTC', $ev['edited'],'Ymd\\THis\\Z');
|
||||
if($ev['start'])
|
||||
$o .= "\r\nDTSTART:" . datetime_convert('UTC','UTC', $ev['start'],'Ymd\\THis' . (($ev['adjust']) ? '\\Z' : ''));
|
||||
if($ev['finish'] && ! $ev['nofinish'])
|
||||
$o .= "\r\nDTEND:" . datetime_convert('UTC','UTC', $ev['finish'],'Ymd\\THis' . (($ev['adjust']) ? '\\Z' : ''));
|
||||
if($ev['dtstart'])
|
||||
$o .= "\r\nDTSTART:" . datetime_convert('UTC','UTC', $ev['dtstart'],'Ymd\\THis' . (($ev['adjust']) ? '\\Z' : ''));
|
||||
if($ev['dtend'] && ! $ev['nofinish'])
|
||||
$o .= "\r\nDTEND:" . datetime_convert('UTC','UTC', $ev['dtend'],'Ymd\\THis' . (($ev['adjust']) ? '\\Z' : ''));
|
||||
if($ev['summary'])
|
||||
$o .= "\r\nSUMMARY:" . format_ical_text($ev['summary']);
|
||||
if($ev['location'])
|
||||
|
@ -119,10 +150,10 @@ function format_todo_ical($ev) {
|
|||
$o .= "\r\nCREATED:" . datetime_convert('UTC','UTC', $ev['created'],'Ymd\\THis\\Z');
|
||||
$o .= "\r\nLAST-MODIFIED:" . datetime_convert('UTC','UTC', $ev['edited'],'Ymd\\THis\\Z');
|
||||
$o .= "\r\nDTSTAMP:" . datetime_convert('UTC','UTC', $ev['edited'],'Ymd\\THis\\Z');
|
||||
if($ev['start'])
|
||||
$o .= "\r\nDTSTART:" . datetime_convert('UTC','UTC', $ev['start'],'Ymd\\THis' . (($ev['adjust']) ? '\\Z' : ''));
|
||||
if($ev['finish'] && ! $ev['nofinish'])
|
||||
$o .= "\r\nDUE:" . datetime_convert('UTC','UTC', $ev['finish'],'Ymd\\THis' . (($ev['adjust']) ? '\\Z' : ''));
|
||||
if($ev['dtstart'])
|
||||
$o .= "\r\nDTSTART:" . datetime_convert('UTC','UTC', $ev['dtstart'],'Ymd\\THis' . (($ev['adjust']) ? '\\Z' : ''));
|
||||
if($ev['dtend'] && ! $ev['nofinish'])
|
||||
$o .= "\r\nDUE:" . datetime_convert('UTC','UTC', $ev['dtend'],'Ymd\\THis' . (($ev['adjust']) ? '\\Z' : ''));
|
||||
if($ev['summary'])
|
||||
$o .= "\r\nSUMMARY:" . format_ical_text($ev['summary']);
|
||||
if($ev['event_status']) {
|
||||
|
@ -166,11 +197,11 @@ function format_event_bbcode($ev) {
|
|||
if($ev['description'])
|
||||
$o .= '[event-description]' . $ev['description'] . '[/event-description]';
|
||||
|
||||
if($ev['start'])
|
||||
$o .= '[event-start]' . $ev['start'] . '[/event-start]';
|
||||
if($ev['dtstart'])
|
||||
$o .= '[event-start]' . $ev['dtstart'] . '[/event-start]';
|
||||
|
||||
if(($ev['finish']) && (! $ev['nofinish']))
|
||||
$o .= '[event-finish]' . $ev['finish'] . '[/event-finish]';
|
||||
if(($ev['dtend']) && (! $ev['nofinish']))
|
||||
$o .= '[event-finish]' . $ev['dtend'] . '[/event-finish]';
|
||||
|
||||
if($ev['location'])
|
||||
$o .= '[event-location]' . $ev['location'] . '[/event-location]';
|
||||
|
@ -207,10 +238,10 @@ function bbtoevent($s) {
|
|||
$ev['description'] = $match[1];
|
||||
$match = '';
|
||||
if(preg_match("/\[event\-start\](.*?)\[\/event\-start\]/is",$s,$match))
|
||||
$ev['start'] = $match[1];
|
||||
$ev['dtstart'] = $match[1];
|
||||
$match = '';
|
||||
if(preg_match("/\[event\-finish\](.*?)\[\/event\-finish\]/is",$s,$match))
|
||||
$ev['finish'] = $match[1];
|
||||
$ev['dtend'] = $match[1];
|
||||
$match = '';
|
||||
if(preg_match("/\[event\-location\](.*?)\[\/event\-location\]/is",$s,$match))
|
||||
$ev['location'] = $match[1];
|
||||
|
@ -220,11 +251,11 @@ function bbtoevent($s) {
|
|||
$match = '';
|
||||
if(preg_match("/\[event\-adjust\](.*?)\[\/event\-adjust\]/is",$s,$match))
|
||||
$ev['adjust'] = $match[1];
|
||||
if(array_key_exists('start',$ev)) {
|
||||
if(array_key_exists('finish',$ev)) {
|
||||
if($ev['finish'] === $ev['start'])
|
||||
if(array_key_exists('dtstart',$ev)) {
|
||||
if(array_key_exists('dtend',$ev)) {
|
||||
if($ev['dtend'] === $ev['dtstart'])
|
||||
$ev['nofinish'] = 1;
|
||||
elseif($ev['finish'])
|
||||
elseif($ev['dtend'])
|
||||
$ev['nofinish'] = 0;
|
||||
else
|
||||
$ev['nofinish'] = 1;
|
||||
|
@ -260,8 +291,8 @@ function sort_by_date($arr) {
|
|||
*/
|
||||
function ev_compare($a, $b) {
|
||||
|
||||
$date_a = (($a['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$a['start']) : $a['start']);
|
||||
$date_b = (($b['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$b['start']) : $b['start']);
|
||||
$date_a = (($a['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$a['dtstart']) : $a['dtstart']);
|
||||
$date_b = (($b['adjust']) ? datetime_convert('UTC',date_default_timezone_get(),$b['dtstart']) : $b['dtstart']);
|
||||
|
||||
if ($date_a === $date_b)
|
||||
return strcasecmp($a['description'], $b['description']);
|
||||
|
@ -274,7 +305,7 @@ function event_store_event($arr) {
|
|||
|
||||
$arr['created'] = (($arr['created']) ? $arr['created'] : datetime_convert());
|
||||
$arr['edited'] = (($arr['edited']) ? $arr['edited'] : datetime_convert());
|
||||
$arr['type'] = (($arr['type']) ? $arr['type'] : 'event' );
|
||||
$arr['etype'] = (($arr['etype']) ? $arr['etype'] : 'event' );
|
||||
$arr['event_xchan'] = (($arr['event_xchan']) ? $arr['event_xchan'] : '');
|
||||
$arr['event_priority'] = (($arr['event_priority']) ? $arr['event_priority'] : 0);
|
||||
|
||||
|
@ -324,12 +355,12 @@ function event_store_event($arr) {
|
|||
|
||||
$r = q("UPDATE `event` SET
|
||||
`edited` = '%s',
|
||||
`start` = '%s',
|
||||
`finish` = '%s',
|
||||
`dtstart` = '%s',
|
||||
`dtend` = '%s',
|
||||
`summary` = '%s',
|
||||
`description` = '%s',
|
||||
`location` = '%s',
|
||||
`type` = '%s',
|
||||
`etype` = '%s',
|
||||
`adjust` = %d,
|
||||
`nofinish` = %d,
|
||||
`event_status` = '%s',
|
||||
|
@ -345,12 +376,12 @@ function event_store_event($arr) {
|
|||
WHERE `id` = %d AND `uid` = %d",
|
||||
|
||||
dbesc($arr['edited']),
|
||||
dbesc($arr['start']),
|
||||
dbesc($arr['finish']),
|
||||
dbesc($arr['dtstart']),
|
||||
dbesc($arr['dtend']),
|
||||
dbesc($arr['summary']),
|
||||
dbesc($arr['description']),
|
||||
dbesc($arr['location']),
|
||||
dbesc($arr['type']),
|
||||
dbesc($arr['etype']),
|
||||
intval($arr['adjust']),
|
||||
intval($arr['nofinish']),
|
||||
dbesc($arr['event_status']),
|
||||
|
@ -378,7 +409,7 @@ function event_store_event($arr) {
|
|||
else
|
||||
$hash = random_string() . '@' . App::get_hostname();
|
||||
|
||||
$r = q("INSERT INTO event ( uid,aid,event_xchan,event_hash,created,edited,start,finish,summary,description,location,type,
|
||||
$r = q("INSERT INTO event ( uid,aid,event_xchan,event_hash,created,edited,dtstart,dtend,summary,description,location,etype,
|
||||
adjust,nofinish, event_status, event_status_date, event_percent, event_repeat, event_sequence, event_priority, allow_cid,allow_gid,deny_cid,deny_gid)
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', '%s', %d, '%s', %d, %d, '%s', '%s', '%s', '%s' ) ",
|
||||
intval($arr['uid']),
|
||||
|
@ -387,12 +418,12 @@ function event_store_event($arr) {
|
|||
dbesc($hash),
|
||||
dbesc($arr['created']),
|
||||
dbesc($arr['edited']),
|
||||
dbesc($arr['start']),
|
||||
dbesc($arr['finish']),
|
||||
dbesc($arr['dtstart']),
|
||||
dbesc($arr['dtend']),
|
||||
dbesc($arr['summary']),
|
||||
dbesc($arr['description']),
|
||||
dbesc($arr['location']),
|
||||
dbesc($arr['type']),
|
||||
dbesc($arr['etype']),
|
||||
intval($arr['adjust']),
|
||||
intval($arr['nofinish']),
|
||||
dbesc($arr['event_status']),
|
||||
|
@ -441,7 +472,7 @@ function event_addtocal($item_id, $uid) {
|
|||
|
||||
$ev = bbtoevent($r[0]['body']);
|
||||
|
||||
if(x($ev,'summary') && x($ev,'start')) {
|
||||
if(x($ev,'summary') && x($ev,'dtstart')) {
|
||||
$ev['event_xchan'] = $item['author_xchan'];
|
||||
$ev['uid'] = $channel['channel_id'];
|
||||
$ev['account'] = $channel['channel_account_id'];
|
||||
|
@ -554,20 +585,20 @@ function event_import_ical($ical, $uid) {
|
|||
|
||||
// logger('dtstart: ' . var_export($dtstart,true));
|
||||
|
||||
$ev['start'] = datetime_convert((($ev['adjust']) ? 'UTC' : date_default_timezone_get()),'UTC',
|
||||
$ev['dtstart'] = datetime_convert((($ev['adjust']) ? 'UTC' : date_default_timezone_get()),'UTC',
|
||||
$dtstart->format(\DateTime::W3C));
|
||||
|
||||
|
||||
if(isset($ical->DTEND)) {
|
||||
$dtend = $ical->DTEND->getDateTime();
|
||||
$ev['finish'] = datetime_convert((($ev['adjust']) ? 'UTC' : date_default_timezone_get()),'UTC',
|
||||
$ev['dtend'] = datetime_convert((($ev['adjust']) ? 'UTC' : date_default_timezone_get()),'UTC',
|
||||
$dtend->format(\DateTime::W3C));
|
||||
}
|
||||
else
|
||||
$ev['nofinish'] = 1;
|
||||
|
||||
|
||||
if($ev['start'] === $ev['finish'])
|
||||
if($ev['dtstart'] === $ev['dtend'])
|
||||
$ev['nofinish'] = 1;
|
||||
|
||||
if(isset($ical->CREATED)) {
|
||||
|
@ -601,7 +632,7 @@ function event_import_ical($ical, $uid) {
|
|||
$ev['external_id'] = $evuid;
|
||||
}
|
||||
|
||||
if($ev['summary'] && $ev['start']) {
|
||||
if($ev['summary'] && $ev['dtstart']) {
|
||||
$ev['event_xchan'] = $channel['channel_hash'];
|
||||
$ev['uid'] = $channel['channel_id'];
|
||||
$ev['account'] = $channel['channel_account_id'];
|
||||
|
@ -640,29 +671,24 @@ function event_import_ical_task($ical, $uid) {
|
|||
|
||||
$dtstart = $ical->DTSTART->getDateTime();
|
||||
|
||||
$ev['adjust'] = (($ical->DTSTART->isFloating()) ? 1 : 0);
|
||||
|
||||
// logger('dtstart: ' . var_export($dtstart,true));
|
||||
|
||||
if(($dtstart->timezone_type == 2) || (($dtstart->timezone_type == 3) && ($dtstart->timezone === 'UTC'))) {
|
||||
$ev['adjust'] = 1;
|
||||
}
|
||||
else {
|
||||
$ev['adjust'] = 0;
|
||||
}
|
||||
|
||||
$ev['start'] = datetime_convert((($ev['adjust']) ? 'UTC' : date_default_timezone_get()),'UTC',
|
||||
$ev['dtstart'] = datetime_convert((($ev['adjust']) ? 'UTC' : date_default_timezone_get()),'UTC',
|
||||
$dtstart->format(\DateTime::W3C));
|
||||
|
||||
|
||||
if(isset($ical->DUE)) {
|
||||
$dtend = $ical->DUE->getDateTime();
|
||||
$ev['finish'] = datetime_convert((($ev['adjust']) ? 'UTC' : date_default_timezone_get()),'UTC',
|
||||
$ev['dtend'] = datetime_convert((($ev['adjust']) ? 'UTC' : date_default_timezone_get()),'UTC',
|
||||
$dtend->format(\DateTime::W3C));
|
||||
}
|
||||
else
|
||||
$ev['nofinish'] = 1;
|
||||
|
||||
|
||||
if($ev['start'] === $ev['finish'])
|
||||
if($ev['dtstart'] === $ev['dtend'])
|
||||
$ev['nofinish'] = 1;
|
||||
|
||||
if(isset($ical->CREATED)) {
|
||||
|
@ -727,9 +753,9 @@ function event_import_ical_task($ical, $uid) {
|
|||
$ev['event_percent'] = (string) $ical->{'PERCENT-COMPLETE'} ;
|
||||
}
|
||||
|
||||
$ev['type'] = 'task';
|
||||
$ev['etype'] = 'task';
|
||||
|
||||
if($ev['summary'] && $ev['start']) {
|
||||
if($ev['summary'] && $ev['dtstart']) {
|
||||
$ev['event_xchan'] = $channel['channel_hash'];
|
||||
$ev['uid'] = $channel['channel_id'];
|
||||
$ev['account'] = $channel['channel_account_id'];
|
||||
|
@ -781,7 +807,7 @@ function event_store_item($arr, $event) {
|
|||
if(($event) && array_key_exists('event_hash',$event) && (! array_key_exists('event_hash',$arr)))
|
||||
$arr['event_hash'] = $event['event_hash'];
|
||||
|
||||
if($event['type'] === 'birthday') {
|
||||
if($event['etype'] === 'birthday') {
|
||||
if(! is_sys_channel($arr['uid']))
|
||||
$prefix = t('This event has been added to your calendar.');
|
||||
// $birthday = true;
|
||||
|
@ -805,21 +831,22 @@ function event_store_item($arr, $event) {
|
|||
'type' => ACTIVITY_OBJ_EVENT,
|
||||
'id' => z_root() . '/event/' . $r[0]['resource_id'],
|
||||
'title' => $arr['summary'],
|
||||
'start' => $arr['start'],
|
||||
'finish' => $arr['finish'],
|
||||
'dtstart' => $arr['dtstart'],
|
||||
'dtend' => $arr['dtend'],
|
||||
'nofinish' => $arr['nofinish'],
|
||||
'description' => $arr['description'],
|
||||
'location' => $arr['location'],
|
||||
'adjust' => $arr['adjust'],
|
||||
'content' => format_event_bbcode($arr),
|
||||
'author' => array(
|
||||
'name' => $r[0]['xchan_name'],
|
||||
'address' => $r[0]['xchan_addr'],
|
||||
'guid' => $r[0]['xchan_guid'],
|
||||
'guid_sig' => $r[0]['xchan_guid_sig'],
|
||||
'link' => array(
|
||||
array('rel' => 'alternate', 'type' => 'text/html', 'href' => $r[0]['xchan_url']),
|
||||
array('rel' => 'photo', 'type' => $r[0]['xchan_photo_mimetype'], 'href' => $r[0]['xchan_photo_m'])),
|
||||
'name' => $r[0]['xchan_name'],
|
||||
'address' => $r[0]['xchan_addr'],
|
||||
'guid' => $r[0]['xchan_guid'],
|
||||
'guid_sig' => $r[0]['xchan_guid_sig'],
|
||||
'link' => array(
|
||||
array('rel' => 'alternate', 'type' => 'text/html', 'href' => $r[0]['xchan_url']),
|
||||
array('rel' => 'photo', 'type' => $r[0]['xchan_photo_mimetype'], 'href' => $r[0]['xchan_photo_m'])
|
||||
),
|
||||
),
|
||||
));
|
||||
|
||||
|
@ -830,7 +857,7 @@ function event_store_item($arr, $event) {
|
|||
|
||||
$sig = '';
|
||||
|
||||
q("UPDATE item SET title = '%s', body = '%s', object = '%s', allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', edited = '%s', sig = '%s', item_flags = %d, item_private = %d, obj_type = '%s' WHERE id = %d AND uid = %d",
|
||||
q("UPDATE item SET title = '%s', body = '%s', obj = '%s', allow_cid = '%s', allow_gid = '%s', deny_cid = '%s', deny_gid = '%s', edited = '%s', sig = '%s', item_flags = %d, item_private = %d, obj_type = '%s' WHERE id = %d AND uid = %d",
|
||||
dbesc($arr['summary']),
|
||||
dbesc($prefix . format_event_bbcode($arr)),
|
||||
dbesc($object),
|
||||
|
@ -854,12 +881,12 @@ function event_store_item($arr, $event) {
|
|||
|
||||
if(($arr['term']) && (is_array($arr['term']))) {
|
||||
foreach($arr['term'] as $t) {
|
||||
q("insert into term (uid,oid,otype,type,term,url)
|
||||
q("insert into term (uid,oid,otype,ttype,term,url)
|
||||
values(%d,%d,%d,%d,'%s','%s') ",
|
||||
intval($arr['uid']),
|
||||
intval($r[0]['id']),
|
||||
intval(TERM_OBJ_POST),
|
||||
intval($t['type']),
|
||||
intval($t['ttype']),
|
||||
dbesc($t['term']),
|
||||
dbesc($t['url'])
|
||||
);
|
||||
|
@ -946,12 +973,12 @@ function event_store_item($arr, $event) {
|
|||
dbesc($arr['event_xchan'])
|
||||
);
|
||||
if($x) {
|
||||
$item_arr['object'] = json_encode(array(
|
||||
$item_arr['obj'] = json_encode(array(
|
||||
'type' => ACTIVITY_OBJ_EVENT,
|
||||
'id' => z_root() . '/event/' . $event['event_hash'],
|
||||
'title' => $arr['summary'],
|
||||
'start' => $arr['start'],
|
||||
'finish' => $arr['finish'],
|
||||
'dtstart' => $arr['dtstart'],
|
||||
'dtend' => $arr['dtend'],
|
||||
'nofinish' => $arr['nofinish'],
|
||||
'description' => $arr['description'],
|
||||
'location' => $arr['location'],
|
||||
|
@ -1001,7 +1028,7 @@ function tasks_fetch($arr) {
|
|||
if($arr && $arr['all'] == 1)
|
||||
$sql_extra = '';
|
||||
|
||||
$r = q("select * from event where type = 'task' and uid = %d $sql_extra order by created desc",
|
||||
$r = q("select * from event where etype = 'task' and uid = %d $sql_extra order by created desc",
|
||||
intval(local_channel())
|
||||
);
|
||||
|
||||
|
|
|
@ -144,9 +144,9 @@ function construct_verb($item) {
|
|||
|
||||
function construct_activity_object($item) {
|
||||
|
||||
if($item['object']) {
|
||||
if($item['obj']) {
|
||||
$o = '<as:object>' . "\r\n";
|
||||
$r = json_decode($item['object'],false);
|
||||
$r = json_decode($item['obj'],false);
|
||||
|
||||
if(! $r)
|
||||
return '';
|
||||
|
@ -515,7 +515,7 @@ function get_atom_elements($feed, $item, &$author) {
|
|||
if($termterm) {
|
||||
$terms[] = array(
|
||||
'otype' => TERM_OBJ_POST,
|
||||
'type' => $termtype,
|
||||
'ttype' => $termtype,
|
||||
'url' => $termurl,
|
||||
'term' => $termterm,
|
||||
);
|
||||
|
@ -582,7 +582,7 @@ function get_atom_elements($feed, $item, &$author) {
|
|||
$obj['content'] = $body;
|
||||
}
|
||||
|
||||
$res['object'] = $obj;
|
||||
$res['obj'] = $obj;
|
||||
}
|
||||
|
||||
$rawobj = $item->get_item_tags(NAMESPACE_ACTIVITY, 'target');
|
||||
|
@ -1163,12 +1163,12 @@ function atom_entry($item,$type,$author,$owner,$comment = false,$cid = 0) {
|
|||
}
|
||||
|
||||
if(activity_match($item['obj_type'],ACTIVITY_OBJ_EVENT) && activity_match($item['verb'],ACTIVITY_POST)) {
|
||||
$obj = ((is_array($item['obj'])) ? $item['object'] : json_decode($item['object'],true));
|
||||
$obj = ((is_array($item['obj'])) ? $item['obj'] : json_decode($item['obj'],true));
|
||||
|
||||
$o .= '<title>' . xmlify($item['title']) . '</title>' . "\r\n";
|
||||
$o .= '<summary xmlns="urn:ietf:params:xml:ns:xcal">' . xmlify(bbcode($obj['title'])) . '</summary>' . "\r\n";
|
||||
$o .= '<dtstart xmlns="urn:ietf:params:xml:ns:xcal">' . datetime_convert('UTC','UTC', $obj['start'],'Ymd\\THis' . (($obj['adjust']) ? '\\Z' : '')) . '</dtstart>' . "\r\n";
|
||||
$o .= '<dtend xmlns="urn:ietf:params:xml:ns:xcal">' . datetime_convert('UTC','UTC', $obj['finish'],'Ymd\\THis' . (($obj['adjust']) ? '\\Z' : '')) . '</dtend>' . "\r\n";
|
||||
$o .= '<dtstart xmlns="urn:ietf:params:xml:ns:xcal">' . datetime_convert('UTC','UTC', $obj['dtstart'],'Ymd\\THis' . (($obj['adjust']) ? '\\Z' : '')) . '</dtstart>' . "\r\n";
|
||||
$o .= '<dtend xmlns="urn:ietf:params:xml:ns:xcal">' . datetime_convert('UTC','UTC', $obj['dtend'],'Ymd\\THis' . (($obj['adjust']) ? '\\Z' : '')) . '</dtend>' . "\r\n";
|
||||
$o .= '<location xmlns="urn:ietf:params:xml:ns:xcal">' . xmlify(bbcode($obj['location'])) . '</location>' . "\r\n";
|
||||
$o .= '<content type="' . $type . '" >' . xmlify(bbcode($obj['description'])) . '</content>' . "\r\n";
|
||||
}
|
||||
|
|
|
@ -18,7 +18,7 @@ function group_add($uid,$name,$public = 0) {
|
|||
intval($r)
|
||||
);
|
||||
if(count($z) && $z[0]['deleted']) {
|
||||
/*$r = q("UPDATE `groups` SET `deleted` = 0 WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
|
||||
/*$r = q("UPDATE `groups` SET `deleted` = 0 WHERE `uid` = %d AND `gname` = '%s' LIMIT 1",
|
||||
intval($uid),
|
||||
dbesc($name)
|
||||
);*/
|
||||
|
@ -38,7 +38,7 @@ function group_add($uid,$name,$public = 0) {
|
|||
} while($dups == true);
|
||||
|
||||
|
||||
$r = q("INSERT INTO `groups` ( hash, uid, visible, name )
|
||||
$r = q("INSERT INTO `groups` ( hash, uid, visible, gname )
|
||||
VALUES( '%s', %d, %d, '%s' ) ",
|
||||
dbesc($hash),
|
||||
intval($uid),
|
||||
|
@ -57,7 +57,7 @@ function group_add($uid,$name,$public = 0) {
|
|||
function group_rmv($uid,$name) {
|
||||
$ret = false;
|
||||
if(x($uid) && x($name)) {
|
||||
$r = q("SELECT id, hash FROM `groups` WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
|
||||
$r = q("SELECT id, hash FROM `groups` WHERE `uid` = %d AND `gname` = '%s' LIMIT 1",
|
||||
intval($uid),
|
||||
dbesc($name)
|
||||
);
|
||||
|
@ -108,7 +108,7 @@ function group_rmv($uid,$name) {
|
|||
);
|
||||
|
||||
// remove group
|
||||
$r = q("UPDATE `groups` SET `deleted` = 1 WHERE `uid` = %d AND `name` = '%s'",
|
||||
$r = q("UPDATE `groups` SET `deleted` = 1 WHERE `uid` = %d AND `gname` = '%s'",
|
||||
intval($uid),
|
||||
dbesc($name)
|
||||
);
|
||||
|
@ -125,7 +125,7 @@ function group_rmv($uid,$name) {
|
|||
function group_byname($uid,$name) {
|
||||
if((! $uid) || (! strlen($name)))
|
||||
return false;
|
||||
$r = q("SELECT * FROM `groups` WHERE `uid` = %d AND `name` = '%s' LIMIT 1",
|
||||
$r = q("SELECT * FROM `groups` WHERE `uid` = %d AND `gname` = '%s' LIMIT 1",
|
||||
intval($uid),
|
||||
dbesc($name)
|
||||
);
|
||||
|
@ -232,13 +232,13 @@ function mini_group_select($uid,$group = '') {
|
|||
$grps = array();
|
||||
$o = '';
|
||||
|
||||
$r = q("SELECT * FROM `groups` WHERE `deleted` = 0 AND `uid` = %d ORDER BY `name` ASC",
|
||||
$r = q("SELECT * FROM `groups` WHERE `deleted` = 0 AND `uid` = %d ORDER BY `gname` ASC",
|
||||
intval($uid)
|
||||
);
|
||||
$grps[] = array('name' => '', 'hash' => '0', 'selected' => '');
|
||||
if(count($r)) {
|
||||
foreach($r as $rr) {
|
||||
$grps[] = array('name' => $rr['name'], 'id' => $rr['hash'], 'selected' => (($group == $rr['hash']) ? 'true' : ''));
|
||||
$grps[] = array('name' => $rr['gname'], 'id' => $rr['hash'], 'selected' => (($group == $rr['hash']) ? 'true' : ''));
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -271,7 +271,7 @@ function group_side($every="connections",$each="group",$edit = false, $group_id
|
|||
);
|
||||
|
||||
|
||||
$r = q("SELECT * FROM `groups` WHERE `deleted` = 0 AND `uid` = %d ORDER BY `name` ASC",
|
||||
$r = q("SELECT * FROM `groups` WHERE `deleted` = 0 AND `uid` = %d ORDER BY `gname` ASC",
|
||||
intval($_SESSION['uid'])
|
||||
);
|
||||
$member_of = array();
|
||||
|
@ -296,7 +296,7 @@ function group_side($every="connections",$each="group",$edit = false, $group_id
|
|||
'id' => $rr['id'],
|
||||
'enc_cid' => base64url_encode($cid),
|
||||
'cid' => $cid,
|
||||
'text' => $rr['name'],
|
||||
'text' => $rr['gname'],
|
||||
'selected' => $selected,
|
||||
'href' => (($mode == 0) ? $each.'?f=&gid='.$rr['id'] : $each."/".$rr['id']) . ((x($_GET,'new')) ? '&new=' . $_GET['new'] : '') . ((x($_GET,'order')) ? '&order=' . $_GET['order'] : ''),
|
||||
'edit' => $groupedit,
|
||||
|
@ -340,7 +340,7 @@ function expand_groups($a) {
|
|||
|
||||
function member_of($c) {
|
||||
|
||||
$r = q("SELECT `groups`.`name`, `groups`.`id` FROM `groups` LEFT JOIN `group_member` ON `group_member`.`gid` = `groups`.`id` WHERE `group_member`.`xchan` = '%s' AND `groups`.`deleted` = 0 ORDER BY `groups`.`name` ASC ",
|
||||
$r = q("SELECT `groups`.`gname`, `groups`.`id` FROM `groups` LEFT JOIN `group_member` ON `group_member`.`gid` = `groups`.`id` WHERE `group_member`.`xchan` = '%s' AND `groups`.`deleted` = 0 ORDER BY `groups`.`gname` ASC ",
|
||||
dbesc($c)
|
||||
);
|
||||
|
||||
|
|
|
@ -332,7 +332,9 @@ function import_apps($channel,$apps) {
|
|||
);
|
||||
if($x) {
|
||||
foreach($term as $t) {
|
||||
store_item_tag($channel['channel_id'],$x[0]['id'],TERM_OBJ_APP,$t['type'],escape_tags($t['term']),escape_tags($t['url']));
|
||||
if(array_key_exists('type',$t))
|
||||
$t['ttype'] = $t['type'];
|
||||
store_item_tag($channel['channel_id'],$x[0]['id'],TERM_OBJ_APP,$t['ttype'],escape_tags($t['term']),escape_tags($t['url']));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -400,7 +402,9 @@ function sync_apps($channel,$apps) {
|
|||
|
||||
if($exists && $term) {
|
||||
foreach($term as $t) {
|
||||
store_item_tag($channel['channel_id'],$exists['id'],TERM_OBJ_APP,$t['type'],escape_tags($t['term']),escape_tags($t['url']));
|
||||
if(array_key_exists('type',$t))
|
||||
$t['ttype'] = $t['type'];
|
||||
store_item_tag($channel['channel_id'],$exists['id'],TERM_OBJ_APP,$t['ttype'],escape_tags($t['term']),escape_tags($t['url']));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -436,7 +440,9 @@ function sync_apps($channel,$apps) {
|
|||
);
|
||||
if($x) {
|
||||
foreach($term as $t) {
|
||||
store_item_tag($channel['channel_id'],$x[0]['id'],TERM_OBJ_APP,$t['type'],escape_tags($t['term']),escape_tags($t['url']));
|
||||
if(array_key_exists('type',$t))
|
||||
$t['ttype'] = $t['type'];
|
||||
store_item_tag($channel['channel_id'],$x[0]['id'],TERM_OBJ_APP,$t['ttype'],escape_tags($t['term']),escape_tags($t['url']));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -968,6 +974,11 @@ function sync_files($channel,$files) {
|
|||
$attachment_stored = false;
|
||||
foreach($f['attach'] as $att) {
|
||||
|
||||
if(array_key_exists('data',$att)) {
|
||||
$att['content'] = $att['data'];
|
||||
unset($att['data']);
|
||||
}
|
||||
|
||||
if($att['deleted']) {
|
||||
attach_delete($channel,$att['hash']);
|
||||
continue;
|
||||
|
@ -1037,7 +1048,7 @@ function sync_files($channel,$files) {
|
|||
|
||||
// @fixme - update attachment structures if they are modified rather than created
|
||||
|
||||
$att['data'] = $newfname;
|
||||
$att['content'] = $newfname;
|
||||
|
||||
// Note: we use $att['hash'] below after it has been escaped to
|
||||
// fetch the file contents.
|
||||
|
@ -1119,6 +1130,15 @@ function sync_files($channel,$files) {
|
|||
$p['aid'] = $channel['channel_account_id'];
|
||||
$p['uid'] = $channel['channel_id'];
|
||||
|
||||
if(array_key_exists('data',$p)) {
|
||||
$p['content'] = $p['data'];
|
||||
unset($p['data']);
|
||||
}
|
||||
if(array_key_exists('scale',$p)) {
|
||||
$p['imgscale'] = $p['scale'];
|
||||
unset($p['scale']);
|
||||
}
|
||||
|
||||
// if this is a profile photo, undo the profile photo bit
|
||||
// for any other photo which previously held it.
|
||||
|
||||
|
@ -1144,15 +1164,15 @@ function sync_files($channel,$files) {
|
|||
);
|
||||
}
|
||||
|
||||
if($p['scale'] === 0 && $p['os_storage'])
|
||||
$p['data'] = $store_path;
|
||||
if($p['imgscale'] === 0 && $p['os_storage'])
|
||||
$p['content'] = $store_path;
|
||||
else
|
||||
$p['data'] = base64_decode($p['data']);
|
||||
$p['content'] = base64_decode($p['content']);
|
||||
|
||||
|
||||
$exists = q("select * from photo where resource_id = '%s' and scale = %d and uid = %d limit 1",
|
||||
$exists = q("select * from photo where resource_id = '%s' and imgscale = %d and uid = %d limit 1",
|
||||
dbesc($p['resource_id']),
|
||||
intval($p['scale']),
|
||||
intval($p['imgscale']),
|
||||
intval($channel['channel_id'])
|
||||
);
|
||||
|
||||
|
|
|
@ -666,7 +666,7 @@ function get_item_elements($x,$allow_code = false) {
|
|||
|
||||
$arr['diaspora_meta'] = (($x['diaspora_signature']) ? $x['diaspora_signature'] : '');
|
||||
|
||||
$arr['object'] = activity_sanitise($x['object']);
|
||||
$arr['obj'] = activity_sanitise($x['object']);
|
||||
$arr['target'] = activity_sanitise($x['target']);
|
||||
|
||||
$arr['attach'] = activity_sanitise($x['attach']);
|
||||
|
@ -1055,8 +1055,8 @@ function encode_item($item,$mirror = false) {
|
|||
|
||||
$x['owner'] = encode_item_xchan($item['owner']);
|
||||
$x['author'] = encode_item_xchan($item['author']);
|
||||
if($item['object'])
|
||||
$x['object'] = json_decode_plus($item['object']);
|
||||
if($item['obj'])
|
||||
$x['object'] = json_decode_plus($item['obj']);
|
||||
if($item['target'])
|
||||
$x['target'] = json_decode_plus($item['target']);
|
||||
if($item['attach'])
|
||||
|
@ -1182,8 +1182,8 @@ function encode_item_terms($terms,$mirror = false) {
|
|||
|
||||
if($terms) {
|
||||
foreach($terms as $term) {
|
||||
if(in_array($term['type'],$allowed_export_terms))
|
||||
$ret[] = array('tag' => $term['term'], 'url' => $term['url'], 'type' => termtype($term['type']));
|
||||
if(in_array($term['ttype'],$allowed_export_terms))
|
||||
$ret[] = array('tag' => $term['term'], 'url' => $term['url'], 'ttype' => termtype($term['type']));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1240,39 +1240,41 @@ function decode_tags($t) {
|
|||
$ret = array();
|
||||
foreach($t as $x) {
|
||||
$tag = array();
|
||||
if(array_key_exists('type',$x))
|
||||
$x['ttype'] = $x['type'];
|
||||
$tag['term'] = htmlspecialchars($x['tag'], ENT_COMPAT, 'UTF-8', false);
|
||||
$tag['url'] = htmlspecialchars($x['url'], ENT_COMPAT, 'UTF-8', false);
|
||||
switch($x['type']) {
|
||||
switch($x['ttype']) {
|
||||
case 'hashtag':
|
||||
$tag['type'] = TERM_HASHTAG;
|
||||
$tag['ttype'] = TERM_HASHTAG;
|
||||
break;
|
||||
case 'mention':
|
||||
$tag['type'] = TERM_MENTION;
|
||||
$tag['ttype'] = TERM_MENTION;
|
||||
break;
|
||||
case 'category':
|
||||
$tag['type'] = TERM_CATEGORY;
|
||||
$tag['ttype'] = TERM_CATEGORY;
|
||||
break;
|
||||
case 'private_category':
|
||||
$tag['type'] = TERM_PCATEGORY;
|
||||
$tag['ttype'] = TERM_PCATEGORY;
|
||||
break;
|
||||
case 'file':
|
||||
$tag['type'] = TERM_FILE;
|
||||
$tag['ttype'] = TERM_FILE;
|
||||
break;
|
||||
case 'search':
|
||||
$tag['type'] = TERM_SEARCH;
|
||||
$tag['ttype'] = TERM_SEARCH;
|
||||
break;
|
||||
case 'thing':
|
||||
$tag['type'] = TERM_THING;
|
||||
$tag['ttype'] = TERM_THING;
|
||||
break;
|
||||
case 'bookmark':
|
||||
$tag['type'] = TERM_BOOKMARK;
|
||||
$tag['ttype'] = TERM_BOOKMARK;
|
||||
break;
|
||||
case 'communitytag':
|
||||
$tag['type'] = TERM_COMMUNITYTAG;
|
||||
$tag['ttype'] = TERM_COMMUNITYTAG;
|
||||
break;
|
||||
default:
|
||||
case 'unknown':
|
||||
$tag['type'] = TERM_UNKNOWN;
|
||||
$tag['ttype'] = TERM_UNKNOWN;
|
||||
break;
|
||||
}
|
||||
$ret[] = $tag;
|
||||
|
@ -1593,9 +1595,9 @@ function item_store($arr, $allow_exec = false, $deliver = true) {
|
|||
}
|
||||
}
|
||||
|
||||
if((x($arr,'object')) && is_array($arr['object'])) {
|
||||
activity_sanitise($arr['object']);
|
||||
$arr['object'] = json_encode($arr['object']);
|
||||
if((x($arr,'obj')) && is_array($arr['obj'])) {
|
||||
activity_sanitise($arr['obj']);
|
||||
$arr['obj'] = json_encode($arr['obj']);
|
||||
}
|
||||
|
||||
if((x($arr,'target')) && is_array($arr['target'])) {
|
||||
|
@ -1626,7 +1628,7 @@ function item_store($arr, $allow_exec = false, $deliver = true) {
|
|||
$arr['thr_parent'] = ((x($arr,'thr_parent')) ? notags(trim($arr['thr_parent'])) : $arr['parent_mid']);
|
||||
$arr['verb'] = ((x($arr,'verb')) ? notags(trim($arr['verb'])) : ACTIVITY_POST);
|
||||
$arr['obj_type'] = ((x($arr,'obj_type')) ? notags(trim($arr['obj_type'])) : ACTIVITY_OBJ_NOTE);
|
||||
$arr['object'] = ((x($arr,'object')) ? trim($arr['object']) : '');
|
||||
$arr['obj'] = ((x($arr,'obj')) ? trim($arr['obj']) : '');
|
||||
$arr['tgt_type'] = ((x($arr,'tgt_type')) ? notags(trim($arr['tgt_type'])) : '');
|
||||
$arr['target'] = ((x($arr,'target')) ? trim($arr['target']) : '');
|
||||
$arr['plink'] = ((x($arr,'plink')) ? notags(trim($arr['plink'])) : '');
|
||||
|
@ -1695,7 +1697,7 @@ function item_store($arr, $allow_exec = false, $deliver = true) {
|
|||
return $ret;
|
||||
}
|
||||
|
||||
if(($arr['obj_type'] == ACTIVITY_OBJ_NOTE) && (! $arr['object']))
|
||||
if(($arr['obj_type'] == ACTIVITY_OBJ_NOTE) && (! $arr['obj']))
|
||||
$arr['obj_type'] = ACTIVITY_OBJ_COMMENT;
|
||||
|
||||
// is the new message multi-level threaded?
|
||||
|
@ -1855,12 +1857,12 @@ function item_store($arr, $allow_exec = false, $deliver = true) {
|
|||
|
||||
if(($terms) && (is_array($terms))) {
|
||||
foreach($terms as $t) {
|
||||
q("insert into term (uid,oid,otype,type,term,url)
|
||||
q("insert into term (uid,oid,otype,ttype,term,url)
|
||||
values(%d,%d,%d,%d,'%s','%s') ",
|
||||
intval($arr['uid']),
|
||||
intval($current_post),
|
||||
intval(TERM_OBJ_POST),
|
||||
intval($t['type']),
|
||||
intval($t['ttype']),
|
||||
dbesc($t['term']),
|
||||
dbesc($t['url'])
|
||||
);
|
||||
|
@ -1989,9 +1991,9 @@ function item_store_update($arr,$allow_exec = false, $deliver = true) {
|
|||
}
|
||||
}
|
||||
|
||||
if((x($arr,'object')) && is_array($arr['object'])) {
|
||||
activity_sanitise($arr['object']);
|
||||
$arr['object'] = json_encode($arr['object']);
|
||||
if((x($arr,'obj')) && is_array($arr['obj'])) {
|
||||
activity_sanitise($arr['obj']);
|
||||
$arr['obj'] = json_encode($arr['obj']);
|
||||
}
|
||||
|
||||
if((x($arr,'target')) && is_array($arr['target'])) {
|
||||
|
@ -2033,7 +2035,7 @@ function item_store_update($arr,$allow_exec = false, $deliver = true) {
|
|||
$arr['coord'] = ((x($arr,'coord')) ? notags(trim($arr['coord'])) : $orig[0]['coord']);
|
||||
$arr['verb'] = ((x($arr,'verb')) ? notags(trim($arr['verb'])) : $orig[0]['verb']);
|
||||
$arr['obj_type'] = ((x($arr,'obj_type')) ? notags(trim($arr['obj_type'])) : $orig[0]['obj_type']);
|
||||
$arr['object'] = ((x($arr,'object')) ? trim($arr['object']) : $orig[0]['object']);
|
||||
$arr['obj'] = ((x($arr,'obj')) ? trim($arr['obj']) : $orig[0]['obj']);
|
||||
$arr['tgt_type'] = ((x($arr,'tgt_type')) ? notags(trim($arr['tgt_type'])) : $orig[0]['tgt_type']);
|
||||
$arr['target'] = ((x($arr,'target')) ? trim($arr['target']) : $orig[0]['target']);
|
||||
$arr['plink'] = ((x($arr,'plink')) ? notags(trim($arr['plink'])) : $orig[0]['plink']);
|
||||
|
@ -2134,12 +2136,12 @@ function item_store_update($arr,$allow_exec = false, $deliver = true) {
|
|||
|
||||
if(is_array($terms)) {
|
||||
foreach($terms as $t) {
|
||||
q("insert into term (uid,oid,otype,type,term,url)
|
||||
q("insert into term (uid,oid,otype,ttype,term,url)
|
||||
values(%d,%d,%d,%d,'%s','%s') ",
|
||||
intval($uid),
|
||||
intval($orig_post_id),
|
||||
intval(TERM_OBJ_POST),
|
||||
intval($t['type']),
|
||||
intval($t['ttype']),
|
||||
dbesc($t['term']),
|
||||
dbesc($t['url'])
|
||||
);
|
||||
|
@ -2367,10 +2369,10 @@ function tag_deliver($uid, $item_id) {
|
|||
if (stristr($item['verb'],ACTIVITY_POKE)) {
|
||||
$poke_notify = true;
|
||||
|
||||
if(($item['obj_type'] == "") || ($item['obj_type'] !== ACTIVITY_OBJ_PERSON) || (! $item['object']))
|
||||
if(($item['obj_type'] == "") || ($item['obj_type'] !== ACTIVITY_OBJ_PERSON) || (! $item['obj']))
|
||||
$poke_notify = false;
|
||||
|
||||
$obj = json_decode_plus($item['object']);
|
||||
$obj = json_decode_plus($item['obj']);
|
||||
if($obj) {
|
||||
if($obj['id'] !== $u[0]['channel_hash'])
|
||||
$poke_notify = false;
|
||||
|
@ -2414,7 +2416,7 @@ function tag_deliver($uid, $item_id) {
|
|||
intval($u[0]['channel_id'])
|
||||
);
|
||||
if($p) {
|
||||
$j_obj = json_decode_plus($item['object']);
|
||||
$j_obj = json_decode_plus($item['obj']);
|
||||
logger('tag_deliver: tag object: ' . print_r($j_obj,true), LOGGER_DATA);
|
||||
if($j_obj && $j_obj['id'] && $j_obj['title']) {
|
||||
if(is_array($j_obj['link']))
|
||||
|
@ -2720,7 +2722,7 @@ function start_delivery_chain($channel, $item, $item_id, $parent) {
|
|||
foreach($tags as $tt) {
|
||||
$tt = trim($tt);
|
||||
if($tt) {
|
||||
q("insert into term (uid,oid,otype,type,term,url)
|
||||
q("insert into term (uid,oid,otype,ttype,term,url)
|
||||
values(%d,%d,%d,%d,'%s','%s') ",
|
||||
intval($channel['channel_id']),
|
||||
intval($item_id),
|
||||
|
@ -2863,7 +2865,7 @@ function check_item_source($uid, $item) {
|
|||
foreach($words as $word) {
|
||||
if(substr($word,0,1) === '#' && $tags) {
|
||||
foreach($tags as $t)
|
||||
if((($t['type'] == TERM_HASHTAG) || ($t['type'] == TERM_COMMUNITYTAG)) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*')))
|
||||
if((($t['ttype'] == TERM_HASHTAG) || ($t['ttype'] == TERM_COMMUNITYTAG)) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*')))
|
||||
return true;
|
||||
}
|
||||
elseif((strpos($word,'/') === 0) && preg_match($word,$text))
|
||||
|
@ -2916,7 +2918,7 @@ function post_is_importable($item,$abook) {
|
|||
continue;
|
||||
if(substr($word,0,1) === '#' && $tags) {
|
||||
foreach($tags as $t)
|
||||
if((($t['type'] == TERM_HASHTAG) || ($t['type'] == TERM_COMMUNITYTAG)) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*')))
|
||||
if((($t['ttype'] == TERM_HASHTAG) || ($t['ttype'] == TERM_COMMUNITYTAG)) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*')))
|
||||
return false;
|
||||
}
|
||||
elseif((strpos($word,'/') === 0) && preg_match($word,$text))
|
||||
|
@ -2937,7 +2939,7 @@ function post_is_importable($item,$abook) {
|
|||
continue;
|
||||
if(substr($word,0,1) === '#' && $tags) {
|
||||
foreach($tags as $t)
|
||||
if((($t['type'] == TERM_HASHTAG) || ($t['type'] == TERM_COMMUNITYTAG)) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*')))
|
||||
if((($t['ttype'] == TERM_HASHTAG) || ($t['ttype'] == TERM_COMMUNITYTAG)) && (($t['term'] === substr($word,1)) || (substr($word,1) === '*')))
|
||||
return true;
|
||||
}
|
||||
elseif((strpos($word,'/') === 0) && preg_match($word,$text))
|
||||
|
@ -3091,7 +3093,7 @@ function fix_private_photos($s, $uid, $item = null, $cid = 0) {
|
|||
if($x) {
|
||||
$res = substr($i,$x+1);
|
||||
$i = substr($i,0,$x);
|
||||
$r = q("SELECT * FROM `photo` WHERE `resource_id` = '%s' AND `scale` = %d AND `uid` = %d",
|
||||
$r = q("SELECT * FROM `photo` WHERE `resource_id` = '%s' AND `imgscale` = %d AND `uid` = %d",
|
||||
dbesc($i),
|
||||
intval($res),
|
||||
intval($uid)
|
||||
|
@ -3214,7 +3216,7 @@ function item_getfeedtags($item) {
|
|||
|
||||
if(count($terms)) {
|
||||
foreach($terms as $term) {
|
||||
if(($term['type'] == TERM_HASHTAG) || ($term['type'] == TERM_COMMUNITYTAG))
|
||||
if(($term['ttype'] == TERM_HASHTAG) || ($term['ttype'] == TERM_COMMUNITYTAG))
|
||||
$ret[] = array('#',$term['url'],$term['term']);
|
||||
else
|
||||
$ret[] = array('@',$term['url'],$term['term']);
|
||||
|
@ -3685,7 +3687,7 @@ function fetch_post_tags($items,$link = false) {
|
|||
for($x = 0; $x < count($items); $x ++) {
|
||||
if($tags) {
|
||||
foreach($tags as $t) {
|
||||
if(($link) && ($t['type'] == TERM_MENTION))
|
||||
if(($link) && ($t['ttype'] == TERM_MENTION))
|
||||
$t['url'] = chanlink_url($t['url']);
|
||||
if(array_key_exists('item_id',$items[$x])) {
|
||||
if($t['oid'] == $items[$x]['item_id']) {
|
||||
|
@ -3895,8 +3897,8 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
|
|||
}
|
||||
|
||||
$contact_str = '';
|
||||
/** @FIXME $group is undefined */
|
||||
$contacts = group_get_members($group);
|
||||
|
||||
$contacts = group_get_members($r[0]['id']);
|
||||
if ($contacts) {
|
||||
foreach($contacts as $c) {
|
||||
if($contact_str)
|
||||
|
@ -3913,7 +3915,7 @@ function items_fetch($arr,$channel = null,$observer_hash = null,$client_mode = C
|
|||
$sql_extra = " AND item.parent IN ( SELECT DISTINCT parent FROM item WHERE true $sql_options AND (( author_xchan IN ( $contact_str ) OR owner_xchan in ( $contact_str)) or allow_gid like '" . protect_sprintf('%<' . dbesc($r[0]['hash']) . '>%') . "' ) and id = parent $item_normal ) ";
|
||||
|
||||
$x = group_rec_byhash($uid,$r[0]['hash']);
|
||||
$result['headline'] = sprintf( t('Privacy group: %s'),$x['name']);
|
||||
$result['headline'] = sprintf( t('Privacy group: %s'),$x['gname']);
|
||||
}
|
||||
elseif($arr['cid'] && $uid) {
|
||||
|
||||
|
@ -4261,7 +4263,7 @@ function send_profile_photo_activity($channel,$photo,$profile) {
|
|||
$arr['obj_type'] = ACTIVITY_OBJ_PHOTO;
|
||||
$arr['verb'] = ACTIVITY_UPDATE;
|
||||
|
||||
$arr['object'] = json_encode(array(
|
||||
$arr['obj'] = json_encode(array(
|
||||
'type' => $arr['obj_type'],
|
||||
'id' => z_root() . '/photo/profile/l/' . $channel['channel_id'],
|
||||
'link' => array('rel' => 'photo', 'type' => $photo['type'], 'href' => z_root() . '/photo/profile/l/' . $channel['channel_id'])
|
||||
|
|
|
@ -132,10 +132,10 @@ function load_translation_table($lang, $install = false) {
|
|||
}
|
||||
|
||||
if(! $install) {
|
||||
$plugins = q("SELECT name FROM addon WHERE installed=1;");
|
||||
$plugins = q("SELECT aname FROM addon WHERE installed=1;");
|
||||
if ($plugins !== false) {
|
||||
foreach($plugins as $p) {
|
||||
$name = $p['name'];
|
||||
$name = $p['aname'];
|
||||
if(file_exists("addon/$name/lang/$lang/hstrings.php")) {
|
||||
include("addon/$name/lang/$lang/hstrings.php");
|
||||
}
|
||||
|
|
|
@ -1967,7 +1967,7 @@ function get_site_info() {
|
|||
$r = q("select * from addon where hidden = 0");
|
||||
if(count($r))
|
||||
foreach($r as $rr)
|
||||
$visible_plugins[] = $rr['name'];
|
||||
$visible_plugins[] = $rr['aname'];
|
||||
}
|
||||
sort($visible_plugins);
|
||||
|
||||
|
|
|
@ -37,7 +37,7 @@ class ZotOAuth1DataStore extends OAuth1DataStore {
|
|||
|
||||
logger(__function__.":".$consumer.", ". $token_type.", ".$token, LOGGER_DEBUG);
|
||||
|
||||
$r = q("SELECT id, secret, scope, expires, uid FROM tokens WHERE client_id = '%s' AND scope = '%s' AND id = '%s'",
|
||||
$r = q("SELECT id, secret, auth_scope, expires, uid FROM tokens WHERE client_id = '%s' AND auth_scope = '%s' AND id = '%s'",
|
||||
dbesc($consumer->key),
|
||||
dbesc($token_type),
|
||||
dbesc($token)
|
||||
|
@ -45,7 +45,7 @@ class ZotOAuth1DataStore extends OAuth1DataStore {
|
|||
|
||||
if (count($r)){
|
||||
$ot=new OAuth1Token($r[0]['id'],$r[0]['secret']);
|
||||
$ot->scope=$r[0]['scope'];
|
||||
$ot->scope=$r[0]['auth_scope'];
|
||||
$ot->expires = $r[0]['expires'];
|
||||
$ot->uid = $r[0]['uid'];
|
||||
return $ot;
|
||||
|
@ -79,7 +79,7 @@ class ZotOAuth1DataStore extends OAuth1DataStore {
|
|||
$k = $consumer;
|
||||
}
|
||||
|
||||
$r = q("INSERT INTO tokens (id, secret, client_id, scope, expires) VALUES ('%s','%s','%s','%s', %d)",
|
||||
$r = q("INSERT INTO tokens (id, secret, client_id, auth_scope, expires) VALUES ('%s','%s','%s','%s', %d)",
|
||||
dbesc($key),
|
||||
dbesc($sec),
|
||||
dbesc($k),
|
||||
|
@ -110,7 +110,7 @@ class ZotOAuth1DataStore extends OAuth1DataStore {
|
|||
$key = $this->gen_token();
|
||||
$sec = $this->gen_token();
|
||||
|
||||
$r = q("INSERT INTO tokens (id, secret, client_id, scope, expires, uid) VALUES ('%s','%s','%s','%s', %d, %d)",
|
||||
$r = q("INSERT INTO tokens (id, secret, client_id, auth_scope, expires, uid) VALUES ('%s','%s','%s','%s', %d, %d)",
|
||||
dbesc($key),
|
||||
dbesc($sec),
|
||||
dbesc($consumer->key),
|
||||
|
@ -249,7 +249,7 @@ class FKOAuth2 extends OAuth2 {
|
|||
|
||||
|
||||
protected function getAuthCode($code) {
|
||||
$r = q("SELECT id, client_id, redirect_uri, expires, scope FROM auth_codes WHERE id = '%s'",
|
||||
$r = q("SELECT id, client_id, redirect_uri, expires, auth_scope FROM auth_codes WHERE id = '%s'",
|
||||
dbesc($code));
|
||||
|
||||
if (count($r))
|
||||
|
@ -259,7 +259,7 @@ class FKOAuth2 extends OAuth2 {
|
|||
|
||||
protected function setAuthCode($code, $client_id, $redirect_uri, $expires, $scope = NULL) {
|
||||
$r = q("INSERT INTO auth_codes
|
||||
(id, client_id, redirect_uri, expires, scope) VALUES
|
||||
(id, client_id, redirect_uri, expires, auth_scope) VALUES
|
||||
('%s', '%s', '%s', %d, '%s')",
|
||||
dbesc($code),
|
||||
dbesc($client_id),
|
||||
|
|
|
@ -316,7 +316,7 @@ abstract class photo_driver {
|
|||
$p['resource_id'] = (($arr['resource_id']) ? $arr['resource_id'] : '');
|
||||
$p['filename'] = (($arr['filename']) ? $arr['filename'] : '');
|
||||
$p['album'] = (($arr['album']) ? $arr['album'] : '');
|
||||
$p['scale'] = ((intval($arr['scale'])) ? intval($arr['scale']) : 0);
|
||||
$p['imgscale'] = ((intval($arr['imgscale'])) ? intval($arr['imgscale']) : 0);
|
||||
$p['allow_cid'] = (($arr['allow_cid']) ? $arr['allow_cid'] : '');
|
||||
$p['allow_gid'] = (($arr['allow_gid']) ? $arr['allow_gid'] : '');
|
||||
$p['deny_cid'] = (($arr['deny_cid']) ? $arr['deny_cid'] : '');
|
||||
|
@ -329,14 +329,14 @@ abstract class photo_driver {
|
|||
$p['os_storage'] = intval($arr['os_storage']);
|
||||
$p['os_path'] = $arr['os_path'];
|
||||
|
||||
if(! intval($p['scale']))
|
||||
logger('save: ' . print_r($arr,true));
|
||||
if(! intval($p['imgscale']))
|
||||
logger('save: ' . print_r($arr,true), LOGGER_DATA);
|
||||
|
||||
$x = q("select id from photo where resource_id = '%s' and uid = %d and xchan = '%s' and `scale` = %d limit 1",
|
||||
$x = q("select id from photo where resource_id = '%s' and uid = %d and xchan = '%s' and imgscale = %d limit 1",
|
||||
dbesc($p['resource_id']),
|
||||
intval($p['uid']),
|
||||
dbesc($p['xchan']),
|
||||
intval($p['scale'])
|
||||
intval($p['imgscale'])
|
||||
);
|
||||
if($x) {
|
||||
$r = q("UPDATE `photo` set
|
||||
|
@ -347,14 +347,14 @@ abstract class photo_driver {
|
|||
`created` = '%s',
|
||||
`edited` = '%s',
|
||||
`filename` = '%s',
|
||||
`type` = '%s',
|
||||
`mimetype` = '%s',
|
||||
`album` = '%s',
|
||||
`height` = %d,
|
||||
`width` = %d,
|
||||
`data` = '%s',
|
||||
`content` = '%s',
|
||||
`os_storage` = %d,
|
||||
`size` = %d,
|
||||
`scale` = %d,
|
||||
`filesize` = %d,
|
||||
`imgscale` = %d,
|
||||
`photo_usage` = %d,
|
||||
`title` = '%s',
|
||||
`description` = '%s',
|
||||
|
@ -378,7 +378,7 @@ abstract class photo_driver {
|
|||
(intval($p['os_storage']) ? dbesc($p['os_path']) : dbescbin($this->imageString())),
|
||||
intval($p['os_storage']),
|
||||
intval(strlen($this->imageString())),
|
||||
intval($p['scale']),
|
||||
intval($p['imgscale']),
|
||||
intval($p['photo_usage']),
|
||||
dbesc($p['title']),
|
||||
dbesc($p['description']),
|
||||
|
@ -391,7 +391,7 @@ abstract class photo_driver {
|
|||
}
|
||||
else {
|
||||
$r = q("INSERT INTO `photo`
|
||||
( `aid`, `uid`, `xchan`, `resource_id`, `created`, `edited`, `filename`, type, `album`, `height`, `width`, `data`, `os_storage`, `size`, `scale`, `photo_usage`, `title`, `description`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
|
||||
( `aid`, `uid`, `xchan`, `resource_id`, `created`, `edited`, `filename`, mimetype, `album`, `height`, `width`, `content`, `os_storage`, `filesize`, `imgscale`, `photo_usage`, `title`, `description`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, %d, %d, '%s', '%s', '%s', '%s', '%s', '%s' )",
|
||||
intval($p['aid']),
|
||||
intval($p['uid']),
|
||||
|
@ -407,7 +407,7 @@ abstract class photo_driver {
|
|||
(intval($p['os_storage']) ? dbesc($p['os_path']) : dbescbin($this->imageString())),
|
||||
intval($p['os_storage']),
|
||||
intval(strlen($this->imageString())),
|
||||
intval($p['scale']),
|
||||
intval($p['imgscale']),
|
||||
intval($p['photo_usage']),
|
||||
dbesc($p['title']),
|
||||
dbesc($p['description']),
|
||||
|
@ -422,7 +422,7 @@ abstract class photo_driver {
|
|||
|
||||
public function store($aid, $uid, $xchan, $rid, $filename, $album, $scale, $usage = PHOTO_NORMAL, $allow_cid = '', $allow_gid = '', $deny_cid = '', $deny_gid = '') {
|
||||
|
||||
$x = q("select id from photo where `resource_id` = '%s' and uid = %d and `xchan` = '%s' and `scale` = %d limit 1",
|
||||
$x = q("select id from photo where `resource_id` = '%s' and uid = %d and `xchan` = '%s' and `imgscale` = %d limit 1",
|
||||
dbesc($rid),
|
||||
intval($uid),
|
||||
dbesc($xchan),
|
||||
|
@ -437,13 +437,13 @@ abstract class photo_driver {
|
|||
`created` = '%s',
|
||||
`edited` = '%s',
|
||||
`filename` = '%s',
|
||||
`type` = '%s',
|
||||
`mimetype` = '%s',
|
||||
`album` = '%s',
|
||||
`height` = %d,
|
||||
`width` = %d,
|
||||
`data` = '%s',
|
||||
`size` = %d,
|
||||
`scale` = %d,
|
||||
`content` = '%s',
|
||||
`filesize` = %d,
|
||||
`imgscale` = %d,
|
||||
`photo_usage` = %d,
|
||||
`allow_cid` = '%s',
|
||||
`allow_gid` = '%s',
|
||||
|
@ -475,7 +475,7 @@ abstract class photo_driver {
|
|||
}
|
||||
else {
|
||||
$r = q("INSERT INTO `photo`
|
||||
( `aid`, `uid`, `xchan`, `resource_id`, `created`, `edited`, `filename`, type, `album`, `height`, `width`, `data`, `size`, `scale`, `photo_usage`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
|
||||
( `aid`, `uid`, `xchan`, `resource_id`, `created`, `edited`, `filename`, mimetype, `album`, `height`, `width`, `content`, `filesize`, `imgscale`, `photo_usage`, `allow_cid`, `allow_gid`, `deny_cid`, `deny_gid` )
|
||||
VALUES ( %d, %d, '%s', '%s', '%s', '%s', '%s', '%s', '%s', %d, %d, '%s', %d, %d, %d, '%s', '%s', '%s', '%s' )",
|
||||
intval($aid),
|
||||
intval($uid),
|
||||
|
@ -588,7 +588,7 @@ function import_xchan_photo($photo,$xchan,$thing = false) {
|
|||
if($thing)
|
||||
$hash = photo_new_resource();
|
||||
else {
|
||||
$r = q("select resource_id from photo where xchan = '%s' and photo_usage = %d and scale = 4 limit 1",
|
||||
$r = q("select resource_id from photo where xchan = '%s' and photo_usage = %d and imgscale = 4 limit 1",
|
||||
dbesc($xchan),
|
||||
intval(PHOTO_XCHAN)
|
||||
);
|
||||
|
@ -654,7 +654,7 @@ function import_xchan_photo($photo,$xchan,$thing = false) {
|
|||
else
|
||||
$photo_failure = true;
|
||||
|
||||
$p = array('xchan' => $xchan,'resource_id' => $hash, 'filename' => basename($photo), 'album' => $album, 'photo_usage' => $flags, 'scale' => 4);
|
||||
$p = array('xchan' => $xchan,'resource_id' => $hash, 'filename' => basename($photo), 'album' => $album, 'photo_usage' => $flags, 'imgscale' => 4);
|
||||
|
||||
$r = $img->save($p);
|
||||
|
||||
|
@ -662,7 +662,7 @@ function import_xchan_photo($photo,$xchan,$thing = false) {
|
|||
$photo_failure = true;
|
||||
|
||||
$img->scaleImage(80);
|
||||
$p['scale'] = 5;
|
||||
$p['imgscale'] = 5;
|
||||
|
||||
$r = $img->save($p);
|
||||
|
||||
|
@ -670,7 +670,7 @@ function import_xchan_photo($photo,$xchan,$thing = false) {
|
|||
$photo_failure = true;
|
||||
|
||||
$img->scaleImage(48);
|
||||
$p['scale'] = 6;
|
||||
$p['imgscale'] = 6;
|
||||
|
||||
$r = $img->save($p);
|
||||
|
||||
|
@ -715,7 +715,7 @@ function import_channel_photo($photo,$type,$aid,$uid) {
|
|||
|
||||
$img->scaleImageSquare(300);
|
||||
|
||||
$p = array('aid' => $aid, 'uid' => $uid, 'resource_id' => $hash, 'filename' => $filename, 'album' => t('Profile Photos'), 'photo_usage' => PHOTO_PROFILE, 'scale' => 4);
|
||||
$p = array('aid' => $aid, 'uid' => $uid, 'resource_id' => $hash, 'filename' => $filename, 'album' => t('Profile Photos'), 'photo_usage' => PHOTO_PROFILE, 'imgscale' => 4);
|
||||
|
||||
$r = $img->save($p);
|
||||
|
||||
|
@ -723,7 +723,7 @@ function import_channel_photo($photo,$type,$aid,$uid) {
|
|||
$photo_failure = true;
|
||||
|
||||
$img->scaleImage(80);
|
||||
$p['scale'] = 5;
|
||||
$p['imgscale'] = 5;
|
||||
|
||||
$r = $img->save($p);
|
||||
|
||||
|
@ -731,7 +731,7 @@ function import_channel_photo($photo,$type,$aid,$uid) {
|
|||
$photo_failure = true;
|
||||
|
||||
$img->scaleImage(48);
|
||||
$p['scale'] = 6;
|
||||
$p['imgscale'] = 6;
|
||||
|
||||
$r = $img->save($p);
|
||||
|
||||
|
|
|
@ -71,17 +71,17 @@ function photo_upload($channel, $observer, $args) {
|
|||
$type = $args['getimagesize']['mime'];
|
||||
$os_storage = 1;
|
||||
}
|
||||
elseif ($args['data']) {
|
||||
elseif ($args['data'] || $args['content']) {
|
||||
|
||||
// allow an import from a binary string representing the image.
|
||||
// This bypasses the upload step and max size limit checking
|
||||
|
||||
$imagedata = $args['data'];
|
||||
$imagedata = (($args['content']) ? $args['content'] : $args['data']);
|
||||
$filename = $args['filename'];
|
||||
$filesize = strlen($imagedata);
|
||||
// this is going to be deleted if it exists
|
||||
$src = '/tmp/deletemenow';
|
||||
$type = $args['type'];
|
||||
$type = (($args['mimetype']) ? $args['mimetype'] : $args['type']);
|
||||
} else {
|
||||
$f = array('src' => '', 'filename' => '', 'filesize' => 0, 'type' => '');
|
||||
|
||||
|
@ -125,7 +125,7 @@ function photo_upload($channel, $observer, $args) {
|
|||
$imagedata = @file_get_contents($src);
|
||||
}
|
||||
|
||||
$r = q("select sum(size) as total from photo where aid = %d and scale = 0 ",
|
||||
$r = q("select sum(filesize) as total from photo where aid = %d and imgscale = 0 ",
|
||||
intval($account_id)
|
||||
);
|
||||
|
||||
|
@ -172,7 +172,7 @@ function photo_upload($channel, $observer, $args) {
|
|||
$errors = false;
|
||||
|
||||
$p = array('aid' => $account_id, 'uid' => $channel_id, 'xchan' => $visitor, 'resource_id' => $photo_hash,
|
||||
'filename' => $filename, 'album' => $album, 'scale' => 0, 'photo_usage' => PHOTO_NORMAL,
|
||||
'filename' => $filename, 'album' => $album, 'imgscale' => 0, 'photo_usage' => PHOTO_NORMAL,
|
||||
'allow_cid' => $ac['allow_cid'], 'allow_gid' => $ac['allow_gid'],
|
||||
'deny_cid' => $ac['deny_cid'], 'deny_gid' => $ac['deny_gid'],
|
||||
'os_storage' => $os_storage, 'os_path' => $args['os_path']
|
||||
|
@ -205,7 +205,7 @@ function photo_upload($channel, $observer, $args) {
|
|||
if(($width > 1024 || $height > 1024) && (! $errors))
|
||||
$ph->scaleImage(1024);
|
||||
|
||||
$p['scale'] = 1;
|
||||
$p['imgscale'] = 1;
|
||||
$r1 = $ph->save($p);
|
||||
$link[1] = array(
|
||||
'rel' => 'alternate',
|
||||
|
@ -220,7 +220,7 @@ function photo_upload($channel, $observer, $args) {
|
|||
if(($width > 640 || $height > 640) && (! $errors))
|
||||
$ph->scaleImage(640);
|
||||
|
||||
$p['scale'] = 2;
|
||||
$p['imgscale'] = 2;
|
||||
$r2 = $ph->save($p);
|
||||
$link[2] = array(
|
||||
'rel' => 'alternate',
|
||||
|
@ -235,7 +235,7 @@ function photo_upload($channel, $observer, $args) {
|
|||
if(($width > 320 || $height > 320) && (! $errors))
|
||||
$ph->scaleImage(320);
|
||||
|
||||
$p['scale'] = 3;
|
||||
$p['imgscale'] = 3;
|
||||
$r3 = $ph->save($p);
|
||||
$link[3] = array(
|
||||
'rel' => 'alternate',
|
||||
|
@ -332,7 +332,7 @@ function photo_upload($channel, $observer, $args) {
|
|||
|
||||
$item['body'] = $args['body'];
|
||||
$item['obj_type'] = ACTIVITY_OBJ_PHOTO;
|
||||
$item['object'] = json_encode($object);
|
||||
$item['obj'] = json_encode($object);
|
||||
|
||||
$item['tgt_type'] = ACTIVITY_OBJ_ALBUM;
|
||||
$item['target'] = json_encode($target);
|
||||
|
@ -389,8 +389,8 @@ function photo_upload($channel, $observer, $args) {
|
|||
$arr['deny_cid'] = $ac['deny_cid'];
|
||||
$arr['deny_gid'] = $ac['deny_gid'];
|
||||
$arr['verb'] = ACTIVITY_POST;
|
||||
$arr['obj_type'] = ACTIVITY_OBJ_PHOTO;
|
||||
$arr['object'] = json_encode($object);
|
||||
$arr['obj_type'] = ACTIVITY_OBJ_PHOTO;
|
||||
$arr['obj'] = json_encode($object);
|
||||
$arr['tgt_type'] = ACTIVITY_OBJ_ALBUM;
|
||||
$arr['target'] = json_encode($target);
|
||||
$arr['item_wall'] = 1;
|
||||
|
@ -535,7 +535,7 @@ function photos_list_photos($channel, $observer, $album = '') {
|
|||
|
||||
$ret = array('success' => false);
|
||||
|
||||
$r = q("select resource_id, created, edited, title, description, album, filename, type, height, width, size, scale, photo_usage, allow_cid, allow_gid, deny_cid, deny_gid from photo where uid = %d and photo_usage in ( %d, %d ) $sql_extra ",
|
||||
$r = q("select resource_id, created, edited, title, description, album, filename, mimetype, height, width, filesize, imgscale, photo_usage, allow_cid, allow_gid, deny_cid, deny_gid from photo where uid = %d and photo_usage in ( %d, %d ) $sql_extra ",
|
||||
intval($channel_id),
|
||||
intval(PHOTO_NORMAL),
|
||||
intval(PHOTO_PROFILE)
|
||||
|
@ -543,7 +543,7 @@ function photos_list_photos($channel, $observer, $album = '') {
|
|||
|
||||
if($r) {
|
||||
for($x = 0; $x < count($r); $x ++) {
|
||||
$r[$x]['src'] = z_root() . '/photo/' . $r[$x]['resource_id'] . '-' . $r[$x]['scale'];
|
||||
$r[$x]['src'] = z_root() . '/photo/' . $r[$x]['resource_id'] . '-' . $r[$x]['imgscale'];
|
||||
}
|
||||
$ret['success'] = true;
|
||||
$ret['photos'] = $r;
|
||||
|
@ -661,7 +661,7 @@ function photos_create_item($channel, $creator_hash, $photo, $visible = false) {
|
|||
$arr['plink'] = z_root() . '/channel/' . $channel['channel_address'] . '/?f=&mid=' . $arr['mid'];
|
||||
|
||||
$arr['body'] = '[zrl=' . z_root() . '/photos/' . $channel['channel_address'] . '/image/' . $photo['resource_id'] . ']'
|
||||
. '[zmg]' . z_root() . '/photo/' . $photo['resource_id'] . '-' . $photo['scale'] . '[/zmg]'
|
||||
. '[zmg]' . z_root() . '/photo/' . $photo['resource_id'] . '-' . $photo['imgscale'] . '[/zmg]'
|
||||
. '[/zrl]';
|
||||
|
||||
$result = item_store($arr);
|
||||
|
|
|
@ -41,7 +41,7 @@ function uninstall_plugin($plugin) {
|
|||
$func();
|
||||
}
|
||||
|
||||
q("DELETE FROM `addon` WHERE `name` = '%s' ",
|
||||
q("DELETE FROM `addon` WHERE `aname` = '%s' ",
|
||||
dbesc($plugin)
|
||||
);
|
||||
}
|
||||
|
@ -66,7 +66,7 @@ function install_plugin($plugin) {
|
|||
|
||||
$plugin_admin = (function_exists($plugin . '_plugin_admin') ? 1 : 0);
|
||||
|
||||
q("INSERT INTO `addon` (`name`, `installed`, `timestamp`, `plugin_admin`) VALUES ( '%s', 1, %d , %d ) ",
|
||||
q("INSERT INTO `addon` (`aname`, `installed`, `tstamp`, `plugin_admin`) VALUES ( '%s', 1, %d , %d ) ",
|
||||
dbesc($plugin),
|
||||
intval($t),
|
||||
$plugin_admin
|
||||
|
@ -111,7 +111,7 @@ function load_plugin($plugin) {
|
|||
}
|
||||
|
||||
function plugin_is_installed($name) {
|
||||
$r = q("select name from addon where name = '%s' and installed = 1 limit 1",
|
||||
$r = q("select aname from addon where aname = '%s' and installed = 1 limit 1",
|
||||
dbesc($name)
|
||||
);
|
||||
if($r)
|
||||
|
@ -143,8 +143,8 @@ function reload_plugins() {
|
|||
if(file_exists($fname)) {
|
||||
$t = @filemtime($fname);
|
||||
foreach($installed as $i) {
|
||||
if(($i['name'] == $pl) && ($i['timestamp'] != $t)) {
|
||||
logger('Reloading plugin: ' . $i['name']);
|
||||
if(($i['aname'] == $pl) && ($i['tstamp'] != $t)) {
|
||||
logger('Reloading plugin: ' . $i['aname']);
|
||||
@include_once($fname);
|
||||
|
||||
if(function_exists($pl . '_unload')) {
|
||||
|
@ -155,7 +155,7 @@ function reload_plugins() {
|
|||
$func = $pl . '_load';
|
||||
$func();
|
||||
}
|
||||
q("UPDATE `addon` SET `timestamp` = %d WHERE `id` = %d",
|
||||
q("UPDATE `addon` SET `tstamp` = %d WHERE `id` = %d",
|
||||
intval($t),
|
||||
intval($i['id'])
|
||||
);
|
||||
|
@ -178,7 +178,7 @@ function reload_plugins() {
|
|||
* @return mixed|bool
|
||||
*/
|
||||
function register_hook($hook, $file, $function, $priority = 0) {
|
||||
$r = q("SELECT * FROM `hook` WHERE `hook` = '%s' AND `file` = '%s' AND `function` = '%s' LIMIT 1",
|
||||
$r = q("SELECT * FROM `hook` WHERE `hook` = '%s' AND `file` = '%s' AND `fn` = '%s' LIMIT 1",
|
||||
dbesc($hook),
|
||||
dbesc($file),
|
||||
dbesc($function)
|
||||
|
@ -186,7 +186,7 @@ function register_hook($hook, $file, $function, $priority = 0) {
|
|||
if($r)
|
||||
return true;
|
||||
|
||||
$r = q("INSERT INTO `hook` (`hook`, `file`, `function`, `priority`) VALUES ( '%s', '%s', '%s', '%s' )",
|
||||
$r = q("INSERT INTO `hook` (`hook`, `file`, `fn`, `priority`) VALUES ( '%s', '%s', '%s', '%s' )",
|
||||
dbesc($hook),
|
||||
dbesc($file),
|
||||
dbesc($function),
|
||||
|
@ -206,7 +206,7 @@ function register_hook($hook, $file, $function, $priority = 0) {
|
|||
* @return array
|
||||
*/
|
||||
function unregister_hook($hook, $file, $function) {
|
||||
$r = q("DELETE FROM hook WHERE hook = '%s' AND `file` = '%s' AND `function` = '%s'",
|
||||
$r = q("DELETE FROM hook WHERE hook = '%s' AND `file` = '%s' AND `fn` = '%s'",
|
||||
dbesc($hook),
|
||||
dbesc($file),
|
||||
dbesc($function)
|
||||
|
@ -233,7 +233,7 @@ function load_hooks() {
|
|||
if(! array_key_exists($rr['hook'],App::$hooks))
|
||||
App::$hooks[$rr['hook']] = array();
|
||||
|
||||
App::$hooks[$rr['hook']][] = array($rr['file'],$rr['function'],$rr['priority'],$rr['hook_version']);
|
||||
App::$hooks[$rr['hook']][] = array($rr['file'],$rr['fn'],$rr['priority'],$rr['hook_version']);
|
||||
}
|
||||
}
|
||||
//logger('hooks: ' . print_r(App::$hooks,true));
|
||||
|
@ -300,12 +300,18 @@ function call_hooks($name, &$data = null) {
|
|||
$func($data);
|
||||
else
|
||||
$func($a, $data);
|
||||
} else {
|
||||
q("DELETE FROM hook WHERE hook = '%s' AND file = '%s' AND function = '%s'",
|
||||
dbesc($name),
|
||||
dbesc($hook[0]),
|
||||
dbesc($origfn)
|
||||
);
|
||||
}
|
||||
else {
|
||||
|
||||
// Don't do any DB write calls if we're currently logging a possibly failed DB call.
|
||||
if(! DBA::$logging) {
|
||||
// The hook should be removed so we don't process it.
|
||||
q("DELETE FROM hook WHERE hook = '%s' AND file = '%s' AND fn = '%s'",
|
||||
dbesc($name),
|
||||
dbesc($hook[0]),
|
||||
dbesc($origfn)
|
||||
);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -3,7 +3,7 @@
|
|||
function apply_updates() {
|
||||
|
||||
//check for updated items and remove them
|
||||
$x = q("SELECT mid, max(object) AS object FROM item WHERE verb = '%s' AND obj_type = '%s' GROUP BY mid",
|
||||
$x = q("SELECT mid, max(obj) AS obj FROM item WHERE verb = '%s' AND obj_type = '%s' GROUP BY mid",
|
||||
dbesc(ACTIVITY_UPDATE),
|
||||
dbesc(ACTIVITY_OBJ_FILE)
|
||||
);
|
||||
|
@ -12,7 +12,7 @@ function apply_updates() {
|
|||
|
||||
foreach($x as $xx) {
|
||||
|
||||
$object = json_decode($xx['object'],true);
|
||||
$object = json_decode($xx['obj'],true);
|
||||
|
||||
$d_mid = $object['d_mid'];
|
||||
$u_mid = $xx['mid'];
|
||||
|
|
|
@ -20,7 +20,7 @@ function file_tag_file_query($table,$s,$type = 'file') {
|
|||
else
|
||||
$termtype = TERM_CATEGORY;
|
||||
|
||||
return sprintf(" AND " . (($table) ? dbesc($table) . '.' : '') . "id in (select term.oid from term where term.type = %d and term.term = '%s' and term.uid = " . (($table) ? dbesc($table) . '.' : '') . "uid ) ",
|
||||
return sprintf(" AND " . (($table) ? dbesc($table) . '.' : '') . "id in (select term.oid from term where term.ttype = %d and term.term = '%s' and term.uid = " . (($table) ? dbesc($table) . '.' : '') . "uid ) ",
|
||||
intval($termtype),
|
||||
protect_sprintf(dbesc($s))
|
||||
);
|
||||
|
@ -29,14 +29,14 @@ function file_tag_file_query($table,$s,$type = 'file') {
|
|||
function term_query($table,$s,$type = TERM_UNKNOWN, $type2 = '') {
|
||||
|
||||
if($type2) {
|
||||
return sprintf(" AND " . (($table) ? dbesc($table) . '.' : '') . "id in (select term.oid from term where term.type in (%d, %d) and term.term = '%s' and term.uid = " . (($table) ? dbesc($table) . '.' : '') . "uid ) ",
|
||||
return sprintf(" AND " . (($table) ? dbesc($table) . '.' : '') . "id in (select term.oid from term where term.ttype in (%d, %d) and term.term = '%s' and term.uid = " . (($table) ? dbesc($table) . '.' : '') . "uid ) ",
|
||||
intval($type),
|
||||
intval($type2),
|
||||
protect_sprintf(dbesc($s))
|
||||
);
|
||||
}
|
||||
else {
|
||||
return sprintf(" AND " . (($table) ? dbesc($table) . '.' : '') . "id in (select term.oid from term where term.type = %d and term.term = '%s' and term.uid = " . (($table) ? dbesc($table) . '.' : '') . "uid ) ",
|
||||
return sprintf(" AND " . (($table) ? dbesc($table) . '.' : '') . "id in (select term.oid from term where term.ttype = %d and term.term = '%s' and term.uid = " . (($table) ? dbesc($table) . '.' : '') . "uid ) ",
|
||||
intval($type),
|
||||
protect_sprintf(dbesc($s))
|
||||
);
|
||||
|
@ -49,7 +49,7 @@ function store_item_tag($uid,$iid,$otype,$type,$term,$url = '') {
|
|||
return false;
|
||||
|
||||
$r = q("select * from term
|
||||
where uid = %d and oid = %d and otype = %d and type = %d
|
||||
where uid = %d and oid = %d and otype = %d and ttype = %d
|
||||
and term = '%s' and url = '%s' ",
|
||||
intval($uid),
|
||||
intval($iid),
|
||||
|
@ -61,7 +61,7 @@ function store_item_tag($uid,$iid,$otype,$type,$term,$url = '') {
|
|||
if($r)
|
||||
return false;
|
||||
|
||||
$r = q("insert into term (uid, oid, otype, type, term, url)
|
||||
$r = q("insert into term (uid, oid, otype, ttype, term, url)
|
||||
values( %d, %d, %d, %d, '%s', '%s') ",
|
||||
intval($uid),
|
||||
intval($iid),
|
||||
|
@ -85,7 +85,7 @@ function get_terms_oftype($arr,$type) {
|
|||
|
||||
foreach($type as $t)
|
||||
foreach($arr as $x)
|
||||
if($x['type'] == $t)
|
||||
if($x['ttype'] == $t)
|
||||
$ret[] = $x;
|
||||
|
||||
return $ret;
|
||||
|
@ -93,9 +93,9 @@ function get_terms_oftype($arr,$type) {
|
|||
|
||||
function format_term_for_display($term) {
|
||||
$s = '';
|
||||
if(($term['type'] == TERM_HASHTAG) || ($term['type'] == TERM_COMMUNITYTAG))
|
||||
if(($term['ttype'] == TERM_HASHTAG) || ($term['ttype'] == TERM_COMMUNITYTAG))
|
||||
$s .= '#';
|
||||
elseif($term['type'] == TERM_MENTION)
|
||||
elseif($term['ttype'] == TERM_MENTION)
|
||||
$s .= '@';
|
||||
else
|
||||
return $s;
|
||||
|
@ -142,7 +142,7 @@ function tagadelic($uid, $count = 0, $authors = '', $owner = '', $flags = 0, $re
|
|||
|
||||
// Fetch tags
|
||||
$r = q("select term, count(term) as total from term left join item on term.oid = item.id
|
||||
where term.uid = %d and term.type = %d
|
||||
where term.uid = %d and term.ttype = %d
|
||||
and otype = %d and item_type = %d and item_private = 0
|
||||
$sql_options $item_normal
|
||||
group by term order by total desc %s",
|
||||
|
|
|
@ -734,6 +734,10 @@ function get_tags($s) {
|
|||
// '=' needs to be avoided because when the replacement is made (in handle_tag()) it has to be ignored there
|
||||
// Feel free to allow '=' if the issue with '=' is solved in handle_tag()
|
||||
// added / ? and [ to avoid issues with hashchars in url paths
|
||||
|
||||
// added ; to single word tags to allow emojis and other unicode character constructs in bbcode
|
||||
// (this would actually be &#xnnnnn; but the ampersand will have been escaped to & by the time we see it.)
|
||||
|
||||
if(preg_match_all('/(?<![a-zA-Z0-9=\/\?])(@[^ \x0D\x0A,:?\[]+ [^ \x0D\x0A@,:?\[]+)/',$s,$match)) {
|
||||
foreach($match[1] as $mtch) {
|
||||
if(substr($mtch,-1,1) === '.')
|
||||
|
@ -746,7 +750,7 @@ function get_tags($s) {
|
|||
// Otherwise pull out single word tags. These can be @nickname, @first_last
|
||||
// and #hash tags.
|
||||
|
||||
if(preg_match_all('/(?<![a-zA-Z0-9=\/\?])([@#][^ \x0D\x0A,;:?\[]+)/',$s,$match)) {
|
||||
if(preg_match_all('/(?<![a-zA-Z0-9=\/\?\;])([@#][^ \x0D\x0A,;:?\[]+)/',$s,$match)) {
|
||||
foreach($match[1] as $mtch) {
|
||||
if(substr($mtch,-1,1) === '.')
|
||||
$mtch = substr($mtch,0,-1);
|
||||
|
@ -810,7 +814,7 @@ function get_mentions($item,$tags) {
|
|||
return $o;
|
||||
|
||||
foreach($tags as $x) {
|
||||
if($x['type'] == TERM_MENTION) {
|
||||
if($x['ttype'] == TERM_MENTION) {
|
||||
$o .= "\t\t" . '<link rel="mentioned" href="' . $x['url'] . '" />' . "\r\n";
|
||||
$o .= "\t\t" . '<link rel="ostatus:attention" href="' . $x['url'] . '" />' . "\r\n";
|
||||
}
|
||||
|
@ -1458,37 +1462,6 @@ function generate_named_map($location) {
|
|||
return (($arr['html']) ? $arr['html'] : $location);
|
||||
}
|
||||
|
||||
function format_event($jobject) {
|
||||
$event = array();
|
||||
|
||||
$object = json_decode($jobject,true);
|
||||
|
||||
//ensure compatibility with older items - this check can be removed at a later point
|
||||
if(array_key_exists('description', $object)) {
|
||||
|
||||
$bd_format = t('l F d, Y \@ g:i A'); // Friday January 18, 2011 @ 8:01 AM
|
||||
|
||||
$event['header'] = replace_macros(get_markup_template('event_item_header.tpl'),array(
|
||||
'$title' => bbcode($object['title']),
|
||||
'$dtstart_label' => t('Starts:'),
|
||||
'$dtstart_title' => datetime_convert('UTC', 'UTC', $object['start'], (($object['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' )),
|
||||
'$dtstart_dt' => (($object['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(), $object['start'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $object['start'] , $bd_format))),
|
||||
'$finish' => (($object['nofinish']) ? false : true),
|
||||
'$dtend_label' => t('Finishes:'),
|
||||
'$dtend_title' => datetime_convert('UTC','UTC',$object['finish'], (($object['adjust']) ? ATOM_TIME : 'Y-m-d\TH:i:s' )),
|
||||
'$dtend_dt' => (($object['adjust']) ? day_translate(datetime_convert('UTC', date_default_timezone_get(), $object['finish'] , $bd_format )) : day_translate(datetime_convert('UTC', 'UTC', $object['finish'] , $bd_format )))
|
||||
));
|
||||
|
||||
$event['content'] = replace_macros(get_markup_template('event_item_content.tpl'),array(
|
||||
'$description' => bbcode($object['description']),
|
||||
'$location_label' => t('Location:'),
|
||||
'$location' => bbcode($object['location'])
|
||||
));
|
||||
|
||||
}
|
||||
|
||||
return $event;
|
||||
}
|
||||
|
||||
function prepare_body(&$item,$attach = false) {
|
||||
|
||||
|
@ -1516,7 +1489,7 @@ function prepare_body(&$item,$attach = false) {
|
|||
|
||||
$s .= prepare_text($item['body'],$item['mimetype'], false);
|
||||
|
||||
$event = (($item['obj_type'] === ACTIVITY_OBJ_EVENT) ? format_event($item['object']) : false);
|
||||
$event = (($item['obj_type'] === ACTIVITY_OBJ_EVENT) ? format_event_obj($item['obj']) : false);
|
||||
|
||||
$prep_arr = array(
|
||||
'item' => $item,
|
||||
|
|
|
@ -212,13 +212,13 @@ function widget_savedsearch($arr) {
|
|||
$search = ((x($_GET,'search')) ? $_GET['search'] : '');
|
||||
|
||||
if(x($_GET,'searchsave') && $search) {
|
||||
$r = q("select * from `term` where `uid` = %d and `type` = %d and `term` = '%s' limit 1",
|
||||
$r = q("select * from `term` where `uid` = %d and `ttype` = %d and `term` = '%s' limit 1",
|
||||
intval(local_channel()),
|
||||
intval(TERM_SAVEDSEARCH),
|
||||
dbesc($search)
|
||||
);
|
||||
if(! $r) {
|
||||
q("insert into `term` ( `uid`,`type`,`term` ) values ( %d, %d, '%s') ",
|
||||
q("insert into `term` ( `uid`,`ttype`,`term` ) values ( %d, %d, '%s') ",
|
||||
intval(local_channel()),
|
||||
intval(TERM_SAVEDSEARCH),
|
||||
dbesc($search)
|
||||
|
@ -227,7 +227,7 @@ function widget_savedsearch($arr) {
|
|||
}
|
||||
|
||||
if(x($_GET,'searchremove') && $search) {
|
||||
q("delete from `term` where `uid` = %d and `type` = %d and `term` = '%s'",
|
||||
q("delete from `term` where `uid` = %d and `ttype` = %d and `term` = '%s'",
|
||||
intval(local_channel()),
|
||||
intval(TERM_SAVEDSEARCH),
|
||||
dbesc($search)
|
||||
|
@ -254,7 +254,7 @@ function widget_savedsearch($arr) {
|
|||
|
||||
$o = '';
|
||||
|
||||
$r = q("select `tid`,`term` from `term` WHERE `uid` = %d and `type` = %d ",
|
||||
$r = q("select `tid`,`term` from `term` WHERE `uid` = %d and `ttype` = %d ",
|
||||
intval(local_channel()),
|
||||
intval(TERM_SAVEDSEARCH)
|
||||
);
|
||||
|
@ -296,7 +296,7 @@ function widget_filer($arr) {
|
|||
$selected = ((x($_REQUEST,'file')) ? $_REQUEST['file'] : '');
|
||||
|
||||
$terms = array();
|
||||
$r = q("select distinct(term) from term where uid = %d and type = %d order by term asc",
|
||||
$r = q("select distinct(term) from term where uid = %d and ttype = %d order by term asc",
|
||||
intval(local_channel()),
|
||||
intval(TERM_FILE)
|
||||
);
|
||||
|
@ -1197,7 +1197,7 @@ function widget_photo_rand($arr) {
|
|||
$filtered = array();
|
||||
if($ret['success'] && $ret['photos'])
|
||||
foreach($ret['photos'] as $p)
|
||||
if($p['scale'] == $scale)
|
||||
if($p['imgscale'] == $scale)
|
||||
$filtered[] = $p['src'];
|
||||
|
||||
if($filtered) {
|
||||
|
@ -1468,7 +1468,7 @@ function widget_admin($arr) {
|
|||
$plugins = array();
|
||||
if($r) {
|
||||
foreach ($r as $h){
|
||||
$plugin = $h['name'];
|
||||
$plugin = $h['aname'];
|
||||
$plugins[] = array(z_root() . '/admin/plugins/' . $plugin, $plugin, 'plugin');
|
||||
// temp plugins with admin
|
||||
App::$plugins_admin[] = $plugin;
|
||||
|
@ -1530,9 +1530,9 @@ function widget_album($args) {
|
|||
|
||||
$order = 'DESC';
|
||||
|
||||
$r = q("SELECT p.resource_id, p.id, p.filename, p.type, p.scale, p.description, p.created FROM photo p INNER JOIN
|
||||
(SELECT resource_id, max(scale) scale FROM photo WHERE uid = %d AND album = '%s' AND scale <= 4 AND photo_usage IN ( %d, %d ) $sql_extra GROUP BY resource_id) ph
|
||||
ON (p.resource_id = ph.resource_id AND p.scale = ph.scale)
|
||||
$r = q("SELECT p.resource_id, p.id, p.filename, p.mimetype, p.imgscale, p.description, p.created FROM photo p INNER JOIN
|
||||
(SELECT resource_id, max(imgscale) imgscale FROM photo WHERE uid = %d AND album = '%s' AND imgscale <= 4 AND photo_usage IN ( %d, %d ) $sql_extra GROUP BY resource_id) ph
|
||||
ON (p.resource_id = ph.resource_id AND p.imgscale = ph.imgscale)
|
||||
ORDER BY created $order ",
|
||||
intval($owner_uid),
|
||||
dbesc($album),
|
||||
|
@ -1553,7 +1553,7 @@ function widget_album($args) {
|
|||
else
|
||||
$twist = 'rotright';
|
||||
|
||||
$ext = $phototypes[$rr['type']];
|
||||
$ext = $phototypes[$rr['mimetype']];
|
||||
|
||||
$imgalt_e = $rr['filename'];
|
||||
$desc_e = $rr['description'];
|
||||
|
@ -1566,7 +1566,7 @@ function widget_album($args) {
|
|||
'twist' => ' ' . $twist . rand(2,4),
|
||||
'link' => $imagelink,
|
||||
'title' => t('View Photo'),
|
||||
'src' => z_root() . '/photo/' . $rr['resource_id'] . '-' . $rr['scale'] . '.' .$ext,
|
||||
'src' => z_root() . '/photo/' . $rr['resource_id'] . '-' . $rr['imgscale'] . '.' .$ext,
|
||||
'alt' => $imgalt_e,
|
||||
'desc'=> $desc_e,
|
||||
'ext' => $ext,
|
||||
|
|
|
@ -352,8 +352,6 @@ function zot_refresh($them, $channel = null, $force = false) {
|
|||
|
||||
}
|
||||
|
||||
$token = random_string();
|
||||
|
||||
$rhs = '/.well-known/zot-info';
|
||||
|
||||
$result = z_post_url($url . $rhs,$postvars);
|
||||
|
@ -1048,8 +1046,9 @@ function zot_process_response($hub, $arr, $outq) {
|
|||
/**
|
||||
* @brief
|
||||
*
|
||||
* We received a notification packet (in mod/post.php) that a message is waiting for us, and we've verified the sender.
|
||||
* Now send back a pickup message, using our message tracking ID ($arr['secret']), which we will sign with our site private key.
|
||||
* We received a notification packet (in mod_post) that a message is waiting for us, and we've verified the sender.
|
||||
* Now send back a pickup message, using our message tracking ID ($arr['secret']), which we will sign with our site
|
||||
* private key.
|
||||
* The entire pickup message is encrypted with the remote site's public key.
|
||||
* If everything checks out on the remote end, we will receive back a packet containing one or more messages,
|
||||
* which will be processed and delivered before this function ultimately returns.
|
||||
|
@ -1123,6 +1122,7 @@ function zot_fetch($arr) {
|
|||
* * [1] => \e string $delivery_status
|
||||
* * [2] => \e string $address
|
||||
*/
|
||||
|
||||
function zot_import($arr, $sender_url) {
|
||||
|
||||
$data = json_decode($arr['body'], true);
|
||||
|
@ -1953,7 +1953,7 @@ function remove_community_tag($sender, $arr, $uid) {
|
|||
return;
|
||||
}
|
||||
|
||||
q("delete from term where uid = %d and oid = %d and otype = %d and type in ( %d, %d ) and term = '%s' and url = '%s'",
|
||||
q("delete from term where uid = %d and oid = %d and otype = %d and ttype in ( %d, %d ) and term = '%s' and url = '%s'",
|
||||
intval($uid),
|
||||
intval($r[0]['id']),
|
||||
intval(TERM_OBJ_POST),
|
||||
|
@ -2402,11 +2402,14 @@ function sync_locations($sender, $arr, $absolute = false) {
|
|||
|
||||
$current_site = false;
|
||||
|
||||
$t = datetime_convert('UTC','UTC','now - 15 minutes');
|
||||
|
||||
if(array_key_exists('site',$arr) && $location['url'] == $arr['site']['url']) {
|
||||
q("update hubloc set hubloc_connected = '%s', hubloc_updated = '%s' where hubloc_id = %d",
|
||||
q("update hubloc set hubloc_connected = '%s', hubloc_updated = '%s' where hubloc_id = %d and hubloc_connected < '%s'",
|
||||
dbesc(datetime_convert()),
|
||||
dbesc(datetime_convert()),
|
||||
intval($r[0]['hubloc_id'])
|
||||
intval($r[0]['hubloc_id']),
|
||||
dbesc($t)
|
||||
);
|
||||
$current_site = true;
|
||||
}
|
||||
|
@ -3048,7 +3051,7 @@ function build_sync_packet($uid = 0, $packet = null, $groups_changed = false) {
|
|||
}
|
||||
|
||||
if($groups_changed) {
|
||||
$r = q("select hash as collection, visible, deleted, name from groups where uid = %d",
|
||||
$r = q("select hash as collection, visible, deleted, gname as name from groups where uid = %d",
|
||||
intval($uid)
|
||||
);
|
||||
if($r)
|
||||
|
@ -3341,10 +3344,10 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
|
|||
}
|
||||
}
|
||||
if($found) {
|
||||
if(($y['name'] != $cl['name'])
|
||||
if(($y['gname'] != $cl['name'])
|
||||
|| ($y['visible'] != $cl['visible'])
|
||||
|| ($y['deleted'] != $cl['deleted'])) {
|
||||
q("update groups set name = '%s', visible = %d, deleted = %d where hash = '%s' and uid = %d",
|
||||
q("update groups set gname = '%s', visible = %d, deleted = %d where hash = '%s' and uid = %d",
|
||||
dbesc($cl['name']),
|
||||
intval($cl['visible']),
|
||||
intval($cl['deleted']),
|
||||
|
@ -3360,7 +3363,7 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
|
|||
}
|
||||
}
|
||||
if(! $found) {
|
||||
$r = q("INSERT INTO `groups` ( hash, uid, visible, deleted, name )
|
||||
$r = q("INSERT INTO `groups` ( hash, uid, visible, deleted, gname )
|
||||
VALUES( '%s', %d, %d, %d, '%s' ) ",
|
||||
dbesc($cl['collection']),
|
||||
intval($channel['channel_id']),
|
||||
|
@ -3467,7 +3470,7 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
|
|||
|
||||
if(array_key_exists('profile',$arr) && is_array($arr['profile']) && count($arr['profile'])) {
|
||||
|
||||
$disallowed = array('id','aid','uid');
|
||||
$disallowed = array('id','aid','uid','guid');
|
||||
|
||||
foreach($arr['profile'] as $profile) {
|
||||
$x = q("select * from profile where profile_guid = '%s' and uid = %d limit 1",
|
||||
|
@ -3491,13 +3494,22 @@ function process_channel_sync_delivery($sender, $arr, $deliveries) {
|
|||
foreach($profile as $k => $v) {
|
||||
if(in_array($k,$disallowed))
|
||||
continue;
|
||||
|
||||
if($k === 'name')
|
||||
$clean['fullname'] = $v;
|
||||
elseif($k === 'with')
|
||||
$clean['partner'] = $v;
|
||||
elseif($k === 'work')
|
||||
$clean['employment'] = $v;
|
||||
elseif(array_key_exists($k,$x[0]))
|
||||
$clean[$k] = $v;
|
||||
|
||||
$clean[$k] = $v;
|
||||
/**
|
||||
* @TODO check if these are allowed, otherwise we'll error
|
||||
* @TODO
|
||||
* We also need to import local photos if a custom photo is selected
|
||||
*/
|
||||
}
|
||||
|
||||
if(count($clean)) {
|
||||
foreach($clean as $k => $v) {
|
||||
$r = dbq("UPDATE profile set `" . dbesc($k) . "` = '" . dbesc($v)
|
||||
|
@ -4125,7 +4137,7 @@ function update_hub_connected($hub,$sitekey = '') {
|
|||
$sitekey = $hub['sitekey'];
|
||||
}
|
||||
|
||||
// $sender['sitekey'] is a new addition to the protcol to distinguish
|
||||
// $sender['sitekey'] is a new addition to the protocol to distinguish
|
||||
// hublocs coming from re-installed sites. Older sites will not provide
|
||||
// this field and we have to still mark them valid, since we can't tell
|
||||
// if this hubloc has the same sitekey as the packet we received.
|
||||
|
@ -4134,10 +4146,13 @@ function update_hub_connected($hub,$sitekey = '') {
|
|||
// Update our DB to show when we last communicated successfully with this hub
|
||||
// This will allow us to prune dead hubs from using up resources
|
||||
|
||||
$r = q("update hubloc set hubloc_connected = '%s' where hubloc_id = %d and hubloc_sitekey = '%s' ",
|
||||
$t = datetime_convert('UTC','UTC','now - 15 minutes');
|
||||
|
||||
$r = q("update hubloc set hubloc_connected = '%s' where hubloc_id = %d and hubloc_sitekey = '%s' and hubloc_connected < '%s' ",
|
||||
dbesc(datetime_convert()),
|
||||
intval($hub['hubloc_id']),
|
||||
dbesc($sitekey)
|
||||
dbesc($sitekey),
|
||||
dbesc($t)
|
||||
);
|
||||
|
||||
// a dead hub came back to life - reset any tombstones we might have
|
||||
|
|
|
@ -96,15 +96,15 @@ CREATE TABLE IF NOT EXISTS `account` (
|
|||
|
||||
CREATE TABLE IF NOT EXISTS `addon` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`name` char(255) NOT NULL DEFAULT '',
|
||||
`aname` char(255) NOT NULL DEFAULT '',
|
||||
`version` char(255) NOT NULL DEFAULT '',
|
||||
`installed` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`hidden` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`timestamp` bigint(20) NOT NULL DEFAULT '0',
|
||||
`tstamp` bigint(20) NOT NULL DEFAULT '0',
|
||||
`plugin_admin` tinyint(1) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `hidden` (`hidden`),
|
||||
KEY `name` (`name`),
|
||||
KEY `aname` (`aname`),
|
||||
KEY `installed` (`installed`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
|
@ -158,7 +158,7 @@ CREATE TABLE IF NOT EXISTS `attach` (
|
|||
`os_storage` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`os_path` mediumtext NOT NULL,
|
||||
`display_path` mediumtext NOT NULL,
|
||||
`data` longblob NOT NULL,
|
||||
`content` longblob NOT NULL,
|
||||
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`allow_cid` mediumtext NOT NULL,
|
||||
|
@ -188,7 +188,7 @@ CREATE TABLE IF NOT EXISTS `auth_codes` (
|
|||
`client_id` varchar(20) NOT NULL DEFAULT '',
|
||||
`redirect_uri` varchar(200) NOT NULL DEFAULT '',
|
||||
`expires` int(11) NOT NULL DEFAULT '0',
|
||||
`scope` varchar(250) NOT NULL DEFAULT '',
|
||||
`auth_scope` varchar(512) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
|
@ -342,7 +342,7 @@ CREATE TABLE IF NOT EXISTS `clients` (
|
|||
`client_id` varchar(20) NOT NULL DEFAULT '',
|
||||
`pw` varchar(20) NOT NULL DEFAULT '',
|
||||
`redirect_uri` varchar(200) NOT NULL DEFAULT '',
|
||||
`name` text,
|
||||
`clname` text,
|
||||
`icon` text,
|
||||
`uid` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`client_id`)
|
||||
|
@ -398,15 +398,15 @@ CREATE TABLE IF NOT EXISTS `event` (
|
|||
`event_hash` char(255) NOT NULL DEFAULT '',
|
||||
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`edited` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`start` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`finish` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`dtstart` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`dtend` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`summary` text NOT NULL,
|
||||
`description` text NOT NULL,
|
||||
`location` text NOT NULL,
|
||||
`type` char(255) NOT NULL DEFAULT '',
|
||||
`etype` char(255) NOT NULL DEFAULT '',
|
||||
`nofinish` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`adjust` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`ignore` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`dismissed` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`allow_cid` mediumtext NOT NULL,
|
||||
`allow_gid` mediumtext NOT NULL,
|
||||
`deny_cid` mediumtext NOT NULL,
|
||||
|
@ -420,12 +420,12 @@ CREATE TABLE IF NOT EXISTS `event` (
|
|||
`event_vdata` text NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `uid` (`uid`),
|
||||
KEY `type` (`type`),
|
||||
KEY `start` (`start`),
|
||||
KEY `finish` (`finish`),
|
||||
KEY `etype` (`etype`),
|
||||
KEY `dtstart` (`dtstart`),
|
||||
KEY `dtend` (`dtend`),
|
||||
KEY `adjust` (`adjust`),
|
||||
KEY `nofinish` (`nofinish`),
|
||||
KEY `ignore` (`ignore`),
|
||||
KEY `dismissed` (`dismissed`),
|
||||
KEY `aid` (`aid`),
|
||||
KEY `event_hash` (`event_hash`),
|
||||
KEY `event_xchan` (`event_xchan`),
|
||||
|
@ -434,74 +434,19 @@ CREATE TABLE IF NOT EXISTS `event` (
|
|||
KEY `event_priority` (`event_priority`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `fcontact` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`url` char(255) NOT NULL,
|
||||
`name` char(255) NOT NULL,
|
||||
`photo` char(255) NOT NULL,
|
||||
`request` char(255) NOT NULL,
|
||||
`nick` char(255) NOT NULL,
|
||||
`addr` char(255) NOT NULL,
|
||||
`batch` char(255) NOT NULL,
|
||||
`notify` char(255) NOT NULL,
|
||||
`poll` char(255) NOT NULL,
|
||||
`confirm` char(255) NOT NULL,
|
||||
`priority` tinyint(1) NOT NULL,
|
||||
`network` char(32) NOT NULL,
|
||||
`alias` char(255) NOT NULL,
|
||||
`pubkey` text NOT NULL,
|
||||
`updated` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `addr` (`addr`),
|
||||
KEY `network` (`network`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `ffinder` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`uid` int(10) unsigned NOT NULL,
|
||||
`cid` int(10) unsigned NOT NULL,
|
||||
`fid` int(10) unsigned NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `uid` (`uid`),
|
||||
KEY `cid` (`cid`),
|
||||
KEY `fid` (`fid`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `fserver` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`server` char(255) NOT NULL DEFAULT '',
|
||||
`posturl` char(255) NOT NULL DEFAULT '',
|
||||
`key` text NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `server` (`server`),
|
||||
KEY `posturl` (`posturl`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `fsuggest` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`uid` int(11) NOT NULL DEFAULT '0',
|
||||
`cid` int(11) NOT NULL DEFAULT '0',
|
||||
`name` char(255) NOT NULL DEFAULT '',
|
||||
`url` char(255) NOT NULL DEFAULT '',
|
||||
`request` char(255) NOT NULL DEFAULT '',
|
||||
`photo` char(255) NOT NULL DEFAULT '',
|
||||
`note` text NOT NULL,
|
||||
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `groups` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`hash` char(255) NOT NULL DEFAULT '',
|
||||
`uid` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`visible` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`deleted` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`name` char(255) NOT NULL DEFAULT '',
|
||||
`gname` char(255) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `uid` (`uid`),
|
||||
KEY `visible` (`visible`),
|
||||
KEY `deleted` (`deleted`),
|
||||
KEY `hash` (`hash`)
|
||||
KEY `hash` (`hash`),
|
||||
KEY `gname` (`gname`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `group_member` (
|
||||
|
@ -519,7 +464,7 @@ CREATE TABLE IF NOT EXISTS `hook` (
|
|||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`hook` char(255) NOT NULL DEFAULT '',
|
||||
`file` char(255) NOT NULL DEFAULT '',
|
||||
`function` char(255) NOT NULL DEFAULT '',
|
||||
`fn` char(255) NOT NULL DEFAULT '',
|
||||
`priority` int(11) unsigned NOT NULL DEFAULT '0',
|
||||
`hook_version` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
|
@ -624,7 +569,7 @@ CREATE TABLE IF NOT EXISTS `item` (
|
|||
`revision` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`verb` char(255) NOT NULL DEFAULT '',
|
||||
`obj_type` char(255) NOT NULL DEFAULT '',
|
||||
`object` text NOT NULL,
|
||||
`obj` text NOT NULL,
|
||||
`tgt_type` char(255) NOT NULL DEFAULT '',
|
||||
`target` text NOT NULL,
|
||||
`layout_mid` char(255) NOT NULL DEFAULT '',
|
||||
|
@ -846,24 +791,24 @@ CREATE TABLE IF NOT EXISTS `menu_item` (
|
|||
CREATE TABLE IF NOT EXISTS `notify` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`hash` char(64) NOT NULL DEFAULT '',
|
||||
`name` char(255) NOT NULL DEFAULT '',
|
||||
`xname` char(255) NOT NULL DEFAULT '',
|
||||
`url` char(255) NOT NULL DEFAULT '',
|
||||
`photo` char(255) NOT NULL DEFAULT '',
|
||||
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`msg` mediumtext NOT NULL,
|
||||
`aid` int(11) NOT NULL DEFAULT '0',
|
||||
`uid` int(11) NOT NULL DEFAULT '0',
|
||||
`link` char(255) NOT NULL DEFAULT '',
|
||||
`parent` char(255) NOT NULL DEFAULT '',
|
||||
`seen` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`type` int(11) NOT NULL DEFAULT '0',
|
||||
`ntype` int(11) NOT NULL DEFAULT '0',
|
||||
`verb` char(255) NOT NULL DEFAULT '',
|
||||
`otype` char(16) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `type` (`type`),
|
||||
KEY `ntype` (`ntype`),
|
||||
KEY `seen` (`seen`),
|
||||
KEY `uid` (`uid`),
|
||||
KEY `date` (`date`),
|
||||
KEY `created` (`created`),
|
||||
KEY `hash` (`hash`),
|
||||
KEY `parent` (`parent`),
|
||||
KEY `link` (`link`),
|
||||
|
@ -948,12 +893,12 @@ CREATE TABLE IF NOT EXISTS `photo` (
|
|||
`description` text NOT NULL,
|
||||
`album` char(255) NOT NULL DEFAULT '',
|
||||
`filename` char(255) NOT NULL DEFAULT '',
|
||||
`type` char(128) NOT NULL DEFAULT 'image/jpeg',
|
||||
`mimetype` char(128) NOT NULL DEFAULT 'image/jpeg',
|
||||
`height` smallint(6) NOT NULL DEFAULT '0',
|
||||
`width` smallint(6) NOT NULL DEFAULT '0',
|
||||
`size` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`data` mediumblob NOT NULL,
|
||||
`scale` tinyint(3) NOT NULL DEFAULT '0',
|
||||
`filesize` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`content` mediumblob NOT NULL,
|
||||
`imgscale` tinyint(3) NOT NULL DEFAULT '0',
|
||||
`photo_usage` smallint(6) NOT NULL DEFAULT '0',
|
||||
`profile` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`is_nsfw` tinyint(1) NOT NULL DEFAULT '0',
|
||||
|
@ -968,13 +913,13 @@ CREATE TABLE IF NOT EXISTS `photo` (
|
|||
PRIMARY KEY (`id`),
|
||||
KEY `uid` (`uid`),
|
||||
KEY `album` (`album`),
|
||||
KEY `scale` (`scale`),
|
||||
KEY `imgscale` (`imgscale`),
|
||||
KEY `profile` (`profile`),
|
||||
KEY `photo_flags` (`photo_flags`),
|
||||
KEY `type` (`type`),
|
||||
KEY `mimetype` (`mimetype`),
|
||||
KEY `aid` (`aid`),
|
||||
KEY `xchan` (`xchan`),
|
||||
KEY `size` (`size`),
|
||||
KEY `filesize` (`filesize`),
|
||||
KEY `resource_id` (`resource_id`),
|
||||
KEY `is_nsfw` (`is_nsfw`),
|
||||
KEY `os_storage` (`os_storage`),
|
||||
|
@ -1035,7 +980,7 @@ CREATE TABLE IF NOT EXISTS `profile` (
|
|||
`profile_name` char(255) NOT NULL DEFAULT '',
|
||||
`is_default` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`hide_friends` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`name` char(255) NOT NULL DEFAULT '',
|
||||
`fullname` char(255) NOT NULL DEFAULT '',
|
||||
`pdesc` char(255) NOT NULL DEFAULT '',
|
||||
`chandesc` text NOT NULL,
|
||||
`dob` char(32) NOT NULL DEFAULT '0000-00-00',
|
||||
|
@ -1048,7 +993,7 @@ CREATE TABLE IF NOT EXISTS `profile` (
|
|||
`hometown` char(255) NOT NULL DEFAULT '',
|
||||
`gender` char(32) NOT NULL DEFAULT '',
|
||||
`marital` char(255) NOT NULL DEFAULT '',
|
||||
`with` text NOT NULL,
|
||||
`partner` text NOT NULL,
|
||||
`howlong` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`sexual` char(255) NOT NULL DEFAULT '',
|
||||
`politic` char(255) NOT NULL DEFAULT '',
|
||||
|
@ -1064,7 +1009,7 @@ CREATE TABLE IF NOT EXISTS `profile` (
|
|||
`film` text NOT NULL,
|
||||
`interest` text NOT NULL,
|
||||
`romance` text NOT NULL,
|
||||
`work` text NOT NULL,
|
||||
`employment` text NOT NULL,
|
||||
`education` text NOT NULL,
|
||||
`contact` text NOT NULL,
|
||||
`channels` text NOT NULL,
|
||||
|
@ -1110,7 +1055,7 @@ CREATE TABLE IF NOT EXISTS `register` (
|
|||
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`uid` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`password` char(255) NOT NULL DEFAULT '',
|
||||
`language` char(16) NOT NULL DEFAULT '',
|
||||
`lang` char(16) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `hash` (`hash`),
|
||||
KEY `created` (`created`),
|
||||
|
@ -1120,7 +1065,7 @@ CREATE TABLE IF NOT EXISTS `register` (
|
|||
CREATE TABLE IF NOT EXISTS `session` (
|
||||
`id` bigint(20) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`sid` char(255) NOT NULL DEFAULT '',
|
||||
`data` text NOT NULL,
|
||||
`sess_data` text NOT NULL,
|
||||
`expire` bigint(20) unsigned NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `sid` (`sid`),
|
||||
|
@ -1194,20 +1139,6 @@ CREATE TABLE IF NOT EXISTS `source` (
|
|||
KEY `src_xchan` (`src_xchan`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `spam` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`uid` int(11) NOT NULL DEFAULT '0',
|
||||
`spam` int(11) NOT NULL DEFAULT '0',
|
||||
`ham` int(11) NOT NULL DEFAULT '0',
|
||||
`term` char(255) NOT NULL DEFAULT '',
|
||||
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `uid` (`uid`),
|
||||
KEY `spam` (`spam`),
|
||||
KEY `ham` (`ham`),
|
||||
KEY `term` (`term`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `sys_perms` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`cat` char(255) NOT NULL DEFAULT '',
|
||||
|
@ -1223,7 +1154,7 @@ CREATE TABLE IF NOT EXISTS `term` (
|
|||
`uid` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`oid` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`otype` tinyint(3) unsigned NOT NULL DEFAULT '0',
|
||||
`type` tinyint(3) unsigned NOT NULL DEFAULT '0',
|
||||
`ttype` tinyint(3) unsigned NOT NULL DEFAULT '0',
|
||||
`term` char(255) NOT NULL DEFAULT '',
|
||||
`url` char(255) NOT NULL DEFAULT '',
|
||||
`imgurl` char(255) NOT NULL DEFAULT '',
|
||||
|
@ -1232,7 +1163,7 @@ CREATE TABLE IF NOT EXISTS `term` (
|
|||
PRIMARY KEY (`tid`),
|
||||
KEY `oid` (`oid`),
|
||||
KEY `otype` (`otype`),
|
||||
KEY `type` (`type`),
|
||||
KEY `ttype` (`ttype`),
|
||||
KEY `term` (`term`),
|
||||
KEY `uid` (`uid`),
|
||||
KEY `aid` (`aid`),
|
||||
|
@ -1246,7 +1177,7 @@ CREATE TABLE IF NOT EXISTS `tokens` (
|
|||
`secret` text NOT NULL,
|
||||
`client_id` varchar(20) NOT NULL DEFAULT '',
|
||||
`expires` bigint(20) unsigned NOT NULL DEFAULT '0',
|
||||
`scope` varchar(200) NOT NULL DEFAULT '',
|
||||
`auth_scope` varchar(512) NOT NULL DEFAULT '',
|
||||
`uid` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `client_id` (`client_id`),
|
||||
|
@ -1274,13 +1205,13 @@ CREATE TABLE IF NOT EXISTS `updates` (
|
|||
CREATE TABLE IF NOT EXISTS `verify` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`channel` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`type` char(32) NOT NULL DEFAULT '',
|
||||
`vtype` char(32) NOT NULL DEFAULT '',
|
||||
`token` char(255) NOT NULL DEFAULT '',
|
||||
`meta` char(255) NOT NULL DEFAULT '',
|
||||
`created` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `channel` (`channel`),
|
||||
KEY `type` (`type`),
|
||||
KEY `vtype` (`vtype`),
|
||||
KEY `token` (`token`),
|
||||
KEY `meta` (`meta`),
|
||||
KEY `created` (`created`)
|
||||
|
|
|
@ -94,16 +94,16 @@ create index "account_level" on account ("account_level");
|
|||
create index "account_password_changed" on account ("account_password_changed");
|
||||
CREATE TABLE "addon" (
|
||||
"id" serial NOT NULL,
|
||||
"name" text NOT NULL,
|
||||
"aname" text NOT NULL,
|
||||
"version" text NOT NULL DEFAULT '0',
|
||||
"installed" numeric(1) NOT NULL DEFAULT '0',
|
||||
"hidden" numeric(1) NOT NULL DEFAULT '0',
|
||||
"timestamp" numeric(20) NOT NULL DEFAULT '0',
|
||||
"tstamp" numeric(20) NOT NULL DEFAULT '0',
|
||||
"plugin_admin" numeric(1) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY ("id")
|
||||
);
|
||||
create index "addon_hidden_idx" on addon ("hidden");
|
||||
create index "addon_name_idx" on addon ("name");
|
||||
create index "addon_name_idx" on addon ("aname");
|
||||
create index "addon_installed_idx" on addon ("installed");
|
||||
CREATE TABLE "app" (
|
||||
"id" serial NOT NULL,
|
||||
|
@ -154,7 +154,7 @@ CREATE TABLE "attach" (
|
|||
"os_storage" smallint NOT NULL DEFAULT '0',
|
||||
"os_path" text NOT NULL,
|
||||
"display_path" text NOT NULL,
|
||||
"data" bytea NOT NULL,
|
||||
"content" bytea NOT NULL,
|
||||
"created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
"edited" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
"allow_cid" text NOT NULL,
|
||||
|
@ -184,7 +184,7 @@ CREATE TABLE "auth_codes" (
|
|||
"client_id" varchar(20) NOT NULL,
|
||||
"redirect_uri" varchar(200) NOT NULL,
|
||||
"expires" bigint NOT NULL,
|
||||
"scope" varchar(250) NOT NULL,
|
||||
"auth_scope" varchar(512) NOT NULL,
|
||||
PRIMARY KEY ("id")
|
||||
);
|
||||
CREATE TABLE "cache" (
|
||||
|
@ -333,7 +333,7 @@ CREATE TABLE "clients" (
|
|||
"client_id" varchar(20) NOT NULL,
|
||||
"pw" varchar(20) NOT NULL,
|
||||
"redirect_uri" varchar(200) NOT NULL,
|
||||
"name" text,
|
||||
"clname" text,
|
||||
"icon" text,
|
||||
"uid" bigint NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY ("client_id")
|
||||
|
@ -390,17 +390,17 @@ CREATE TABLE "event" (
|
|||
"uid" bigint NOT NULL,
|
||||
"event_xchan" text NOT NULL DEFAULT '',
|
||||
"event_hash" text NOT NULL DEFAULT '',
|
||||
"created" timestamp NOT NULL,
|
||||
"edited" timestamp NOT NULL,
|
||||
"start" timestamp NOT NULL,
|
||||
"finish" timestamp NOT NULL,
|
||||
"created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
"edited" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
"dtstart" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
"dtend" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
"summary" text NOT NULL,
|
||||
"description" text NOT NULL,
|
||||
"location" text NOT NULL,
|
||||
"type" text NOT NULL,
|
||||
"etype" text NOT NULL,
|
||||
"nofinish" numeric(1) NOT NULL DEFAULT '0',
|
||||
"adjust" numeric(1) NOT NULL DEFAULT '1',
|
||||
"ignore" numeric(1) NOT NULL DEFAULT '0',
|
||||
"dismissed" numeric(1) NOT NULL DEFAULT '0',
|
||||
"allow_cid" text NOT NULL,
|
||||
"allow_gid" text NOT NULL,
|
||||
"deny_cid" text NOT NULL,
|
||||
|
@ -415,12 +415,12 @@ CREATE TABLE "event" (
|
|||
PRIMARY KEY ("id")
|
||||
);
|
||||
create index "event_uid_idx" on event ("uid");
|
||||
create index "event_type_idx" on event ("type");
|
||||
create index "event_start_idx" on event ("start");
|
||||
create index "event_finish_idx" on event ("finish");
|
||||
create index "event_etype_idx" on event ("etype");
|
||||
create index "event_dtstart_idx" on event ("dtstart");
|
||||
create index "event_dtend_idx" on event ("dtend");
|
||||
create index "event_adjust_idx" on event ("adjust");
|
||||
create index "event_nofinish_idx" on event ("nofinish");
|
||||
create index "event_ignore_idx" on event ("ignore");
|
||||
create index "event_dismissed_idx" on event ("dismissed");
|
||||
create index "event_aid_idx" on event ("aid");
|
||||
create index "event_hash_idx" on event ("event_hash");
|
||||
create index "event_xchan_idx" on event ("event_xchan");
|
||||
|
@ -428,62 +428,6 @@ create index "event_status_idx" on event ("event_status");
|
|||
create index "event_sequence_idx" on event ("event_sequence");
|
||||
create index "event_priority_idx" on event ("event_priority");
|
||||
|
||||
|
||||
CREATE TABLE "fcontact" (
|
||||
"id" serial NOT NULL,
|
||||
"url" text NOT NULL,
|
||||
"name" text NOT NULL,
|
||||
"photo" text NOT NULL,
|
||||
"request" text NOT NULL,
|
||||
"nick" text NOT NULL,
|
||||
"addr" text NOT NULL,
|
||||
"batch" text NOT NULL,
|
||||
"notify" text NOT NULL,
|
||||
"poll" text NOT NULL,
|
||||
"confirm" text NOT NULL,
|
||||
"priority" numeric(1) NOT NULL,
|
||||
"network" varchar(32) NOT NULL DEFAULT '',
|
||||
"alias" text NOT NULL,
|
||||
"pubkey" text NOT NULL,
|
||||
"updated" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
PRIMARY KEY ("id")
|
||||
);
|
||||
create index "fcontact_addr_idx" on fcontact ("addr");
|
||||
create index "fcontact_network_idx" on fcontact ("network");
|
||||
|
||||
CREATE TABLE "ffinder" (
|
||||
"id" serial NOT NULL,
|
||||
"uid" bigint NOT NULL,
|
||||
"cid" bigint NOT NULL,
|
||||
"fid" bigint NOT NULL,
|
||||
PRIMARY KEY ("id")
|
||||
);
|
||||
create index "ffinder_uid_idx" on ffinder ("uid");
|
||||
create index "ffinder_cid_idx" on ffinder ("cid");
|
||||
create index "ffinder_fid_idx" on ffinder ("fid");
|
||||
|
||||
CREATE TABLE "fserver" (
|
||||
"id" serial NOT NULL,
|
||||
"server" text NOT NULL,
|
||||
"posturl" text NOT NULL,
|
||||
"key" text NOT NULL,
|
||||
PRIMARY KEY ("id")
|
||||
);
|
||||
create index "fserver_server_idx" on fserver ("server");
|
||||
create index "fserver_posturl_idx" on fserver ("posturl");
|
||||
|
||||
CREATE TABLE "fsuggest" (
|
||||
"id" serial NOT NULL,
|
||||
"uid" bigint NOT NULL,
|
||||
"cid" bigint NOT NULL,
|
||||
"name" text NOT NULL,
|
||||
"url" text NOT NULL,
|
||||
"request" text NOT NULL,
|
||||
"photo" text NOT NULL,
|
||||
"note" text NOT NULL,
|
||||
"created" timestamp NOT NULL,
|
||||
PRIMARY KEY ("id")
|
||||
);
|
||||
CREATE TABLE "group_member" (
|
||||
"id" serial NOT NULL,
|
||||
"uid" bigint NOT NULL,
|
||||
|
@ -501,7 +445,7 @@ CREATE TABLE "groups" (
|
|||
"uid" bigint NOT NULL,
|
||||
"visible" numeric(1) NOT NULL DEFAULT '0',
|
||||
"deleted" numeric(1) NOT NULL DEFAULT '0',
|
||||
"name" text NOT NULL,
|
||||
"gname" text NOT NULL,
|
||||
PRIMARY KEY ("id")
|
||||
|
||||
);
|
||||
|
@ -514,7 +458,7 @@ CREATE TABLE "hook" (
|
|||
"id" serial NOT NULL,
|
||||
"hook" text NOT NULL,
|
||||
"file" text NOT NULL,
|
||||
"function" text NOT NULL,
|
||||
"fn" text NOT NULL,
|
||||
"priority" bigint NOT NULL DEFAULT '0',
|
||||
"hook_version" smallint NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY ("id")
|
||||
|
@ -616,7 +560,7 @@ CREATE TABLE "item" (
|
|||
"revision" bigint NOT NULL DEFAULT '0',
|
||||
"verb" text NOT NULL DEFAULT '',
|
||||
"obj_type" text NOT NULL DEFAULT '',
|
||||
"object" text NOT NULL,
|
||||
"obj" text NOT NULL,
|
||||
"tgt_type" text NOT NULL DEFAULT '',
|
||||
"target" text NOT NULL,
|
||||
"layout_mid" text NOT NULL DEFAULT '',
|
||||
|
@ -837,25 +781,25 @@ create index "mitem_flags" on menu_item ("mitem_flags");
|
|||
CREATE TABLE "notify" (
|
||||
"id" serial NOT NULL,
|
||||
"hash" char(64) NOT NULL,
|
||||
"name" text NOT NULL,
|
||||
"xname" text NOT NULL,
|
||||
"url" text NOT NULL,
|
||||
"photo" text NOT NULL,
|
||||
"date" timestamp NOT NULL,
|
||||
"created" timestamp NOT NULL,
|
||||
"msg" text NOT NULL DEFAULT '',
|
||||
"aid" bigint NOT NULL,
|
||||
"uid" bigint NOT NULL,
|
||||
"link" text NOT NULL,
|
||||
"parent" text NOT NULL DEFAULT '',
|
||||
"seen" numeric(1) NOT NULL DEFAULT '0',
|
||||
"type" bigint NOT NULL,
|
||||
"ntype" bigint NOT NULL,
|
||||
"verb" text NOT NULL,
|
||||
"otype" varchar(16) NOT NULL,
|
||||
PRIMARY KEY ("id")
|
||||
);
|
||||
create index "notify_type" on notify ("type");
|
||||
create index "notify_ntype" on notify ("ntype");
|
||||
create index "notify_seen" on notify ("seen");
|
||||
create index "notify_uid" on notify ("uid");
|
||||
create index "notify_date" on notify ("date");
|
||||
create index "notify_created" on notify ("created");
|
||||
create index "notify_hash" on notify ("hash");
|
||||
create index "notify_parent" on notify ("parent");
|
||||
create index "notify_link" on notify ("link");
|
||||
|
@ -938,12 +882,12 @@ CREATE TABLE "photo" (
|
|||
"description" text NOT NULL,
|
||||
"album" text NOT NULL,
|
||||
"filename" text NOT NULL,
|
||||
"type" varchar(128) NOT NULL DEFAULT 'image/jpeg',
|
||||
"mimetype" varchar(128) NOT NULL DEFAULT 'image/jpeg',
|
||||
"height" numeric(6) NOT NULL,
|
||||
"width" numeric(6) NOT NULL,
|
||||
"size" bigint NOT NULL DEFAULT '0',
|
||||
"data" bytea NOT NULL,
|
||||
"scale" numeric(3) NOT NULL,
|
||||
"filesize" bigint NOT NULL DEFAULT '0',
|
||||
"content" bytea NOT NULL,
|
||||
"imgscale" numeric(3) NOT NULL DEFAULT '0',
|
||||
"profile" numeric(1) NOT NULL DEFAULT '0',
|
||||
"photo_usage" smallint NOT NULL DEFAULT '0',
|
||||
"is_nsfw" smallint NOT NULL DEFAULT '0',
|
||||
|
@ -959,13 +903,13 @@ CREATE TABLE "photo" (
|
|||
);
|
||||
create index "photo_uid" on photo ("uid");
|
||||
create index "photo_album" on photo ("album");
|
||||
create index "photo_scale" on photo ("scale");
|
||||
create index "photo_imgscale" on photo ("imgscale");
|
||||
create index "photo_profile" on photo ("profile");
|
||||
create index "photo_flags" on photo ("photo_flags");
|
||||
create index "photo_type" on photo ("type");
|
||||
create index "photo_aid" on photo ("aid");
|
||||
create index "photo_xchan" on photo ("xchan");
|
||||
create index "photo_size" on photo ("size");
|
||||
create index "photo_filesize" on photo ("filesize");
|
||||
create index "photo_resource_id" on photo ("resource_id");
|
||||
create index "photo_usage" on photo ("photo_usage");
|
||||
create index "photo_is_nsfw" on photo ("is_nsfw");
|
||||
|
@ -1024,7 +968,7 @@ CREATE TABLE "profile" (
|
|||
"profile_name" text NOT NULL,
|
||||
"is_default" numeric(1) NOT NULL DEFAULT '0',
|
||||
"hide_friends" numeric(1) NOT NULL DEFAULT '0',
|
||||
"name" text NOT NULL,
|
||||
"fullname" text NOT NULL,
|
||||
"pdesc" text NOT NULL DEFAULT '',
|
||||
"chandesc" text NOT NULL DEFAULT '',
|
||||
"dob" varchar(32) NOT NULL DEFAULT '',
|
||||
|
@ -1037,7 +981,7 @@ CREATE TABLE "profile" (
|
|||
"hometown" text NOT NULL DEFAULT '',
|
||||
"gender" varchar(32) NOT NULL DEFAULT '',
|
||||
"marital" text NOT NULL DEFAULT '',
|
||||
"with" text NOT NULL DEFAULT '',
|
||||
"partner" text NOT NULL DEFAULT '',
|
||||
"howlong" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
"sexual" text NOT NULL DEFAULT '',
|
||||
"politic" text NOT NULL DEFAULT '',
|
||||
|
@ -1053,7 +997,7 @@ CREATE TABLE "profile" (
|
|||
"film" text NOT NULL DEFAULT '',
|
||||
"interest" text NOT NULL DEFAULT '',
|
||||
"romance" text NOT NULL DEFAULT '',
|
||||
"work" text NOT NULL DEFAULT '',
|
||||
"employment" text NOT NULL DEFAULT '',
|
||||
"education" text NOT NULL DEFAULT '',
|
||||
"contact" text NOT NULL DEFAULT '',
|
||||
"channels" text NOT NULL DEFAULT '',
|
||||
|
@ -1099,7 +1043,7 @@ CREATE TABLE "register" (
|
|||
"created" timestamp NOT NULL,
|
||||
"uid" bigint NOT NULL,
|
||||
"password" text NOT NULL,
|
||||
"language" varchar(16) NOT NULL,
|
||||
"lang" varchar(16) NOT NULL,
|
||||
PRIMARY KEY ("id")
|
||||
);
|
||||
create index "reg_hash" on register ("hash");
|
||||
|
@ -1108,7 +1052,7 @@ create index "reg_uid" on register ("uid");
|
|||
CREATE TABLE "session" (
|
||||
"id" serial,
|
||||
"sid" text NOT NULL,
|
||||
"data" text NOT NULL,
|
||||
"sess_data" text NOT NULL,
|
||||
"expire" numeric(20) NOT NULL,
|
||||
PRIMARY KEY ("id")
|
||||
);
|
||||
|
@ -1179,19 +1123,6 @@ CREATE TABLE "source" (
|
|||
create index "src_channel_id" on "source" ("src_channel_id");
|
||||
create index "src_channel_xchan" on "source" ("src_channel_xchan");
|
||||
create index "src_xchan" on "source" ("src_xchan");
|
||||
CREATE TABLE "spam" (
|
||||
"id" serial NOT NULL,
|
||||
"uid" bigint NOT NULL,
|
||||
"spam" bigint NOT NULL DEFAULT '0',
|
||||
"ham" bigint NOT NULL DEFAULT '0',
|
||||
"term" text NOT NULL,
|
||||
"date" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
PRIMARY KEY ("id")
|
||||
);
|
||||
create index "spam_uid" on spam ("uid");
|
||||
create index "spam_spam" on spam ("spam");
|
||||
create index "spam_ham" on spam ("ham");
|
||||
create index "spam_term" on spam ("term");
|
||||
CREATE TABLE "sys_perms" (
|
||||
"id" serial NOT NULL,
|
||||
"cat" text NOT NULL,
|
||||
|
@ -1206,7 +1137,7 @@ CREATE TABLE "term" (
|
|||
"uid" bigint NOT NULL DEFAULT '0',
|
||||
"oid" bigint NOT NULL,
|
||||
"otype" numeric(3) NOT NULL,
|
||||
"type" numeric(3) NOT NULL,
|
||||
"ttype" numeric(3) NOT NULL,
|
||||
"term" text NOT NULL,
|
||||
"url" text NOT NULL,
|
||||
"imgurl" text NOT NULL DEFAULT '',
|
||||
|
@ -1216,7 +1147,7 @@ CREATE TABLE "term" (
|
|||
);
|
||||
create index "term_oid" on term ("oid");
|
||||
create index "term_otype" on term ("otype");
|
||||
create index "term_type" on term ("type");
|
||||
create index "term_ttype" on term ("ttype");
|
||||
create index "term_term" on term ("term");
|
||||
create index "term_uid" on term ("uid");
|
||||
create index "term_aid" on term ("aid");
|
||||
|
@ -1228,7 +1159,7 @@ CREATE TABLE "tokens" (
|
|||
"secret" text NOT NULL,
|
||||
"client_id" varchar(20) NOT NULL,
|
||||
"expires" numeric(20) NOT NULL,
|
||||
"scope" varchar(200) NOT NULL,
|
||||
"auth_scope" varchar(512) NOT NULL,
|
||||
"uid" bigint NOT NULL,
|
||||
PRIMARY KEY ("id")
|
||||
);
|
||||
|
@ -1255,14 +1186,14 @@ create index "ud_last" on updates ("ud_last");
|
|||
CREATE TABLE "verify" (
|
||||
"id" serial NOT NULL,
|
||||
"channel" bigint NOT NULL DEFAULT '0',
|
||||
"type" varchar(32) NOT NULL DEFAULT '',
|
||||
"vtype" varchar(32) NOT NULL DEFAULT '',
|
||||
"token" text NOT NULL DEFAULT '',
|
||||
"meta" text NOT NULL DEFAULT '',
|
||||
"created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',
|
||||
PRIMARY KEY ("id")
|
||||
);
|
||||
create index "verify_channel" on verify ("channel");
|
||||
create index "verify_type" on verify ("type");
|
||||
create index "verify_vtype" on verify ("vtype");
|
||||
create index "verify_token" on verify ("token");
|
||||
create index "verify_meta" on verify ("meta");
|
||||
create index "verify_created" on verify ("created");
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
define( 'UPDATE_VERSION' , 1169 );
|
||||
define( 'UPDATE_VERSION' , 1176 );
|
||||
|
||||
/**
|
||||
*
|
||||
|
@ -2114,3 +2114,143 @@ function update_r1168() {
|
|||
return UPDATE_FAILED;
|
||||
}
|
||||
|
||||
function update_r1169() {
|
||||
|
||||
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
|
||||
$r1 = q("ALTER TABLE `addon` CHANGE `timestamp` `tstamp` numeric( 20 ) UNSIGNED NOT NULL DEFAULT '0' ");
|
||||
$r2 = q("ALTER TABLE `addon` CHANGE `name` `aname` text NOT NULL DEFAULT '' ");
|
||||
$r3 = q("ALTER TABLE `hook` CHANGE `function` `fn` text NOT NULL DEFAULT '' ");
|
||||
|
||||
}
|
||||
else {
|
||||
$r1 = q("ALTER TABLE `addon` CHANGE `timestamp` `tstamp` BIGINT( 20 ) UNSIGNED NOT NULL DEFAULT '0' ");
|
||||
$r2 = q("ALTER TABLE `addon` CHANGE `name` `aname` CHAR(255) NOT NULL DEFAULT '' ");
|
||||
$r3 = q("ALTER TABLE `hook` CHANGE `function` `fn` CHAR(255) NOT NULL DEFAULT '' ");
|
||||
}
|
||||
|
||||
if($r1 && $r2 && $r3)
|
||||
return UPDATE_SUCCESS;
|
||||
return UPDATE_FAILED;
|
||||
}
|
||||
|
||||
|
||||
function update_r1170() {
|
||||
|
||||
$r1 = q("drop table fcontact");
|
||||
$r2 = q("drop table ffinder");
|
||||
$r3 = q("drop table fserver");
|
||||
$r4 = q("drop table fsuggest");
|
||||
$r5 = q("drop table spam");
|
||||
|
||||
if($r1 && $r2 && $r3 && $r4 && $r5)
|
||||
return UPDATE_SUCCESS;
|
||||
return UPDATE_FAILED;
|
||||
|
||||
}
|
||||
|
||||
function update_r1171() {
|
||||
|
||||
$r1 = q("ALTER TABLE verify CHANGE `type` `vtype` varchar(32) NOT NULL DEFAULT '' ");
|
||||
$r2 = q("ALTER TABLE tokens CHANGE `scope` `auth_scope` varchar(512) NOT NULL DEFAULT '' ");
|
||||
$r3 = q("ALTER TABLE auth_codes CHANGE `scope` `auth_scope` varchar(512) NOT NULL DEFAULT '' ");
|
||||
$r4 = q("ALTER TABLE clients CHANGE `name` `clname` TEXT ");
|
||||
$r5 = q("ALTER TABLE session CHANGE `data` `sess_data` TEXT NOT NULL ");
|
||||
$r6 = q("ALTER TABLE register CHANGE `language` `lang` varchar(16) NOT NULL DEFAULT '' ");
|
||||
|
||||
if($r1 && $r2 && $r3 && $r4 && $r5 && $r6)
|
||||
return UPDATE_SUCCESS;
|
||||
return UPDATE_FAILED;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
function update_r1172() {
|
||||
|
||||
$r1 = q("ALTER TABLE term CHANGE `type` `ttype` int(3) NOT NULL DEFAULT '0' ");
|
||||
|
||||
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
|
||||
$r2 = q("ALTER TABLE groups CHANGE `name` `gname` TEXT NOT NULL ");
|
||||
$r3 = q("ALTER TABLE profile CHANGE `name` `fullname` TEXT NOT NULL ");
|
||||
$r4 = q("ALTER TABLE profile CHANGE `with` `partner` TEXT NOT NULL ");
|
||||
$r5 = q("ALTER TABLE profile CHANGE `work` `employment` TEXT NOT NULL ");
|
||||
}
|
||||
else {
|
||||
$r2 = q("ALTER TABLE groups CHANGE `name` `gname` char(255) NOT NULL DEFAULT '' ");
|
||||
$r3 = q("ALTER TABLE profile CHANGE `name` `fullname` char(255) NOT NULL DEFAULT '' ");
|
||||
$r4 = q("ALTER TABLE profile CHANGE `with` `partner` char(255) NOT NULL DEFAULT '' ");
|
||||
$r5 = q("ALTER TABLE profile CHANGE `work` `employment` TEXT NOT NULL ");
|
||||
}
|
||||
if($r1 && $r2 && $r3 && $r4 && $r5)
|
||||
return UPDATE_SUCCESS;
|
||||
return UPDATE_FAILED;
|
||||
|
||||
}
|
||||
|
||||
function update_r1173() {
|
||||
|
||||
|
||||
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
|
||||
$r1 = q("ALTER TABLE notify CHANGE `name` `xname` TEXT NOT NULL ");
|
||||
$r2 = q("ALTER TABLE notify CHANGE `date` `created` timestamp NOT NULL DEFAULT '0001-01-01 00:00:00' ");
|
||||
$r3 = q("ALTER TABLE notify CHANGE `type` `ntype` numeric(3) NOT NULL DEFAULT '0' ");
|
||||
}
|
||||
else {
|
||||
$r1 = q("ALTER TABLE notify CHANGE `name` `xname` char(255) NOT NULL DEFAULT '' ");
|
||||
$r2 = q("ALTER TABLE notify CHANGE `date` `created` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ");
|
||||
$r3 = q("ALTER TABLE notify CHANGE `type` `ntype` smallint(3) NOT NULL DEFAULT '0' ");
|
||||
}
|
||||
|
||||
if($r1 && $r2 && $r3)
|
||||
return UPDATE_SUCCESS;
|
||||
return UPDATE_FAILED;
|
||||
|
||||
}
|
||||
|
||||
function update_r1174() {
|
||||
|
||||
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
|
||||
$r1 = q("ALTER TABLE event CHANGE `type` `etype` varchar(255) NOT NULL DEFAULT '' ");
|
||||
$r2 = q("ALTER TABLE event CHANGE `start` `dtstart` timestamp NOT NULL DEFAULT '0001-01-01 00:00:00' ");
|
||||
$r3 = q("ALTER TABLE event CHANGE `finish` `dtend` timestamp NOT NULL DEFAULT '0001-01-01 00:00:00' ");
|
||||
$r4 = q("ALTER TABLE event CHANGE `ignore` `dismissed` numeric(1) NOT NULL DEFAULT '0' ");
|
||||
$r5 = q("ALTER TABLE attach CHANGE `data` `content` bytea NOT NULL ");
|
||||
$r6 = q("ALTER TABLE photo CHANGE `data` `content` bytea NOT NULL ");
|
||||
}
|
||||
else {
|
||||
$r1 = q("ALTER TABLE event CHANGE `type` `etype` char(255) NOT NULL DEFAULT '' ");
|
||||
$r2 = q("ALTER TABLE event CHANGE `start` `dtstart` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ");
|
||||
$r3 = q("ALTER TABLE event CHANGE `finish` `dtend` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00' ");
|
||||
$r4 = q("ALTER TABLE event CHANGE `ignore` `dismissed` tinyint(1) NOT NULL DEFAULT '0' ");
|
||||
$r5 = q("ALTER TABLE attach CHANGE `data` `content` longblob NOT NULL ");
|
||||
$r6 = q("ALTER TABLE photo CHANGE `data` `content` mediumblob NOT NULL ");
|
||||
}
|
||||
|
||||
if($r1 && $r2 && $r3 && $r4 && $r5 && $r6)
|
||||
return UPDATE_SUCCESS;
|
||||
return UPDATE_FAILED;
|
||||
|
||||
}
|
||||
|
||||
function update_r1175() {
|
||||
|
||||
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES) {
|
||||
$r1 = q("ALTER TABLE item CHANGE `object` `obj` text NOT NULL");
|
||||
$r2 = q("ALTER TABLE photo CHANGE `size` `filesize` bigint NOT NULL DEFAULT '0' ");
|
||||
$r3 = q("ALTER TABLE photo CHANGE `scale` `imgscale` numeric(3) NOT NULL DEFAULT '0' ");
|
||||
$r4 = q("ALTER TABLE photo CHANGE `type` `mimetype` varchar(128) NOT NULL DEFAULT 'image/jpeg' ");
|
||||
|
||||
}
|
||||
else {
|
||||
$r1 = q("ALTER TABLE item CHANGE `object` `obj` text NOT NULL");
|
||||
$r2 = q("ALTER TABLE photo CHANGE `size` `filesize` int(10) unsigned NOT NULL DEFAULT '0' ");
|
||||
$r3 = q("ALTER TABLE photo CHANGE `scale` `imgscale` tinyint(3) unsigned NOT NULL DEFAULT '0' ");
|
||||
$r4 = q("ALTER TABLE photo CHANGE `type` `mimetype` char(128) NOT NULL DEFAULT 'image/jpeg' ");
|
||||
|
||||
}
|
||||
|
||||
if($r1 && $r2 && $r3 && $r4)
|
||||
return UPDATE_SUCCESS;
|
||||
return UPDATE_FAILED;
|
||||
|
||||
}
|
||||
|
|
|
@ -1,9 +0,0 @@
|
|||
.editorWYSIWYG {font: 10pt Tahoma;border:none;}
|
||||
.editorBBCODE {font: 9pt "Courier New";}
|
||||
|
||||
div.richeditor div.editbar {margin-top:5px;background-image:url('images/editbar_bg.gif');border-left:1px solid silver;border-right:1px solid silver;border-top:1px solid silver;border-bottom:none;}
|
||||
div.richeditor div button{vertical-align:middle;width:25px;height:25px;border:1px solid transparent;background-color:Transparent;cursor:pointer;color:Black;background-position:center;background-repeat:no-repeat;background-image:none;}
|
||||
div.richeditor div button:hover{border:1px solid silver;}
|
||||
div.richeditor div.container {border-top:none;border-bottom:1px solid silver;border-left:1px solid silver;border-right:1px solid silver;}
|
||||
div.richeditor textarea{padding:0px 0px 0px 0px;border:none;}
|
||||
div.richeditor iframe{background-color:#ffffff;border:none;}
|
|
@ -1,524 +0,0 @@
|
|||
/*
|
||||
WYSIWYG-BBCODE editor
|
||||
Copyright (c) 2009, Jitbit Sotware, http://www.jitbit.com/
|
||||
PROJECT HOME: http://wysiwygbbcode.codeplex.com/
|
||||
All rights reserved.
|
||||
|
||||
Redistribution and use in source and binary forms, with or without
|
||||
modification, are permitted provided that the following conditions are met:
|
||||
* Redistributions of source code must retain the above copyright
|
||||
notice, this list of conditions and the following disclaimer.
|
||||
* Redistributions in binary form must reproduce the above copyright
|
||||
notice, this list of conditions and the following disclaimer in the
|
||||
documentation and/or other materials provided with the distribution.
|
||||
* Neither the name of the <organization> nor the
|
||||
names of its contributors may be used to endorse or promote products
|
||||
derived from this software without specific prior written permission.
|
||||
|
||||
THIS SOFTWARE IS PROVIDED BY Jitbit Software ''AS IS'' AND ANY
|
||||
EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
DISCLAIMED. IN NO EVENT SHALL Jitbit Software BE LIABLE FOR ANY
|
||||
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
|
||||
function REDITOR(elm,wysiwyg) {
|
||||
|
||||
this.elm = elm;
|
||||
this.wysiwyg = wysiwyg;
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
REDITOR.prototype.showEditor = function() {
|
||||
if (! this.enableWysiwyg) return;
|
||||
this.editorVisible = true;
|
||||
this.content = document.getElementById(this.body_id).value;
|
||||
this.myeditor = this.ifm.contentWindow.document;
|
||||
bbcode2html();
|
||||
this.myeditor.designMode = "on";
|
||||
this.myeditor.open();
|
||||
this.myeditor.write('<html><head><link href="editor.css" rel="Stylesheet" type="text/css" /></head>');
|
||||
this.myeditor.write('<body style="margin:0px 0px 0px 0px" class="editorWYSIWYG">');
|
||||
this.myeditor.write(content);
|
||||
this.myeditor.write('</body></html>');
|
||||
this.myeditor.close();
|
||||
if (this.myeditor.attachEvent) {
|
||||
if(parent.ProcessKeyPress)
|
||||
this.myeditor.attachEvent("onkeydown", parent.ProcessKeyPress);
|
||||
this.myeditor.attachEvent("onkeypress", kp);
|
||||
}
|
||||
else if (this.myeditor.addEventListener) {
|
||||
if (parent.ProcessKeyPress)
|
||||
this.myeditor.addEventListener("keydown", parent.ProcessKeyPress, true);
|
||||
this.myeditor.addEventListener("keypress",kp,true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
var myeditor, ifm;
|
||||
var body_id, textboxelement;
|
||||
var content;
|
||||
var isIE = /msie|MSIE/.test(navigator.userAgent);
|
||||
var isChrome = /Chrome/.test(navigator.userAgent);
|
||||
var isSafari = /Safari/.test(navigator.userAgent) && !isChrome;
|
||||
var browser = isIE || window.opera;
|
||||
var textRange;
|
||||
var enter = 0;
|
||||
var editorVisible = false;
|
||||
var enableWysiwyg = false;
|
||||
|
||||
function rep(re, str) {
|
||||
content = content.replace(re, str);
|
||||
}
|
||||
|
||||
function initEditor(textarea_id, wysiwyg) {
|
||||
if(wysiwyg!=undefined)
|
||||
enableWysiwyg = wysiwyg;
|
||||
else
|
||||
enableWysiwyg = true;
|
||||
body_id = textarea_id;
|
||||
textboxelement = document.getElementById(body_id);
|
||||
textboxelement.setAttribute('class', 'editorBBCODE');
|
||||
textboxelement.className = "editorBBCODE";
|
||||
if (enableWysiwyg) {
|
||||
ifm = document.createElement("iframe");
|
||||
ifm.setAttribute("id", "rte");
|
||||
ifm.setAttribute("frameborder", "0");
|
||||
ifm.style.width = textboxelement.style.width;
|
||||
ifm.style.height = textboxelement.style.height;
|
||||
textboxelement.parentNode.insertBefore(ifm, textboxelement);
|
||||
textboxelement.style.display = 'none';
|
||||
if (ifm) {
|
||||
ShowEditor();
|
||||
} else
|
||||
setTimeout('ShowEditor()', 100);
|
||||
}
|
||||
}
|
||||
|
||||
function getStyle(el,styleProp)
|
||||
{
|
||||
var x = document.getElementById(el);
|
||||
if (x.currentStyle)
|
||||
var y = x.currentStyle[styleProp];
|
||||
else if (window.getComputedStyle)
|
||||
var y = document.defaultView.getComputedStyle(x,null).getPropertyValue(styleProp);
|
||||
return y;
|
||||
}
|
||||
|
||||
function ShowEditor() {
|
||||
if (!enableWysiwyg) return;
|
||||
editorVisible = true;
|
||||
content = document.getElementById(body_id).value;
|
||||
myeditor = ifm.contentWindow.document;
|
||||
bbcode2html();
|
||||
myeditor.designMode = "on";
|
||||
myeditor.open();
|
||||
myeditor.write('<html><head><link href="editor.css" rel="Stylesheet" type="text/css" /></head>');
|
||||
myeditor.write('<body style="margin:0px 0px 0px 0px" class="editorWYSIWYG">');
|
||||
myeditor.write(content);
|
||||
myeditor.write('</body></html>');
|
||||
myeditor.close();
|
||||
if (myeditor.attachEvent) {
|
||||
if(parent.ProcessKeyPress)
|
||||
myeditor.attachEvent("onkeydown", parent.ProcessKeyPress);
|
||||
myeditor.attachEvent("onkeypress", kp);
|
||||
}
|
||||
else if (myeditor.addEventListener) {
|
||||
if (parent.ProcessKeyPress)
|
||||
myeditor.addEventListener("keydown", parent.ProcessKeyPress, true);
|
||||
myeditor.addEventListener("keypress",kp,true);
|
||||
}
|
||||
}
|
||||
|
||||
function SwitchEditor() {
|
||||
if (editorVisible) {
|
||||
doCheck();
|
||||
ifm.style.display = 'none';
|
||||
textboxelement.style.display = '';
|
||||
editorVisible = false;
|
||||
}
|
||||
else {
|
||||
if (enableWysiwyg && ifm) {
|
||||
ifm.style.display = '';
|
||||
textboxelement.style.display = 'none';
|
||||
ShowEditor();
|
||||
editorVisible = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function html2bbcode() {
|
||||
rep(/<img\s[^<>]*?src=\"?([^<>]*?)\"?(\s[^<>]*)?\/?>/gi,"[img]$1[/img]");
|
||||
rep(/<\/(strong|b)>/gi, "[/b]");
|
||||
rep(/<(strong|b)(\s[^<>]*)?>/gi,"[b]");
|
||||
rep(/<\/(em|i)>/gi,"[/i]");
|
||||
rep(/<(em|i)(\s[^<>]*)?>/gi,"[i]");
|
||||
rep(/<\/u>/gi, "[/u]");
|
||||
rep(/\n/gi, " ");
|
||||
rep(/\r/gi, " ");
|
||||
rep(/<u(\s[^<>]*)?>/gi, "[u]");
|
||||
rep(/<div><br(\s[^<>]*)?>/gi, "<div>");//chrome-safari fix to prevent double linefeeds
|
||||
rep(/<br(\s[^<>]*)?>/gi,"\n");
|
||||
rep(/<p(\s[^<>]*)?>/gi,"");
|
||||
rep(/<\/p>/gi, "\n");
|
||||
rep(/<ul>/gi, "[ul]");
|
||||
rep(/<\/ul>/gi, "[/ul]");
|
||||
rep(/<ol>/gi, "[ol]");
|
||||
rep(/<\/ol>/gi, "[/ol]");
|
||||
rep(/<li>/gi, "[li]");
|
||||
rep(/<\/li>/gi, "[/li]");
|
||||
rep(/<\/div>\s*<div([^<>]*)>/gi, "</span>\n<span$1>");//chrome-safari fix to prevent double linefeeds
|
||||
rep(/<div([^<>]*)>/gi,"\n<span$1>");
|
||||
rep(/<\/div>/gi,"</span>\n");
|
||||
rep(/ /gi," ");
|
||||
rep(/"/gi,"\"");
|
||||
rep(/&/gi,"&");
|
||||
var sc, sc2;
|
||||
do {
|
||||
sc = content;
|
||||
rep(/<font\s[^<>]*?color=\"?([^<>]*?)\"?(\s[^<>]*)?>([^<>]*?)<\/font>/gi,"[color=$1]$3[/color]");
|
||||
if(sc==content)
|
||||
rep(/<font[^<>]*>([^<>]*?)<\/font>/gi,"$1");
|
||||
rep(/<a\s[^<>]*?href=\"?([^<>]*?)\"?(\s[^<>]*)?>([^<>]*?)<\/a>/gi,"[url=$1]$3[/url]");
|
||||
sc2 = content;
|
||||
rep(/<(span|blockquote|pre)\s[^<>]*?style=\"?font-weight: ?bold;?\"?\s*([^<]*?)<\/\1>/gi,"[b]<$1 style=$2</$1>[/b]");
|
||||
rep(/<(span|blockquote|pre)\s[^<>]*?style=\"?font-weight: ?normal;?\"?\s*([^<]*?)<\/\1>/gi,"<$1 style=$2</$1>");
|
||||
rep(/<(span|blockquote|pre)\s[^<>]*?style=\"?font-style: ?italic;?\"?\s*([^<]*?)<\/\1>/gi,"[i]<$1 style=$2</$1>[/i]");
|
||||
rep(/<(span|blockquote|pre)\s[^<>]*?style=\"?font-style: ?normal;?\"?\s*([^<]*?)<\/\1>/gi,"<$1 style=$2</$1>");
|
||||
rep(/<(span|blockquote|pre)\s[^<>]*?style=\"?text-decoration: ?underline;?\"?\s*([^<]*?)<\/\1>/gi,"[u]<$1 style=$2</$1>[/u]");
|
||||
rep(/<(span|blockquote|pre)\s[^<>]*?style=\"?text-decoration: ?none;?\"?\s*([^<]*?)<\/\1>/gi,"<$1 style=$2</$1>");
|
||||
rep(/<(span|blockquote|pre)\s[^<>]*?style=\"?color: ?([^<>]*?);\"?\s*([^<]*?)<\/\1>/gi, "[color=$2]<$1 style=$3</$1>[/color]");
|
||||
rep(/<(span|blockquote|pre)\s[^<>]*?style=\"?font-family: ?([^<>]*?);\"?\s*([^<]*?)<\/\1>/gi, "[font=$2]<$1 style=$3</$1>[/font]");
|
||||
rep(/<(blockquote|pre)\s[^<>]*?style=\"?\"? (class=|id=)([^<>]*)>([^<>]*?)<\/\1>/gi, "<$1 $2$3>$4</$1>");
|
||||
rep(/<pre>([^<>]*?)<\/pre>/gi, "[code]$1[/code]");
|
||||
rep(/<span\s[^<>]*?style=\"?\"?>([^<>]*?)<\/span>/gi, "$1");
|
||||
if(sc2==content) {
|
||||
rep(/<span[^<>]*>([^<>]*?)<\/span>/gi, "$1");
|
||||
sc2 = content;
|
||||
}
|
||||
}while(sc!=content)
|
||||
rep(/<[^<>]*>/gi,"");
|
||||
rep(/</gi,"<");
|
||||
rep(/>/gi,">");
|
||||
|
||||
do {
|
||||
sc = content;
|
||||
rep(/\[(b|i|u)\]\[quote([^\]]*)\]([\s\S]*?)\[\/quote\]\[\/\1\]/gi, "[quote$2][$1]$3[/$1][/quote]");
|
||||
rep(/\[color=([^\]]*)\]\[quote([^\]]*)\]([\s\S]*?)\[\/quote\]\[\/color\]/gi, "[quote$2][color=$1]$3[/color][/quote]");
|
||||
rep(/\[(b|i|u)\]\[code\]([\s\S]*?)\[\/code\]\[\/\1\]/gi, "[code][$1]$2[/$1][/code]");
|
||||
rep(/\[color=([^\]]*)\]\[code\]([\s\S]*?)\[\/code\]\[\/color\]/gi, "[code][color=$1]$2[/color][/code]");
|
||||
}while(sc!=content)
|
||||
|
||||
//clean up empty tags
|
||||
do {
|
||||
sc = content;
|
||||
rep(/\[b\]\[\/b\]/gi, "");
|
||||
rep(/\[i\]\[\/i\]/gi, "");
|
||||
rep(/\[u\]\[\/u\]/gi, "");
|
||||
rep(/\[quote[^\]]*\]\[\/quote\]/gi, "");
|
||||
rep(/\[code\]\[\/code\]/gi, "");
|
||||
rep(/\[url=([^\]]+)\]\[\/url\]/gi, "");
|
||||
rep(/\[img\]\[\/img\]/gi, "");
|
||||
rep(/\[color=([^\]]*)\]\[\/color\]/gi, "");
|
||||
}while(sc!=content)
|
||||
}
|
||||
|
||||
function bbcode2html() {
|
||||
// example: [b] to <strong>
|
||||
rep(/\</gi,"<"); //removing html tags
|
||||
rep(/\>/gi,">");
|
||||
|
||||
rep(/\n/gi, "<br />");
|
||||
rep(/\[ul\]/gi, "<ul>");
|
||||
rep(/\[\/ul\]/gi, "</ul>");
|
||||
rep(/\[ol\]/gi, "<ol>");
|
||||
rep(/\[\/ol\]/gi, "</ol>");
|
||||
rep(/\[li\]/gi, "<li>");
|
||||
rep(/\[\/li\]/gi, "</li>");
|
||||
if(browser) {
|
||||
rep(/\[b\]/gi,"<strong>");
|
||||
rep(/\[\/b\]/gi,"</strong>");
|
||||
rep(/\[i\]/gi,"<em>");
|
||||
rep(/\[\/i\]/gi,"</em>");
|
||||
rep(/\[u\]/gi,"<u>");
|
||||
rep(/\[\/u\]/gi,"</u>");
|
||||
}else {
|
||||
rep(/\[b\]/gi,"<span style=\"font-weight: bold;\">");
|
||||
rep(/\[i\]/gi,"<span style=\"font-style: italic;\">");
|
||||
rep(/\[u\]/gi,"<span style=\"text-decoration: underline;\">");
|
||||
rep(/\[\/(b|i|u)\]/gi,"</span>");
|
||||
}
|
||||
rep(/\[img\]([^\"]*?)\[\/img\]/gi,"<img src=\"$1\" />");
|
||||
var sc;
|
||||
do {
|
||||
sc = content;
|
||||
rep(/\[url=([^\]]+)\]([\s\S]*?)\[\/url\]/gi,"<a href=\"$1\">$2</a>");
|
||||
rep(/\[url\]([\s\S]*?)\[\/url\]/gi,"<a href=\"$1\">$1</a>");
|
||||
if(browser) {
|
||||
rep(/\[color=([^\]]*?)\]([\s\S]*?)\[\/color\]/gi, "<font color=\"$1\">$2</font>");
|
||||
rep(/\[font=([^\]]*?)\]([\s\S]*?)\[\/font\]/gi, "<font face=\"$1\">$2</font>");
|
||||
} else {
|
||||
rep(/\[color=([^\]]*?)\]([\s\S]*?)\[\/color\]/gi, "<span style=\"color: $1;\">$2</span>");
|
||||
rep(/\[font=([^\]]*?)\]([\s\S]*?)\[\/font\]/gi, "<span style=\"font-family: $1;\">$2</span>");
|
||||
}
|
||||
rep(/\[code\]([\s\S]*?)\[\/code\]/gi,"<pre>$1</pre> ");
|
||||
}while(sc!=content);
|
||||
}
|
||||
|
||||
function doCheck() {
|
||||
if (!editorVisible) {
|
||||
ShowEditor();
|
||||
}
|
||||
content = myeditor.body.innerHTML;
|
||||
html2bbcode();
|
||||
document.getElementById(body_id).value = content;
|
||||
}
|
||||
|
||||
function stopEvent(evt){
|
||||
evt || window.event;
|
||||
if (evt.stopPropagation){
|
||||
evt.stopPropagation();
|
||||
evt.preventDefault();
|
||||
}else if(typeof evt.cancelBubble != "undefined"){
|
||||
evt.cancelBubble = true;
|
||||
evt.returnValue = false;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
function doQuote() {
|
||||
if (editorVisible) {
|
||||
ifm.contentWindow.focus();
|
||||
if (isIE) {
|
||||
textRange = ifm.contentWindow.document.selection.createRange();
|
||||
var newTxt = "[quote=]" + textRange.text + "[/quote]";
|
||||
textRange.text = newTxt;
|
||||
}
|
||||
else {
|
||||
var edittext = ifm.contentWindow.getSelection().getRangeAt(0);
|
||||
var original = edittext.toString();
|
||||
edittext.deleteContents();
|
||||
edittext.insertNode(document.createTextNode("[quote=]" + original + "[/quote]"));
|
||||
}
|
||||
}
|
||||
else {
|
||||
AddTag('[quote=]', '[/quote]');
|
||||
}
|
||||
}
|
||||
|
||||
function kp(e){
|
||||
if(isIE)
|
||||
var k = e.keyCode;
|
||||
else
|
||||
var k = e.which;
|
||||
if(k==13) {
|
||||
if(isIE) {
|
||||
var r = myeditor.selection.createRange();
|
||||
if (r.parentElement().tagName.toLowerCase() != "li") {
|
||||
r.pasteHTML('<br/>');
|
||||
if (r.move('character'))
|
||||
r.move('character', -1);
|
||||
r.select();
|
||||
stopEvent(e);
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}else
|
||||
enter = 0;
|
||||
}
|
||||
|
||||
function InsertSmile(txt) {
|
||||
InsertText(txt);
|
||||
document.getElementById('divSmilies').style.display = 'none';
|
||||
}
|
||||
function InsertYoutube() {
|
||||
InsertText("http://www.youtube.com/watch?v=XXXXXXXXXXX");
|
||||
}
|
||||
function InsertText(txt) {
|
||||
if (editorVisible)
|
||||
insertHtml(txt);
|
||||
else
|
||||
textboxelement.value += txt;
|
||||
}
|
||||
|
||||
function doClick(command) {
|
||||
if (editorVisible) {
|
||||
ifm.contentWindow.focus();
|
||||
myeditor.execCommand(command, false, null);
|
||||
}
|
||||
else {
|
||||
switch (command) {
|
||||
case 'bold':
|
||||
AddTag('[b]', '[/b]'); break;
|
||||
case 'italic':
|
||||
AddTag('[i]', '[/i]'); break;
|
||||
case 'underline':
|
||||
AddTag('[u]', '[/u]'); break;
|
||||
case 'InsertUnorderedList':
|
||||
AddTag('[ul][li]', '[/li][/ul]'); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function doColor(color) {
|
||||
ifm.contentWindow.focus();
|
||||
if (isIE) {
|
||||
textRange = ifm.contentWindow.document.selection.createRange();
|
||||
textRange.select();
|
||||
}
|
||||
myeditor.execCommand('forecolor', false, color);
|
||||
}
|
||||
|
||||
function doLink() {
|
||||
if (editorVisible) {
|
||||
ifm.contentWindow.focus();
|
||||
var mylink = prompt("Enter a URL:", "http://");
|
||||
if ((mylink != null) && (mylink != "")) {
|
||||
if (isIE) { //IE
|
||||
var range = ifm.contentWindow.document.selection.createRange();
|
||||
if (range.text == '') {
|
||||
range.pasteHTML("<a href='" + mylink + "'>" + mylink + "</a>");
|
||||
}
|
||||
else
|
||||
myeditor.execCommand("CreateLink", false, mylink);
|
||||
}
|
||||
else if (window.getSelection) { //FF
|
||||
var userSelection = ifm.contentWindow.getSelection().getRangeAt(0);
|
||||
if(userSelection.toString().length==0)
|
||||
myeditor.execCommand('inserthtml', false, "<a href='" + mylink + "'>" + mylink + "</a>");
|
||||
else
|
||||
myeditor.execCommand("CreateLink", false, mylink);
|
||||
}
|
||||
else
|
||||
myeditor.execCommand("CreateLink", false, mylink);
|
||||
}
|
||||
}
|
||||
else {
|
||||
AddTag('[url=',']click here[/url]');
|
||||
}
|
||||
}
|
||||
function doImage() {
|
||||
if (editorVisible) {
|
||||
ifm.contentWindow.focus();
|
||||
myimg = prompt('Enter Image URL:', 'http://');
|
||||
if ((myimg != null) && (myimg != "")) {
|
||||
myeditor.execCommand('InsertImage', false, myimg);
|
||||
}
|
||||
}
|
||||
else {
|
||||
AddTag('[img]', '[/img]');
|
||||
}
|
||||
}
|
||||
|
||||
function insertHtml(html) {
|
||||
ifm.contentWindow.focus();
|
||||
if (isIE)
|
||||
ifm.contentWindow.document.selection.createRange().pasteHTML(html);
|
||||
else
|
||||
myeditor.execCommand('inserthtml', false, html);
|
||||
}
|
||||
|
||||
//textarea-mode functions
|
||||
function MozillaInsertText(element, text, pos) {
|
||||
element.value = element.value.slice(0, pos) + text + element.value.slice(pos);
|
||||
}
|
||||
|
||||
function AddTag(t1, t2) {
|
||||
var element = textboxelement;
|
||||
if (isIE) {
|
||||
if (document.selection) {
|
||||
element.focus();
|
||||
|
||||
var txt = element.value;
|
||||
var str = document.selection.createRange();
|
||||
|
||||
if (str.text == "") {
|
||||
str.text = t1 + t2;
|
||||
}
|
||||
else if (txt.indexOf(str.text) >= 0) {
|
||||
str.text = t1 + str.text + t2;
|
||||
}
|
||||
else {
|
||||
element.value = txt + t1 + t2;
|
||||
}
|
||||
str.select();
|
||||
}
|
||||
}
|
||||
else if (typeof(element.selectionStart) != 'undefined') {
|
||||
var sel_start = element.selectionStart;
|
||||
var sel_end = element.selectionEnd;
|
||||
MozillaInsertText(element, t1, sel_start);
|
||||
MozillaInsertText(element, t2, sel_end + t1.length);
|
||||
element.selectionStart = sel_start;
|
||||
element.selectionEnd = sel_end + t1.length + t2.length;
|
||||
element.focus();
|
||||
}
|
||||
else {
|
||||
element.value = element.value + t1 + t2;
|
||||
}
|
||||
}
|
||||
|
||||
//=======color picker
|
||||
function getScrollY() { var scrOfX = 0, scrOfY = 0; if (typeof (window.pageYOffset) == 'number') { scrOfY = window.pageYOffset; scrOfX = window.pageXOffset; } else if (document.body && (document.body.scrollLeft || document.body.scrollTop)) { scrOfY = document.body.scrollTop; scrOfX = document.body.scrollLeft; } else if (document.documentElement && (document.documentElement.scrollLeft || document.documentElement.scrollTop)) { scrOfY = document.documentElement.scrollTop; scrOfX = document.documentElement.scrollLeft; } return scrOfY; }
|
||||
|
||||
document.write("<style type='text/css'>.colorpicker201{visibility:hidden;display:none;position:absolute;background:#FFF;z-index:999;filter:progid:DXImageTransform.Microsoft.Shadow(color=#D0D0D0,direction=135);}.o5582brd{padding:0;width:12px;height:14px;border-bottom:solid 1px #DFDFDF;border-right:solid 1px #DFDFDF;}a.o5582n66,.o5582n66,.o5582n66a{font-family:arial,tahoma,sans-serif;text-decoration:underline;font-size:9px;color:#666;border:none;}.o5582n66,.o5582n66a{text-align:center;text-decoration:none;}a:hover.o5582n66{text-decoration:none;color:#FFA500;cursor:pointer;}.a01p3{padding:1px 4px 1px 2px;background:whitesmoke;border:solid 1px #DFDFDF;}</style>");
|
||||
|
||||
function getTop2() { csBrHt = 0; if (typeof (window.innerWidth) == 'number') { csBrHt = window.innerHeight; } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { csBrHt = document.documentElement.clientHeight; } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) { csBrHt = document.body.clientHeight; } ctop = ((csBrHt / 2) - 115) + getScrollY(); return ctop; }
|
||||
var nocol1 = "NO COLOR",
|
||||
clos1 = "X";
|
||||
|
||||
function getLeft2() { var csBrWt = 0; if (typeof (window.innerWidth) == 'number') { csBrWt = window.innerWidth; } else if (document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) { csBrWt = document.documentElement.clientWidth; } else if (document.body && (document.body.clientWidth || document.body.clientHeight)) { csBrWt = document.body.clientWidth; } cleft = (csBrWt / 2) - 125; return cleft; }
|
||||
|
||||
//function setCCbldID2(val, textBoxID) { document.getElementById(textBoxID).value = val; }
|
||||
function setCCbldID2(val) { if (editorVisible) doColor(val); else AddTag('[color=' + val + ']', '[/color]'); }
|
||||
|
||||
function setCCbldSty2(objID, prop, val) {
|
||||
switch (prop) {
|
||||
case "bc": if (objID != 'none') { document.getElementById(objID).style.backgroundColor = val; }; break;
|
||||
case "vs": document.getElementById(objID).style.visibility = val; break;
|
||||
case "ds": document.getElementById(objID).style.display = val; break;
|
||||
case "tp": document.getElementById(objID).style.top = val; break;
|
||||
case "lf": document.getElementById(objID).style.left = val; break;
|
||||
}
|
||||
}
|
||||
|
||||
function putOBJxColor2(Samp, pigMent, textBoxId) { if (pigMent != 'x') { setCCbldID2(pigMent, textBoxId); setCCbldSty2(Samp, 'bc', pigMent); } setCCbldSty2('colorpicker201', 'vs', 'hidden'); setCCbldSty2('colorpicker201', 'ds', 'none'); }
|
||||
|
||||
function showColorGrid2(Sam, textBoxId) {
|
||||
var objX = new Array('00', '33', '66', '99', 'CC', 'FF');
|
||||
var c = 0;
|
||||
var xl = '"' + Sam + '","x", "' + textBoxId + '"'; var mid = '';
|
||||
mid += '<table bgcolor="#FFFFFF" border="0" cellpadding="0" cellspacing="0" style="border:solid 0px #F0F0F0;padding:2px;"><tr>';
|
||||
mid += "<td colspan='9' align='left' style='margin:0;padding:2px;height:12px;' ><input class='o5582n66' type='text' size='12' id='o5582n66' value='#FFFFFF'><input class='o5582n66a' type='text' size='2' style='width:14px;' id='o5582n66a' onclick='javascript:alert(\"click on selected swatch below...\");' value='' style='border:solid 1px #666;'></td><td colspan='9' align='right'><a class='o5582n66' href='javascript:onclick=putOBJxColor2(" + xl + ")'><span class='a01p3'>" + clos1 + "</span></a></td></tr><tr>";
|
||||
var br = 1;
|
||||
for (o = 0; o < 6; o++) {
|
||||
mid += '</tr><tr>';
|
||||
for (y = 0; y < 6; y++) {
|
||||
if (y == 3) { mid += '</tr><tr>'; }
|
||||
for (x = 0; x < 6; x++) {
|
||||
var grid = '';
|
||||
grid = objX[o] + objX[y] + objX[x];
|
||||
var b = "'" + Sam + "','" + grid + "', '" + textBoxId + "'";
|
||||
mid += '<td class="o5582brd" style="background-color:#' + grid + '"><a class="o5582n66" href="javascript:onclick=putOBJxColor2(' + b + ');" onmouseover=javascript:document.getElementById("o5582n66").value="#' + grid + '";javascript:document.getElementById("o5582n66a").style.backgroundColor="#' + grid + '"; title="#' + grid + '"><div style="width:12px;height:14px;"></div></a></td>';
|
||||
c++;
|
||||
}
|
||||
}
|
||||
}
|
||||
mid += "</tr></table>";
|
||||
//var ttop=getTop2();
|
||||
//setCCbldSty2('colorpicker201','tp',ttop);
|
||||
//document.getElementById('colorpicker201').style.left=getLeft2();
|
||||
document.getElementById('colorpicker201').innerHTML = mid;
|
||||
setCCbldSty2('colorpicker201', 'vs', 'visible');
|
||||
setCCbldSty2('colorpicker201', 'ds', 'inline');
|
||||
}
|
|
@ -1,53 +0,0 @@
|
|||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 26
|
||||
/svn/!svn/ver/43795/images
|
||||
END
|
||||
icon_html.gif
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 40
|
||||
/svn/!svn/ver/43795/images/icon_html.gif
|
||||
END
|
||||
img.gif
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 34
|
||||
/svn/!svn/ver/43795/images/img.gif
|
||||
END
|
||||
colors.gif
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 37
|
||||
/svn/!svn/ver/43795/images/colors.gif
|
||||
END
|
||||
editbar_bg.gif
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 41
|
||||
/svn/!svn/ver/43795/images/editbar_bg.gif
|
||||
END
|
||||
url.gif
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 34
|
||||
/svn/!svn/ver/43795/images/url.gif
|
||||
END
|
||||
icon_list.gif
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 40
|
||||
/svn/!svn/ver/43795/images/icon_list.gif
|
||||
END
|
||||
icon_quote.png
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 41
|
||||
/svn/!svn/ver/43795/images/icon_quote.png
|
||||
END
|
||||
icon_youtube.gif
|
||||
K 25
|
||||
svn:wc:ra_dav:version-url
|
||||
V 43
|
||||
/svn/!svn/ver/43795/images/icon_youtube.gif
|
||||
END
|
|
@ -1,300 +0,0 @@
|
|||
10
|
||||
|
||||
dir
|
||||
43979
|
||||
https://wysiwygbbcode.svn.codeplex.com/svn/images
|
||||
https://wysiwygbbcode.svn.codeplex.com/svn
|
||||
|
||||
|
||||
|
||||
2010-04-07T14:06:43.507000Z
|
||||
43795
|
||||
unknown
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
1e68c9db-d3bb-46d7-945c-fd054d4afafc
|
||||
|
||||
icon_html.gif
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-04-07T14:11:18.000000Z
|
||||
67fe598a2ce41218bbe984ecb9ef5120
|
||||
2010-04-07T14:06:43.507000Z
|
||||
43795
|
||||
unknown
|
||||
has-props
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
178
|
||||
|
||||
img.gif
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-04-07T14:11:18.000000Z
|
||||
9f86ef7d2cb43dc9211bc4527a4caa4a
|
||||
2010-04-07T14:06:43.507000Z
|
||||
43795
|
||||
unknown
|
||||
has-props
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
570
|
||||
|
||||
colors.gif
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-04-07T14:11:18.000000Z
|
||||
2b1af4a86dc3c0c38066fed59a6b9284
|
||||
2010-04-07T14:06:43.507000Z
|
||||
43795
|
||||
unknown
|
||||
has-props
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
1024
|
||||
|
||||
editbar_bg.gif
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-04-07T14:11:18.000000Z
|
||||
ab683894bf1f523a2c9e3888b88ff6fe
|
||||
2010-04-07T14:06:43.507000Z
|
||||
43795
|
||||
unknown
|
||||
has-props
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
301
|
||||
|
||||
url.gif
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-04-07T14:11:18.000000Z
|
||||
80486c8b54c622eff5fbde9cbe941c36
|
||||
2010-04-07T14:06:43.507000Z
|
||||
43795
|
||||
unknown
|
||||
has-props
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
209
|
||||
|
||||
icon_list.gif
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-04-07T14:11:18.000000Z
|
||||
33b13631551a0890584ccc2f9d9187d2
|
||||
2010-04-07T14:06:43.507000Z
|
||||
43795
|
||||
unknown
|
||||
has-props
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
82
|
||||
|
||||
icon_quote.png
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-04-07T14:11:18.000000Z
|
||||
c1980342644a5392efefbb315b12b246
|
||||
2010-04-07T14:06:43.507000Z
|
||||
43795
|
||||
unknown
|
||||
has-props
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
1239
|
||||
|
||||
icon_youtube.gif
|
||||
file
|
||||
|
||||
|
||||
|
||||
|
||||
2010-04-07T14:11:18.000000Z
|
||||
406fca567bc8bd5655ae0d2cbb6c061c
|
||||
2010-04-07T14:06:43.507000Z
|
||||
43795
|
||||
unknown
|
||||
has-props
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
613
|
||||
|
|
@ -1,5 +0,0 @@
|
|||
K 13
|
||||
svn:mime-type
|
||||
V 24
|
||||
application/octet-stream
|
||||
END
|
|
@ -1,5 +0,0 @@
|
|||
K 13
|
||||
svn:mime-type
|
||||
V 24
|
||||
application/octet-stream
|
||||
END
|
|
@ -1,5 +0,0 @@
|
|||
K 13
|
||||
svn:mime-type
|
||||
V 24
|
||||
application/octet-stream
|
||||
END
|
|
@ -1,5 +0,0 @@
|
|||
K 13
|
||||
svn:mime-type
|
||||
V 24
|
||||
application/octet-stream
|
||||
END
|
|
@ -1,5 +0,0 @@
|
|||
K 13
|
||||
svn:mime-type
|
||||
V 24
|
||||
application/octet-stream
|
||||
END
|
|
@ -1,5 +0,0 @@
|
|||
K 13
|
||||
svn:mime-type
|
||||
V 24
|
||||
application/octet-stream
|
||||
END
|
|
@ -1,5 +0,0 @@
|
|||
K 13
|
||||
svn:mime-type
|
||||
V 24
|
||||
application/octet-stream
|
||||
END
|
|
@ -1,5 +0,0 @@
|
|||
K 13
|
||||
svn:mime-type
|
||||
V 24
|
||||
application/octet-stream
|
||||
END
|
Before Width: | Height: | Size: 1 KiB |
Before Width: | Height: | Size: 301 B |
Before Width: | Height: | Size: 178 B |
Before Width: | Height: | Size: 82 B |
Before Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 613 B |
Before Width: | Height: | Size: 570 B |
Before Width: | Height: | Size: 209 B |
Before Width: | Height: | Size: 1 KiB |