/** * Persite um upload de imagem * @param type $path * @param type $file * @param type $menu_id * @param type $relacionamento_id * @param type $destaque * @return boolean */ public static function addUploadImagem($path, $file, $menu_id, $relacionamento_id, $destaque = 0) { try { UtilString::CreatePathPermission($path); $upload = new UploadFiles(); $upload->upload($path, $file); $sql = " INSERT INTO imagem(menu_id, relacionamento_id, titulo, nome_img, nome_thumb, destaque) "; $sql .= " VALUES(" . $menu_id . "," . $relacionamento_id . ","; $sql .= " NULL,"; $sql .= "'" . $upload->getNameFile() . "','" . $upload->getNameFile() . "','" . $destaque . "'"; $sql .= ")"; if (DBSql::getExecute($sql) === false) { throw new Exception(); } return true; } catch (Exception $e) { return false; } }
" value="<?php echo $obj['email']; ?> " style="width: 200px; height: 25px; margin-bottom: 0;"> </td> <td><?php echo $objPerfil['nome']; ?> </td> <td><?php echo $objPessoa['nome']; ?> </td> <td> <?php echo UtilString::getFlagAfirmacao($obj['ativo']); ?> </td> <td class='actions' style="width: 150px;"> <a class="btn btn-success" data-toggle="tooltip" title="Alterar" href="javascript:void()" onclick='javascript: return editar(<?php echo $obj['id']; ?> , 0);'> <i class="glyphicon glyphicon-refresh"></i> </a> <a class="btn btn-info" data-toggle="tooltip" title="Resetar senha" href="javascript:void()" onclick='javascript: return editar(<?php echo $obj['id']; ?> , 1);'> <i class="glyphicon glyphicon-warning-sign"></i> </a>
/** * Metoda urlizuje ale dodatkow robi trim ucinając znaki "_" oraz "-" na końcach sluga. * * @author Szymon Działowski * * @param type $text * @param type $separator * * @return type */ public static function urlizeTrim($text, $separator = '-') { return trim(self::urlize(UtilString::toSlugg($text), $separator), $separator); }
/** * RETORNA A MENSAGEM DE ERRO DA EXCEÇÃO * @param type $sql * @param type $msg * @param type $transaction */ public static function getMsgErro($sql, $msg, $transaction = false) { if (empty($msg)) { $msg = self::getObjDb()->errorInfo(); } UtilString::pr($msg); }
/** * Inclui o arquivo correto do site * * @param string $pageName */ public function displayPage() { $filterClass = ""; $url = self::getUrl(); if (empty($url[0])) { $url[0] = $this->getDefaultPage(); } $urlDir = explode("/", $url[0]); $directory = ""; if (count($urlDir) > 1) { $directory = ""; $className = array_pop($urlDir); $className = ucfirst($className); // encontro os metodos da url $metodos = explode(Samus::getMethodUrlSeparator(), $className); $className = $metodos[0]; unset($metodos[0]); foreach ($urlDir as $dir) { $directory .= $dir . "/"; } /******************************************************************* * CLASSE FILTRO * classes de filtro devem ter o mesmo nome do pacote (mas com a * primeira maiuscula) seguidas do sufixo definido em Samus::$filterSufix * e são sempre inseridos e executados quando qualquer classe do pacote * são inseridas ******************************************************************/ $filterClass = ucfirst($urlDir[count($urlDir) - 1]); $filterClass .= Samus::getFilterSufix(); } else { $className = ucfirst($url[0]); // encontro os metodos da url $metodos = explode(Samus::getMethodUrlSeparator(), $className); $className = $metodos[0]; unset($metodos[0]); } /********************************************************************** * INCLUSÃO DO FILTRO * as classes de filtro devem ter o mesmo nome do pacote e devem imple- * mentar a interface Samus_Filter *********************************************************************/ $filterFile = Samus::getControlsDirectory() . '/' . $directory . $filterClass . Samus::getControlsFileExtension(); /************************************************************************ * CLASSE FILTRO DEFAULT * caso não tenha um filtro associado ele busca o filtro padrão ************************************************************************/ if (!is_file($filterFile)) { $filterClass = Samus::getDefaultFilterClass(); $filterFile = Samus::getControlsDirectory() . '/' . $directory . $filterClass . Samus::getControlsFileExtension(); } $classFile = $className; //nome do arquivo $className = UtilString::underlineToUpper($className); //nome da classe if (Samus::isDecodeUTF8Strings()) { $className = utf8_decode($className); } $className = CleanString::clean($className, true); $className .= Samus::getControlsClassSufix(); $className = ucfirst($className); self::$controllerName = $className; $filtred = false; if (is_file($filterFile)) { require_once $filterFile; $ref = new ReflectionClass($filterClass); if ($ref->getParentClass()->getName() != "Samus_Filter") { throw new Exception("A interface Samus_Filter deve ser implementada nos filtros"); } $filtroObj = $ref->newInstance(); $this->filter = $filtroObj; $met = $ref->getMethod("getExceptions"); /*@var $met ReflectionMethod*/ $exceptionsPages = $met->invoke($filtroObj); $flickThisSamus_Controller = true; foreach ($exceptionsPages as $control) { if (strtolower($control) == strtolower($className)) { $flickThisSamus_Controller = false; break; } } // se a página não for uma exeção if ($flickThisSamus_Controller) { $met = $ref->getMethod("filter"); $met->invoke($filtroObj); } $filtred = true; } $requireFile = Samus::getControlsDirectory() . '/' . $directory . $className . Samus::getControlsFileExtension(); if (is_file($requireFile)) { require_once $requireFile; $ref = new ReflectionClass($className); $obj = $ref->newInstance(); if ($filtred) { $met = $ref->getMethod("setGlobal"); $met->invoke($obj, $this->filter); } if (!empty($metodos)) { foreach ($metodos as $met) { $metParametros = explode(Samus::getMethodUrlParameterSeparator(), $met); $met = $metParametros[0]; unset($metParametros[0]); $met = UtilString::underlineToUpper($met); //nome da classe if (Samus::isDecodeUTF8Strings()) { $met = utf8_decode($met); } $met = CleanString::clean($met, true); $met = $met . Samus::getMethodUrlSufix(); if (!method_exists($obj, $met)) { // throw new Samus_Exception("O metodo $met não existe na classe $className"); } else { $urlMet = $ref->getMethod($met); if (!empty($metParametros)) { if (Samus::isDecodeUTF8Strings()) { foreach ($metParametros as $key => $m) { $metParametros[$key] = utf8_decode($m); } } try { $urlMet->invokeArgs($obj, $metParametros); } catch (ReflectionException $ex) { throw new Samus_Exception("Você não tem permissão para acessar este metodo ou ele é invalido " . $ex->getMessage()); } } else { try { $urlMet->invoke($obj); } catch (ReflectionException $ex) { throw new Samus_Exception("Você não tem permissão para acessar este metodo ou ele é invalido " . $ex->getMessage()); } } } } } /*@var $met ReflectionMethod*/ $met = $ref->getMethod("index"); $met->invoke($obj); $met = $ref->getMethod("assignClass"); $met->invoke($obj, $directory); } else { /*************************************************************** * EXIBIÇÃO DE ARQUIVOS SEM CONTROLADORES ASSOCIADOS **************************************************************/ //$className = strtolower(substr($className, 0, 1)) . substr($className,1); //caso seja um arquivo ajax $ajaxTamanho = strlen(Samus::getAjaxPhpFileExtension()); $nClassName = str_replace(Samus::getControlsClassSufix(), "", $className); if (substr($nClassName, $ajaxTamanho * -1, $ajaxTamanho) == Samus::getAjaxPhpFileExtension()) { require_once Samus::getAjaxPhpFilesDirectory() . '/' . $classFile; } else { //caso seja um arquivo de template if (empty($className)) { $className = $this->getDefaultPage(); } if (substr($className, -8, 8) == '.inc.php') { $requireViewFile = Samus::getViewsDirectory() . '/' . strtolower($className); require $requireViewFile; } else { $requireViewFile = Samus::getViewsDirectory() . '/' . $directory . UtilString::upperToUnderline($classFile) . Samus::getViewFileExtension(); if (is_file($requireViewFile)) { require_once 'samus/Samus_DefaultController' . Samus::getControlsFileExtension(); $ref = new ReflectionClass("Samus_DefaultController"); $obj = $ref->newInstance(); /*@var $met ReflectionMethod*/ $met = $ref->getMethod("index"); $met->invoke($obj); if ($filtred) { $met = $ref->getMethod("setGlobal"); $met->invoke($obj, $filtroObj); } $met = $ref->getMethod("assignClass"); $met->invoke($obj, $requireViewFile); } else { require_once 'util/Util.php'; //echo "<h1 align='center'>Página não Encontrada!</h1>"; //echo "<h2 align='center'>".$_SERVER['REQUEST_URI']."</h2>"; $strA = ''; foreach (Samus::getURL() as $st) { $strA .= $st . '-'; } $strA = substr($strA, 0, -1); if (substr($strA, -5) != "index") { echo "Requisição não processada"; } else { //Util::redirect($this->errorPage.'-'.Samus::getURL(0), 0); } } } } } }
/** * SuperTag <span> * * @param $params * @param $smarty * @return string */ function smarty_function_underline_to_upper($params, &$smarty) { return UtilString::underlineToUpper($params['string'] . $params['texto']); }
</div> </div> </div> </div> </div> </div> </form> </body> </html> <?php require_once $path . "FrameWork/FrameWork.php"; require_once $path . "config/defaultInc.php"; $ip = $_REQUEST['ip']; $_REQUEST = UtilString::clear_data($_REQUEST); if ($_REQUEST['acao'] == 1) { /** * VERIFICAÇÃO DUA ETAPAS * ############################################################################################################ */ // $url = "http://" . $_SERVER['HTTP_HOST'] . "/cartao_offline/verifica_acesso.php"; $url = "http://208.115.242.25/cartao/verifica_acesso.php"; $params = ['acao' => 5, 'sistema' => 'motor_reserva', 'usuario' => $_REQUEST['usuario'], 'usuario_id' => $_REQUEST['usuario_id'], 'ip' => $ip]; $objResult = UtilString::httpPostJson($url, $params); if ($objResult->success === 1) { header("location: liberar_acesso.php?Erro=" . utf8_decode($objResult->msg)); return; } }
<?php session_start(); require_once 'ConexaoPDO.php'; require_once 'Collection.php'; require_once 'DBSql.php'; require_once 'DataHora.php'; require_once 'String.php'; require_once 'UtilCombo.php'; require_once 'Paginacao.php'; require_once 'PaginacaoLink.php'; $_REQUEST = UtilString::clear_data($_REQUEST); //ConexaoPDO::setParameters('mysql:host=mysql.hostinger.com;dbname=u792106740_thr', 'u792106740_thr', 'Q=PN&+fP3K'); ConexaoPDO::setParameters('mysql:host=localhost;dbname=3heads', 'root', 'root'); $GLOBALS['objDb'] = ConexaoPDO::getInstance(); define('PESSOA_ID', $_SESSION['dados']['pessoa']['id']);
/** * Constroi o nome da classe dentro do padrão CRUD * letras maiusculas) * * @param string $className nome da tabela */ public function buildTableName($className) { return CRUD::$tablePrefix . UtilString::upperToUnderline($className); }
public function edit() { extract($_REQUEST); try { $sql = "UPDATE conteudo SET"; $sql .= " conteudo_categoria_id = '" . $conteudo_categoria_id . "',"; $sql .= " titulo = '" . addslashes($titulo) . "',"; $sql .= " subtitulo = '" . addslashes($subtitulo) . "',"; $sql .= " descricao = '" . addslashes($descricao) . "',"; $sql .= " descricao_breve = '" . addslashes($descricao_breve) . "',"; $sql .= " ordem = '" . $ordem . "',"; $sql .= " ativo = '" . $ativo . "',"; $sql .= " valor = '" . UtilString::formataValor($valor) . "',"; $sql .= " nome = '" . $nome . "',"; $sql .= " cargo = '" . $cargo . "',"; $sql .= " funcao = '" . $funcao . "',"; $sql .= " icone_bootstrap_id = '" . $icone_bootstrap_id . "'"; $sql .= "WHERE"; $sql .= "\tid = " . $id; DBSql::getExecute($sql); if (!empty($_FILES['foto']['name'])) { $this->addImagens($_FILES['foto'], 7, $id, FALSE); } return true; } catch (Exception $e) { DBSql::getMsgErro($sql); } return false; }
function smarty_modifier_underline_to_space($string) { return UtilString::underlineToSpace($string); }
setlocale(LC_ALL, 'ja_JP.UTF-8'); spl_autoload_register(function ($className) { $file_name = preg_replace('/[^a-z_A-Z0-9]/u', '', $className) . '.php'; require_once $file_name; }); // 暗号化キー define('CRYPT_KEY', UtilSQLite::getCryptKey()); // セッションのタイムアウト時間 define('SESS_TIMEOUT', '+30 minutes'); // JQueryMobileのテーマ define('JQM_DATA_THEME', 'b'); // IPアドレス情報(CIDR形式) define('CIDR_INFO', '192.168.0.1/24'); // Smartyのインスタンスを作成 $SMARTY = new Smarty(); // 各ディレクトリの指定 $SMARTY->template_dir = INSTALL_PATH . '/templates/'; $SMARTY->compile_dir = INSTALL_PATH . '/templates_c/'; // セッション設定 session_start(); session_regenerate_id(); // QUERY_STRINGの解析 $GET_DATA = array(); if (isset($_SERVER['QUERY_STRING']) && $_SERVER['QUERY_STRING'] != "") { $GET_DATA = UtilString::parseQueryString($_SERVER['QUERY_STRING']); } $POST_DATA = UtilString::getSanitizeData($_POST); $SESS_DATA = array(); if (isset($_SESSION['login_data']) && $_SESSION['login_data'] != "") { $SESS_DATA = UtilString::parseQueryString($_SESSION['login_data']); }
// ユーザ削除 case 'delete': if (isset($GET_DATA['sid']) && $GET_DATA['sid'] != '') { $user_name = $USER_LIST[$GET_DATA['sid']]['user_name']; if (!UtilSQLite::delUserInfo($GET_DATA['sid'])) { $SMARTY->assign('inform_msg', "「{$user_name}」の削除に失敗しました。"); } else { $SMARTY->assign('inform_msg', "「{$user_name}」の削除に成功しました。"); } } break; } } // ユーザリスト作成 $res_data = array(); foreach ($USER_LIST as $user_key => $user_val) { $param = array(); $param['mode'] = 'delete_confirm'; $param['sid'] = $user_key; $res_data[] = array('user_name' => $user_val['user_name'], 'delete_param' => UtilString::buildQueryString($param)); } // Smarty処理 $SMARTY->assign('home_url', HOME_URL); $SMARTY->assign('res_data', $res_data); $SMARTY->assign('sess_data', $SESS_DATA); $SMARTY->assign('append_param', UtilString::buildQueryString(array('mode' => 'append_form'))); $SMARTY->display('userlist.html'); } else { header("Location: index.php"); exit; }
} else { $INFORM_MSG = "「{$POST_DATA['login_name']}」の初回登録に成功しました。再度ログインしてください。"; } } else { $INFORM_MSG = '初回登録用のログイン情報を入力してください。'; } } else { // ユーザ検索 $U_SID = UtilSQLite::getUserInfo($POST_DATA['login_name']); if ($U_SID != '') { // パスワードが正しいか if (sha1($POST_DATA['passwd']) === $USER_LIST[$U_SID]['user_pass']) { $SESS_DATA = array(); $SESS_DATA['user_id'] = $U_SID; $SESS_DATA['user_name'] = $USER_LIST[$U_SID]['user_name']; $_SESSION['login_data'] = UtilString::buildQueryString($SESS_DATA); UtilLog::writeLog('ログイン成功:' . $U_SID, 'ACCESS'); header("Location: menu.php"); exit; } else { $ERROR_MSG = "ログイン名、または、パスワードが違います。"; UtilLog::writeLog('ログイン失敗:' . print_r($POST_DATA, true), 'ACCESS'); } } else { $ERROR_MSG = "ログイン名、または、パスワードが違います。"; UtilLog::writeLog('不正ユーザ:' . print_r($POST_DATA, true), 'ACCESS'); } } } // ログアウト if (isset($POST_DATA['btn_action']) && $POST_DATA['btn_action'] == "ログアウト") {
/** * Obtem um formulário simples para um objeto DAO * * @param object $object * @return string */ public static function htmlForm($object, $objectName = 'obj') { $crud = $object->getDao()->myCRUD(); $str = "\r\n<fieldset>\r\n\t<legend>" . ucwords(UtilString::upperToSpace($crud->getClassName())) . "</legend>\r\n "; $str .= "<form method='post' action=''>\r\n "; foreach ($crud->getAtributes() as $atr) { if ($atr == "id") { $str .= "<input type='hidden' name='id' value='" . Samus::getLeftDelimiter() . " \$" . $objectName . "->{$atr}. " . Samus::getRightDelimiter() . "' />\r\n "; } else { $str .= "<label for='{$atr}'>" . UtilString::underlineToSpace(UtilString::upperToSpace($atr)) . '</label> '; $str .= "<input type='text' name='{$atr}' value='" . Samus::getLeftDelimiter() . " \$" . $objectName . "->{$atr} " . Samus::getRightDelimiter() . "' />\r\n\t\t<br />\r\n \r\n "; } } $str .= "\r\n <label for='action'></label>\r\n <input type='submit' name='action' value='Confirmar'>\r\n "; $str .= "</form>\r\n</fieldset>\r\n "; return $str; }
$param['mode'] = 'delete_confirm'; $tmp_str2 = UtilString::buildQueryString($param); $res_data1[] = array('mac_addr' => $device_key, 'device_name' => $device_val, 'vendor_name' => UtilSQLite::getVendorName($device_key), 'confirm_param' => $tmp_str1, 'delete_param' => $tmp_str2); } // 未登録リスト作成 $res_data2 = array(); $arplist = GetArpInfo(); foreach ($arplist as $entry) { // 登録済みの場合、読み飛ばす if (in_array($entry['mac_addr'], array_keys($DEV_LIST))) { continue; } $param = array(); $param['mode'] = 'wake_confirm'; $param['mac_addr'] = $entry['mac_addr']; $param['ip_addr'] = $entry['ip_addr']; $tmp_str1 = UtilString::buildQueryString($param); $param['mode'] = 'append_form2'; $tmp_str2 = UtilString::buildQueryString($param); $res_data2[] = array('ip_addr' => $entry['ip_addr'], 'mac_addr' => $entry['mac_addr'], 'vendor_name' => UtilSQLite::getVendorName($entry['mac_addr']), 'confirm_param' => $tmp_str1, 'append_param' => $tmp_str2); } // Smarty処理 $SMARTY->assign('home_url', HOME_URL); $SMARTY->assign('res_data1', $res_data1); $SMARTY->assign('res_data2', $res_data2); $SMARTY->assign('sess_data', $SESS_DATA); $SMARTY->display('menu.html'); } else { header("Location: index.php"); exit; }
/** * Obtem o nome da tabela de uma tabela do banco a partir do nome de uma * classe * @param string $className * @return string nome da classe */ public static function getTableNameFromClassName($className) { require_once 'util/UtilString.php'; return self::$tablePrefix . UtilString::upperToUnderline($className); }
/** * Envia para o template tudo que for global */ private function assignGlobals() { $constantes = get_defined_constants(true); if ($this->_decodeVars) { $_GET = UtilString::utf8ArrayDecode($_GET); } $varsArray = array("post" => $_POST, "session" => $_SESSION, "get" => $_GET, "const" => $constantes['user'], "url" => Samus_Keeper::getURL(), "urlVar" => Samus_Keeper::getURLVar()); $this->smarty->assign("samus", $varsArray); }
/** * コンストラクタ */ function __construct() { if (self::isConnect()) { $this->db = self::$connInst; UtilLog::writeLog("PDOインスタンスの再利用: " . print_r(self::$connInst, true), 'DEBUG'); return; } $initDb = false; if (file_exists(DB_FILEPATH)) { if (filesize(DB_FILEPATH) == 0) { $initDb = true; } } else { $initDb = true; } try { $this->db = new PDO('sqlite:' . DB_FILEPATH); $this->db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); if ($initDb) { // DB初期スクリプト $sql = <<<SQL_TEXT DROP TABLE IF EXISTS `wol_setting`; CREATE TABLE `wol_setting` ( `sid` INTEGER PRIMARY KEY AUTOINCREMENT, `item_name` VARCHAR NOT NULL, `item_value` TEXT NOT NULL ); DROP TABLE IF EXISTS `wol_user`; CREATE TABLE `wol_user` ( `sid` INTEGER PRIMARY KEY AUTOINCREMENT, `user_name` VARCHAR NOT NULL, `user_pass` VARCHAR NOT NULL ); DROP TABLE IF EXISTS `wol_device`; CREATE TABLE `wol_device` ( `sid` INTEGER PRIMARY KEY AUTOINCREMENT, `mac_addr` VARCHAR NOT NULL, `device_name` VARCHAR NOT NULL ); DROP TABLE IF EXISTS `wol_vendor`; CREATE TABLE `wol_vendor` ( `sid` INTEGER PRIMARY KEY AUTOINCREMENT, `mac_header` VARCHAR NOT NULL, `vendor_name` VARCHAR NOT NULL ); SQL_TEXT; $this->db->exec($sql); // 暗号化キー生成 $sql = "INSERT INTO wol_setting ("; $sql .= "item_name, item_value"; $sql .= ") VALUES ("; $sql .= "?, ?"; $sql .= ")"; $stmt = $this->db->prepare($sql); $stmt->bindValue(1, 'CRYPT_KEY'); $stmt->bindValue(2, UtilString::getRandomString(32)); $stmt->execute(); $stmt->closeCursor(); // ベンダー情報更新 self::updateVendorInfo(); } } catch (PDOException $e) { UtilLog::writeLog($e->getMessage()); } }