/** * 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); } }
/** * 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; }
/** * 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!'); } } }
/** * 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 } } } }
/** * 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'); } } } }