use Friendica\Core\PConfig;
use Cache;
+use dba;
use dbm;
use Detection\MobileDetect;
*/
public $template_engine_instance = array();
public $process_id;
+ public $queue;
private $ldelim = array(
'internal' => '',
'smarty3' => '{{'
$basepath = $_SERVER['PWD'];
}
- return $basepath;
+ return self::realpath($basepath);
+ }
+
+ /**
+ * @brief Returns a normalized file path
+ *
+ * This is a wrapper for the "realpath" function.
+ * That function cannot detect the real path when some folders aren't readable.
+ * Since this could happen with some hosters we need to handle this.
+ *
+ * @param string $path The path that is about to be normalized
+ * @return string normalized path - when possible
+ */
+ public static function realpath($path) {
+ $normalized = realpath($path);
+
+ if (!is_bool($normalized)) {
+ return $normalized;
+ } else {
+ return $path;
+ }
}
function get_scheme() {
* @return string Friendica server base URL
*/
function get_baseurl($ssl = false) {
- // Is the function called statically?
- if (!(isset($this) && get_class($this) == __CLASS__)) {
- return self::$a->get_baseurl($ssl);
- }
-
$scheme = $this->scheme;
if (Config::get('system', 'ssl_policy') == SSL_POLICY_FULL) {
$this->hostname = Config::get('config', 'hostname');
}
- if (!isset($this->hostname) OR ( $this->hostname == '')) {
+ if (!isset($this->hostname) || ( $this->hostname == '')) {
$this->hostname = $hostname;
}
}
$tpl = get_markup_template('head.tpl');
$this->page['htmlhead'] = replace_macros($tpl, array(
- '$baseurl' => $this->get_baseurl(), // FIXME for z_path!!!!
+ '$baseurl' => $this->get_baseurl(),
'$local_user' => local_user(),
'$generator' => 'Friendica' . ' ' . FRIENDICA_VERSION,
'$delitem' => t('Delete this item?'),
}
$tpl = get_markup_template('end.tpl');
$this->page['end'] = replace_macros($tpl, array(
- '$baseurl' => $this->get_baseurl() // FIXME for z_path!!!!
+ '$baseurl' => $this->get_baseurl()
)) . $this->page['end'];
}
*/
function remove_baseurl($orig_url) {
- // Is the function called statically?
- if (!(isset($this) && get_class($this) == __CLASS__)) {
- return self::$a->remove_baseurl($orig_url);
- }
-
// Remove the hostname from the url if it is an internal link
$nurl = normalise_link($orig_url);
$base = normalise_link($this->get_baseurl());
$this->remove_inactive_processes();
- q('START TRANSACTION');
+ dba::transaction();
$r = q('SELECT `pid` FROM `process` WHERE `pid` = %d', intval(getmypid()));
if (!dbm::is_result($r)) {
- q("INSERT INTO `process` (`pid`,`command`,`created`) VALUES (%d, '%s', '%s')", intval(getmypid()), dbesc($command), dbesc(datetime_convert()));
+ dba::insert('process', array('pid' => getmypid(), 'command' => $command, 'created' => datetime_convert()));
}
- q('COMMIT');
+ dba::commit();
}
/**
* @brief Remove inactive processes
*/
function remove_inactive_processes() {
- q('START TRANSACTION');
+ dba::transaction();
$r = q('SELECT `pid` FROM `process`');
if (dbm::is_result($r)) {
}
}
}
- q('COMMIT');
+ dba::commit();
}
/**
$callstack = array();
foreach ($trace AS $func) {
- $callstack[] = $func['function'];
+ if (!empty($func['class'])) {
+ $callstack[] = $func['class'].'::'.$func['function'];
+ } else {
+ $callstack[] = $func['function'];
+ }
}
return implode(', ', $callstack);
$meminfo[$key] = (int) ($meminfo[$key] / 1024);
}
- if (!isset($meminfo['MemAvailable']) OR ! isset($meminfo['MemFree'])) {
+ if (!isset($meminfo['MemAvailable']) || ! isset($meminfo['MemFree'])) {
return false;
}
$cachekey = 'app:proc_run:started';
$result = Cache::get($cachekey);
- if (!is_null($result) AND ( time() - $result) < 2) {
+ if (!is_null($result) && ( time() - $result) < 2) {
return;
}
* @return string system username
*/
static function systemuser() {
- if (!function_exists('posix_getpwuid') OR ! function_exists('posix_geteuid')) {
+ if (!function_exists('posix_getpwuid') || ! function_exists('posix_geteuid')) {
return '';
}
logger('Path "' . $directory . '" is not a directory for user ' . self::systemuser(), LOGGER_DEBUG);
return false;
}
- if ($check_writable AND !is_writable($directory)) {
+ if ($check_writable && !is_writable($directory)) {
logger('Path "' . $directory . '" is not writable for user ' . self::systemuser(), LOGGER_DEBUG);
return false;
}