2011-08-16 00:05:07 +04:00
|
|
|
<?php
|
|
|
|
|
|
|
|
/**
|
|
|
|
* ownCloud - bookmarks plugin
|
|
|
|
*
|
|
|
|
* @author Arthur Schiwon
|
|
|
|
* @copyright 2011 Arthur Schiwon blizzz@arthur-schiwon.de
|
|
|
|
*
|
|
|
|
* 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');
|
|
|
|
|
|
|
|
// Check if we are a user
|
2011-09-24 00:22:59 +04:00
|
|
|
OC_JSON::checkLoggedIn();
|
2011-10-01 01:05:10 +04:00
|
|
|
OC_JSON::checkAppEnabled('bookmarks');
|
2011-08-16 00:05:07 +04:00
|
|
|
|
2011-08-17 01:49:53 +04:00
|
|
|
$CONFIG_DBTYPE = OC_Config::getValue( "dbtype", "sqlite" );
|
|
|
|
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-08-17 01:49:53 +04:00
|
|
|
} else {
|
|
|
|
$_ut = "UNIX_TIMESTAMP()";
|
|
|
|
}
|
|
|
|
|
|
|
|
//FIXME: Detect when user adds a known URL
|
2011-08-16 00:05:07 +04:00
|
|
|
$query = OC_DB::prepare("
|
2011-08-17 01:49:53 +04:00
|
|
|
INSERT INTO *PREFIX*bookmarks
|
2011-10-08 15:54:45 +04:00
|
|
|
(url, title, user_id, public, added, lastmodified)
|
|
|
|
VALUES (?, ?, ?, 0, $_ut, $_ut)
|
2011-08-16 00:05:07 +04:00
|
|
|
");
|
2012-02-22 19:04:17 +04:00
|
|
|
|
|
|
|
if(empty($_GET["title"])) {
|
|
|
|
require_once('../bookmarksHelper.php');
|
|
|
|
$metadata = getURLMetadata($_GET["url"]);
|
|
|
|
$_GET["title"] = $metadata['title'];
|
|
|
|
}
|
|
|
|
|
2011-08-16 00:05:07 +04:00
|
|
|
$params=array(
|
2011-08-25 15:51:48 +04:00
|
|
|
htmlspecialchars_decode($_GET["url"]),
|
|
|
|
htmlspecialchars_decode($_GET["title"]),
|
2011-08-16 00:05:07 +04:00
|
|
|
OC_User::getUser()
|
|
|
|
);
|
|
|
|
$query->execute($params);
|
2011-10-17 01:03:03 +04:00
|
|
|
|
2011-10-29 13:40:48 +04:00
|
|
|
$b_id = OC_DB::insertid('*PREFIX*bookmarks');
|
2011-10-17 01:03:03 +04:00
|
|
|
|
2011-08-16 00:05:07 +04:00
|
|
|
if($b_id !== false) {
|
|
|
|
$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($b_id, trim($tag));
|
|
|
|
$query->execute($params);
|
|
|
|
}
|
2011-09-13 15:40:52 +04:00
|
|
|
|
2011-09-24 00:22:59 +04:00
|
|
|
OC_JSON::success(array('data' => $b_id));
|
2011-08-16 00:05:07 +04:00
|
|
|
}
|