Example #1
0
 public function logout()
 {
     Session::createSession();
     Session::destroySession();
     Session::unsetAll();
     $this->view->load('admin/login');
 }
Example #2
0
 public function logout()
 {
     //$this->model->logout();
     //Session::unsetAll();
     Session::createSession();
     $log = new Log();
     $log->addLog(Session::get('user'), 'LOGOUT', '');
     unset($log);
     Session::destroySession();
     //session_destroy();
     header('location:' . URL . 'login');
     exit;
 }
 /**
  * Builds the user session by getting and generating data from the database
  * and sets the values to the session
  * @param unknown_type $user_id
  */
 public function buildUserSession($user_id)
 {
     $Response = new stdClass();
     $Response->success = false;
     $dDao = new DefaultDao();
     $User = $dDao->retrieveUserLoginDetailsByUserId($user_id);
     if ($User != null) {
         Session::createSession('User', $User->User);
         $obj_merged = (object) array_merge((array) $User->UserDetails, (array) $User->UserParentDetails);
         Session::createSession('UserDetails', $obj_merged);
         Session::createSession('ModuleRights', $this->moduleRights($User->Rights));
         $Response->success = true;
     }
     return $Response;
 }
Example #4
0
 public function showAll($limit = null, $batas = null)
 {
     @Session::createSession();
     $role = Session::get('role');
     $bagian = Session::get('bagian');
     $user = Session::get('user');
     if (Auth::isRole($role, 2) and !Auth::isBagian($bagian, 1)) {
         $sql = "SELECT a.id_suratkeluar as id_suratkeluar,\r\n            a.rujukan as rujukan,\r\n            a.no_surat as no_surat,\r\n            a.tgl_surat as tgl_surat,\r\n            b.nama_satker as tujuan,\r\n            a.perihal as perihal,\r\n            c.sifat_surat as sifat,\r\n            d.klasifikasi as jenis,\r\n            a.lampiran as lampiran,\r\n            a.file as file,\r\n            e.status as status,\r\n            h.namaPegawai as user,\r\n            f.tipe_naskah as tipe,\r\n            a.start as start\r\n            FROM suratkeluar a LEFT JOIN alamat b ON a.tujuan = b.kode_satker\r\n            LEFT JOIN sifat_surat c ON a.sifat = c.kode_sifat\r\n            LEFT JOIN klasifikasi_surat d ON a.jenis = d.kode_klassurat\r\n            LEFT JOIN status e ON a.status = e.id_status\r\n            LEFT JOIN tipe_naskah f ON a.tipe = f.id_tipe \r\n            LEFT JOIN notifikasi g ON a.id_suratkeluar = g.id_surat\r\n            LEFT JOIN user h ON a.user = h.username\r\n            WHERE g.jenis_surat='SK' AND g.id_user="******"\r\n            GROUP BY a.id_suratkeluar ORDER BY a.id_suratkeluar DESC";
     } elseif (Auth::isRole($role, 3)) {
         $sql = "SELECT a.id_suratkeluar as id_suratkeluar,\r\n            a.rujukan as rujukan,\r\n            a.no_surat as no_surat,\r\n            a.tgl_surat as tgl_surat,\r\n            b.nama_satker as tujuan,\r\n            a.perihal as perihal,\r\n            c.sifat_surat as sifat,\r\n            d.klasifikasi as jenis,\r\n            a.lampiran as lampiran,\r\n            a.file as file,\r\n            e.status as status,\r\n            h.namaPegawai as user,\r\n            f.tipe_naskah as tipe,\r\n            a.start as start\r\n            FROM suratkeluar a LEFT JOIN alamat b ON a.tujuan = b.kode_satker\r\n            LEFT JOIN sifat_surat c ON a.sifat = c.kode_sifat\r\n            LEFT JOIN klasifikasi_surat d ON a.jenis = d.kode_klassurat\r\n            LEFT JOIN status e ON a.status = e.id_status\r\n            LEFT JOIN tipe_naskah f ON a.tipe = f.id_tipe\r\n            LEFT JOIN user h ON a.user = h.username\r\n            WHERE a.user='******'\r\n            GROUP BY a.id_suratkeluar ORDER BY a.id_suratkeluar DESC";
     } else {
         $sql = "SELECT a.id_suratkeluar as id_suratkeluar,\r\n            a.rujukan as rujukan,\r\n            a.no_surat as no_surat,\r\n            a.tgl_surat as tgl_surat,\r\n            b.nama_satker as tujuan,\r\n            a.perihal as perihal,\r\n            c.sifat_surat as sifat,\r\n            d.klasifikasi as jenis,\r\n            a.lampiran as lampiran,\r\n            a.file as file,\r\n            e.status as status,\r\n            h.namaPegawai as user,\r\n            f.tipe_naskah as tipe,\r\n            a.start as start\r\n            FROM suratkeluar a JOIN alamat b ON a.tujuan = b.kode_satker\r\n            JOIN sifat_surat c ON a.sifat = c.kode_sifat\r\n            JOIN klasifikasi_surat d ON a.jenis = d.kode_klassurat\r\n            JOIN status e ON a.status = e.id_status\r\n            LEFT JOIN user h ON a.user = h.username\r\n            JOIN tipe_naskah f ON a.tipe = f.id_tipe ORDER BY a.id_suratkeluar DESC";
     }
     //        var_dump($sql);
     if (!is_null($limit) and !is_null($batas)) {
         $sql .= " LIMIT {$limit},{$batas}";
     }
     $data = $this->select($sql);
     $surat = array();
     foreach ($data as $value) {
         $obj = new $this();
         $obj->setId($value['id_suratkeluar']);
         $obj->setRujukan($value['rujukan']);
         $obj->setNomor($value['no_surat']);
         $obj->setTglSurat($value['tgl_surat']);
         $obj->setAlamat($value['tujuan']);
         $obj->setPerihal($value['perihal']);
         $obj->setSifat($value['sifat']);
         $obj->setJenis($value['jenis']);
         $obj->setJmlLampiran($value['lampiran']);
         $obj->setFile($value['file']);
         $obj->setStatus($value['status']);
         $obj->setTipeSurat($value['tipe']);
         $obj->setStart($value['start']);
         $obj->setUserCreate($value['user']);
         $surat[] = $obj;
     }
     return $surat;
 }
Example #5
0
 public function showAll($limit = null, $batas = null)
 {
     @Session::createSession();
     $role = Session::get('role');
     $bagian = Session::get('bagian');
     $user = Session::get('user');
     if (Auth::isRole($role, 2) and !Auth::isBagian($bagian, 1) or Auth::isRole($role, 3)) {
         $sql = "SELECT a.id_suratmasuk as id_suratmasuk,\r\n                a.no_agenda as no_agenda,\r\n                a.no_surat as no_surat,\r\n                a.tgl_terima as tgl_terima,\r\n                a.tgl_surat as tgl_surat,\r\n                b.nama_satker as asal_surat,\r\n                a.perihal as perihal,\r\n                a.status as status,\r\n                a.sifat as sifat,\r\n                a.jenis as jenis,\r\n                a.lampiran as lampiran,\r\n                a.start as start,\r\n                a.end as end\r\n                FROM suratmasuk a LEFT JOIN alamat b \r\n                ON a.asal_surat = b.kode_satker\r\n                LEFT JOIN notifikasi c ON a.id_suratmasuk = c.id_surat\r\n                WHERE c.jenis_surat='SM' AND id_user="******"\r\n                ORDER BY a.id_suratmasuk DESC";
     } else {
         $sql = "SELECT a.id_suratmasuk as id_suratmasuk,\r\n                a.no_agenda as no_agenda,\r\n                a.no_surat as no_surat,\r\n                a.tgl_terima as tgl_terima,\r\n                a.tgl_surat as tgl_surat,\r\n                b.nama_satker as asal_surat,\r\n                a.perihal as perihal,\r\n                a.status as status,\r\n                a.sifat as sifat,\r\n                a.jenis as jenis,\r\n                a.lampiran as lampiran,\r\n                a.start as start,\r\n                a.end as end\r\n                FROM suratmasuk a LEFT JOIN alamat b \r\n                ON a.asal_surat = b.kode_satker\r\n                ORDER BY a.id_suratmasuk DESC";
     }
     //$sql = "SELECT * FROM suratmasuk";
     if (!is_null($limit) and !is_null($batas)) {
         $sql .= " LIMIT {$limit},{$batas}";
     }
     //        print_r($sql);
     $data = $this->select($sql);
     //ntar dihapus
     $surat = array();
     foreach ($data as $value) {
         $obj = new $this();
         $obj->setAlamat($value['asal_surat']);
         $obj->setId($value['id_suratmasuk']);
         $obj->setJenis($value['jenis']);
         $obj->setJmlLampiran($value['lampiran']);
         $obj->setNomor($value['no_surat']);
         $obj->setPerihal($value['perihal']);
         $obj->setSifat($value['sifat']);
         $obj->setTglSurat($value['tgl_surat']);
         $obj->setTglTerima($value['tgl_terima']);
         $obj->setAgenda($value['no_agenda']);
         $obj->setStart($value['start']);
         $surat[] = $obj;
     }
     //        var_dump($surat);
     return $surat;
 }
Example #6
0
 */
require '../startOrongo.php';
startOrongo();
if (isset($_POST['username']) && isset($_POST['password']) && !isset($_SESSION['orongo-id']) && !isset($_SESSION['orongo-session-id'])) {
    $username = Security::escape($_POST['username']);
    $password = Security::hash($_POST['password']);
    if (User::usernameExists($username)) {
        $userID = User::getUserID($username);
        $goodLogin = User::isGoodPassword($userID, $password);
        if ($goodLogin) {
            if (!User::userIsActivated($userID)) {
                header("Location: ../orongo-login.php?msg=7");
                exit;
            } else {
                $_SESSION['orongo-id'] = $userID;
                $_SESSION['orongo-session-id'] = Session::createSession($userID);
                header("Location: ../orongo-admin/");
                exit;
            }
        } else {
            header("Location: ../orongo-login.php?msg=0");
            exit;
        }
    } else {
        header("Location: ../orongo-login.php?msg=0");
        exit;
    }
} else {
    if (isset($_SESSION['orongo-id']) || isset($_SESSION['orongo-session-id'])) {
        session_destroy();
    }
            }
        }
        closedir($dh);
    }
    $statusModified = true;
    $status['reference'] = $ref;
}
$app = new \Slim\Slim();
$app->config('debug', false);
$app->view(new \JsonApiView());
$app->add(new \JsonApiMiddleware());
$app->group('/results', function () use($app) {
    $app->post('/', function () use($app) {
        global $status, $statusModified;
        // Create a new session
        $session = Session::createSession($status['results']);
        $status['results']++;
        $statusModified = true;
        $sessionInfo = $session->getInfo();
        $sessionInfo['href'] = $app->urlFor('results', array('id' => $session->id));
        Notify(ADMIN_TOPIC, array('action' => 'create', 'session' => $sessionInfo));
        $app->render(200, array('session' => $sessionInfo));
    });
    $app->get('/', function () use($app) {
        $sessions = array();
        if ($dh = opendir(SESSION_DIR)) {
            while (($file = readdir($dh)) !== false) {
                if (Session::isValidSession($file)) {
                    $session = new Session($file);
                    $sessionInfo = $session->getInfo();
                    $sessionInfo['href'] = $app->urlFor('results', array('id' => $file));
Example #8
0
 private function cek_session()
 {
     @Session::createSession();
     if (isset($_SESSION) && Session::get('loggedin') == TRUE && Session::get('user') != '' && Session::get('role') != '') {
         return true;
     }
     return false;
 }
 public function uploadFileSurat()
 {
     $upload = new Upload('upload');
     $upload->setDirTo('arsip/');
     $tipe = 'M';
     $satker = $_POST['satker'];
     $nomor = $_POST['nomor'];
     //nama baru akan terdiri dari tipe naskah_nomor surat_asal(asal/tetapi asal terlaku kepanjangan)
     $ubahNama = array($tipe, $nomor, $satker);
     $upload->setUbahNama($ubahNama);
     $upload->changeFileName($upload->getFileName(), $ubahNama);
     $namafile = $upload->getFileTo();
     $where = ' id_suratmasuk=' . $_POST['id'];
     $data = array('file' => $namafile);
     if ($upload->uploadFile()) {
         $this->model->uploadFile($data, $where);
         $datastat = array('stat' => '14');
         @Session::createSession();
         $user = Session::get('user');
         $log = new Log();
         $log->addLog($user, 'UPLOAD', 'user ' . $user . ' upload file surat no agenda ' . $this->model->getNomorAgenda($_POST['id']) . ' file:' . $namafile);
         unset($log);
         $this->model->update('suratmasuk', $datastat, $where);
         //update status -> pelaksana
         echo "<div id=success>Upload file berhasil</div>";
     } else {
         echo "<div id=error>Upload file berhasil</div>";
     }
     //        return true;
     //header('location:'.URL.'suratmasuk');
 }
 /**
  * @author FreelaPHP schuindt
  * @version 1.0
  * @todo metodo que realiza o login do usuario no sistema
  *
  * 
  * */
 public function login()
 {
     try {
         $this->User->validate = $this->User->validate_login;
         $_POST = Utils::sanitazeArray($_POST);
         $this->User->data = $_POST[$this->User->name];
         $_SESSION = NULL;
         if ($this->User->validates()) {
             $this->User->data['senha'] = Authentication::password($this->User->data['senha']);
             /**
              * toda a minha validação de status da conta, usuario ou empresa está na procedure.
              * referencia MODEL/USUARIOS.PHP
              * metodo LOGAR
              */
             $usuario[$this->User->name] = $this->User->logar($this->User->data['email'], $this->User->data['senha']);
             /**
              * recuperar a empresa do funcionario
              */
             Session::initAuth();
             Session::createSession($usuario);
             /**
              * Usuario operador logar com a empresa já na session
              */
             if (in_array($usuario[$this->User->name]['roles_id'], array(2, 6, 7))) {
                 $modelFuncionario = new Funcionario();
                 $modelEmpresa = new Empresa();
                 $funcionario = $modelFuncionario->find('first', array('pessoas_id' => $usuario[$this->User->name]['pessoas_id']));
                 /**
                  * 
                  */
                 if (count($funcionario) > 0) {
                     $_SESSION[$modelFuncionario->name] = $funcionario[0][$modelFuncionario->name];
                 }
                 $empresa = $modelEmpresa->findEmpresa($funcionario[0][$modelFuncionario->name]['empresas_id']);
                 if (count($empresa) > 0) {
                     /**
                      * recuperando a conta empresa e guardando na sessao
                      */
                     $contatos = $modelEmpresa->contatosEmpresa($funcionario[0][$modelFuncionario->name]['empresas_id']);
                     $contaEmpresa = $modelEmpresa->contaEmpresa(md5($funcionario[0][$modelFuncionario->name]['empresas_id']));
                     $_SESSION[$modelEmpresa->name] = $empresa[0];
                     $_SESSION['ContaEmpresa'] = $contaEmpresa[0];
                     $_SESSION['Contato'] = $contatos;
                 }
             } else {
                 if (in_array($usuario[$this->User->name]['roles_id'], array(3, 4))) {
                     /**
                      * VERIFICO SE EXISTE APENAS UMA EMPRESA VINCULADA
                      */
                     $modelEmpresa = new Empresa();
                     $empresas = $modelEmpresa->empresasRelacionadas(md5($usuario[$this->User->name]['pessoas_id']), $usuario[$this->User->name]['roles_id']);
                     if (count($empresas) == 1) {
                         $_SESSION[$modelEmpresa->name] = $empresas[0];
                         /**
                          * recuperando a conta empresa e guardando na sessao
                          */
                         $contaEmpresa = $modelEmpresa->contaEmpresa(md5($_SESSION[$modelEmpresa->name]['empresas_id']));
                         $_SESSION['ContaEmpresa'] = $contaEmpresa[0];
                     }
                 }
             }
             $url = Router::url(array('Usuarios', 'painel'));
             echo json_encode(array('funcao' => "sucessoForm( 'login efetuado com sucesso!', '#UsuarioLoginForm' ); redirect('{$url}');"));
         } else {
             echo json_encode(array('erros' => $this->User->validateErros, 'form' => 'UsuarioLoginForm'));
         }
     } catch (Exception $ex) {
         $msg = $ex->getMessage();
         echo json_encode(array('funcao' => "infoErro('{$msg}', '#UsuarioLoginForm');"));
     }
 }
Example #11
0
 function restoreDatabaseZip($sourceDB)
 {
     if (file_exists($sourceDB)) {
         include "libs/pclzip.lib.php";
         @set_time_limit(0);
         $archive = new PclZip($sourceDB);
         if ($archive->extract(PCLZIP_OPT_PATH, 'public/temp/') == 0) {
             die("Error : " . $archive->errorInfo(true));
         }
         $f = fopen('public/temp/' . $this->getRealFileName($sourceDB) . '.sql', "r+");
         $sqlFile = fread($f, filesize('public/temp/' . $this->getRealFileName($sourceDB) . '.sql'));
         $sqlFile = str_replace("\r", "%BR%", $sqlFile);
         $sqlFile = str_replace("\n", "%BR%", $sqlFile);
         $sqlFile = str_replace("%BR%%BR%", "%BR%", $sqlFile);
         $sqlArray = explode('%BR%', $sqlFile);
         $sqlArrayToExecute;
         foreach ($sqlArray as $stmt) {
             $stmt = $this->isComment($stmt);
             if ($stmt != '') {
                 $sqlArrayToExecute[] = $stmt;
             }
         }
         $sqlFile = implode("%BR%", $sqlArrayToExecute);
         unset($sqlArrayToExecute);
         $sqlArray = explode(';%BR%', $sqlFile);
         unset($sqlFile);
         foreach ($sqlArray as $stmt) {
             $stmt = str_replace("%BR%", " ", $stmt);
             $stmt = str_replace("&nbsp;&nbsp;", "&nbsp;", $stmt);
             $stmt = str_replace("�", "\\'", $stmt);
             $stmt = str_replace("</p><p>", "</p> <p>", $stmt);
             $stmt = str_replace("<p><br />", "<p>", $stmt);
             $stmt = trim($stmt);
             $result = $this->query($stmt);
             Session::createSession();
             $_SESSION['ttlQuery'] = count($sqlArray);
             $_SESSION['timeQuery'] = time();
             if (!$result) {
                 return false;
             }
         }
         $this->xcopy('public/temp/arsip', 'arsip');
         //memindahkan isi file backup ke dir arsip
         $this->remove($sourceDB);
         $this->remove('public/temp/arsip');
         return 'restore data telah berhasil dilakukan, ' . $_SESSION['ttlQuery'] . ' query dieksekusi pada ' . date('Y-m-d H:i:s', $_SESSION['timeQuery']);
         //not work till restore completed
         //			$this->remove('temp/'.$this->getRealFileName($sourceDB).'.sql');
     } else {
         return 'ZIP File not found';
     }
 }
 public function uploadrev()
 {
     $return = true;
     $notif = new Notifikasi();
     $id = $_POST['id'];
     $catatan = $_POST['catatan'];
     $user = $_POST['user'];
     //        var_dump($catatan);
     $time = date('Y-m-d H:i:s');
     $filename = '';
     $datas = $this->model->getSuratById($id, 'detil');
     //        foreach ($datas as $val){
     $filename = $datas->getFile();
     //        }
     //---------------------------------
     $fln = array();
     if (file_exists('arsip/temp/' . $filename)) {
         //jika file telah ada di folder temp/
         $temp = explode('.', $filename);
         //            var_dump($temp);
         $sql = "SELECT file FROM revisisurat WHERE file LIKE '{$temp['0']}%'";
         $file = $this->model->select($sql);
         //            var_dump($file);
         if (count($file > 0)) {
             if (count($file) == 1) {
                 $pisah = explode('.', $filename);
                 $nama = $pisah[0];
                 $ext = $pisah[1];
                 var_dump($ext);
                 $filename = $nama . '_1.' . $ext;
                 //                    var_dump($filename);
                 //                    break;
             } else {
                 foreach ($file as $val) {
                     $temp = explode('.', $val['file']);
                     $pisah = explode('_', $temp[0]);
                     if (count($pisah) <= 3) {
                         $fln[] = 0;
                     } else {
                         $fln[] = $pisah[3];
                     }
                     //                        $fln[] = explode('_', $temp[0]);
                     //                        var_dump($fln);
                     //                        $len = count($temp);
                     //                        $fln[] = (int) ($len-1); //mengambil array terakhir
                     $num = max($fln);
                     //                        var_dump($num);
                     $filename = $pisah[0] . '_' . $pisah[1] . '_' . $pisah[2] . '_' . ($num + 1) . '.' . $temp[1];
                     //                        var_dump($filename);
                 }
             }
         }
     }
     //-----------------------------------
     $data = array('id_surat' => $id, 'catatan' => $catatan, 'user' => $user, 'file' => $filename, 'time' => $time);
     $ext = explode(".", $filename);
     if ($ext[count($ext) - 1] == 'pdf') {
         //jika telah diupload tipe file pdf
         if (file_exists('arsip/' . $filename)) {
             copy('arsip/' . $filename, 'arsip/temp/' . $filename);
         }
         //copykan ke folder temp/
     } else {
         $upload = new Upload('upload');
         //jika tidak, upload file tersebut
         $upload->setDirTo('arsip/temp/');
         $upload->setFileTo($filename);
         $upload->uploadFile();
     }
     //upload file revisi
     //        $upl = $upload->uploadFile(); //upload dengan nama beda jika sudah terdapat file di arsip
     //        if(!$upl){
     //            $return = "Gagal upload! cek file dan ekstensi, ekstensi harus pdf, doc atau docx";
     //        }
     $role = Session::get('role');
     /*
      * alurnya klo revisi kasi->pelaksana
      * revisi kk -> kasi dan pelaksana :siiip
      * otak atik dari awak lagi, ternyata butuh field user/creator surat keluar yg berisi pelaksananya siapa
      */
     //var_dump($id);
     $notif->set('id_surat', $id);
     //cek lagi
     $notif->set('jenis_surat', 'SK');
     $notif->set('stat_notif', 1);
     $user = $this->model->getUser($id);
     //var_dump($user);
     $notif->set('bagian', $user[2]);
     if ($role == 1) {
         $dataks = $this->model->select("SELECT id_user FROM user WHERE role=2 AND bagian =" . $user[2] . " AND active='Y'");
         foreach ($dataks as $val) {
             $notif->set('id_user', $val['id_user']);
         }
         $notif->set('role', 2);
         //tambah notifikasi untuk kasi
         $notif->addNotifikasi();
     }
     $notif->set('id_user', $user[0]);
     $notif->set('role', $user[1]);
     //tambah notifikasi untuk pelaksana
     $notif->addNotifikasi();
     //tambah revisi
     if ($this->model->addRevisi($data)) {
         //        $this->showAll();
         @Session::createSession();
         $user = Session::get('user');
         $log = new Log();
         $log->addLog($user, 'REKAM REVISI', 'user ' . $user . ' rekam revisi surat keluar id ' . $id . ' nama file ' . $filename);
         unset($log);
         echo "<div id=success>Rekam revisi berhasil</div>";
     } else {
         echo "<div id=error>Rekam revisi gagal</div>";
     }
     //        return $return;
 }
Example #13
0
 private function cek_session()
 {
     @Session::createSession();
     if (isset($_SESSION) && Session::get('loggedin') == TRUE && Session::get('user') != '' && Session::get('role') != '') {
         $now = date('Y-m-d H:i:s');
         $upd = Session::get('updated');
         $diff = strtotime($now) - strtotime($upd);
         //echo $diff;
         if ($diff < MAX_SESSION) {
             return true;
         }
         //return true;
     }
     return false;
 }
Example #14
0
 public function postSamples($callName, $input, $params = array())
 {
     set_time_limit(0);
     $sql = array();
     for ($i = 1; $i <= $params['amount']; $i++) {
         $rr = md5($i);
         $obj = Session::createSession($i, $rr);
         $sql[] = "insert ignore into Session SET " . $obj->getInsertData() . ";";
         if ($i % 1000 == 0) {
             $this->_component->callSql('out2', implode('', $sql), 201, 'Model::isCreated', array(), 'Model::isProblem', array(new File()));
             $sql = array();
         }
     }
     $this->_component->callSql('out2', implode('', $sql), 201, 'Model::isCreated', array(), 'Model::isProblem', array(new File()));
     return Model::isCreated();
 }