remotes/origin/stable
Robin Appelman 16 years ago
commit 9c56a1e608
  1. 23
      db_structure.xml
  2. 13
      inc/lib_ocs.php

@ -17,6 +17,13 @@
<notnull>true</notnull> <notnull>true</notnull>
<length>64</length> <length>64</length>
</field> </field>
<field>
<name>app</name>
<type>text</type>
<default></default>
<notnull>true</notnull>
<length>64</length>
</field>
<field> <field>
<name>value</name> <name>value</name>
<type>text</type> <type>text</type>
@ -28,12 +35,16 @@
<notnull>true</notnull> <notnull>true</notnull>
</field> </field>
<index> <index>
<name>timestamp</name> <name>appkey</name>
<unique>false</unique> <unique>true</unique>
<field> <field>
<name>timestamp</name> <name>key</name>
<sorting>ascending</sorting> <sorting>ascending</sorting>
</field> </field>
<field>
<name>app</name>
<sorting>ascending</sorting>
</field>
</index> </index>
</declaration> </declaration>
</table> </table>

@ -145,11 +145,12 @@ class OC_OCS {
OC_OCS::privateDataGet($format, $key); OC_OCS::privateDataGet($format, $key);
// set - POST DATA // 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'); $format=OC_OCS::readdata('format','text');
$key=$ex[$paracount-2]; $key=$ex[$paracount-2];
$app=$ex[$paracount-3];
$value=OC_OCS::readdata('value','text'); $value=OC_OCS::readdata('value','text');
OC_OCS::privatedataset($format, $key, $value); OC_OCS::privatedataset($format, $app, $key, $value);
}else{ }else{
$format=OC_OCS::readdata('format','text'); $format=OC_OCS::readdata('format','text');
@ -472,19 +473,19 @@ class OC_OCS {
* @param string $value * @param string $value
* @return string xml/json * @return string xml/json
*/ */
private static function privateDataSet($format, $key, $value) { private static function privateDataSet($format, $app, $key, $value) {
global $CONFIG_DBTABLEPREFIX; global $CONFIG_DBTABLEPREFIX;
//TODO: prepared statements, locking tables, fancy stuff, error checking/handling //TODO: prepared statements, locking tables, fancy stuff, error checking/handling
$user=OC_OCS::checkpassword(); $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']; $totalcount=$result[0]['co'];
if ($totalcount != 0) { 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 { } 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,'')); echo(OC_OCS::generatexml($format,'ok',100,''));

Loading…
Cancel
Save