diff options
author | Golnaz Nilieh <g382nilieh@gmail.com> | 2011-09-13 15:38:11 +0430 |
---|---|---|
committer | Golnaz Nilieh <g382nilieh@gmail.com> | 2011-09-13 15:40:09 +0430 |
commit | 67addb488244621e3d118f2ee1d0165ba95b95ba (patch) | |
tree | b0e64bef5d904f17733248783d3f22a08943baf4 /apps/bookmarks/ajax | |
parent | 9a5530a48fa2fcbf978cbaaf9524713c425b93ea (diff) | |
download | nextcloud-server-67addb488244621e3d118f2ee1d0165ba95b95ba.tar.gz nextcloud-server-67addb488244621e3d118f2ee1d0165ba95b95ba.zip |
Add support of editing bookmarks.
Diffstat (limited to 'apps/bookmarks/ajax')
-rw-r--r-- | apps/bookmarks/ajax/editBookmark.php | 82 | ||||
-rw-r--r-- | apps/bookmarks/ajax/updateList.php | 2 |
2 files changed, 83 insertions, 1 deletions
diff --git a/apps/bookmarks/ajax/editBookmark.php b/apps/bookmarks/ajax/editBookmark.php new file mode 100644 index 00000000000..1bd2fc08bca --- /dev/null +++ b/apps/bookmarks/ajax/editBookmark.php @@ -0,0 +1,82 @@ +<?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; + +require_once('../../../lib/base.php'); + +// We send json data +header( 'Content-Type: application/jsonrequest' ); + +// Check if we are a user +if( !OC_User::isLoggedIn()){ + echo json_encode( array( 'status' => 'error', 'data' => array( 'message' => 'Authentication error' ))); + exit(); +} + +$CONFIG_DBTYPE = OC_Config::getValue( "dbtype", "sqlite" ); +if( $CONFIG_DBTYPE == 'sqlite' or $CONFIG_DBTYPE == 'sqlite3' ){ + $_ut = "strftime('%s','now')"; +} else { + $_ut = "UNIX_TIMESTAMP()"; +} + +$bookmark_id = (int)$_GET["id"]; + +$query = OC_DB::prepare(" + UPDATE *PREFIX*bookmarks + SET url = ?, title =?, description = ?, lastmodified = $_ut + WHERE id = $bookmark_id + "); + +$params=array( + htmlspecialchars_decode($_GET["url"]), + htmlspecialchars_decode($_GET["title"]), + htmlspecialchars_decode($_GET["description"]), + ); +$query->execute($params); + +# Remove old tags and insert new ones. +$query = OC_DB::prepare(" + DELETE FROM *PREFIX*bookmarks_tags + WHERE bookmark_id = $bookmark_id + "); + +$query->execute(); + +$query = OC_DB::prepare(" + INSERT INTO *PREFIX*bookmarks_tags + (bookmark_id, tag) + VALUES (?, ?) + "); + +$tags = explode(' ', urldecode($_GET["tags"])); +foreach ($tags as $tag) { + if(empty($tag)) { + //avoid saving blankspaces + continue; + } + $params = array($bookmark_id, trim($tag)); + $query->execute($params); +} diff --git a/apps/bookmarks/ajax/updateList.php b/apps/bookmarks/ajax/updateList.php index ceecc5b7efa..67acb2190ca 100644 --- a/apps/bookmarks/ajax/updateList.php +++ b/apps/bookmarks/ajax/updateList.php @@ -64,7 +64,7 @@ if( $CONFIG_DBTYPE == 'sqlite' or $CONFIG_DBTYPE == 'sqlite3' ){ } $query = OC_DB::prepare(' - SELECT url, title, description, + SELECT id, url, title, description, CASE WHEN *PREFIX*bookmarks.id = *PREFIX*bookmarks_tags.bookmark_id THEN GROUP_CONCAT( tag ' .$_gc_separator. ' ) ELSE \' \' |