/** * @param mixed $id * @return WeLearn_DTO_IDTO */ public function remover($id) { if (!$id instanceof UUID) { $id = CassandraUtil::import($id); } $configuracaoRemovida = $this->recuperar($id); $this->_cf->remove($id->bytes); $configuracaoRemovida->setPersistido(false); return $configuracaoRemovida; }
public function alterar($id) { try { $UUID = CassandraUtil::import($id); $categoriaDao = WeLearn_DAO_DAOFactory::create('CategoriaForumDAO'); $categoria = $categoriaDao->recuperar($UUID); $this->_expulsarNaoAutorizados($categoria->getCurso()); $dadosFormAlterar = array('nomeAtual' => $categoria->getNome(), 'descricaoAtual' => $categoria->getDescricao()); $dadosViewAlterar = array('idCurso' => $categoria->getCurso()->getId(), 'formAction' => 'forum/categoria/salvar', 'extraOpenForm' => 'id="form-alterar-categoria-forum"', 'hiddenFormData' => array('categoriaId' => $categoria->getId(), 'acao' => 'alterar'), 'formAlterar' => $this->template->loadPartial('form', $dadosFormAlterar, 'curso/forum/categoria'), 'textoBotaoSubmit' => 'Salvar!'); $this->_renderTemplateCurso($categoria->getCurso(), 'curso/forum/categoria/alterar', $dadosViewAlterar); } catch (Exception $e) { log_message('error', 'Erro ao exibir formulário de alteração de categoria de fórum:' . create_exception_description($e)); show_404(); } }
public function actionUpdate() { $formModel = new ProfileForm(); if (isset($_POST['ProfileForm'])) { $allFieldTypes = $formModel->getAllFieldTypes(); foreach ($allFieldTypes as $fieldName => $fieldType) { $formModel->{$fieldName} = $_POST['ProfileForm'][$fieldName]; } if ($formModel->validate()) { $model = new Profile(); $data = array(); foreach ($allFieldTypes as $fieldName => $fieldType) { $data[$fieldName] = array('value' => $formModel->{$fieldName}); } $model->setProfileFields(CassandraUtil::import(Yii::app()->user->getId())->__toString(), User::PREFIX, $data); } } $this->render('update', array('model' => $formModel)); }
/** * Returns the static model of the specified AR class. * @param string $objectId The ID of the target object * @param string $objectType The type of the target object plus the underscore (_), for example, user_ * @param string $className active record class name * @return User the static model class */ public static function model($objectId, $objectType, $className = __CLASS__) { if (empty($objectId)) { $userId = Yii::app()->user->getId(); if (!empty($userId)) { $objectId = CassandraUtil::import($userId)->__toString(); } else { throw new InvalidArgumentException('Object ID is empty'); } } else { $objectId = CassandraUtil::import($objectId)->__toString(); } if (empty($objectType)) { $objectType = User::PREFIX; } // If there is an instance of this object, return it. if (isset(self::$_instances[$objectType . $objectId])) { return self::$_instances[$objectType . $objectId]; } else { $newInstance = new Profile($objectId, $objectType); self::$_instances[$objectType . $objectId] = $newInstance; return $newInstance; } }
public function removerTodosPorAvaliacao(WeLearn_Cursos_Avaliacoes_Avaliacao $avaliacao) { try { $questoesRemovidas = $this->recuperarTodosPorAvaliacao($avaliacao); } catch (cassandra_NotFoundException $e) { return array(); } foreach ($questoesRemovidas as $questao) { $questaoUUID = UUID::import($questao->getId()); $alternativasRemovidas = $this->_alternativaDAO->removerTodosPorQuestao($questao); $this->_cf->remove($questaoUUID->bytes); $alternativaCorreta = null; for ($i = 0; $i < count($alternativasRemovidas); $i++) { if ($alternativasRemovidas[$i]->isCorreta()) { $questao->setAlternativaCorreta($alternativasRemovidas[$i]); unset($alternativasRemovidas[$i]); break; } } $questao->setAlternativasIncorretas($alternativasRemovidas); $questao->setPersistido(false); } $avaliacaoUUID = CassandraUtil::import($avaliacao->getId()); $this->_questaoPorAvaliacaoCF->remove($avaliacaoUUID->bytes); return $questoesRemovidas; }
/** * @param mixed $id * @return WeLearn_DTO_IDTO */ public function remover($idConvite) { $convite = $this->recuperar($idConvite); $idConvite = CassandraUtil::import($idConvite)->bytes; $this->_cf->remove($idConvite); $this->_convitePorDestinatarioPorData->remove($convite->getDestinatario()->getId(), array($idConvite)); $this->_convitePorRemetentePorData->remove($convite->getRemetente()->getId(), array($idConvite)); $this->_convitePorRemetente->remove($convite->getRemetente()->getId(), array($convite->getDestinatario()->getId())); $this->_convitePorDestinatario->remove($convite->getDestinatario()->getId(), array($convite->getRemetente()->getId())); $convite->setPersistido(false); return $convite; }
/** * @param WeLearn_DTO_IDTO $dto * @return boolean */ protected function _adicionar(WeLearn_DTO_IDTO &$dto) { $UUID = UUID::mint(); $paginaUUID = CassandraUtil::import($dto->getPagina()->getId()); $dto->setId($UUID->string); $dto->setDataEnvio(time()); $this->_cf->insert($UUID->bytes, $dto->toCassandra()); $this->_comentarioPorPaginaCF->insert($paginaUUID->bytes, array($UUID->bytes => '')); $dto->setPersistido(true); }
/** * @param mixed $id * @return WeLearn_DTO_IDTO */ public function remover($id) { $UUID = CassandraUtil::import($id); $recursoRemovido = $this->recuperar($id); $this->_cf->remove($UUID->bytes); if ($recursoRemovido instanceof WeLearn_Cursos_Recursos_RecursoRestrito) { $aulaUUID = CassandraUtil::import($recursoRemovido->getAula()->getId()); $this->_recursosRestritosCF->remove($aulaUUID->bytes, array($UUID->bytes)); } elseif ($recursoRemovido instanceof WeLearn_Cursos_Recursos_RecursoGeral) { $cursoUUID = CassandraUtil::import($recursoRemovido->getCurso()->getId()); $this->_recursosGeraisCF->remove($cursoUUID->bytes, array($UUID->bytes)); } else { throw new WeLearn_Base_Exception('A classe removida tem que derivar de WeLearn_Cursos_Recursos_Recurso.'); } $recursoRemovido->setPersistido(false); return $recursoRemovido; }
public function test_uuid1_generation() { $micros = 1293769171436849.0; $uuid = CassandraUtil::import(CassandraUtil::uuid1(null, $micros)); $t = (int) ($uuid->time * 1000000); self::assertWithinMargin($micros, $t, 100); }
/** * @param WeLearn_Usuarios_Usuario $usuario * @param WeLearn_Cursos_Enquetes_Enquete $enquete * @return bool */ public function usuarioJaVotouEnquete(WeLearn_Usuarios_Usuario $usuario, WeLearn_Cursos_Enquetes_Enquete $enquete) { try { $enqueteUUID = CassandraUtil::import($enquete->getId()); $this->_cf->get($enqueteUUID->bytes, array($usuario->getId())); return true; } catch (cassandra_NotFoundException $e) { return false; } }
/** * @param WeLearn_DTO_IDTO $dto * @return boolean */ protected function _adicionar(WeLearn_DTO_IDTO &$dto) { $UUID = UUID::mint(); $moduloUUID = CassandraUtil::import($dto->getModulo()->getId()); $dto->setId($UUID->string); $dto->setNroOrdem($this->recuperarQtdTotalPorModulo($dto->getModulo()) + 1); $this->_cf->insert($UUID->bytes, $dto->toCassandra()); $this->_aulaPorModuloCF->insert($moduloUUID->bytes, array($dto->getNroOrdem() => $UUID->bytes)); $dto->setPersistido(true); }
/** * @param WeLearn_DTO_IDTO $dto * @return boolean */ public function _atualizar(WeLearn_DTO_IDTO $dto) { $UUID = CassandraUtil::import($dto->getId()); $this->_cf->insert($UUID->bytes, $dto->toCassandra()); }
/** * @param string $forumId * @return void */ public function removerTodosPorForum($forumId) { $forumUUID = CassandraUtil::import($forumId); try { $idsPosts = array_keys($this->_postsPorForumCF->get($forumUUID->bytes, null, '', '', true, 1000000)); foreach ($idsPosts as $id) { $this->_cf->remove($id); } $this->_postsPorForumCF->remove($forumUUID->bytes); } catch (cassandra_NotFoundException $e) { return; } }
/** * @param mixed $id * @return WeLearn_DTO_IDTO */ public function remover($idFeed) { $this->_cf->remove(CassandraUtil::import($idFeed)->bytes); }
/** * @param WeLearn_DTO_IDTO $dto * @return boolean */ protected function _atualizar(WeLearn_DTO_IDTO $dto) { $UUID = CassandraUtil::import($dto->getId()); //Verifica se houve alteração no segmento e reconstroi os indexes. $segmentoAtual = $this->_cf->get($UUID->bytes, array('segmento')); if ($segmentoAtual['segmento'] != $dto->getSegmento()->getId()) { $segmentoAtual = $this->_segmentoDAO->recuperar($segmentoAtual['segmento']); $this->_cursosPorAreaCF->remove($segmentoAtual->getArea()->getId(), array($UUID->bytes)); $this->_cursosPorSegmentoCF->remove($segmentoAtual->getId(), array($UUID->bytes)); $this->_cursosPorAreaCF->insert($dto->getSegmento()->getArea()->getId(), array($UUID->bytes => '')); $this->_cursosPorSegmentoCF->insert($dto->getSegmento()->getId(), array($UUID->bytes => '')); } $this->_cf->insert($UUID->bytes, $dto->toCassandra()); if (!is_null($dto->getImagem())) { $this->_imagemDAO->salvar($dto->getImagem()); } if (!is_null($dto->getConfiguracao())) { $this->_configuracaoDAO->salvar($dto->getConfiguracao()); } get_instance()->db->where('id', $dto->getId())->update($this->_mysql_tbl_name, $dto->toMySQL()); }
/** * @param mixed $id * @return WeLearn_DTO_IDTO */ public function remover($id) { $UUID = CassandraUtil::import($id); $paginaRemovida = $this->recuperar($id); $aulaUUID = CassandraUtil::import($paginaRemovida->getAula()->getId()); $this->_cf->remove($UUID->bytes); $this->_paginaPorAulaCF->remove($aulaUUID->bytes, array($paginaRemovida->getNroOrdem())); $curso = $paginaRemovida->getAula()->getModulo()->getCurso(); $cursoUUID = CassandraUtil::import($curso->getId()); $this->_contadorCF->add($this->_keyContador, $cursoUUID->bytes, -1); $controlePaginaDao = WeLearn_DAO_DAOFactory::create('ControlePaginaDAO', null, false); $idsAlunos = WeLearn_DAO_DAOFactory::create('AlunoDAO')->recuperarTodasIdsPorCurso($curso); for ($i = 0; $i < count($idsAlunos); $i++) { $cfKey = $idsAlunos[$i] . '::' . $curso->getId(); $controlePaginaDao->decrementarPaginasVistas($cfKey); } $paginaRemovida->setPersistido(false); return $paginaRemovida; }
/** * @param WeLearn_DTO_IDTO $dto * @return boolean */ protected function _adicionar(WeLearn_DTO_IDTO &$dto) { $dto->setId($dto->getModulo()->getId()); $UUID = CassandraUtil::import($dto->getId()); $this->_cf->insert($UUID->bytes, $dto->toCassandra()); $dto->setPersistido(true); }
/** * @param mixed $id * @return WeLearn_DTO_IDTO */ public function remover($id) { $UUID = CassandraUtil::import($id); $sugestaoRemovida = $this->recuperar($UUID); $this->_removerIndexesAceitos($sugestaoRemovida); $this->_cf->remove($UUID->bytes); $sugestaoRemovida->setPersistido(false); return $sugestaoRemovida; }
/** * @param WeLearn_DTO_IDTO $dto * @return boolean */ protected function _adicionar(WeLearn_DTO_IDTO &$dto) { $UUID = UUID::mint(); $dto->setId($UUID->string); $dto->setDataCriacao(time()); $this->_cf->insert($UUID->bytes, $dto->toCassandra()); $UUIDCurso = CassandraUtil::import($dto->getCurso()->getId()); $this->_categoriasPorCursoCF->insert($UUIDCurso->bytes, array($UUID->bytes => '')); $dto->setPersistido(true); }
/** * @param mixed $id * @return WeLearn_DTO_IDTO */ public function remover($id) { $UUID = CassandraUtil::import($id); $moduloRemovido = $this->recuperar($id); $cursoUUID = CassandraUtil::import($moduloRemovido->getCurso()->getId()); $this->_cf->remove($UUID->bytes); $this->_moduloPorCursoCF->remove($cursoUUID->bytes, array($moduloRemovido->getNroOrdem())); $moduloRemovido->setPersistido(false); return $moduloRemovido; }
public function recuperarTodosTimeline($de = '', $ate = '', array $filtros = null) { if ($de != '') { $de = CassandraUtil::import($de)->bytes; } if ($ate != '') { $ate = CassandraUtil::import($ate)->bytes; } $idFeeds = $this->_TimelineCF->get($filtros['usuario']->getId(), null, $de, $ate, true, $filtros['count']); $resultado = $this->_cf->multiget(array_keys($idFeeds)); return $this->_criarVariosFromCassandra($resultado); }
/** * @param string $categoriaId * @return void */ public function removerTodosPorCategoria($categoriaId) { $categoriaUUID = CassandraUtil::import($categoriaId); try { $idsForuns = array_keys($this->_forumPorCategoriaCF->get($categoriaUUID->bytes, null, '', '', true, 1000000)); $postDao = WeLearn_DAO_DAOFactory::create('PostForumDAO'); foreach ($idsForuns as $id) { $this->_cf->remove($id); $postDao->removerTodosPorForum($id); } $this->_forumPorCategoriaCF->remove($categoriaUUID->bytes); $this->_forumAtivosCF->remove($categoriaUUID->bytes); $this->_forumInativosCF->remove($categoriaUUID->bytes); } catch (cassandra_NotFoundException $e) { return; } }
/** * @param WeLearn_DTO_IDTO $dto * @return boolean */ protected function _atualizar(WeLearn_DTO_IDTO $dto) { $UUID = CassandraUtil::import($dto->getId()); $cursoUUID = CassandraUtil::import($dto->getCurso()->getId()); $dadosAntigos = $this->_cf->get($UUID->bytes, array('status', 'situacao')); $statusAntigo = (int) $dadosAntigos['status']; $situacaoAntiga = (int) $dadosAntigos['situacao']; $this->_cf->insert($UUID->bytes, $dto->toCassandra()); if ($statusAntigo != $dto->getStatus()) { if ($dto->getStatus() == WeLearn_Cursos_Enquetes_StatusEnquete::ATIVA) { $this->_enquetePorStatusInativoCF->remove($cursoUUID->bytes, array($UUID->bytes)); $this->_enquetePorStatusAtivoCF->insert($cursoUUID->bytes, array($UUID->bytes => '')); } else { $this->_enquetePorStatusAtivoCF->remove($cursoUUID->bytes, array($UUID->bytes)); $this->_enquetePorStatusInativoCF->insert($cursoUUID->bytes, array($UUID->bytes => '')); } } if ($situacaoAntiga != $dto->getSituacao()) { if ($dto->getSituacao() == WeLearn_Cursos_Enquetes_SituacaoEnquete::ABERTA) { $this->_enquetePorSituacaoFechadoCF->remove($cursoUUID->bytes, array($UUID->bytes)); $this->_enquetePorSituacaoAbertoCF->insert($cursoUUID->bytes, array($UUID->bytes => '')); } else { $this->_enquetePorSituacaoAbertoCF->remove($cursoUUID->bytes, array($UUID->bytes)); $this->_enquetePorSituacaoFechadoCF->insert($cursoUUID->bytes, array($UUID->bytes => '')); } } }
/** * @param mixed $id * @return WeLearn_DTO_IDTO */ public function remover($id) { $UUID = CassandraUtil::import($id)->bytes; $mensagem = $this->_cf->get($UUID); $validador = $this->verificarSeHaMensagens($mensagem['remetente'], $mensagem['destinatario']); if ($validador == 1) { $this->_MPListaAmigosCF->remove($mensagem['remetente'], array($mensagem['destinatario'])); $this->_MPListaAmigosCF->remove($mensagem['destinatario'], array($mensagem['remetente'])); } $array_sort = array($mensagem['remetente'], $mensagem['destinatario']); sort($array_sort); $chave_amizade = implode('::', $array_sort); $this->_cf->remove($UUID); $this->_MPPorAmigosCF->remove($chave_amizade, array($UUID)); }
/** * Processes the uploaded image. * @param CUploadedFile $uploadedImg The uploaded image * @param string $title The title (or caption) of this image (optional) * @param string $description The detailed description of this image (optional) * @param string $albumName The name of the album to put the image in (optional) * @return string The ID of new uploaded image | false */ private function saveImg($uploadedImg, $title = '', $description = '', $albumName = '') { // Key $userId = CassandraUtil::import(Yii::app()->user->getId())->__toString(); $key = $userId . '_' . CassandraUtil::uuid1(); // Path $path = realpath(Yii::app()->params['storagePath']) . DIRECTORY_SEPARATOR . 'images' . DIRECTORY_SEPARATOR . $userId; if (!is_dir($path)) { mkdir($path, 0775); } if (!empty($albumName)) { $path .= DIRECTORY_SEPARATOR . $albumName; } if (!is_dir($path)) { mkdir($path, 0775); } // Save the image information before processing the image $data = array('storage_path' => $uploadedImg->getTempName(), 'mime_type' => $uploadedImg->getType(), 'extension' => $uploadedImg->getExtensionName(), 'user_id' => Yii::app()->user->getId()); if (!empty($title)) { $data['title'] = $title; } if (!empty($description)) { $data['description'] = $description; } if ($this->insert($key, $data) === false) { $uploadedImg->clean(); return false; } // Render this image into different versions $photoTypes = Setting::model()->photo_types; // Get list of image types in JSON format. Decode it. $photoTypes = json_decode($photoTypes['value'], true); $img = Yii::app()->imagemod->load($data['storage_path']); $convertedImgs = array(); foreach ($photoTypes as $type => $config) { $img->image_convert = 'jpg'; $img->image_resize = true; $img->image_ratio = true; $img->image_x = $config['width']; $img->image_y = $config['height']; if (isset($config['suffix'])) { $img->file_safe_name = $key . $config['suffix'] . '.jpg'; } else { $img->file_safe_name = $key . '.jpg'; } $img->process($path); if (!$img->processed) { // Delete the original image $uploadedImg->clean(); // Delete the record in db $this->delete($key); // Log the error Yii::log('Cannot resize the image ' . $data['storage_path'] . ' to ' . $path . '/' . $img->file_safe_name, 'error', 'application.modules.storage.Storage'); // Delete all converted images foreach ($convertedImgs as $imgType => $imgPath) { unlink($imgPath); } // Return false return false; } else { // Remember the path of converted image $convertedImgs[$type] = $img->file_dst_path; } // Update the database $data = array('storage_path' => $convertedImgs['original'], 'mime_type' => 'image/jpeg', 'extension' => 'jpg'); unset($convertedImgs['original']); $data = array_merge($data, $convertedImgs); if ($this->insert($key, $data) === false) { // Delete the original image $uploadedImg->clean(); // Delete the record in db $this->delete($key); // Log the error Yii::log('Cannot resize the image ' . $data['storage_path'] . ' to ' . $path . '/' . $img->file_safe_name, 'error', 'application.modules.storage.Storage'); // Delete all converted images unlink($data['storage_path']); foreach ($convertedImgs as $imgType => $imgPath) { unlink($imgPath); } // Return false return false; } } // Delete the temporary image $uploadedImg->clean(); return $key; }
/** * @param WeLearn_DTO_IDTO $dto * @return boolean */ protected function _adicionar(WeLearn_DTO_IDTO &$dto) { $amizadeColumns = $dto->toCassandra(); $this->_cf->insert($amizadeColumns['id'], $amizadeColumns); $timeUUID = CassandraUtil::import($amizadeColumns['timeUUID'])->bytes; $this->_amizadeRequisicoesCF->insert($dto->getUsuario()->getId(), array($dto->getAmigo()->getId() => '')); $this->_amizadeRequisicoesPorDataCF->insert($dto->getUsuario()->getId(), array($timeUUID => $dto->getAmigo()->getId())); $dto->setPersistido(true); }