зеркало из https://github.com/nextcloud/server.git
update to comply with the OCS spec (lookup by application name too)
This commit is contained in:
Родитель
6642d4af6f
Коммит
9d99c4fbdc
|
@ -17,6 +17,13 @@
|
|||
<notnull>true</notnull>
|
||||
<length>64</length>
|
||||
</field>
|
||||
<field>
|
||||
<name>app</name>
|
||||
<type>text</type>
|
||||
<default></default>
|
||||
<notnull>true</notnull>
|
||||
<length>64</length>
|
||||
</field>
|
||||
<field>
|
||||
<name>value</name>
|
||||
<type>text</type>
|
||||
|
@ -28,12 +35,16 @@
|
|||
<notnull>true</notnull>
|
||||
</field>
|
||||
<index>
|
||||
<name>timestamp</name>
|
||||
<unique>false</unique>
|
||||
<field>
|
||||
<name>timestamp</name>
|
||||
<sorting>ascending</sorting>
|
||||
</field>
|
||||
<name>appkey</name>
|
||||
<unique>true</unique>
|
||||
<field>
|
||||
<name>key</name>
|
||||
<sorting>ascending</sorting>
|
||||
</field>
|
||||
<field>
|
||||
<name>app</name>
|
||||
<sorting>ascending</sorting>
|
||||
</field>
|
||||
</index>
|
||||
</declaration>
|
||||
</table>
|
||||
|
|
|
@ -145,11 +145,12 @@ class OC_OCS {
|
|||
OC_OCS::privateDataGet($format, $key);
|
||||
|
||||
// set - POST DATA
|
||||
}elseif(($method=='post') and (strtolower($ex[$paracount-5])=='v1.php')and (strtolower($ex[$paracount-3])=='setattribute')){
|
||||
}elseif(($method=='post') and (strtolower($ex[$paracount-6])=='v1.php')and (strtolower($ex[$paracount-4])=='setattribute')){
|
||||
$format=OC_OCS::readdata('format','text');
|
||||
$key=$ex[$paracount-2];
|
||||
$app=$ex[$paracount-3];
|
||||
$value=OC_OCS::readdata('value','text');
|
||||
OC_OCS::privatedataset($format, $key, $value);
|
||||
OC_OCS::privatedataset($format, $app, $key, $value);
|
||||
|
||||
}else{
|
||||
$format=OC_OCS::readdata('format','text');
|
||||
|
@ -472,19 +473,19 @@ class OC_OCS {
|
|||
* @param string $value
|
||||
* @return string xml/json
|
||||
*/
|
||||
private static function privateDataSet($format, $key, $value) {
|
||||
private static function privateDataSet($format, $app, $key, $value) {
|
||||
global $CONFIG_DBTABLEPREFIX;
|
||||
|
||||
//TODO: prepared statements, locking tables, fancy stuff, error checking/handling
|
||||
$user=OC_OCS::checkpassword();
|
||||
|
||||
$result=OC_DB::select("select count(*) as co from {$CONFIG_DBTABLEPREFIX}privatedata where key = '".addslashes($key)."'");
|
||||
$result=OC_DB::select("select count(*) as co from {$CONFIG_DBTABLEPREFIX}privatedata where key = '".addslashes($key)."' and app = '".addslashes($app)."'");
|
||||
$totalcount=$result[0]['co'];
|
||||
|
||||
if ($totalcount != 0) {
|
||||
$result = OC_DB::query("update {$CONFIG_DBTABLEPREFIX}privatedata set value='".addslashes($value)."', timestamp = datetime('now') where key = '".addslashes($key)."'");
|
||||
$result = OC_DB::query("update {$CONFIG_DBTABLEPREFIX}privatedata set value='".addslashes($value)."', timestamp = datetime('now') where key = '".addslashes($key)."' and app = '".addslashes($app)."'");
|
||||
} else {
|
||||
$result = OC_DB::query("insert into {$CONFIG_DBTABLEPREFIX}privatedata(key, value, timestamp) values('".addslashes($key)."', '".addslashes($value)."', datetime('now'))");
|
||||
$result = OC_DB::query("insert into {$CONFIG_DBTABLEPREFIX}privatedata(app, key, value, timestamp) values('".addslashes($app)."', '".addslashes($key)."', '".addslashes($value)."', datetime('now'))");
|
||||
}
|
||||
|
||||
echo(OC_OCS::generatexml($format,'ok',100,''));
|
||||
|
|
Загрузка…
Ссылка в новой задаче