define ( 'FRIENDICA_PLATFORM', 'Friendica');
define ( 'FRIENDICA_CODENAME', 'Asparagus');
-define ( 'FRIENDICA_VERSION', '3.5-dev' );
+define ( 'FRIENDICA_VERSION', '3.5.1-dev' );
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
-define ( 'DB_UPDATE_VERSION', 1200 );
+define ( 'DB_UPDATE_VERSION', 1203 );
/**
* @brief Constant with a HTML line break.
define ( 'PAGE_PRVGROUP', 5 );
/** @}*/
+/**
+ * @name account types
+ *
+ * ACCOUNT_TYPE_PERSON - the account belongs to a person
+ * Associated page types: PAGE_NORMAL, PAGE_SOAPBOX, PAGE_FREELOVE
+ *
+ * ACCOUNT_TYPE_ORGANISATION - the account belongs to an organisation
+ * Associated page type: PAGE_SOAPBOX
+ *
+ * ACCOUNT_TYPE_NEWS - the account is a news reflector
+ * Associated page type: PAGE_SOAPBOX
+ *
+ * ACCOUNT_TYPE_COMMUNITY - the account is community forum
+ * Associated page types: PAGE_COMMUNITY, PAGE_PRVGROUP
+ * @{
+ */
+define ( 'ACCOUNT_TYPE_PERSON', 0 );
+define ( 'ACCOUNT_TYPE_ORGANISATION',1 );
+define ( 'ACCOUNT_TYPE_NEWS', 2 );
+define ( 'ACCOUNT_TYPE_COMMUNITY', 3 );
+/** @}*/
+
/**
* @name CP
*
* Process priority for the worker
* @{
*/
-define('PRIORITY_UNDEFINED', 0);
-define('PRIORITY_SYSTEM', 10);
-define('PRIORITY_HIGH', 20);
-define('PRIORITY_MEDIUM', 30);
-define('PRIORITY_LOW', 40);
+define('PRIORITY_UNDEFINED', 0);
+define('PRIORITY_CRITICAL', 10);
+define('PRIORITY_HIGH', 20);
+define('PRIORITY_MEDIUM', 30);
+define('PRIORITY_LOW', 40);
+define('PRIORITY_NEGLIGIBLE',50);
/* @}*/
}
+ /**
+ * @brief Log active processes into the "process" table
+ */
+ function start_process() {
+ $trace = debug_backtrace(DEBUG_BACKTRACE_IGNORE_ARGS, 1);
+
+ $command = basename($trace[0]["file"]);
+
+ $this->remove_inactive_processes();
+
+ $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()));
+ }
+
+ /**
+ * @brief Remove inactive processes
+ */
+ function remove_inactive_processes() {
+ $r = q("SELECT `pid` FROM `process`");
+ if(dbm::is_result($r))
+ foreach ($r AS $process)
+ if (!posix_kill($process["pid"], 0))
+ q("DELETE FROM `process` WHERE `pid` = %d", intval($process["pid"]));
+ }
+
+ /**
+ * @brief Remove the active process from the "process" table
+ */
+ function end_process() {
+ q("DELETE FROM `process` WHERE `pid` = %d", intval(getmypid()));
+ }
+
/**
* @brief Returns a string with a callstack. Can be used for logging.
*
$build = DB_UPDATE_VERSION;
}
if($build != DB_UPDATE_VERSION)
- proc_run(PRIORITY_SYSTEM, 'include/dbupdate.php');
+ proc_run(PRIORITY_CRITICAL, 'include/dbupdate.php');
}
* @brief Used to end the current process, after saving session state.
*/
function killme() {
+
if (!get_app()->is_backend())
session_write_close();