define('FRIENDICA_PLATFORM', 'Friendica');
define('FRIENDICA_CODENAME', 'The Tazmans Flax-lily');
-define('FRIENDICA_VERSION', '2018.12-dev');
+define('FRIENDICA_VERSION', '2018.12-rc');
define('DFRN_PROTOCOL_VERSION', '2.23');
define('NEW_UPDATE_ROUTINE_VERSION', 1170);
return BaseObject::getApp();
}
-/**
- * @brief Multi-purpose function to check variable state.
- *
- * Usage: x($var) or $x($array, 'key')
- *
- * returns false if variable/key is not set
- * if variable is set, returns 1 if has 'non-zero' value, otherwise returns 0.
- * e.g. x('') or x(0) returns 0;
- *
- * @param string|array $s variable to check
- * @param string $k key inside the array to check
- *
- * @return bool|int
- */
-function x($s, $k = null)
-{
- if ($k != null) {
- if ((is_array($s)) && (array_key_exists($k, $s))) {
- if ($s[$k]) {
- return (int) 1;
- }
- return (int) 0;
- }
- return false;
- } else {
- if (isset($s)) {
- if ($s) {
- return (int) 1;
- }
- return (int) 0;
- }
- return false;
- }
-}
-
/**
* Return the provided variable value if it exists and is truthy or the provided
* default value instead.
* - defaults($var, $default)
* - defaults($array, 'key', $default)
*
+ * @param array $args
* @brief Returns a defaut value if the provided variable or array key is falsy
- * @see x()
* @return mixed
*/
-function defaults() {
- $args = func_get_args();
-
+function defaults(...$args)
+{
if (count($args) < 2) {
throw new BadFunctionCallException('defaults() requires at least 2 parameters');
}
throw new BadFunctionCallException('defaults($arr, $key, $def) $key is null');
}
- $default = array_pop($args);
+ // The default value always is the last argument
+ $return = array_pop($args);
- if (call_user_func_array('x', $args)) {
- if (count($args) === 1) {
- $return = $args[0];
- } else {
- $return = $args[0][$args[1]];
- }
- } else {
- $return = $default;
+ if (count($args) == 2 && is_array($args[0]) && !empty($args[0][$args[1]])) {
+ $return = $args[0][$args[1]];
+ }
+
+ if (count($args) == 1 && !empty($args[0])) {
+ $return = $args[0];
}
return $return;
{
static $public_contact_id = false;
- if (!$public_contact_id && x($_SESSION, 'authenticated')) {
- if (x($_SESSION, 'my_address')) {
+ if (!$public_contact_id && !empty($_SESSION['authenticated'])) {
+ if (!empty($_SESSION['my_address'])) {
// Local user
$public_contact_id = intval(Contact::getIdForURL($_SESSION['my_address'], 0, true));
- } elseif (x($_SESSION, 'visitor_home')) {
+ } elseif (!empty($_SESSION['visitor_home'])) {
// Remote user
$public_contact_id = intval(Contact::getIdForURL($_SESSION['visitor_home'], 0, true));
}
- } elseif (!x($_SESSION, 'authenticated')) {
+ } elseif (empty($_SESSION['authenticated'])) {
$public_contact_id = false;
}
return false;
}
- if (x($_SESSION, 'authenticated') && x($_SESSION, 'visitor_id')) {
+ if (!empty($_SESSION['authenticated']) && !empty($_SESSION['visitor_id'])) {
return intval($_SESSION['visitor_id']);
}
return false;
}
$a = get_app();
- if (!x($_SESSION, 'sysmsg')) {
+ if (empty($_SESSION['sysmsg'])) {
$_SESSION['sysmsg'] = [];
}
if ($a->interactive) {
return;
}
- if (!x($_SESSION, 'sysmsg_info')) {
+ if (empty($_SESSION['sysmsg_info'])) {
$_SESSION['sysmsg_info'] = [];
}
if ($a->interactive) {
// Simply return flag
return $valid;
}
+
+/**
+ * PHP 5 compatible dirname() with count parameter
+ *
+ * @see http://php.net/manual/en/function.dirname.php#113193
+ *
+ * @deprecated with PHP 7
+ * @param string $path
+ * @param int $levels
+ * @return string
+ */
+function rdirname($path, $levels = 1)
+{
+ if ($levels > 1) {
+ return dirname(rdirname($path, --$levels));
+ } else {
+ return dirname($path);
+ }
+}
\ No newline at end of file