<?php
/***************************************************************************
-Copyright (c) 2004 - 2006 Marcus Campbell
+Copyright (c) 2004 - 2010 Marcus Campbell
http://scuttle.org/
This program is free software; you can redistribute it and/or modify
***************************************************************************/
require_once 'header.inc.php';
+
$bookmarkservice =& ServiceFactory::getServiceInstance('BookmarkService');
-$userservice =& ServiceFactory::getServiceInstance('UserService');
+$userservice =& ServiceFactory::getServiceInstance('UserService');
$templateservice =& ServiceFactory::getServiceInstance('TemplateService');
+
$tplVars = array();
if ($userservice->isLoggedOn() && sizeof($_FILES) > 0 && $_FILES['userfile']['size'] > 0) {
$userinfo = $userservice->getCurrentUser();
if (isset($_POST['status']) && is_numeric($_POST['status'])) {
- $status = intval($_POST['status']);
- } else {
- $status = 2;
+ $status = intval($_POST['status']);
+ }
+ else {
+ $status = 2;
}
// File handle
// Create link array
preg_match_all('/<a\s+(.*?)\s*\/*>([^<]*)/si', $html, $matches);
- $links = $matches[1];
+ $links = $matches[1];
$titles = $matches[2];
$size = count($links);
for ($i = 0; $i < $size; $i++) {
- $attributes = preg_split('/\s+/s', $links[$i]);
- foreach ($attributes as $attribute) {
- $att = preg_split('/\s*=\s*/s', $attribute, 2);
- $attrTitle = $att[0];
- $attrVal = eregi_replace('"', '"', preg_replace('/([\'"]?)(.*)\1/', '$2', $att[1]));
- switch ($attrTitle) {
- case "HREF":
- $bAddress = $attrVal;
- break;
- case "ADD_DATE":
- $bDatetime = gmdate('Y-m-d H:i:s', $attrVal);
- break;
- }
- }
- $bTitle = eregi_replace('"', '"', trim($titles[$i]));
+ $bTags = '';
+ $bStatus = $status;
- if ($bookmarkservice->bookmarkExists($bAddress, $userservice->getCurrentUserId())) {
- $tplVars['error'] = T_('You have already submitted this bookmark.');
- } else {
- // If bookmark claims to be from the future, set it to be now instead
- if (strtotime($bDatetime) > time()) {
- $bDatetime = gmdate('Y-m-d H:i:s');
- }
+ $attributes = preg_split('/\s+/s', $links[$i]);
+ foreach ($attributes as $attribute) {
+ $att = preg_split('/\s*=\s*/s', $attribute, 2);
+ $attrTitle = $att[0];
+ $attrVal = str_replace('"', '"', preg_replace('/([\'"]?)(.*)\1/', '$2', $att[1]));
+ switch ($attrTitle) {
+ case 'HREF':
+ $bAddress = $attrVal;
+ break;
+ case 'ADD_DATE':
+ $bDatetime = gmdate('Y-m-d H:i:s', $attrVal);
+ break;
+ case 'PRIVATE':
+ $bStatus = (intval($attrVal) == 1) ? 2 : $status;
+ break;
+ case 'TAGS':
+ $bTags = strtolower($attrVal);
+ break;
+ }
+ }
+ $bTitle = str_replace('"', '"', trim($titles[$i]));
- if ($bookmarkservice->addBookmark($bAddress, $bTitle, NULL, $status, NULL, $bDatetime, false, true)) {
- $tplVars['msg'] = T_('Bookmark imported.');
- } else {
- $tplVars['error'] = T_('There was an error saving your bookmark. Please try again or contact the administrator.');
- }
+ if ($bookmarkservice->bookmarkExists($bAddress, $userservice->getCurrentUserId())) {
+ $tplVars['error'] = T_('You have already submitted this bookmark.');
+ } else {
+ // If bookmark claims to be from the future, set it to be now instead
+ if (strtotime($bDatetime) > time()) {
+ $bDatetime = gmdate('Y-m-d H:i:s');
}
+
+ if ($bookmarkservice->addBookmark($bAddress, $bTitle, NULL, $bStatus, $bTags, $bDatetime, false, true)) {
+ $tplVars['msg'] = T_('Bookmark imported.');
+ }
+ else {
+ $tplVars['error'] = T_('There was an error saving your bookmark. Please try again or contact the administrator.');
+ }
+ }
}
header('Location: '. createURL('bookmarks', $userinfo[$userservice->getFieldName('username')]));
-} else {
- $templatename = 'importNetscape.tpl';
- $tplVars['subtitle'] = T_('Import Bookmarks from Browser File');
- $tplVars['formaction'] = createURL('importNetscape');
- $templateservice->loadTemplate($templatename, $tplVars);
}
-?>
+else {
+ $templatename = 'importNetscape.tpl';
+ $tplVars['subtitle'] = T_('Import Bookmarks from Browser File');
+ $tplVars['formaction'] = createURL('importNetscape');
+ $templateservice->loadTemplate($templatename, $tplVars);
+}