mirror of
https://github.com/alchemy-fr/Phraseanet.git
synced 2025-10-09 19:13:26 +00:00

Conflicts: lib/Alchemy/Phrasea/Command/Developer/JavascriptBuilder.php lib/Alchemy/Phrasea/Controller/Prod/Basket.php lib/Alchemy/Phrasea/Core/Provider/TaskManagerServiceProvider.php lib/classes/Exception/Feed/ItemNotFound.php lib/classes/Exception/Feed/PublisherNotFound.php lib/classes/Feed/Abstract.php lib/classes/Feed/Adapter.php lib/classes/Feed/Aggregate.php lib/classes/Feed/Collection.php lib/classes/Feed/CollectionInterface.php lib/classes/Feed/Entry/Adapter.php lib/classes/Feed/Entry/Collection.php lib/classes/Feed/Entry/Interface.php lib/classes/Feed/Entry/Item.php lib/classes/Feed/Entry/ItemInterface.php lib/classes/Feed/Interface.php lib/classes/Feed/Link.php lib/classes/Feed/LinkInterface.php lib/classes/Feed/Publisher/Adapter.php lib/classes/Feed/Publisher/Interface.php lib/classes/Feed/Token.php lib/classes/Feed/TokenAggregate.php lib/classes/Feed/XML/Abstract.php lib/classes/Feed/XML/Atom.php lib/classes/Feed/XML/Cooliris.php lib/classes/Feed/XML/Interface.php lib/classes/Feed/XML/RSS.php lib/classes/Feed/XML/RSS/ImageInterface.php lib/classes/http/request.php lib/classes/module/console/schedulerStart.php lib/classes/module/console/schedulerState.php lib/classes/module/console/schedulerStop.php lib/classes/module/console/taskState.php lib/classes/module/console/tasklist.php lib/classes/module/console/taskrun.php lib/classes/registry.php lib/classes/registryInterface.php lib/classes/set/order.php lib/classes/system/url.php lib/classes/task/Scheduler.php lib/classes/task/appboxAbstract.php lib/classes/task/databoxAbstract.php lib/classes/task/manager.php lib/classes/task/period/RecordMover.php lib/classes/task/period/apibridge.php lib/classes/task/period/archive.php lib/classes/task/period/cindexer.php lib/classes/task/period/emptyColl.php lib/classes/task/period/ftp.php lib/classes/task/period/ftpPull.php lib/classes/task/period/subdef.php lib/classes/task/period/test.php lib/classes/task/period/writemeta.php lib/conf.d/PhraseaFixture/AbstractWZ.php lib/conf.d/PhraseaFixture/Basket/LoadFiveBaskets.php lib/conf.d/PhraseaFixture/Basket/LoadOneBasket.php lib/conf.d/PhraseaFixture/Basket/LoadOneBasketEnv.php lib/conf.d/PhraseaFixture/Lazaret/LoadOneFile.php lib/conf.d/PhraseaFixture/Story/LoadOneStory.php lib/conf.d/PhraseaFixture/UsrLists/ListAbstract.php lib/conf.d/PhraseaFixture/UsrLists/UsrList.php lib/conf.d/PhraseaFixture/UsrLists/UsrListEntry.php lib/conf.d/PhraseaFixture/UsrLists/UsrListOwner.php lib/conf.d/PhraseaFixture/ValidationParticipant/LoadOneParticipant.php lib/conf.d/PhraseaFixture/ValidationParticipant/LoadParticipantWithSession.php lib/conf.d/PhraseaFixture/ValidationSession/LoadOneValidationSession.php
98 lines
3.4 KiB
PHP
98 lines
3.4 KiB
PHP
<?php
|
|
|
|
/*
|
|
* This file is part of Phraseanet
|
|
*
|
|
* (c) 2005-2014 Alchemy
|
|
*
|
|
* For the full copyright and license information, please view the LICENSE
|
|
* file that was distributed with this source code.
|
|
*/
|
|
|
|
use Alchemy\Phrasea\Model\Entities\FtpExport;
|
|
use Alchemy\Phrasea\Model\Entities\FtpExportElement;
|
|
|
|
class set_exportftp extends set_export
|
|
{
|
|
/**
|
|
*
|
|
* @param integer $usr_to
|
|
* @param String $host
|
|
* @param String $login
|
|
* @param String $password
|
|
* @param integer $ssl
|
|
* @param integer $retry
|
|
* @param integer $passif
|
|
* @param String $destfolder
|
|
* @param String $makedirectory
|
|
* @param String $logfile
|
|
*
|
|
* @return boolean
|
|
*/
|
|
public function export_ftp($usr_to, $host, $login, $password, $ssl, $retry, $passif, $destfolder, $makedirectory, $logfile)
|
|
{
|
|
$email_dest = '';
|
|
if ($usr_to) {
|
|
$user_t = User_Adapter::getInstance($usr_to, $this->app);
|
|
$email_dest = $user_t->get_email();
|
|
}
|
|
|
|
$text_mail_receiver = "Bonjour,\n"
|
|
. "L'utilisateur "
|
|
. $this->app['authentication']->getUser()->get_display_name() . " (login : " . $this->app['authentication']->getUser()->get_login() . ") "
|
|
. "a fait un transfert FTP sur le serveur ayant comme adresse \""
|
|
. $host . "\" avec le login \"" . $login . "\" "
|
|
. "et pour repertoire de destination \""
|
|
. $destfolder . "\"\n";
|
|
|
|
$text_mail_sender = "Bonjour,\n"
|
|
. "Vous avez fait un export FTP avec les caracteristiques "
|
|
. "de connexion suivantes\n"
|
|
. "- adresse du serveur : \"" . $host . "\"\n"
|
|
. "- login utilisé \"" . $login . "\"\n"
|
|
. "- repertoire de destination \"" . $destfolder . "\"\n"
|
|
. "\n";
|
|
|
|
$export = new FtpExport();
|
|
$export->setNbretry(((int) $retry * 1) > 0 ? (int) $retry : 5)
|
|
->setMail($email_dest)
|
|
->setLogfile($logfile)
|
|
->setFoldertocreate($makedirectory)
|
|
->setUser($this->app['authentication']->getUser())
|
|
->setTextMailSender($text_mail_sender)
|
|
->setTextMailReceiver($text_mail_receiver)
|
|
->setSendermail($this->app['authentication']->getUser()->get_email())
|
|
->setDestfolder($destfolder)
|
|
->setPassif($passif == '1')
|
|
->setPwd($password)
|
|
->setSsl($ssl == '1')
|
|
->setLogin($login)
|
|
->setAddr($host);
|
|
|
|
$this->app['EM']->persist($export);
|
|
|
|
foreach ($this->list['files'] as $file) {
|
|
foreach ($file['subdefs'] as $subdef => $properties) {
|
|
$filename = $file['export_name'] . $properties["ajout"] . '.' . $properties['exportExt'];
|
|
$bfields = isset($properties['businessfields']) ? $properties['businessfields'] : null;
|
|
|
|
$element = new FtpExportElement();
|
|
$element->setBaseId($file['base_id'])
|
|
->setBusinessfields($bfields)
|
|
->setExport($export)
|
|
->setFilename($filename)
|
|
->setFolder($properties['folder'])
|
|
->setRecordId($file['record_id'])
|
|
->setSubdef($subdef);
|
|
$export->addElement($element);
|
|
|
|
$this->app['EM']->persist($element);
|
|
}
|
|
}
|
|
|
|
$this->app['EM']->flush();
|
|
|
|
return true;
|
|
}
|
|
}
|