Exemple #1
0
 /**
  * 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();
 }
Exemple #2
0
 /**
  * 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();
 }
Exemple #4
0
 /**
  * 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;
 }
Exemple #6
0
 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');
     }
 }
Exemple #7
0
 public static function rooms()
 {
     $rooms = array();
     foreach (ModelBase::staticGet('ROOMS') as $slug => $room) {
         $rooms[] = new Room($slug);
     }
     return $rooms;
 }
Exemple #8
0
 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);
 }
Exemple #10
0
 /**
  * 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();
     }
 }
Exemple #12
0
 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);
 }
Exemple #13
0
 /**
  * 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));
 }
Exemple #15
0
 public function __construct()
 {
     parent::__construct("fap.fap_registro");
 }
 public function __construct()
 {
     parent::__construct();
 }
Exemple #17
0
 public function __construct()
 {
     $this->table = "tags";
     parent::__construct($this->table);
 }
Exemple #18
0
    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);
 }
Exemple #20
0
<?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;
 }
Exemple #22
0
<?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'));
 }
Exemple #24
0
 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);
 }
Exemple #26
0
 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;
     }
 }
Exemple #28
0
 /**
  * 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();
 }
Exemple #29
0
 public function __construct()
 {
     parent::__construct("public.materia_mae");
 }
Exemple #30
0
 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);
 }