nextcloud/apps/bookmarks/ajax/editBookmark.php

87 lines
2.2 KiB
PHP
Raw Normal View History

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/>.
*
*/
//no apps or filesystem
$RUNTIME_NOSETUPFS=true;
2011-09-13 15:08:11 +04:00
// Check if we are a user
2012-05-03 14:23:29 +04:00
OCP\JSON::checkLoggedIn();
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')";
} 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"];
$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
SET url = ?, title =?, lastmodified = $_ut
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"]),
$bookmark_id,
$user_id,
2011-09-13 15:08:11 +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-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);
}