One Hat Cyber Team
Your IP :
216.73.216.115
Server IP :
194.44.31.54
Server :
Linux zen.imath.kiev.ua 4.18.0-553.77.1.el8_10.x86_64 #1 SMP Fri Oct 3 14:30:23 UTC 2025 x86_64
Server Software :
Apache/2.4.37 (Rocky Linux) OpenSSL/1.1.1k
PHP Version :
5.6.40
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
ojs-umj311
/
tools
/
Edit File:
UMJimport.php.bad
<?php /** * @file tools/importExport.php * * Copyright (c) 2014-2017 Simon Fraser University * Copyright (c) 2003-2017 John Willinsky * Distributed under the GNU GPL v2. For full terms see the file docs/COPYING. * * @class importExport * @ingroup tools * * @brief CLI tool to perform import/export tasks */ require(dirname(__FILE__) . '/bootstrap.inc.php'); class importExport extends CommandLineTool { var $command; var $parameters; /** * Constructor. * @param $argv array command-line arguments (see usage) */ function __construct($argv = array()) { parent::__construct($argv); $this->command = array_shift($this->argv); $this->parameters = $this->argv; } /** * Print command usage information. */ function usage() { echo "Command-line tool for import/export tasks\n" . "Usage:\n" . "\t{$this->scriptName} list: List available plugins\n" . "\t{$this->scriptName} [pluginName] usage: Display usage information for a plugin\n" . "\t{$this->scriptName} [pluginName] [params...]: Invoke a plugin\n"; } /** * Parse and execute the import/export task. */ function execute() { $xmlFile = PWD .'/accepted.xml'; // file<---------------------------------------------------- $contextId = 1; // journal<------------------------------------------------- $sectionId = 1; // section<------------------------------------------------- $authorUserGroupId = 14; // user group for this journal<----------------------------- $userDao = DAORegistry::getDAO('UserDAO'); $user = $userDao->getByUserName('robot');// username<------------------------------------------------ $editorId = array(0,4,8,10,21); //ant, koch, maks, tim $editorGroupId = array(0,3,3,3,3); $genreId = 1; // from genres, context=2, key=SUBMISSION<------------------ $stageId = 2; // dunno<--------------------------------------------------- $mimeType = 'application/pdf'; $xmlString = file_get_contents($xmlFile); $document = new DOMDocument(); $document->loadXml($xmlString); $articles = $document->getElementsByTagName('article'); foreach ($articles as $article) { // Create new submission $submissionDao = Application::getSubmissionDAO(); $submission = $submissionDao->newDataObject(); $submission->setContextId($contextId); $submission->setSectionId($sectionId); $locale = $article->attributes->getNamedItem('locale')->nodeValue; $submission->setLocale($locale); $titles = $article->getElementsByTagName('title'); foreach ($titles as $title) { $submissionTitle = $title->nodeValue; $titleLocale = $title->attributes->getNamedItem('locale')->nodeValue; $submission->setTitle($submissionTitle, $titleLocale); $submission->setCleanTitle($submissionTitle, $titleLocale); } $abstracts = $article->getElementsByTagName('abstract'); foreach ($abstracts as $abstract) { $submissionAbstract = $abstract->nodeValue; $abstractLocale = $abstract->attributes->getNamedItem('locale')->nodeValue; $submission->setAbstract($submissionAbstract, $abstractLocale); } $submission->setStatus(1); $submission->setSubmissionProgress(0); // $submission->setStageId(1); $submission->initializePermissions(); $submission->stampStatusModified(); // $submission->setSubmissionProgress($this->step + 1); $submission->setStageId(WORKFLOW_STAGE_ID_EDITING); //$submission->setCopyrightNotice($this->context->getLocalizedSetting('copyrightNotice'), $this->getData('locale')); // Insert the submission $submissionId = $submissionDao->insertObject($submission); echo "New submission: ". $submission->getId() . "\n"; echo "Reg. No: " . $article->getElementsByTagName('id')[0]->nodeValue ."\n"; // Set authors $authorDao = DAORegistry::getDAO('AuthorDAO'); $authors = $article->getElementsByTagName('author'); foreach ($authors as $xmlauthor) { $author = $authorDao->newDataObject(); $firstnames = $xmlauthor->getElementsByTagName('firstname'); foreach ($firstnames as $firstname) { $name = $firstname->nodeValue; $locale = $firstname->attributes->getNamedItem('locale')->nodeValue; $author->setGivenName($name, $locale); } $lastnames = $xmlauthor->getElementsByTagName('lastname'); foreach ($lastnames as $lastname) { $name = $lastname->nodeValue; $locale = $lastname->attributes->getNamedItem('locale')->nodeValue; $author->setFamilyName($name, $locale); } $email = $xmlauthor->getElementsByTagName('email')[0]->nodeValue; $author->setEmail($email); $isPrimary = 0; $primary = $xmlauthor->attributes->getNamedItem('primary_contact')->nodeValue; if ($primary == 'true') { $isPrimary = 1; } $author->setPrimaryContact($isPrimary); $author->setIncludeInBrowse(1); $author->setUserGroupId($authorUserGroupId); $author->setSubmissionId($submissionId); $authorDao->insertObject($author); } $submissionFiles = $article->getElementsByTagName('submission_file'); foreach ($submissionFiles as $submissionFileNode) { $fileName = $submissionFileNode->attributes->getNamedItem('filename')->nodeValue; $fileSize = $submissionFileNode->attributes->getNamedItem('filesize')->nodeValue; $fileDate = $submissionFileNode->attributes->getNamedItem('date_uploaded')->nodeValue; $revision = $submissionFileNode->attributes->getNamedItem('revision')->nodeValue; echo "Uploading file: $fileName of $fileSize, date $fileDate \n"; $submissionFileDao = DAORegistry::getDAO('SubmissionFileDAO'); $submissionFile = $submissionFileDao->newDataObjectByGenreId($genreId); $submissionFile->setSubmissionId($submission->getId()); $submissionFile->setSubmissionLocale($submission->getLocale()); $submissionFile->setGenreId($genreId); $submissionFile->setFileStage($stageId); $submissionFile->setDateUploaded($fileDate); $submissionFile->setDateModified(Core::getCurrentDate()); $submissionFile->setViewable(true); $submissionFile->setOriginalFileName($fileName); $names = $submissionFileNode->getElementsByTagName('name'); foreach ($names as $name) { $nameText = $name->nodeValue; $nameLocale = $name->attributes->getNamedItem('locale')->nodeValue; //echo "Label [" . $nameLocale . "]: " . $nameText . "\n"; $submissionFile->setName($nameText, $nameLocale); } $content = base64_decode($submissionFileNode->getElementsByTagName('embed')[0]->nodeValue); // echo "Content: " . $content . "\n"; // $filename = $this->handleRevisionChildElement($n, $submission, $submissionFile); $submissionFile->setFileType($mimeType); import('lib.pkp.classes.file.TemporaryFileManager'); $temporaryFileManager = new TemporaryFileManager(); $temporaryFilename = tempnam($temporaryFileManager->getBasePath(), 'embed'); if (!file_put_contents($temporaryFilename, $content)) { echo "Error writing file!!!\n"; } $submissionFile->setUploaderUserId($user->getId()); // Determine the user group. // $submissionFile->setUserGroupId($authorUserGroupId); $fileSizeOnDisk = filesize($temporaryFilename); if ($fileSize != $fileSizeOnDisk) { echo "Error: wrong filesize\n"; } $submissionFile->setFileSize($fileSize); $submissionFile->setRevision($revision); $insertedSubmissionFile = $submissionFileDao->insertObject($submissionFile, $temporaryFilename, false); import('lib.pkp.classes.file.FileManager'); $fileManager = new FileManager(); $fileManager->deleteByPath($temporaryFilename); } $submission->setDateSubmitted($fileDate); $submissionDao->updateObject($submission); // Assign the user to the stage $stageAssignmentDao = DAORegistry::getDAO('StageAssignmentDAO'); // $stageAssignmentDao->build($submissionId, $authorUserGroupId, $user->getId()); // Add comments to editor //if ($this->getData('commentsToEditor')){ // $this->setCommentsToEditor($this->submissionId, $this->getData('commentsToEditor'), $user->getId()); //} if ($article->getElementsByTagName('editor')[0]) { $editor = $article->getElementsByTagName('editor')[0]->nodeValue; $stageAssignmentDao->build($submissionId, $editorGroupId[$editor], $editorId[$editor]); } $notes = $article->getElementsByTagName('note'); foreach($notes as $note){ $noteTitle = $note->attributes->getNamedItem('title')->nodeValue; $noteText = $note->nodeValue; $queryDao = DAORegistry::getDAO('QueryDAO'); $noteDao = DAORegistry::getDAO('NoteDAO'); $query = $queryDao->newDataObject(); $query->setAssocType(ASSOC_TYPE_SUBMISSION); $query->setAssocId($submissionId); $query->setStageId(WORKFLOW_STAGE_ID_EDITING); $query->setSequence(REALLY_BIG_NUMBER); $queryDao->insertObject($query); $queryDao->resequence(ASSOC_TYPE_SUBMISSION, $submissionId); $queryDao->insertParticipant($query->getId(), $user->getId()); $queryId = $query->getId(); $note = $noteDao->newDataObject(); $note->setUserId($user->getId()); $note->setAssocType(ASSOC_TYPE_QUERY); $note->setTitle($noteTitle); $note->setContents($noteText); $note->setDateCreated(Core::getCurrentDate()); $note->setDateModified(Core::getCurrentDate()); $note->setAssocId($queryId); $noteDao->insertObject($note); } } $submission = ''; echo "done\n"; return ; } } $tool = new importExport(isset($argv) ? $argv : array()); $tool->execute(); ?>
Simpan