2011-09-13 15:08:11 +04:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* ownCloud - bookmarks plugin - edit bookmark script
|
|
|
|
*
|
|
|
|
* @author Golnaz Nilieh
|
|
|
|
* @copyright 2011 Golnaz Nilieh <golnaz.nilieh@gmail.com>
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU AFFERO GENERAL PUBLIC LICENSE
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 3 of the License, or any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU AFFERO GENERAL PUBLIC LICENSE for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
|
|
|
|
// Check if we are a user
|
2012-05-03 14:23:29 +04:00
|
|
|
OCP\JSON::checkLoggedIn();
|
2012-07-07 17:54:52 +04:00
|
|
|
OCP\JSON::callCheck();
|
|
|
|
|
2012-05-03 14:23:29 +04:00
|
|
|
OCP\JSON::checkAppEnabled('bookmarks');
|
2011-09-13 15:08:11 +04:00
|
|
|
|
2012-05-02 15:28:56 +04:00
|
|
|
$CONFIG_DBTYPE = OCP\Config::getSystemValue( "dbtype", "sqlite" );
|
2011-09-13 15:08:11 +04:00
|
|
|
if( $CONFIG_DBTYPE == 'sqlite' or $CONFIG_DBTYPE == 'sqlite3' ){
|
|
|
|
$_ut = "strftime('%s','now')";
|
2011-10-17 01:03:03 +04:00
|
|
|
} elseif($CONFIG_DBTYPE == 'pgsql') {
|
|
|
|
$_ut = 'date_part(\'epoch\',now())::integer';
|
2011-09-13 15:08:11 +04:00
|
|
|
} else {
|
|
|
|
$_ut = "UNIX_TIMESTAMP()";
|
|
|
|
}
|
|
|
|
|
2012-06-11 01:38:26 +04:00
|
|
|
$bookmark_id = (int)$_POST["id"];
|
2012-06-21 13:50:51 +04:00
|
|
|
$user_id = OCP\USER::getUser();
|
2011-09-13 15:08:11 +04:00
|
|
|
|
2012-05-03 15:06:08 +04:00
|
|
|
$query = OCP\DB::prepare("
|
2011-09-13 15:08:11 +04:00
|
|
|
UPDATE *PREFIX*bookmarks
|
2011-10-08 15:54:45 +04:00
|
|
|
SET url = ?, title =?, lastmodified = $_ut
|
2012-06-21 13:50:51 +04:00
|
|
|
WHERE id = ?
|
|
|
|
AND user_id = ?
|
2011-09-13 15:08:11 +04:00
|
|
|
");
|
|
|
|
|
|
|
|
$params=array(
|
2012-06-11 01:38:26 +04:00
|
|
|
htmlspecialchars_decode($_POST["url"]),
|
|
|
|
htmlspecialchars_decode($_POST["title"]),
|
2012-06-21 13:50:51 +04:00
|
|
|
$bookmark_id,
|
|
|
|
$user_id,
|
2011-09-13 15:08:11 +04:00
|
|
|
);
|
2012-06-21 13:50:51 +04:00
|
|
|
|
|
|
|
$result = $query->execute($params);
|
|
|
|
|
|
|
|
# Abort the operation if bookmark couldn't be set (probably because the user is not allowed to edit this bookmark)
|
|
|
|
if ($result->numRows() == 0) exit();
|
2011-09-13 15:08:11 +04:00
|
|
|
|
|
|
|
# Remove old tags and insert new ones.
|
2012-05-03 15:06:08 +04:00
|
|
|
$query = OCP\DB::prepare("
|
2011-09-13 15:08:11 +04:00
|
|
|
DELETE FROM *PREFIX*bookmarks_tags
|
|
|
|
WHERE bookmark_id = $bookmark_id
|
|
|
|
");
|
|
|
|
|
|
|
|
$query->execute();
|
|
|
|
|
2012-05-03 15:06:08 +04:00
|
|
|
$query = OCP\DB::prepare("
|
2011-09-13 15:08:11 +04:00
|
|
|
INSERT INTO *PREFIX*bookmarks_tags
|
|
|
|
(bookmark_id, tag)
|
|
|
|
VALUES (?, ?)
|
|
|
|
");
|
2012-06-21 13:50:51 +04:00
|
|
|
|
2012-06-11 01:38:26 +04:00
|
|
|
$tags = explode(' ', urldecode($_POST["tags"]));
|
2011-09-13 15:08:11 +04:00
|
|
|
foreach ($tags as $tag) {
|
|
|
|
if(empty($tag)) {
|
|
|
|
//avoid saving blankspaces
|
|
|
|
continue;
|
|
|
|
}
|
|
|
|
$params = array($bookmark_id, trim($tag));
|
|
|
|
$query->execute($params);
|
|
|
|
}
|