diff --git a/lib/classes/set/export.class.php b/lib/classes/set/export.class.php index 476a5a8825..ef8f3e649c 100644 --- a/lib/classes/set/export.class.php +++ b/lib/classes/set/export.class.php @@ -9,7 +9,7 @@ * file that was distributed with this source code. */ -use User_Adapter; +use Alchemy\Phrasea\Application; use Symfony\Component\Filesystem\Filesystem; use Symfony\Component\HttpFoundation\ResponseHeaderBag; @@ -21,6 +21,7 @@ use Symfony\Component\HttpFoundation\ResponseHeaderBag; */ class set_export extends set_abstract { + protected $app; protected $storage = array(); protected $total_download; protected $total_order; @@ -34,45 +35,42 @@ class set_export extends set_abstract /** * - * @param string $lst - * @param int $sstid + * @param Application $app + * @param string $lst + * @param int $sstid * @return set_export */ - public function __construct($lst, $sstid, $storyWZid = null) + public function __construct(Application $app, $lst, $sstid, $storyWZid = null) { - $Core = bootstrap::getCore(); + $this->app = $app; + $registry = $this->app['phraseanet.registry']; - $appbox = appbox::get_instance($Core); - $session = $appbox->get_session(); - $registry = $appbox->get_registry(); - - $user = $Core->getAuthenticatedUser(); + $user = $app['phraseanet.user']; $download_list = array(); $remain_hd = array(); if ($storyWZid) { - $repository = $Core->getEntityManager()->getRepository('\\Entities\\StoryWZ'); + $repository = $app['EM']->getRepository('\\Entities\\StoryWZ'); - $storyWZ = $repository->findByUserAndId($user, $storyWZid); + $storyWZ = $repository->findByUserAndId($this->app, $user, $storyWZid); - $lst = $storyWZ->getRecord()->get_serialize_key(); + $lst = $storyWZ->getRecord($this->app)->get_serialize_key(); } if ($sstid != "") { - $em = $Core->getEntityManager(); - $repository = $em->getRepository('\Entities\Basket'); + $repository = $app['EM']->getRepository('\Entities\Basket'); /* @var $repository \Repositories\BasketRepository */ - $Basket = $repository->findUserBasket($sstid, $user, false); + $Basket = $repository->findUserBasket($this->app, $sstid, $user, false); foreach ($Basket->getElements() as $basket_element) { /* @var $basket_element \Entities\BasketElement */ - $base_id = $basket_element->getRecord()->get_base_id(); - $record_id = $basket_element->getRecord()->get_record_id(); + $base_id = $basket_element->getRecord($this->app)->get_base_id(); + $record_id = $basket_element->getRecord($this->app)->get_record_id(); - if ( ! isset($remain_hd[$base_id])) { + if (!isset($remain_hd[$base_id])) { if ($user->ACL()->is_restricted_download($base_id)) { $remain_hd[$base_id] = $user->ACL()->remaining_download($base_id); } else { @@ -82,7 +80,8 @@ class set_export extends set_abstract $current_element = $download_list[] = new record_exportElement( - $basket_element->getRecord()->get_sbas_id(), + $app, + $basket_element->getRecord($this->app)->get_sbas_id(), $record_id, $Basket->getName() . '/', $remain_hd[$base_id] @@ -99,7 +98,7 @@ class set_export extends set_abstract continue; try { - $record = new record_adapter($basrec[0], $basrec[1]); + $record = new record_adapter($this->app, $basrec[0], $basrec[1]); } catch (Exception_Record_AdapterNotFound $e) { continue; } @@ -109,7 +108,7 @@ class set_export extends set_abstract $base_id = $child_basrec->get_base_id(); $record_id = $child_basrec->get_record_id(); - if ( ! isset($remain_hd[$base_id])) { + if (!isset($remain_hd[$base_id])) { if ($user->ACL()->is_restricted_download($base_id)) { $remain_hd[$base_id] = $user->ACL()->remaining_download($base_id); @@ -120,6 +119,7 @@ class set_export extends set_abstract $current_element = $download_list[] = new record_exportElement( + $app, $child_basrec->get_sbas_id(), $record_id, $record->get_title(null, null, true) . '_' . $n . '/', @@ -132,7 +132,7 @@ class set_export extends set_abstract $base_id = $record->get_base_id(); $record_id = $record->get_record_id(); - if ( ! isset($remain_hd[$base_id])) { + if (!isset($remain_hd[$base_id])) { if ($user->ACL()->is_restricted_download($base_id)) { $remain_hd[$base_id] = $user->ACL()->remaining_download($base_id); @@ -144,6 +144,7 @@ class set_export extends set_abstract $current_element = $download_list[$basrec[0] . '_' . $basrec[1]] = new record_exportElement( + $app, $record->get_sbas_id(), $record_id, '', @@ -152,7 +153,7 @@ class set_export extends set_abstract $remain_hd[$base_id] = $current_element->get_remain_hd(); } - $n ++; + $n++; } } @@ -173,7 +174,7 @@ class set_export extends set_abstract } foreach ($download_element->get_downloadable() as $name => $properties) { - if ( ! isset($display_download[$name])) { + if (!isset($display_download[$name])) { $display_download[$name] = array( 'size' => 0, 'total' => 0, @@ -182,20 +183,20 @@ class set_export extends set_abstract ); } - $display_download[$name]['total'] ++; + $display_download[$name]['total']++; if ($properties !== false) { - $display_download[$name]['available'] ++; + $display_download[$name]['available']++; $display_download[$name]['label'] = $properties['label']; $display_download[$name]['class'] = $properties['class']; - $this->total_download ++; + $this->total_download++; $display_download[$name]['size'] += $download_element->get_size($name); } else { $display_download[$name]['refused'][] = $download_element->get_thumbnail(); } } foreach ($download_element->get_orderable() as $name => $properties) { - if ( ! isset($display_orderable[$name])) { + if (!isset($display_orderable[$name])) { $display_orderable[$name] = array( 'total' => 0, 'available' => 0, @@ -203,11 +204,11 @@ class set_export extends set_abstract ); } - $display_orderable[$name]['total'] ++; + $display_orderable[$name]['total']++; if ($properties !== false) { - $display_orderable[$name]['available'] ++; - $this->total_order ++; + $display_orderable[$name]['available']++; + $this->total_order++; } else { $display_orderable[$name]['refused'][] = $download_element->get_thumbnail(); } @@ -261,7 +262,7 @@ class set_export extends set_abstract ) ) GROUP BY usr_id "; - $params = array(':usr_id' => $session->get_usr_id()); + $params = array(':usr_id' => $app['phraseanet.user']->get_id()); } $datas[] = array( @@ -279,7 +280,7 @@ class set_export extends set_abstract 'sendermail' => $user->get_email() ); - $stmt = $appbox->get_connection()->prepare($sql); + $stmt = $app['phraseanet.appbox']->get_connection()->prepare($sql); $stmt->execute($params); $rs = $stmt->fetchAll(PDO::FETCH_ASSOC); $stmt->closeCursor(); @@ -390,15 +391,13 @@ class set_export extends set_abstract */ public function prepare_export(User_Adapter $user, Filesystem $filesystem, Array $subdefs, $rename_title, $includeBusinessFields) { - if ( ! is_array($subdefs)) { + if (!is_array($subdefs)) { throw new Exception('No subdefs given'); } - $includeBusinessFields = ! ! $includeBusinessFields; + $includeBusinessFields = !!$includeBusinessFields; - $appbox = appbox::get_instance(\bootstrap::getCore()); - $session = $appbox->get_session(); - $registry = $appbox->get_registry(); + $registry = $this->app['phraseanet.registry']; $unicode = new unicode(); @@ -458,17 +457,17 @@ class set_export extends set_abstract $sd = $download_element->get_subdefs(); foreach ($download_element->get_downloadable() as $name => $properties) { - if ($properties === false || ! in_array($name, $subdefs)) { + if ($properties === false || !in_array($name, $subdefs)) { continue; } - if ( ! in_array($name, array('caption', 'caption-yaml')) && ! isset($sd[$name])) { + if (!in_array($name, array('caption', 'caption-yaml')) && !isset($sd[$name])) { continue; } set_time_limit(100); $subdef_export = $subdef_alive = false; - $n_files ++; + $n_files++; $tmp_pathfile = array('path' => null, 'file' => null); @@ -488,7 +487,7 @@ class set_export extends set_abstract break; case 'document': $subdef_export = true; - $path = recordutils_image::stamp($sd[$name]); + $path = recordutils_image::stamp($app, $sd[$name]); $tmp_pathfile = array( 'path' => $sd[$name]->get_path() , 'file' => $sd[$name]->get_file() @@ -509,10 +508,10 @@ class set_export extends set_abstract 'path' => $sd[$name]->get_path() , 'file' => $sd[$name]->get_file() ); - if ( ! $user->ACL()->has_right_on_base($download_element->get_base_id(), "nowatermark") - && ! $user->ACL()->has_preview_grant($download_element) + if (!$user->ACL()->has_right_on_base($download_element->get_base_id(), "nowatermark") + && !$user->ACL()->has_preview_grant($download_element) && $sd[$name]->get_type() == media_subdef::TYPE_IMAGE) { - $path = recordutils_image::watermark($sd[$name]); + $path = recordutils_image::watermark($app, $sd[$name]); if (file_exists($path)) { $tmp_pathfile = array( 'path' => dirname($path) @@ -593,7 +592,7 @@ class set_export extends set_abstract $n = 1; while (in_array(mb_strtolower($name), $file_names)) { - $n ++; + $n++; $suffix = "-" . $n; // pour diese si besoin $max_length = 31 - $sizeMaxExt - $sizeMaxAjout - mb_strlen($suffix); $name = mb_strtolower($files[$id]["export_name"]); @@ -617,21 +616,20 @@ class set_export extends set_abstract '4', '5', '6', '7', '8', '9', '-', '_', '.', '#'); while (isset($name[$i])) { - if ( ! in_array(mb_strtolower($name[$i]), $good_keys)) + if (!in_array(mb_strtolower($name[$i]), $good_keys)) $tmp_name .= '_'; else $tmp_name .= $name[$i]; $tmp_name = str_replace('__', '_', $tmp_name); - $i ++; + $i++; } $files[$id]["export_name"] = $tmp_name; if (in_array('caption', $subdefs)) { $caption_dir = $registry->get('GV_RootPath') . 'tmp/desc_tmp/' - . time() . $session->get_usr_id() - . $session->get_ses_id() . '/'; + . time() . $this->app['phraseanet.user']->get_id() . '/'; $filesystem->mkdir($caption_dir, 0750); @@ -652,8 +650,7 @@ class set_export extends set_abstract } if (in_array('caption-yaml', $subdefs)) { $caption_dir = $registry->get('GV_RootPath') . 'tmp/desc_tmp/' - . time() . $session->get_usr_id() - . $session->get_ses_id() . '/'; + . time() . $this->app['phraseanet.user']->get_id() . '/'; $filesystem->mkdir($caption_dir, 0750); @@ -706,7 +703,7 @@ class set_export extends set_abstract $list['complete'] = false; - random::updateToken($token, serialize($list)); + random::updateToken($this->app, $token, serialize($list)); $unicode = new \unicode(); @@ -727,7 +724,7 @@ class set_export extends set_abstract $zip->addFile($path, $name); if ($o == 'caption') { - if ( ! in_array(dirname($path), $toRemove)) { + if (!in_array(dirname($path), $toRemove)) { $toRemove[] = dirname($path); } $toRemove[] = $path; @@ -742,7 +739,7 @@ class set_export extends set_abstract $list['complete'] = true; $unicode = null; - random::updateToken($token, serialize($list)); + random::updateToken($this->app, $token, serialize($list)); $filesystem->remove($toRemove); $filesystem->chmod($zipFile, 0760); @@ -758,11 +755,8 @@ class set_export extends set_abstract * @param string $disposition * @return \Symfony\Component\HttpFoundation\Response */ - public static function stream_file( - $file, $exportname, $mime, $disposition = 'inline') + public static function stream_file(\registry $registry, $file, $exportname, $mime, $disposition = 'inline') { - $registry = registry::get_instance(); - $response = new Symfony\Component\HttpFoundation\Response(); $disposition = $disposition === 'attachment' ? ResponseHeaderBag::DISPOSITION_ATTACHMENT : ResponseHeaderBag::DISPOSITION_INLINE; @@ -801,7 +795,7 @@ class set_export extends set_abstract * @todo : merge this shitty fix with Response object. * */ - if ( ! headers_sent()) { + if (!headers_sent()) { header("Pragma: public"); } @@ -856,14 +850,11 @@ class set_export extends set_abstract */ public static function log_download(Array $list, $type, $anonymous = false, $comment = '') { - //download - $appbox = appbox::get_instance(\bootstrap::getCore()); - $session = $appbox->get_session(); $user = false; if ($anonymous) { } else { - $user = User_Adapter::getInstance($session->get_usr_id(), appbox::get_instance(\bootstrap::getCore())); + $user = $this->app['phraseanet.user']; } $tmplog = array(); @@ -878,10 +869,11 @@ class set_export extends set_abstract foreach ($files as $record) { foreach ($record["subdefs"] as $o => $obj) { - $sbas_id = phrasea::sbasFromBas($record['base_id']); - $record_object = new record_adapter($sbas_id, $record['record_id']); + $sbas_id = phrasea::sbasFromBas($this->app, $record['base_id']); - $session->get_logger($record_object->get_databox()) + $record_object = new record_adapter($this->app, $sbas_id, $record['record_id']); + + $this->app['phraseanet.logger']($record_object->get_databox()) ->log($record_object, $event_name, $o, $comment); if ($o != "caption") { @@ -890,7 +882,7 @@ class set_export extends set_abstract $log["poids"] = $obj["size"]; $log["shortXml"] = $record_object->get_caption()->serialize(caption_record::SERIALIZE_XML); $tmplog[$record_object->get_base_id()][] = $log; - if ( ! $anonymous && $o == 'document') + if (!$anonymous && $o == 'document') $user->ACL()->remove_remaining($record_object->get_base_id()); } @@ -906,12 +898,12 @@ class set_export extends set_abstract $list_base = array_unique(array_keys($tmplog)); - if ( ! $anonymous) { + if (!$anonymous) { $sql = "UPDATE basusr SET remain_dwnld = :remain_dl WHERE base_id = :base_id AND usr_id = :usr_id"; - $stmt = $appbox->get_connection()->prepare($sql); + $stmt = $this->app['phraseanet.appbox']->get_connection()->prepare($sql); foreach ($list_base as $base_id) { if ($user->ACL()->is_restricted_download($base_id)) { diff --git a/lib/classes/set/exportftp.class.php b/lib/classes/set/exportftp.class.php index 2ea0906867..7c21412aa7 100644 --- a/lib/classes/set/exportftp.class.php +++ b/lib/classes/set/exportftp.class.php @@ -9,6 +9,8 @@ * file that was distributed with this source code. */ +use Alchemy\Phrasea\Core\Configuration; + /** * * @@ -33,14 +35,13 @@ class set_exportftp extends set_export */ public function export_ftp($usr_to, $host, $login, $password, $ssl, $retry, $passif, $destfolder, $makedirectory, $logfile) { - $appbox = appbox::get_instance(\bootstrap::getCore()); - $session = $appbox->get_session(); - $user_f = User_Adapter::getInstance($session->get_usr_id(), $appbox); + $appbox = $this->app['phraseanet.appbox']; + $user_f = $this->app['phraseanet.user']; $conn = $appbox->get_connection(); $email_dest = ''; if ($usr_to) { - $user_t = User_Adapter::getInstance($usr_to, $appbox); + $user_t = User_Adapter::getInstance($usr_to, $this->app); $email_dest = $user_t->get_email(); } @@ -107,7 +108,7 @@ class set_exportftp extends set_export , ':sendermail' => $user_f->get_email() , ':text_mail_receiver' => $text_mail_receiver , ':text_mail_sender' => $text_mail_sender - , ':usr_id' => $session->get_usr_id() + , ':usr_id' => $user_f->get_id() , ':foldertocreate' => $makedirectory , ':logfile' => ( ! ! $logfile ? '1' : '0') ); diff --git a/lib/classes/set/order.class.php b/lib/classes/set/order.class.php index f2616a82f3..bf683d5da6 100644 --- a/lib/classes/set/order.class.php +++ b/lib/classes/set/order.class.php @@ -9,6 +9,8 @@ * file that was distributed with this source code. */ +use Alchemy\Phrasea\Application; +use Alchemy\Phrasea\Core\Configuration; use Alchemy\Phrasea\Controller\RecordsRequest; use Doctrine\Common\Collections\ArrayCollection; @@ -67,6 +69,7 @@ class set_order extends set_abstract * @var int */ protected $ssel_id; + protected $app; /** * Create a new order entry @@ -77,30 +80,30 @@ class set_order extends set_abstract * @param \DateTime $deadline * @return boolean */ - public static function create(appbox $appbox, RecordsRequest $records, \User_Adapter $orderer, $usage, \DateTime $deadline = null) + public static function create(Application $app, RecordsRequest $records, \User_Adapter $orderer, $usage, \DateTime $deadline = null) { - $appbox->get_connection()->beginTransaction(); + $app['phraseanet.appbox']->get_connection()->beginTransaction(); try { $sql = 'INSERT INTO `order` (`id`, `usr_id`, `created_on`, `usage`, `deadline`) VALUES (null, :from_usr_id, NOW(), :usage, :deadline)'; - $stmt = $appbox->get_connection()->prepare($sql); + $stmt = $app['phraseanet.appbox']->get_connection()->prepare($sql); $stmt->execute(array( ':from_usr_id' => $orderer->get_id(), ':usage' => $usage, - ':deadline' => (null !== $deadline ? phraseadate::format_mysql($deadline) : $deadline) + ':deadline' => (null !== $deadline ? $app['date-formatter']->format_mysql($deadline) : $deadline) )); $stmt->closeCursor(); - $orderId = $appbox->get_connection()->lastInsertId(); + $orderId = $app['phraseanet.appbox']->get_connection()->lastInsertId(); $sql = 'INSERT INTO order_elements (id, order_id, base_id, record_id, order_master_id) VALUES (null, :order_id, :base_id, :record_id, null)'; - $stmt = $appbox->get_connection()->prepare($sql); + $stmt = $app['phraseanet.appbox']->get_connection()->prepare($sql); foreach ($records as $record) { $stmt->execute(array( @@ -111,21 +114,21 @@ class set_order extends set_abstract } $stmt->closeCursor(); - $appbox->get_connection()->commit(); + $app['phraseanet.appbox']->get_connection()->commit(); } catch (Exception $e) { - $appbox->get_connection()->rollBack(); + $app['phraseanet.appbox']->get_connection()->rollBack(); return null; } - $evt_mngr = eventsmanager_broker::getInstance($appbox, \bootstrap::getCore()); + $evt_mngr = $app['events-manager']; $evt_mngr->trigger('__NEW_ORDER__', array( 'order_id' => $orderId, 'usr_id' => $orderer->get_id() )); - return new static($orderId); + return new static($app, $orderId); } /** @@ -137,7 +140,7 @@ class set_order extends set_abstract * @param integer $perPage * @return array */ - public static function listOrders(appbox $appbox, array $baseIds, $offsetStart = 0, $perPage = 10, $sort = null) + public static function listOrders(Application $app, array $baseIds, $offsetStart = 0, $perPage = 10, $sort = null) { $sql = 'SELECT distinct o.id, o.usr_id, created_on, deadline, `usage` @@ -150,14 +153,14 @@ class set_order extends set_abstract $elements = array(); - $stmt = $appbox->get_connection()->prepare($sql); + $stmt = $app['phraseanet.appbox']->get_connection()->prepare($sql); $stmt->execute(); $rs = $stmt->fetchAll(PDO::FETCH_ASSOC); $stmt->closeCursor(); foreach ($rs as $row) { $id = (int) $row['id']; - $elements[$id] = new set_order($id); + $elements[$id] = new static($app, $id); } unset($stmt); @@ -205,10 +208,10 @@ class set_order extends set_abstract * @param int $id * @return set_order */ - public function __construct($id) + public function __construct(Application $app, $id) { - $appbox = appbox::get_instance(\bootstrap::getCore()); - $session = $appbox->get_session(); + $this->app = $app; + $appbox = $app['phraseanet.appbox']; $conn = $appbox->get_connection(); $sql = 'SELECT o.id, o.usr_id, o.created_on, o.`usage`, o.deadline, @@ -229,8 +232,8 @@ class set_order extends set_abstract if ( ! $row) throw new Exception_NotFound('unknown order ' . $id); - $current_user = User_Adapter::getInstance($row['usr_id'], $appbox); - $user = User_Adapter::getInstance($session->get_usr_id(), $appbox); + $current_user = User_Adapter::getInstance($row['usr_id'], $app); + $user = $app['phraseanet.user']; $this->id = $row['id']; $this->user = $current_user; @@ -260,7 +263,8 @@ class set_order extends set_abstract $order_master_id = $row['order_master_id'] ? $row['order_master_id'] : false; $elements[$row['id']] = new record_orderElement( - phrasea::sbasFromBas($row['base_id']), + $app, + phrasea::sbasFromBas($this->app, $row['base_id']), $row['record_id'], $row['deny'], $order_master_id @@ -341,12 +345,9 @@ class set_order extends set_abstract * @param boolean $force * @return set_order */ - public function send_elements(Array $elements_ids, $force) + public function send_elements(Application $app, Array $elements_ids, $force) { - $appbox = appbox::get_instance(\bootstrap::getCore()); - $session = $appbox->get_session(); - $conn = $appbox->get_connection(); - $pusher = User_Adapter::getInstance($session->get_usr_id(), $appbox); + $conn = $app['phraseanet.appbox']->get_connection(); $basrecs = array(); foreach ($elements_ids as $id) { @@ -358,17 +359,15 @@ class set_order extends set_abstract } } - $core = \bootstrap::getCore(); - - $em = $core->getEntityManager(); + $dest_user = $this->user; $Basket = null; /* @var $repository \Repositories\BasketRepository */ if ($this->ssel_id) { - $repository = $em->getRepository('\Entities\Basket'); + $repository = $app['EM']->getRepository('\Entities\Basket'); try { - $Basket = $repository->findUserBasket($this->ssel_id, $core->getAuthenticatedUser(), false); + $Basket = $repository->findUserBasket($app, $this->ssel_id, $dest_user, false); } catch (\Exception $e) { $Basket = null; } @@ -378,10 +377,10 @@ class set_order extends set_abstract $Basket = new \Entities\Basket(); $Basket->setName(sprintf(_('Commande du %s'), $this->created_on->format('Y-m-d'))); $Basket->setOwner($this->user); - $Basket->setPusher($core->getAuthenticatedUser()); + $Basket->setPusher($app['phraseanet.user']); - $em->persist($Basket); - $em->flush(); + $app['EM']->persist($Basket); + $app['EM']->flush(); $this->ssel_id = $Basket->getId(); @@ -406,8 +405,8 @@ class set_order extends set_abstract foreach ($basrecs as $order_element_id => $basrec) { try { - $sbas_id = phrasea::sbasFromBas($basrec['base_id']); - $record = new record_adapter($sbas_id, $basrec['record_id']); + $sbas_id = phrasea::sbasFromBas($app, $basrec['base_id']); + $record = new record_adapter($app, $sbas_id, $basrec['record_id']); $BasketElement = new \Entities\BasketElement(); $BasketElement->setRecord($record); @@ -415,10 +414,10 @@ class set_order extends set_abstract $Basket->addBasketElement($BasketElement); - $em->persist($BasketElement); + $app['EM']->persist($BasketElement); $params = array( - ':usr_id' => $session->get_usr_id() + ':usr_id' => $app['phraseanet.user']->get_id() , ':order_id' => $this->id , ':order_element_id' => $order_element_id ); @@ -426,7 +425,7 @@ class set_order extends set_abstract $stmt->execute($params); $n ++; - $this->user->ACL()->grant_hd_on($record, $pusher, 'order'); + $this->user->ACL()->grant_hd_on($record, $app['phraseanet.user'], 'order'); unset($record); } catch (Exception $e) { @@ -434,15 +433,15 @@ class set_order extends set_abstract } } - $em->flush(); + $app['EM']->flush(); $stmt->closeCursor(); if ($n > 0) { - $evt_mngr = $Core['events-manager']; + $evt_mngr = $app['events-manager']; $params = array( 'ssel_id' => $this->ssel_id, - 'from' => $session->get_usr_id(), + 'from' => $app['phraseanet.user']->get_id(), 'to' => $this->user->get_id(), 'n' => $n ); @@ -460,9 +459,7 @@ class set_order extends set_abstract */ public function deny_elements(Array $elements_ids) { - $Core = bootstrap::getCore(); - $appbox = appbox::get_instance(\bootstrap::getCore()); - $session = $appbox->get_session(); + $appbox = $this->app['phraseanet.appbox']; $conn = $appbox->get_connection(); $n = 0; @@ -474,7 +471,7 @@ class set_order extends set_abstract AND ISNULL(order_master_id)'; $params = array( - ':order_master_id' => $session->get_usr_id() + ':order_master_id' => $this->app['phraseanet.user']->get_id() , ':order_id' => $this->id , ':order_element_id' => $order_element_id ); @@ -485,10 +482,10 @@ class set_order extends set_abstract } if ($n > 0) { - $evt_mngr = $Core['events-manager']; + $evt_mngr = $app['events-manager']; $params = array( - 'from' => $session->get_usr_id(), + 'from' => $this->app['phraseanet.user']->get_id(), 'to' => $this->user->get_id(), 'n' => $n ); diff --git a/lib/classes/set/selection.class.php b/lib/classes/set/selection.class.php index 96152c15c0..333aef9357 100644 --- a/lib/classes/set/selection.class.php +++ b/lib/classes/set/selection.class.php @@ -9,6 +9,9 @@ * file that was distributed with this source code. */ +use Alchemy\Phrasea\Application; +use Alchemy\Phrasea\Core\Configuration; + /** * * @@ -17,13 +20,14 @@ */ class set_selection extends set_abstract { - + protected $app; /** * * @return set_selection */ - public function __construct() + public function __construct(Application $app) { + $this->app = $app; $this->elements = array(); return $this; @@ -37,7 +41,7 @@ class set_selection extends set_abstract public function load_basket(\Entities\Basket $Basket) { foreach ($Basket->getElements() as $basket_element) { - $this->add_element($basket_element->getRecord()); + $this->add_element($basket_element->getRecord($this->app)); } return $this; @@ -50,10 +54,7 @@ class set_selection extends set_abstract */ public function grep_authorized(Array $rights = array(), Array $sbas_rights = array()) { - $appbox = appbox::get_instance(\bootstrap::getCore()); - $session = $appbox->get_session(); - - $user = User_Adapter::getInstance($session->get_usr_id(), $appbox); + $user = $this->app['phraseanet.user']; $to_remove = array(); @@ -127,7 +128,7 @@ class set_selection extends set_abstract $basrec = explode('_', $basrec); if (count($basrec) == 2) { try { - $record = new record_adapter((int) $basrec[0], (int) $basrec[1], count($this->elements)); + $record = new record_adapter($this->app, (int) $basrec[0], (int) $basrec[1], count($this->elements)); } catch (Exception $e) { continue; } @@ -152,7 +153,7 @@ class set_selection extends set_abstract { $ret = array(); foreach ($this->elements as $record) { - $sbas_id = phrasea::sbasFromBas($record->get_base_id()); + $sbas_id = phrasea::sbasFromBas($this->app, $record->get_base_id()); $ret[$sbas_id] = $sbas_id; }