iconfig - add sharing variable

This commit is contained in:
redmatrix 2016-02-18 00:20:08 -08:00
parent 879bc71927
commit 76bf892f9f
5 changed files with 30 additions and 13 deletions

View File

@ -51,7 +51,7 @@ define ( 'RED_VERSION', trim(file_get_contents('version.inc')));
define ( 'STD_VERSION', '1.2.3' ); define ( 'STD_VERSION', '1.2.3' );
define ( 'ZOT_REVISION', 1 ); define ( 'ZOT_REVISION', 1 );
define ( 'DB_UPDATE_VERSION', 1162 ); define ( 'DB_UPDATE_VERSION', 1163 );
/** /**

View File

@ -1443,7 +1443,8 @@ function encode_item_meta($meta,$mirror = false) {
if($meta) { if($meta) {
foreach($meta as $m) { foreach($meta as $m) {
$ret[] = array('family' => $m['cat'], 'key' => $m['k'], 'value' => $m['v']); if($m['sharing'] || $mirror)
$ret[] = array('family' => $m['cat'], 'key' => $m['k'], 'value' => $m['v'], 'sharing' => intval($m['sharing']));
} }
} }
@ -1455,7 +1456,7 @@ function decode_item_meta($meta) {
if(is_array($meta) && $meta) { if(is_array($meta) && $meta) {
foreach($meta as $m) { foreach($meta as $m) {
$ret[] = array('cat' => escape_tags($m['family']),'k' => escape_tags($m['key']),'v' => $m['value']); $ret[] = array('cat' => escape_tags($m['family']),'k' => escape_tags($m['key']),'v' => $m['value'],'sharing' => $m['sharing']);
} }
} }
return $ret; return $ret;
@ -2559,7 +2560,7 @@ function item_store($arr, $allow_exec = false, $deliver = true) {
if($meta) { if($meta) {
foreach($meta as $m) { foreach($meta as $m) {
set_iconfig($current_post,$m['cat'],$m['k'],$m['v']); set_iconfig($current_post,$m['cat'],$m['k'],$m['v'],$m['sharing']);
} }
$arr['iconfig'] = $meta; $arr['iconfig'] = $meta;
} }
@ -2841,7 +2842,7 @@ function item_store_update($arr,$allow_exec = false, $deliver = true) {
if($meta) { if($meta) {
foreach($meta as $m) { foreach($meta as $m) {
set_iconfig($orig_post_id,$m['cat'],$m['k'],$m['v']); set_iconfig($orig_post_id,$m['cat'],$m['k'],$m['v'],$m['sharing']);
} }
$arr['iconfig'] = $meta; $arr['iconfig'] = $meta;
} }
@ -5504,7 +5505,7 @@ function get_iconfig(&$item, $family, $key) {
} }
function set_iconfig(&$item, $family, $key, $value) { function set_iconfig(&$item, $family, $key, $value, $sharing = false) {
$dbvalue = ((is_array($value)) ? serialize($value) : $value); $dbvalue = ((is_array($value)) ? serialize($value) : $value);
$dbvalue = ((is_bool($dbvalue)) ? intval($dbvalue) : $dbvalue); $dbvalue = ((is_bool($dbvalue)) ? intval($dbvalue) : $dbvalue);
@ -5523,7 +5524,7 @@ function set_iconfig(&$item, $family, $key, $value) {
} }
} }
} }
$entry = array('cat' => $family, 'k' => $key, 'v' => $value); $entry = array('cat' => $family, 'k' => $key, 'v' => $value, 'sharing' => $sharing);
if(is_null($idx)) if(is_null($idx))
$item['iconfig'][] = $entry; $item['iconfig'][] = $entry;
@ -5539,16 +5540,18 @@ function set_iconfig(&$item, $family, $key, $value) {
return false; return false;
if(get_iconfig($item, $family, $key) === false) { if(get_iconfig($item, $family, $key) === false) {
$r = q("insert into iconfig( iid, cat, k, v ) values ( %d, '%s', '%s', '%s' ) ", $r = q("insert into iconfig( iid, cat, k, v, sharing ) values ( %d, '%s', '%s', '%s', %d ) ",
intval($iid), intval($iid),
dbesc($family), dbesc($family),
dbesc($key), dbesc($key),
dbesc($dbvalue) dbesc($dbvalue),
intval($sharing)
); );
} }
else { else {
$r = q("update iconfig set v = '%s' where iid = %d and cat = '%s' and k = '%s' ", $r = q("update iconfig set v = '%s', sharing = %d where iid = %d and cat = '%s' and k = '%s' ",
dbesc($dbvalue), dbesc($dbvalue),
intval($sharing),
intval($iid), intval($iid),
dbesc($family), dbesc($family),
dbesc($key) dbesc($key)

View File

@ -550,10 +550,12 @@ CREATE TABLE IF NOT EXISTS `iconfig` (
`cat` char(255) NOT NULL DEFAULT '', `cat` char(255) NOT NULL DEFAULT '',
`k` char(255) NOT NULL DEFAULT '', `k` char(255) NOT NULL DEFAULT '',
`v` mediumtext NOT NULL, `v` mediumtext NOT NULL,
`sharing` int(11) NOT NULL DEFAULT '0',
PRIMARY KEY (`id`), PRIMARY KEY (`id`),
KEY `iid` (`iid`), KEY `iid` (`iid`),
KEY `cat` (`cat`), KEY `cat` (`cat`),
KEY `k` (`k`) KEY `k` (`k`),
KEY `sharing` (`sharing`),
) ENGINE=MyISAM DEFAULT CHARSET=utf8; ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
CREATE TABLE IF NOT EXISTS `issue` ( CREATE TABLE IF NOT EXISTS `issue` (

View File

@ -544,11 +544,13 @@ CREATE TABLE "iconfig" (
"cat" text NOT NULL DEFAULT '', "cat" text NOT NULL DEFAULT '',
"k" text NOT NULL DEFAULT '', "k" text NOT NULL DEFAULT '',
"v" text NOT NULL DEFAULT '', "v" text NOT NULL DEFAULT '',
"sharing" int NOT NULL DEFAULT '0',
PRIMARY_KEY("id") PRIMARY_KEY("id")
); );
create index "iconfig_iid" on iconfig ("iid"); create index "iconfig_iid" on iconfig ("iid");
create index "iconfig_cat" on iconfig ("cat"); create index "iconfig_cat" on iconfig ("cat");
create index "iconfig_k" on iconfig ("k"); create index "iconfig_k" on iconfig ("k");
create index "iconfig_sharing" on iconfig ("sharing");
CREATE TABLE "issue" ( CREATE TABLE "issue" (
"issue_id" serial NOT NULL, "issue_id" serial NOT NULL,
"issue_created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00', "issue_created" timestamp NOT NULL DEFAULT '0001-01-01 00:00:00',

View File

@ -1,6 +1,6 @@
<?php <?php
define( 'UPDATE_VERSION' , 1162 ); define( 'UPDATE_VERSION' , 1163 );
/** /**
* *
@ -1971,7 +1971,6 @@ function update_r1161() {
$r2 = q("create index \"iconfig_iid\" on iconfig (\"iid\") ");; $r2 = q("create index \"iconfig_iid\" on iconfig (\"iid\") ");;
$r3 = q("create index \"iconfig_cat\" on iconfig (\"cat\") "); $r3 = q("create index \"iconfig_cat\" on iconfig (\"cat\") ");
$r4 = q("create index \"iconfig_k\" on iconfig (\"k\") "); $r4 = q("create index \"iconfig_k\" on iconfig (\"k\") ");
$r = $r1 && $r2 && $r3 && $r4; $r = $r1 && $r2 && $r3 && $r4;
} }
else { else {
@ -1994,3 +1993,14 @@ $r4 = q("create index \"iconfig_k\" on iconfig (\"k\") ");
return UPDATE_FAILED; return UPDATE_FAILED;
} }
function update_r1162() {
$r1 = q("alter table iconfig add sharing int not null default '0' ");
if(ACTIVE_DBTYPE == DBTYPE_POSTGRES)
$r2 = q("create index \"iconfig_sharing\" on iconfig (\"sharing\") ");
else
$r2 = q("alter table iconfig add index ( sharing ) ");
if($r1 && $r2)
return UPDATE_SUCCESS;
return UPDATE_FAILED;
}