1
0
mirror of https://github.com/owncloud/bookmarks.git synced 2025-01-19 15:52:10 +01:00
OwncloudBookmarksOfficial/ajax/editBookmark.php

91 lines
2.4 KiB
PHP
Raw Normal View History

2011-09-13 15:38:11 +04:30
<?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 12:23:29 +02:00
OCP\JSON::checkLoggedIn();
2012-07-20 20:12:36 +02:00
OCP\JSON::callCheck();
2011-09-13 15:38:11 +04:30
2012-05-03 12:23:29 +02:00
OCP\JSON::checkAppEnabled('bookmarks');
2011-09-13 15:38:11 +04:30
2012-05-02 13:28:56 +02:00
$CONFIG_DBTYPE = OCP\Config::getSystemValue( "dbtype", "sqlite" );
2011-09-13 15:38:11 +04:30
if( $CONFIG_DBTYPE == 'sqlite' or $CONFIG_DBTYPE == 'sqlite3' ){
$_ut = "strftime('%s','now')";
} elseif($CONFIG_DBTYPE == 'pgsql') {
$_ut = 'date_part(\'epoch\',now())::integer';
2012-07-30 20:46:14 +02:00
} elseif($CONFIG_DBTYPE == 'oci') {
$_ut = '(oracletime - to_date(\'19700101\',\'YYYYMMDD\')) * 86400';
2011-09-13 15:38:11 +04:30
} else {
$_ut = "UNIX_TIMESTAMP()";
}
2012-06-10 23:38:26 +02:00
$bookmark_id = (int)$_POST["id"];
$user_id = OCP\USER::getUser();
2011-09-13 15:38:11 +04:30
2012-07-30 20:46:14 +02:00
//TODO check using CURRENT_TIMESTAMP? prepare already does magic when using now()
$query = OCP\DB::prepare('
UPDATE `*PREFIX*bookmarks`
SET `url` = ?, `title` = ?, `lastmodified` = '.$_ut.'
WHERE `id` = ?
AND `user_id` = ?
');
2011-09-13 15:38:11 +04:30
$params=array(
2012-06-10 23:38:26 +02:00
htmlspecialchars_decode($_POST["url"]),
htmlspecialchars_decode($_POST["title"]),
$bookmark_id,
$user_id,
2011-09-13 15:38:11 +04:30
);
$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:38:11 +04:30
# Remove old tags and insert new ones.
2012-07-30 20:46:14 +02:00
$query = OCP\DB::prepare('
DELETE FROM `*PREFIX*bookmarks_tags`
WHERE `bookmark_id` = ?
');
2011-09-13 15:38:11 +04:30
2012-07-30 20:46:14 +02:00
$params=array(
$bookmark_id
);
$query->execute($params);
2011-09-13 15:38:11 +04:30
2012-07-30 20:46:14 +02:00
$query = OCP\DB::prepare('
INSERT INTO `*PREFIX*bookmarks_tags`
(`bookmark_id`, `tag`)
2011-09-13 15:38:11 +04:30
VALUES (?, ?)
2012-07-30 20:46:14 +02:00
');
2012-06-10 23:38:26 +02:00
$tags = explode(' ', urldecode($_POST["tags"]));
2011-09-13 15:38:11 +04:30
foreach ($tags as $tag) {
if(empty($tag)) {
//avoid saving blankspaces
continue;
}
$params = array($bookmark_id, trim($tag));
$query->execute($params);
}