コード例 #1
0
ファイル: Mapper.php プロジェクト: phpthinktank/blast-orm
 /**
  * Disable direct access to mapper
  *
  * @param array|\ArrayObject|stdClass|\ArrayObject|object|string $entity
  * @param \Doctrine\DBAL\Driver\Connection $connection
  */
 public function __construct($entity, $connection = null)
 {
     $this->connection = $connection;
     if ($entity instanceof DefinitionInterface) {
         $this->setEntity($entity->getEntity());
         $this->definition = $entity;
     } elseif ($entity instanceof ProviderInterface) {
         $this->setEntity($entity->getEntity());
         $this->provider = $entity;
     } else {
         $this->setEntity($entity);
     }
 }
コード例 #2
0
 /**
  * Remove user from project
  *
  * @param object $user User
  *
  * @return boolean $successFlag Success Flag
  */
 public function removeUser($user)
 {
     $successFlag = 0;
     if ($this->getEntity()->getUsers()->removeElement($user->getEntity())) {
         $successFlag = 1;
     }
     return $successFlag;
 }
コード例 #3
0
 /**
  * Método responsável pela inserção dos dados no Banco de Dados
  * @throws Exception
  */
 public function processarArquivo()
 {
     if ($this->validacao()) {
         $oDoctrine = Zend_Registry::get('em');
         try {
             $oDoctrine->getConnection()->beginTransaction();
             $oDataSistema = new DateTime();
             $oImportacaoDesif = new Contribuinte_Model_ImportacaoDesif();
             $oImportacaoDesif->setContribuinte($this->oContribuinte->getEntity());
             $oImportacaoDesif->setDataImportacao($oDataSistema);
             $oImportacaoDesif->setCompetenciaInicial($this->oDadosDesif->sCompetenciaInicial);
             $oImportacaoDesif->setCompetenciaFinal($this->oDadosDesif->sCompetenciaFinal);
             $oImportacaoDesif->setVersao($this->oDadosDesif->sVersao);
             $oImportacaoDesif->setNomeArquivo($this->oDadosDesif->sNomeArquivo);
             $oImportacaoDesif->persist();
             //Retornar o id para gerar o protocolo de sucesso
             $iImportacaoDesifId = $oImportacaoDesif->getId();
             // Grava as contas que ainda não estão salvas no plano de contas do DESIF
             foreach ($this->aDadosDesifContas as $oDadosConta) {
                 $aDesifConta = Contribuinte_Model_ImportacaoDesifConta::getByAttributes(array('conta' => $oDadosConta->sConta, 'contribuinte' => $this->oContribuinte->getEntity()));
                 $oDesifConta = array_shift($aDesifConta);
                 if (empty($oDesifConta)) {
                     $oPlanoContaAbrasf = Contribuinte_Model_PlanoContaAbrasf::getByAttribute('conta_abrasf', $oDadosConta->sContaCosif);
                     //Verifica se existe conta no plano abrasf para fazer o vínculo
                     if (empty($oPlanoContaAbrasf)) {
                         throw new Exception('Conta informada ' . $oDadosConta->sContaCosif . ' inexistente no plano de conta da ABRASF.', self::EXCEPTION_CONTA_INEXISTENTE_NO_PLANO_ABRASF);
                     }
                     $oImportacaoDesifConta = new Contribuinte_Model_ImportacaoDesifConta();
                     $oImportacaoDesifConta->setConta($oDadosConta->sConta);
                     $oImportacaoDesifConta->setNome($oDadosConta->sNome);
                     $oImportacaoDesifConta->setDescricaoConta($oDadosConta->sDescricaoConta);
                     $oImportacaoDesifConta->setPlanoContaAbrasf($oPlanoContaAbrasf->getEntity());
                     $oImportacaoDesifConta->setContribuinte($this->oContribuinte->getEntity());
                     if (!empty($oDadosConta->sContaPai)) {
                         $aContaPai = Contribuinte_Model_ImportacaoDesifConta::getByAttributes(array('conta' => $oDadosConta->sContaPai, 'contribuinte' => $this->oContribuinte->getEntity()));
                         $oContaPai = array_shift($aContaPai);
                         $oImportacaoDesifConta->setImportacaoDesifConta($oContaPai->getEntity());
                     }
                     $oImportacaoDesifConta->persist();
                 }
             }
             // Adiciona os dados das tarifas do banco
             foreach ($this->aDadosDesifTarifas as $oDesifTarifa) {
                 $aImportacaoDesifConta = Contribuinte_Model_ImportacaoDesifConta::getByAttributes(array('conta' => $oDesifTarifa->sConta, 'contribuinte' => $this->oContribuinte->getEntity()));
                 $oImportacaoDesifConta = array_shift($aImportacaoDesifConta);
                 if (!empty($oImportacaoDesifConta)) {
                     $oImportacaoDesifTarifa = new Contribuinte_Model_ImportacaoDesifTarifa();
                     $oImportacaoDesifTarifa->setImportacaoDesif($oImportacaoDesif->getEntity());
                     $oImportacaoDesifTarifa->setImportacaoDesifConta($oImportacaoDesifConta->getEntity());
                     $oImportacaoDesifTarifa->setTarifaBanco($oDesifTarifa->sTarifaConta);
                     $oImportacaoDesifTarifa->setDescricao($oDesifTarifa->sDescricao);
                     $oImportacaoDesifTarifa->persist();
                 }
             }
             // Adiciona os dados das receitas informadas
             foreach ($this->aDadosDesifReceitas as $oReceita) {
                 $aImportacaoDesifConta = Contribuinte_Model_ImportacaoDesifConta::getByAttributes(array('conta' => $oReceita->sConta, 'contribuinte' => $this->oContribuinte->getEntity()));
                 $oImportacaoDesifConta = array_shift($aImportacaoDesifConta);
                 if (empty($oImportacaoDesifConta)) {
                     throw new Exception("Conta {$oReceita->sConta} é inválida!");
                 }
                 $oImportacaoDesifReceita = new Contribuinte_Model_ImportacaoDesifReceita();
                 $oImportacaoDesifReceita->setImportacaoDesif($oImportacaoDesif->getEntity());
                 $oImportacaoDesifReceita->setImportacaoDesifConta($oImportacaoDesifConta->getEntity());
                 $oImportacaoDesifReceita->setSubTitu($oReceita->sConta);
                 $oImportacaoDesifReceita->setCodTribDesif($oReceita->sCodTribDesif);
                 $oImportacaoDesifReceita->setValrCredMens($oReceita->fValrCredMens);
                 $oImportacaoDesifReceita->setValrDebtMens($oReceita->fValrDebtMens);
                 $oImportacaoDesifReceita->setReceDecl($oReceita->fReceDecl);
                 $oImportacaoDesifReceita->setDeduReceDecl($oReceita->fDeduReceDecl);
                 $oImportacaoDesifReceita->setDescDedu($oReceita->fDescDedu);
                 $oImportacaoDesifReceita->setBaseCalc($oReceita->fBaseCalc);
                 $oImportacaoDesifReceita->setAliqIssqn($oReceita->fAliqIssqn);
                 $oImportacaoDesifReceita->setInctFisc($oReceita->fInctFisc);
                 $oImportacaoDesifReceita->persist();
             }
             $oDoctrine->getConnection()->commit();
             return $iImportacaoDesifId;
         } catch (Exception $oErro) {
             $oDoctrine->getConnection()->rollback();
             if ($oErro->getCode() == self::EXCEPTION_CONTA_INEXISTENTE_NO_PLANO_ABRASF) {
                 throw $oErro;
             }
             throw new Exception('Erro ao processar os arquivos da DES-IF!');
         }
     }
 }
コード例 #4
0
 /**
  * We link the entity widget type to the page.
  *
  * @param object $eventArgs
  *
  * @return void
  * @access protected
  * @final
  * @author Riad HELLAL <*****@*****.**>
  */
 private function _cropImage($eventArgs)
 {
     if ($this->container->isScopeActive('request') && isset($_SERVER['REQUEST_URI']) && !empty($_SERVER['REQUEST_URI'])) {
         $entityManager = $eventArgs->getEntityManager();
         $tab_post = $this->container->get('request')->request->all();
         if (!empty($tab_post['img_crop']) && $tab_post['img_crop'] == '1') {
             $entity = $eventArgs->getEntity();
             $getMedia = "getMedia";
             $setMedia = "setMedia";
             if ($this->isUsernamePasswordToken() && method_exists($entity, $getMedia) && method_exists($entity, $setMedia) && $entity->{$getMedia}() instanceof \Sfynx\MediaBundle\Entity\Mediatheque) {
                 $mediaPath = $this->container->get('sonata.media.twig.extension')->path($entity->{$getMedia}()->getImage()->getId(), 'reference');
                 $src = $this->container->get('kernel')->getRootDir() . '/../web/' . $mediaPath;
                 if (file_exists($src)) {
                     $extension = pathinfo($src, PATHINFO_EXTENSION);
                     $mediaCrop = $this->container->get('sonata.media.twig.extension')->path($entity->{$getMedia}()->getImage()->getId(), $tab_post['img_name']);
                     $targ_w = $tab_post['img_width'];
                     //$globals['tailleWidthEdito1'];
                     $targ_h = $tab_post['img_height'];
                     $jpeg_quality = $tab_post['img_quality'];
                     switch ($extension) {
                         case 'jpg':
                             $img_r = imagecreatefromjpeg($src);
                             break;
                         case 'jpeg':
                             $img_r = imagecreatefromjpeg($src);
                             break;
                         case 'gif':
                             $img_r = imagecreatefromgif($src);
                             break;
                         case 'png':
                             $img_r = imagecreatefrompng($src);
                             break;
                         default:
                             echo "L'image n'est pas dans un format reconnu. Extensions autorisées : jpg, jpeg, gif, png";
                             break;
                     }
                     $dst_r = imagecreatetruecolor($targ_w, $targ_h);
                     imagecopyresampled($dst_r, $img_r, 0, 0, $tab_post['x'], $tab_post['y'], $targ_w, $targ_h, $tab_post['w'], $tab_post['h']);
                     switch ($extension) {
                         case 'jpg':
                             imagejpeg($dst_r, $this->container->get('kernel')->getRootDir() . '/../web/' . $mediaCrop, $jpeg_quality);
                             break;
                         case 'jpeg':
                             imagejpeg($dst_r, $this->container->get('kernel')->getRootDir() . '/../web/' . $mediaCrop, $jpeg_quality);
                             break;
                         case 'gif':
                             imagegif($dst_r, $this->container->get('kernel')->getRootDir() . '/../web/' . $mediaCrop);
                             break;
                         case 'png':
                             imagepng($dst_r, $this->container->get('kernel')->getRootDir() . '/../web/' . $mediaCrop);
                             break;
                         default:
                             echo "L'image n'est pas dans un format reconnu. Extensions autorisées : jpg, gif, png";
                             break;
                     }
                     @chmod($this->container->get('kernel')->getRootDir() . '/../web/' . $mediaCrop, 0777);
                 }
             }
         } elseif (!empty($tab_post['img_crop']) && count($tab_post['img_crop']) >= 1) {
             if ($this->isUsernamePasswordToken()) {
                 foreach ($tab_post['img_crop'] as $media_id => $value) {
                     if ($value == 1) {
                         $mediaPath = $this->container->get('sonata.media.twig.extension')->path($media_id, 'reference');
                         $src = $this->container->get('kernel')->getRootDir() . '/../web/' . $mediaPath;
                         if (file_exists($src)) {
                             $extension = pathinfo($src, PATHINFO_EXTENSION);
                             $mediaCrop = $this->container->get('sonata.media.twig.extension')->path($media_id, $tab_post['img_name_' . $media_id]);
                             $targ_w = $tab_post['img_width_' . $media_id];
                             //$globals['tailleWidthEdito1'];
                             $targ_h = $tab_post['img_height_' . $media_id];
                             $jpeg_quality = $tab_post['img_quality_' . $media_id];
                             switch ($extension) {
                                 case 'jpg':
                                     $img_r = imagecreatefromjpeg($src);
                                     break;
                                 case 'jpeg':
                                     $img_r = imagecreatefromjpeg($src);
                                     break;
                                 case 'gif':
                                     $img_r = imagecreatefromgif($src);
                                     break;
                                 case 'png':
                                     $img_r = imagecreatefrompng($src);
                                     break;
                                 default:
                                     echo "L'image n'est pas dans un format reconnu. Extensions autorisées : jpg, jpeg, gif, png";
                                     break;
                             }
                             $dst_r = imagecreatetruecolor($targ_w, $targ_h);
                             imagecopyresampled($dst_r, $img_r, 0, 0, $tab_post['x_' . $media_id], $tab_post['y_' . $media_id], $targ_w, $targ_h, $tab_post['w_' . $media_id], $tab_post['h_' . $media_id]);
                             switch ($extension) {
                                 case 'jpg':
                                     imagejpeg($dst_r, $this->container->get('kernel')->getRootDir() . '/../web/' . $mediaCrop, $jpeg_quality);
                                     break;
                                 case 'jpeg':
                                     imagejpeg($dst_r, $this->container->get('kernel')->getRootDir() . '/../web/' . $mediaCrop, $jpeg_quality);
                                     break;
                                 case 'gif':
                                     imagegif($dst_r, $this->container->get('kernel')->getRootDir() . '/../web/' . $mediaCrop);
                                     break;
                                 case 'png':
                                     imagepng($dst_r, $this->container->get('kernel')->getRootDir() . '/../web/' . $mediaCrop);
                                     break;
                                 default:
                                     echo "L'image n'est pas dans un format reconnu. Extensions autorisées : jpg, gif, png";
                                     break;
                             }
                             @chmod($this->container->get('kernel')->getRootDir() . '/../web/' . $mediaCrop, 0777);
                         }
                     }
                 }
                 // endforeach
             }
         }
     }
 }
コード例 #5
0
 /**
  * We create the xml content about all layout block information.
  *
  * @param object $eventArgs THe object class
  * 
  * @return void
  * @access protected
  * @final
  * @author Etienne de Longeaux <*****@*****.**>
  */
 protected final function _Layout($eventArgs)
 {
     $entity = $eventArgs->getEntity();
     $entityManager = $eventArgs->getEntityManager();
     // we set the persist of the Page entity
     if ($entity instanceof Layout) {
         // If  autentication user
         if ($this->isUsernamePasswordToken()) {
             $init_pc_layout = str_replace("\\", "/", $entity->getFilePc());
             $init_mobile_layout = str_replace("\\", "/", $entity->getFileMobile());
             if (empty($init_pc_layout)) {
                 $init_pc_layout = $this->container->getParameter('sfynx.auth.layout.init.pc.template');
             }
             if (empty($init_mobile_layout)) {
                 $init_mobile_layout = $this->container->getParameter('sfynx.auth.layout.init.mobile.template');
             }
             $path_pc_layout = realpath($this->container->get('kernel')->locateResource($this->container->getParameter('sfynx.auth.theme.layout.front.pc.path') . $init_pc_layout));
             $path_mobile_layout = realpath($this->container->get('kernel')->locateResource($this->container->getParameter('sfynx.auth.theme.layout.front.mobile.path') . $init_mobile_layout . '/' . 'modele.html.twig'));
             // if the both path layout exist.
             if (!empty($path_pc_layout) && !empty($path_mobile_layout)) {
                 $content_file_pc = $this->container->get('sfynx.tool.file_manager')->getFileContent($path_pc_layout);
                 $content_file_mobile = $this->container->get('sfynx.tool.file_manager')->getFileContent($path_mobile_layout);
                 // Gets the different blocks from Twig layout
                 if (preg_match_all('#{% block (?P<block_name>(.*)) %}#sU', $content_file_pc, $matches_pc) && preg_match_all('#{% block (?P<block_name>(.*)) %}#sU', $content_file_mobile, $matches_mobile)) {
                     $tabs = array_unique(array_merge($matches_pc['block_name'], $matches_mobile['block_name']));
                 } else {
                     $tabs = array();
                 }
                 $tabs = $this->container->get('sfynx.tool.array_manager')->TrimArray($tabs);
                 // we get the list of all global blocks.
                 $pageManager = $this->container->get('pi_app_admin.manager.page');
                 $unset_values = $pageManager::$global_blocks;
                 // we create the xml content about all layout block information.
                 $source_xml = "<?xml version=\"1.0\"?>\n";
                 $source_xml .= "<config>\n";
                 $source_xml .= "    <blocks>\n";
                 foreach ($tabs as $key => $block_name) {
                     if (!in_array($block_name, $unset_values)) {
                         $source_xml .= "        <name>{$block_name}</name>\n";
                     }
                 }
                 $source_xml .= "    </blocks>\n";
                 $source_xml .= "</config>\n";
                 // we insert the config_xml value.
                 $entity->setConfigXml($source_xml);
             } else {
                 $this->setFlash('pi.session.flash.layout.notexist', 'warning');
             }
         }
     }
 }