diff options
-rwxr-xr-x | boot.php | 3 | ||||
-rwxr-xr-x | include/items.php | 15 | ||||
-rw-r--r-- | install/database.sql | 2 | ||||
-rw-r--r-- | install/update.php | 9 |
4 files changed, 24 insertions, 5 deletions
@@ -41,7 +41,7 @@ require_once('include/features.php'); define ( 'RED_PLATFORM', 'Red Matrix' ); define ( 'RED_VERSION', trim(file_get_contents('version.inc')) . 'R'); define ( 'ZOT_REVISION', 1 ); -define ( 'DB_UPDATE_VERSION', 1043 ); +define ( 'DB_UPDATE_VERSION', 1044 ); define ( 'EOL', '<br />' . "\r\n" ); define ( 'ATOM_TIME', 'Y-m-d\TH:i:s\Z' ); @@ -436,6 +436,7 @@ define ( 'ITEM_NOTSHOWN', 0x0080); // technically visible but not normal define ( 'ITEM_NSFW', 0x0100); define ( 'ITEM_RELAY', 0x0200); // used only in the communication layers, not stored define ( 'ITEM_MENTIONSME', 0x0400); +define ( 'ITEM_NOCOMMENT', 0x0800); // commenting/followups are disabled /** diff --git a/include/items.php b/include/items.php index 64eeae4b4..9d93accfe 100755 --- a/include/items.php +++ b/include/items.php @@ -549,13 +549,17 @@ function encode_item($item) { intval($item['uid']) ); - if($r) + if($r) { $public_scope = $r[0]['channel_r_stream']; - else + $comment_scope = $r[0]['channel_w_comment']; + } + else { $public_scope = 0; + $comment_scope = 0; + } $scope = map_scope($public_scope); - + $c_scope = map_scope($comment_scope); if($item['item_restrict'] & ITEM_DELETED) { $x['message_id'] = $item['mid']; @@ -597,6 +601,11 @@ function encode_item($item) { if(! in_array('private',$y)) $x['public_scope'] = $scope; + if($item['item_flags'] & ITEM_NOCOMMENT) + $x['comment_scope'] = 'none'; + else + $x['comment_scope'] = $c_scope; + if($item['term']) $x['tags'] = encode_item_terms($item['term']); diff --git a/install/database.sql b/install/database.sql index 33dd9f31b..07f797dc4 100644 --- a/install/database.sql +++ b/install/database.sql @@ -462,6 +462,7 @@ CREATE TABLE IF NOT EXISTS `item` ( `inform` mediumtext NOT NULL, `location` char(255) NOT NULL DEFAULT '', `coord` char(255) NOT NULL DEFAULT '', + `comment_policy` char(255) NOT NULL DEFAULT '', `allow_cid` mediumtext NOT NULL, `allow_gid` mediumtext NOT NULL, `deny_cid` mediumtext NOT NULL, @@ -494,6 +495,7 @@ CREATE TABLE IF NOT EXISTS `item` ( KEY `mid` (`mid`), KEY `parent_mid` (`parent_mid`), KEY `uid_mid` (`mid`,`uid`), + KEY `comment_policy` (`comment_policy`), FULLTEXT KEY `title` (`title`), FULLTEXT KEY `body` (`body`), FULLTEXT KEY `allow_cid` (`allow_cid`), diff --git a/install/update.php b/install/update.php index 382e8723c..787c1d542 100644 --- a/install/update.php +++ b/install/update.php @@ -1,6 +1,6 @@ <?php -define( 'UPDATE_VERSION' , 1043 ); +define( 'UPDATE_VERSION' , 1044 ); /** * @@ -541,3 +541,10 @@ ADD `hubloc_connected` DATETIME NOT NULL DEFAULT '0000-00-00 00:00:00', ADD IND } +function update_r1043() { + $r = q("ALTER TABLE `item` ADD `comment_policy` CHAR( 255 ) NOT NULL DEFAULT '' AFTER `coord` , +ADD INDEX ( `comment_policy` ) "); + if($r) + return UPDATE_SUCCESS; + return UPDATE_FAILED; +} |