X-Git-Url: https://projects.mako.cc/source/scuttle/blobdiff_plain/c7f63c8b9b12efd7b3c10b9f80cda06eaf32068f..b35c59521deae7405997a24cefd523d9e3592665:/importNetscape.php diff --git a/importNetscape.php b/importNetscape.php index b41345b..e78acab 100644 --- a/importNetscape.php +++ b/importNetscape.php @@ -1,7 +1,6 @@ getServiceInstance('BookmarkService'); +$userservice =& $sf->getServiceInstance('UserService'); +$templateservice =& $sf->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 @@ -39,47 +42,57 @@ if ($userservice->isLoggedOn() && sizeof($_FILES) > 0 && $_FILES['userfile']['si // Create link array preg_match_all('/([^<]*)/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); +}