diff options
author | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-28 06:09:45 +0000 |
---|---|---|
committer | mensonge <mensonge@b3834d28-1941-0410-a4f8-b48e95affb8f> | 2008-11-28 06:09:45 +0000 |
commit | e0949aa0adfdfee4f78733277ff43d850ef3582e (patch) | |
tree | 49685833ea28c0a6522933520ba526ffdb0cb77f /importStructure.php | |
parent | 96dfa82af5d9fd27b87eeef0ba877b022845e240 (diff) | |
download | semanticscuttle-e0949aa0adfdfee4f78733277ff43d850ef3582e.tar.gz semanticscuttle-e0949aa0adfdfee4f78733277ff43d850ef3582e.tar.bz2 |
New Feature: possibility to import a structure of hierarchical tags from a file
git-svn-id: https://semanticscuttle.svn.sourceforge.net/svnroot/semanticscuttle/trunk@179 b3834d28-1941-0410-a4f8-b48e95affb8f
Diffstat (limited to 'importStructure.php')
-rw-r--r-- | importStructure.php | 80 |
1 files changed, 80 insertions, 0 deletions
diff --git a/importStructure.php b/importStructure.php new file mode 100644 index 0000000..eb3df86 --- /dev/null +++ b/importStructure.php @@ -0,0 +1,80 @@ +<? +/*************************************************************************** + Copyright (C) 2004 - 2006 Scuttle project + http://sourceforge.net/projects/scuttle/ + http://scuttle.org/ + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2 of the License, or + (at your option) any later version. + + This program 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 General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + ***************************************************************************/ + +require_once('header.inc.php'); + +/* Service creation: only useful services are created */ +$userservice =& ServiceFactory::getServiceInstance('UserService'); +$templateservice =& ServiceFactory::getServiceInstance('TemplateService'); +$tag2tagservice =& ServiceFactory::getServiceInstance('Tag2TagService'); + +/* Managing current logged user */ +$currentUser = $userservice->getCurrentObjectUser(); + + +/* Managing all possible inputs */ +// First input is $_FILES + + +$tplVars = array(); +$tplVars['msg'] = ''; + +if ($userservice->isLoggedOn() && sizeof($_FILES) > 0 && $_FILES['userfile']['size'] > 0) { + $userinfo = $userservice->getCurrentObjectUser(); + + + // File handle + $html = file_get_contents($_FILES['userfile']['tmp_name']); + + // Create link array + preg_match_all('/(.*?)\n/', $html, $matches); + + //print_r($matches); die(); + + $fatherTag = ''; + $countNewLinks = 0; + foreach($matches[1] as $match) { + if($match == '') { + // do nothing because void line + }elseif(substr($match, 0, 2) == '//') { + // do nothing because commentary + } elseif(substr($match, 0, 2) == ' ') { + // add as child of previous tag + if($fatherTag != '') { + $tag2tagservice->addLinkedTags($fatherTag, $match, '>', $currentUser->getId()); + $countNewLinks++; + } else { + $tplVars['error'] = T_('Bad indentation'). ' '.$match; + } + } else{ + $fatherTag = $match; + } + } + $tplVars['msg'] = T_('New links between tags: ').$countNewLinks; + +} + +$templatename = 'importStructure.tpl'; +$tplVars['subtitle'] = T_('Import Structure'); +$tplVars['formaction'] = createURL('importStructure'); +$templateservice->loadTemplate($templatename, $tplVars); + +?> |