aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/bbcode.php14
-rw-r--r--include/config.php161
-rw-r--r--include/crypto.php18
-rw-r--r--include/language.php4
-rw-r--r--include/network.php2
-rwxr-xr-xinclude/plugin.php22
-rw-r--r--include/widgets.php2
-rw-r--r--include/zot.php24
8 files changed, 56 insertions, 191 deletions
diff --git a/include/bbcode.php b/include/bbcode.php
index f47dc6f2e..42741b392 100644
--- a/include/bbcode.php
+++ b/include/bbcode.php
@@ -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
diff --git a/include/config.php b/include/config.php
index 3017c3865..fe7cbead6 100644
--- a/include/config.php
+++ b/include/config.php
@@ -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
- */
-function load_config($family) {
- if(! array_key_exists($family, App::$config))
- App::$config[$family] = array();
+use Zotlabs\Lib as Zlib;
- 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);
+function load_config($family) {
+
+ Zlib\Config::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 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($family, $key) {
+
+ return Zlib\Config::Get($family,$key);
-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);
-
- 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;
- }
+ return Zlib\Config::Set($family,$key,$value);
- $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)
diff --git a/include/crypto.php b/include/crypto.php
index 42aa45b72..bc798d919 100644
--- a/include/crypto.php
+++ b/include/crypto.php
@@ -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') {
diff --git a/include/language.php b/include/language.php
index 238c23028..96d3e48a9 100644
--- a/include/language.php
+++ b/include/language.php
@@ -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");
}
diff --git a/include/network.php b/include/network.php
index dd266f5d1..0dd10e29b 100644
--- a/include/network.php
+++ b/include/network.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);
diff --git a/include/plugin.php b/include/plugin.php
index 6c108fcc5..5dbfc218a 100755
--- a/include/plugin.php
+++ b/include/plugin.php
@@ -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));
@@ -301,7 +301,7 @@ function call_hooks($name, &$data = null) {
else
$func($a, $data);
} else {
- q("DELETE FROM hook WHERE hook = '%s' AND file = '%s' AND function = '%s'",
+ q("DELETE FROM hook WHERE hook = '%s' AND file = '%s' AND fn = '%s'",
dbesc($name),
dbesc($hook[0]),
dbesc($origfn)
diff --git a/include/widgets.php b/include/widgets.php
index c4b80afd0..b9cb8e50d 100644
--- a/include/widgets.php
+++ b/include/widgets.php
@@ -1397,7 +1397,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;
diff --git a/include/zot.php b/include/zot.php
index ecfbfa128..45c9238b2 100644
--- a/include/zot.php
+++ b/include/zot.php
@@ -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);
@@ -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;
}
@@ -4125,7 +4128,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 +4137,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