From bc407080d2832b2096b0f46e715d4f0fe2b97670 Mon Sep 17 00:00:00 2001 From: Hypolite Petovan Date: Fri, 28 Oct 2016 22:14:51 -0400 Subject: [PATCH] ping.php performance: improve documentation and formatting --- doc/database/db_notify.md | 36 +++++++++++++++++++----------------- include/session.php | 25 +++++++++++++++++++------ mod/ping.php | 4 ++-- 3 files changed, 40 insertions(+), 25 deletions(-) diff --git a/doc/database/db_notify.md b/doc/database/db_notify.md index 5ef2aa7eb..b2bae6471 100644 --- a/doc/database/db_notify.md +++ b/doc/database/db_notify.md @@ -1,22 +1,24 @@ Table notify ============ -| Field | Description | Type | Null | Key | Default | Extra | -| ------ | --------------------------------- | ------------ | ---- | --- | ------------------- | --------------- | -| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment | -| hash | | varchar(64) | NO | | | | -| type | | int(11) | NO | | 0 | | -| name | | varchar(255) | NO | | | | -| url | | varchar(255) | NO | | | | -| photo | | varchar(255) | NO | | | | -| date | | datetime | NO | | 0000-00-00 00:00:00 | | -| msg | | mediumtext | NO | | NULL | | -| uid | user.id of the owner of this data | int(11) | NO | MUL | 0 | | -| link | | varchar(255) | NO | | | | -| parent | | int(11) | NO | | 0 | | -| seen | | tinyint(1) | NO | | 0 | | -| verb | | varchar(255) | NO | | | | -| otype | | varchar(16) | NO | | | | -| iid | item.id | int(11) | NO | | 0 | | +| Field | Description | Type | Null | Key | Default | Extra | +| ---------- | --------------------------------- | ------------ | ---- | --- | ------------------- | --------------- | +| id | sequential ID | int(11) | NO | PRI | NULL | auto_increment | +| hash | | varchar(64) | NO | | | | +| type | | int(11) | NO | | 0 | | +| name | | varchar(255) | NO | | | | +| url | | varchar(255) | NO | | | | +| photo | | varchar(255) | NO | | | | +| date | | datetime | NO | | 0000-00-00 00:00:00 | | +| msg | | mediumtext | YES | | NULL | | +| uid | user.id of the owner of this data | int(11) | NO | MUL | 0 | | +| link | | varchar(255) | NO | | | | +| iid | item.id | int(11) | NO | | 0 | | +| parent | | int(11) | NO | | 0 | | +| seen | | tinyint(1) | NO | | 0 | | +| verb | | varchar(255) | NO | | | | +| otype | | varchar(16) | NO | | | | +| name_cache | Cached bbcode parsing of name | tinytext | YES | | NULL | | +| msg_cache | Cached bbcode parsing of msg | mediumtext | YES | | NULL | | Return to [database documentation](help/database) diff --git a/include/session.php b/include/session.php index 4e7befb1b..23066be42 100644 --- a/include/session.php +++ b/include/session.php @@ -26,18 +26,30 @@ function ref_session_read ($id) { return ''; }} -if(! function_exists('ref_session_write')) { -function ref_session_write ($id,$data) { +/** + * @brief Standard PHP session write callback + * + * This callback updates the DB-stored session data and/or the expiration depending + * on the case. Uses the $session_expire global for existing session, 5 minutes + * for newly created session. + * + * @global bool $session_exists Whether a session with the given id already exists + * @global int $session_expire Session expiration delay in seconds + * @param string $id Session ID with format: [a-z0-9]{26} + * @param string $data Serialized session data + * @return boolean Returns false if parameters are missing, true otherwise + */ +function ref_session_write($id, $data) { global $session_exists, $session_expire; - if(! $id || ! $data) { + if (!$id || !$data) { return false; } $expire = time() + $session_expire; $default_expire = time() + 300; - if($session_exists) { + if ($session_exists) { $r = q("UPDATE `session` SET `data` = '%s' WHERE `sid` = '%s' AND `data` != '%s'", @@ -47,13 +59,14 @@ function ref_session_write ($id,$data) { SET `expire` = '%s' WHERE `sid` = '%s' AND `expire` != '%s'", dbesc($expire), dbesc($expire), dbesc($id)); - } else + } else { $r = q("INSERT INTO `session` SET `sid` = '%s', `expire` = '%s', `data` = '%s'", dbesc($id), dbesc($default_expire), dbesc($data)); + } return true; -}} +} if(! function_exists('ref_session_close')) { function ref_session_close() { diff --git a/mod/ping.php b/mod/ping.php index a90537122..0ed7eb3fe 100644 --- a/mod/ping.php +++ b/mod/ping.php @@ -347,8 +347,8 @@ function ping_init(&$a) { /** * @brief Retrieves the notifications array for the given user ID * - * @param int $uid - * @return array + * @param int $uid User id + * @return array Associative array of notifications */ function ping_get_notifications($uid) {