Example #1
0
 /**
  * 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;
     }
 }
Example #2
0
" 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>
Example #3
0
 /**
  * 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);
 }
Example #4
0
 /**
  * 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);
 }
Example #5
0
 /**
  * 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']);
}
Example #7
0
                                </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;
    }
}
Example #8
0
<?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']);
Example #9
0
 /**
  * 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);
 }
Example #10
0
 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);
}
Example #12
0
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']);
}
Example #13
0
            // ユーザ削除
            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;
}
Example #14
0
             } 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;
 }
Example #16
0
        $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;
}
Example #17
0
 /**
  * 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);
 }
Example #19
0
    /**
     * コンストラクタ
     */
    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());
        }
    }