/** * Método que retorna todos os tipos cadastrados em formato de objeto JSON com as suas respectivas associações */ public function listar() { $fapTipo = new ModelBase("fap.fap_tipo"); $fapSubTipo = new ModelBase("fap.fap_subtipo"); $fapTipoTodos = $fapTipo->select("pk_fap_tipo>0"); while ($fap = $fapTipoTodos->fetchObject("fap_fap_tipo")) { $tmpFap = new stdClass(); $tmpFap->id = $fap->pk_fap_tipo; $tmpFap->nome = $fap->fap_tipo_nome; $tmpFap->categoria = $fap->cat; $tmpFap->subTipos = array(); $fapSubTipoTodos = $fapSubTipo->select("fk_fap_tipo={$fap->pk_fap_tipo}"); while ($fapSub = $fapSubTipoTodos->fetchObject("fap_fap_subtipo")) { $tmpSub = new stdClass(); $tmpSub->id = $fapSub->pk_fap_subtipo; $tmpSub->nome = $fapSub->fap_subtipo_nome; $tmpSub->cor = $fapSub->cor_subtipo; $tmpSub->score = $fapSub->pontuacao; $tmpSub->obs = $fapSub->obs; $tmpSub->positiva = (bool) $fapSub->positiva; array_push($tmpFap->subTipos, $tmpSub); } $this->appendResposta($tmpFap); } $this->statusTrue()->setStatusCod(0)->printResposta(); }
/** * Delete model by id. * * @param ModelBase $model * @throws ControllerException */ protected function _deleteModelById($sql, $model) { if ($model->validateForDelete()) { $stmt = $this->_dbh->prepare($sql); if (!$stmt) { throw new ControllerException('Prepared statement failed for ' . $sql); } $id = $model->getId(); if (!$stmt->bind_param('i', $id)) { throw new ControllerException('Binding parameters for prepared statement failed.'); } if (!$stmt->execute()) { throw new ControllerException('Failed to execute DELETE statement. (' . $this->_dbh->error . ')'); } /** * @SuppressWarnings checkAliases */ if (!$stmt->close()) { throw new ControllerException('Something broke while trying to close the prepared statement.'); } return; } else { throw new ControllerException('Invalid data'); } }
/** * Método que exibe a página com os detalhes do uso do sap de acordo com o professor informado * @param type $profCod O código do professor na tabela usuario_professor */ public function detalhes_de_uso_do_afa($profCod = FALSE) { // $this->forceMobile(); $profCodigo = (int) $profCod; if (!$profCodigo && !$this->getFiltros()->shadowbox) { echo Javascript::alert('O professor informado é inválido'); echo Javascript::shadowboxClose(); echo Javascript::close(); return; } $afaTipos = new ModelBase('afa.Afa_Tipo_Anotacao'); $afa = new Kernel_Models_Afa(); $this->setData('professor', $this->professores->selectUsuarioProfessor($profCodigo))->loadPlugin('google.jsapi')->loadPlugin('jquery.tablesorter')->setData('afaTipos', $afaTipos->select('pk_afa_tipo_anotacao>1'))->setData('avaliacoes', $afa->selectRegistrosDeProfessores(FALSE, $profCodigo, TRUE))->printView(); }
/** * Método que permite editar a conta selecionada * @param int $contaId */ public function editar($contaId = FALSE) { $id = (int) $contaId; $this->contas->setId($id); $conta = $this->contas->getObject(); if (!$id || !$conta) { echo Javascript::alert("A conta informada é inválida"); echo Javascript::history_back(); return; } // $acao = $this->load->model('public_acao'); $acao = new ModelBase("public.acao"); $this->setData('conta', $conta)->setData('acao', $acao->select("", array(), "", array('modulo')))->printView(); }
public function __construct() { if (self::$dbInstance === null) { self::$dbInstance = $this->getDatabaseInstance(); } $this->db = self::$dbInstance; }
public function loadPermissions() { $permissions = ModelBase::select($this->db, 'viewPermissionsByUser', 'user_role_user_id = ?', [$this->val('user_id')]); $this->permissions = []; foreach ($permissions as $permission) { $this->permissions[] = $permission->val('permission_name'); } }
public static function rooms() { $rooms = array(); foreach (ModelBase::staticGet('ROOMS') as $slug => $room) { $rooms[] = new Room($slug); } return $rooms; }
public function prepare($db) { $this->paging = Paging::getFromUrl(); $this->paging->limit = $this->page_size; Paging::$max_pages_links = $this->max_pages_links; $this->search = isset($_GET['s']) ? $_GET['s'] : ''; // add filtering logic here $this->data = ModelBase::select($db, $this->name, $this->where, $this->bindings, $this->types, $this->paging, $this->orderby); }
public function __construct() { parent::__construct("public.notificacoes"); $configs = new LoadConfig('central_notificacoes'); $this->tempoUpdate = (int) $configs->item('tempo_update'); $this->consultas = $configs->item('id'); $this->tempoNotif = $configs->item('tempo_notif'); $this->parametros = $this->ultimosValores = array(); $this->setAutoCriarTabelas(TRUE)->mapearVar('consulta_id', PDO::PARAM_STR, 250)->mapearVar('ult_valor', PDO::PARAM_INT)->mapearVar('parametros', PDO::PARAM_STR, 500); }
/** * Método que trabalha os dados para exibição dos indicadores dos professores * @param int $pkPesquisaCat O código da categoria da pesquisa * @param int $pkSerie O código da serie * @param int $pkTurma O código da turma */ public function indicadores($pkPesquisaCat, $pkSerie, $pkTurma) { $sqlPesquisa = new SqlPesquisa(); $pesquisaNome = $sqlPesquisa->get_pesquisa_nome((int) $pkPesquisaCat); if (!(int) $pkPesquisaCat || !(int) $pkSerie || !(int) $pkTurma || !count($pesquisaNome)) { echo Javascript::alert('Dados inválido. Os dados informados para a pesquisa são inválidos'); echo Javascript::shadowboxClose(); echo Javascript::history_back(); return; } $turma = new Kernel_Models_Turma(); // $fapRankingPesqTurmaInd = $this->load->model('fap_ranking_pesquisa_turma_indicador'); $fapRankingPesqTurmaInd = new ModelBase("fap.ranking_pesquisa_turma_indicador"); $rankingTurma = $fapRankingPesqTurmaInd->select('fk_pesquisa_cat=' . $pkPesquisaCat . ' and fk_turma=' . $pkTurma, array(), '', array('indicador'), array(), 0, 0, 0); $lsita = array(); $conteudo = $assiduidade = $disciplina = $envolvimento = array(); $arrayTipos = array('', 'Conteúdo', 'Assiduidade', 'Disciplina', 'Envolvimento'); while ($row = $rankingTurma->fetchObject()) { if (!isset($lsita[$row->fk_pes_questao_template][$row->fk_usuario_professor])) { $lsita[$row->fk_pes_questao_template][$row->fk_usuario_professor] = $row; } switch ($row->fk_pes_questao_template) { case 1: $conteudo[] = $row->indicador; break; case 2: $assiduidade[] = $row->indicador; break; case 3: $disciplina[] = $row->indicador; break; default: $envolvimento[] = $row->indicador; break; } } $conteudoMedia = Matematica::mediaAritimeticaArray($conteudo); $assiduidadeMedia = Matematica::mediaAritimeticaArray($assiduidade); $disciplinaMedia = Matematica::mediaAritimeticaArray($disciplina); $envolvimentoMedia = Matematica::mediaAritimeticaArray($envolvimento); $this->setData('sqlPesquisa', $sqlPesquisa)->setData('pkPesquisa', $pkPesquisaCat)->setData('pesquisaNome', $pesquisaNome)->setData('pkSerie', $pkSerie)->setData('pkTurma', $pkTurma)->setData('conteudoMedia', number_format($conteudoMedia, 1))->setData('conteudoConceito', View::bgConceito($conteudoMedia))->setData('assiduidadeMedia', number_format($assiduidadeMedia, 1))->setData('assiduidadeConceito', View::bgConceito($assiduidadeMedia))->setData('disciplinaMedia', number_format($disciplinaMedia, 1))->setData('disciplinaConceito', View::bgConceito($disciplinaMedia))->setData('envolvimentoMedia', number_format($envolvimentoMedia, 1))->setData('envolvimentoConceito', View::bgConceito($envolvimentoMedia))->setData('listaResumo', $lsita)->setData('arrayTipos', $arrayTipos)->setData('turma', $turma->getObject('pk_turma=' . (int) $pkTurma))->setData('pesquisaTurma', $sqlPesquisa->ranking_pesquisa_turma($pkPesquisaCat, $pkTurma, $this->getData('ano_letivo')))->setData('filtroTurmas', $sqlPesquisa->ranking_pesquisa_cat_fitro_turma($pkPesquisaCat, $pkSerie, $this->getData('ano_letivo')))->printView(); }
public function initialize() { parent::initialize(); $this->belongsTo('user_id', __NAMESPACE__ . '\\Users', 'id', array('alias' => 'User', 'foreignKey' => true)); // Do garbage collection if (mt_rand(1, 100) === 1) { $this->delete_expired(); } // This object has expired if (property_exists($this, 'expires') && $this->expires < time()) { $this->delete(); } }
private static function _get($array, $keychain, $default) { if (!is_array($keychain)) { $keychain = explode('.', $keychain); } $key = $keychain[0]; if (!isset($array[$key])) { return $default; } if (count($keychain) == 1) { return $array[$key]; } return ModelBase::_get($array[$key], array_slice($keychain, 1), $default); }
/** * Método que gera o ranking de uso do afa por parte dos coordenadores */ public function listar_ranking_uso_sap() { $this->loadPlugin("jquery.tablesorter"); if (!$this->getData('mobile')) { $this->appendJs('https://maxcdn.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js'); } $ano = filter_input(INPUT_GET, 'ano', FILTER_VALIDATE_INT); $coordenadores = new Kernel_Models_Coordenador(); $afaConceitoAluno = new Kernel_Models_Afa(); $afaConceitoAlunoTipo = new ModelBase('afa.Afa_Tipo_Anotacao'); $afaConceitoAlunoSubT = new ModelBase("afa.afa_subtipo_anotacao"); $colunas = array("fk_usuario_coordenador", "score", "pk_afa_subtipo_anotacao", "fk_afa_tipo_anotacao"); $avaliacoes = $afaConceitoAluno->listarPorAno($ano, TRUE, $colunas); $totalAva = $avaliacoes->rowCount(); $arrayAva = array(); if ($totalAva) { while ($row = $avaliacoes->fetchObject()) { Matematica::incrementoIsset($arrayAva[$row->fk_usuario_coordenador], 'qt'); Matematica::incrementoIsset($arrayAva[$row->fk_usuario_coordenador]['tipo'], $row->fk_afa_tipo_anotacao); Matematica::incrementoIsset($arrayAva[$row->fk_usuario_coordenador]['sub'], $row->pk_afa_subtipo_anotacao); } } $this->setData('afaConceitosTipos', $afaConceitoAlunoTipo->select("", array("*"), "", array('afa.afa_tipo_anotacao.afa_tipo_anotacao_nome'), array(), 0, 0, 0)->fetchAll(PDO::FETCH_GROUP | PDO::FETCH_CLASS))->setData('afaConceitosSubTipos', $afaConceitoAlunoSubT->select()->fetchAll(PDO::FETCH_GROUP | PDO::FETCH_CLASS))->setData('coordAtivos', $coordenadores->listarAtivos()->fetchAll(PDO::FETCH_CLASS))->setData('totalAva', $totalAva)->setData('arrayAva', $arrayAva)->printView(); }
/** * Updates a particular model. * If update is successful, the browser will be redirected to the 'view' page. * @param integer $id the ID of the model to be updated */ public function actionUpdate($id) { $model = $this->loadModel($id); $usersRol = UserRol::model()->findAll(); if (!Validator::HAS_DATA($usersRol)) { throw new CHttpException('404', Yii::t('app', 'No data available')); } $s2_userRoles = array_merge(array('' => ''), ModelBase::GET_MODEL_ATTRIBUTE_VALUES_TO_ARRAY($usersRol, null, 'name')); // Uncomment the following line if AJAX validation is needed // $this->performAjaxValidation($model); if (isset($_POST['User'])) { $model->attributes = $_POST['User']; if ($model->save()) { $this->redirect(array('view', 'id' => $model->id)); } } $model->password = null; $this->render('update', array('model' => $model, 's2_userRoles' => $s2_userRoles)); }
public function __construct() { parent::__construct("fap.fap_registro"); }
public function __construct() { parent::__construct(); }
public function __construct() { $this->table = "tags"; parent::__construct($this->table); }
public static function connect() { global $config; try { self::$pdo = new PDO($config["db"]["dsn"], $config["db"]["user"], $config["db"]["pass"]); } catch (PDOException $e) { ?> <h1>Database connection failure</h1> <p> Please ensure the database settings in config.php are correct. </p> <?php exit; } }
/** * @return Postshistory */ public static function findFirst($parameters = array()) { return parent::findFirst($parameters); }
<?php // システムのルートディレクトリパス define('ROOT_PATH', realpath(dirname(__FILE__) . '/..')); // ライブラリのディレクトリパス define('LIB_PATH', realpath(dirname(__FILE__) . '/../library')); // ライブラリとモデルのディレクトリをinclude_pathに追加 $includes = array(LIB_PATH, ROOT_PATH . '/models'); $incPath = implode(PATH_SEPARATOR, $includes); set_include_path(get_include_path() . PATH_SEPARATOR . $incPath); function __autoload($className) { require_once $className . ".php"; } $connInfo = array('host' => 'localhost', 'dbname' => 'seapa', 'dbuser' => 'root', 'password' => 'root'); ModelBase::setConnectionInfo($connInfo); $dispatcher = new Dispatcher(); $dispatcher->setSystemRoot(ROOT_PATH); $dispatcher->dispatch();
/** * Redo the following three functions to pull from a common ValidationFields array that contains information * about if they're required, what their rules are and whether or not they should be visible in an array version of the model. */ public static function fromArray(array $arr, $mode = "add") { $res = parent::fromArray($arr, $mode); return $res; }
<?php include_once $home_dir . 'classes/emails.php'; $page_title = t('Reset Password'); $data['show_form'] = false; if (isset($path[2]) && isset($_GET['reset_token'])) { $user_id = intval($path[2]); $reset_token = $_GET['reset_token']; $zUser = new User($db, $user_id); if ($zUser->is_loaded && $zUser->val('user_reset_password_expires') > ModelBase::mysqlTimestamp(time()) && password_verify($reset_token, $zUser->val('user_reset_password_hash'))) { if (isset($_POST['password']) && isset($_POST['password2'])) { if ($_POST['password'] == $_POST['password2']) { $zUser->data['user_password_hash'] = Authentication::hashPassword($_POST['password']); $zUser->data['user_reset_password_hash'] = null; $zUser->data['user_reset_password_expires'] = null; $zUser->save(); $messages->add(t('Your password was reset.'), 'success'); } else { $messages->error(t('Passwords don\'t match.')); } } else { $data['show_form'] = true; $data['user_id'] = $zUser->val('user_id'); $data['reset_token'] = $reset_token; $messages->add(t('Enter your new password.')); } } else { $messages->error(t('Your link seems to be invalid.')); } } else { $messages->error(t('This page should only be accessed from link sent to your e-mail.'));
public function initialize() { parent::initialize(); $this->belongsTo('banner_id', 'App\\Models\\Banners', 'id', array('alias' => 'banner')); $this->belongsTo('zone_id', 'App\\Models\\Zones', 'id', array('alias' => 'zone')); }
public function __construct($tabela = FALSE) { parent::__construct(is_string($tabela) ? $tabela : "public.usuario"); $this->arrayToken = array(); }
/** * Allows to query the first record that match the specified conditions * * @param mixed $parameters * @return AbstractCrons */ public static function findFirst($parameters = null) { return parent::findFirst($parameters); }
public function __construct() { parent::__construct("public.unidade"); }
/** * Método que deleta a mensagen instanciada * @return boolean Retorna true em caso de sucesso ou false em caso de erro */ public function delete($where = FALSE) { $destinModel = new ModelBase($this->getTabela() . "_destinatarios "); if (parent::delete()) { return $destinModel->delete("mensagem=" . $this->getId()); } else { return false; } }
/** * Retorna um histórico de aulas dadas * @param int $pkUsuario O código do professor. Não precisa ser informado caso o professor esteja logado * @param int $de Um filtro indicando que devem ser exibidos os registros a partir de uma determinada data * @param int $ate Um filtro indicando até onde devem ser exibidos os registros * @param int $escola Exibir apenas de uma escola * @param int $unidade Exibir os registros apenas de uma unidade * @param int $serie Os registros de uma unica série * @param int $turma Os registros de uma unica turma */ public function get_historico_aulas($pkUsuario = 0) { $validarUser = new Kernel_Models_ValidarUsuarios(); $professor = $validarUser->professor($pkUsuario); if ($professor) { $this->statusTrue()->setStatusCod(0); // $aulas = $this->load->model('public_aula'); $aulas = new ModelBase("public.aula"); $aulasList = $aulas->select('fk_usuario=' . $professor->getId() . ' and extract(year from data_aula)=\'' . date('Y') . '\'', array(), "inner join public.usuario_professor on pk_usuario_professor=fk_usuario_professor"); //Lendo as aulas do professor while ($row = $aulasList->fetchObject()) { $ret = new stdClass(); $ret->conteudo = $row->conteudo; $ret->dt_aula = $row->data_aula; $ret->obs = $row->obs; $this->appendResposta($ret); } } else { $this->setMensagem("O professor informado é inválido"); } $this->printResposta(); }
public function __construct() { parent::__construct("public.materia_mae"); }
public function validation() { $validators = [['validator' => 'uniqueness', 'params' => ['field' => ['name', 'idVenueType'], 'message' => sprintf('Another venue with same the name [%s] already exists.', $this->getName())]]]; return parent::validator($validators); }