本文整理汇总了PHP中Ethna::raiseNotice方法的典型用法代码示例。如果您正苦于以下问题:PHP Ethna::raiseNotice方法的具体用法?PHP Ethna::raiseNotice怎么用?PHP Ethna::raiseNotice使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Ethna
的用法示例。
在下文中一共展示了Ethna::raiseNotice方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: validate
/**
* 最大値のチェックを行う
*
* @access public
* @param string $name フォームの名前
* @param mixed $var フォームの値
* @param array $params プラグインのパラメータ
* @return true: 成功 Ethna_Error: エラー
*/
public function validate($name, $var, $params)
{
$true = true;
$type = $this->getFormType($name);
if (isset($params['strmaxcompat']) == false || $this->isEmpty($var, $type)) {
return $true;
}
$ctl = $this->backend->getController();
$client_enc = $ctl->getClientEncoding();
if (mb_enabled() && (strcasecmp('EUC-JP', $client_enc) != 0 && strcasecmp('eucJP-win', $client_enc) != 0)) {
$var = mb_convert_encoding($var, 'EUC-JP', $client_enc);
}
if ($type == VAR_TYPE_STRING) {
$max_param = $params['strmaxcompat'];
if (strlen($var) > $max_param) {
if (isset($params['error'])) {
$msg = $params['error'];
} else {
$msg = _et('Please input less than %d full-size (%d half-size) characters to {form}.');
}
return Ethna::raiseNotice($msg, E_FORM_MAX_STRING, array(intval($max_param / 2), $max_param));
}
}
return $true;
}
示例2: validate
/**
* 最小値のチェックを行う
*
* @access public
* @param string $name フォームの名前
* @param mixed $var フォームの値
* @param array $params プラグインのパラメータ
*/
public function validate($name, $var, $params)
{
$true = true;
$type = $this->getFormType($name);
if (isset($params['min']) == false || $this->isEmpty($var, $type)) {
return $true;
}
switch ($type) {
case VAR_TYPE_INT:
if ($var < $params['min']) {
if (isset($params['error'])) {
$msg = $params['error'];
} else {
$msg = _et('Please input more than %d(int) to {form}.');
}
return Ethna::raiseNotice($msg, E_FORM_MIN_INT, array($params['min']));
}
break;
case VAR_TYPE_FLOAT:
if ($var < $params['min']) {
if (isset($params['error'])) {
$msg = $params['error'];
} else {
$msg = _et('Please input more than %f(float) to {form}.');
}
return Ethna::raiseNotice($msg, E_FORM_MIN_FLOAT, array($params['min']));
}
break;
case VAR_TYPE_DATETIME:
$t_min = strtotime($params['min']);
$t_var = strtotime($var);
if ($t_var < $t_min) {
if (isset($params['error'])) {
$msg = $params['error'];
} else {
$msg = _et('Please input datetime value %s or later to {form}.');
}
return Ethna::raiseNotice($msg, E_FORM_MIN_DATETIME, array($params['min']));
}
break;
case VAR_TYPE_FILE:
$st = stat($var['tmp_name']);
if ($st[7] < $params['min'] * 1024) {
if (isset($params['error'])) {
$msg = $params['error'];
} else {
$msg = _et('Please specify file whose size is more than %d KB.');
}
return Ethna::raiseNotice($msg, E_FORM_MIN_FILE, array($params['min']));
}
break;
case VAR_TYPE_STRING:
$params['mbstrmin'] = $params['min'];
unset($params['min']);
$vld = $this->plugin->getPlugin('Validator', 'Mbstrmin');
return $vld->validate($name, $var, $params);
break;
}
return $true;
}
示例3: isMoneyAvailable
/**
* ユーザの支払能力をチェックします
*
* @param int $value
* @return int
*/
public function isMoneyAvailable($value = 0)
{
$current_money = $this->get('money');
if ($current_money < $value) {
return Ethna::raiseNotice('そんなお金ないです。');
}
return $current_money;
}
示例4: foreach
/**
* フォーム値の型チェックを行う
*
* @access public
* @param string $name フォームの名前
* @param mixed $var フォームの値
* @param array $params プラグインのパラメータ
*/
function &validate($name, $var, $params)
{
$true = true;
$type = $params['type'];
if ($type == VAR_TYPE_FILE || $this->isEmpty($var, $type)) {
return $true;
}
foreach (array_keys(to_array($var)) as $key) {
switch ($type) {
case VAR_TYPE_INT:
if (!preg_match('/^-?\\d+$/', $var)) {
if (isset($params['error'])) {
$msg = $params['error'];
} else {
$msg = "{form}には数字(整数)を入力して下さい";
}
return Ethna::raiseNotice($msg, E_FORM_WRONGTYPE_INT);
}
break;
case VAR_TYPE_FLOAT:
if (!preg_match('/^-?\\d+$/', $var) && !preg_match('/^-?\\d+\\.\\d+$/', $var)) {
if (isset($params['error'])) {
$msg = $params['error'];
} else {
$msg = "{form}には数字(小数)を入力して下さい";
}
return Ethna::raiseNotice($msg, E_FORM_WRONGTYPE_FLOAT);
}
break;
case VAR_TYPE_BOOLEAN:
if ($var != "1" && $var != "0") {
if (isset($params['error'])) {
$msg = $params['error'];
} else {
$msg = "{form}には1または0のみ入力できます";
}
return Ethna::raiseNotice($msg, E_FORM_WRONGTYPE_BOOLEAN);
}
break;
case VAR_TYPE_DATETIME:
$r = strtotime($var);
if ($r == -1 || $r === false) {
if (isset($params['error'])) {
$msg = $params['error'];
} else {
$msg = "{form}には日付を入力して下さい";
}
return Ethna::raiseNotice($msg, E_FORM_WRONGTYPE_DATETIME);
}
break;
}
}
return $true;
}
示例5: validate
/**
* フォーム値の型チェックを行う
*
* @access public
* @param string $name フォームの名前
* @param mixed $var フォームの値
* @param array $params プラグインのパラメータ
*/
public function validate($name, $var, $params)
{
$true = true;
$type = $params['type'];
if ($type == VAR_TYPE_FILE || $this->isEmpty($var, $type)) {
return $true;
}
foreach (array_keys(to_array($var)) as $key) {
switch ($type) {
case VAR_TYPE_INT:
if (!preg_match('/^-?\\d+$/', $var)) {
if (isset($params['error'])) {
$msg = $params['error'];
} else {
$msg = _et('Please input integer value to {form}.');
}
return Ethna::raiseNotice($msg, E_FORM_WRONGTYPE_INT);
}
break;
case VAR_TYPE_FLOAT:
if (!preg_match('/^-?\\d+$/', $var) && !preg_match('/^-?\\d+\\.\\d+$/', $var)) {
if (isset($params['error'])) {
$msg = $params['error'];
} else {
$msg = _et('Please input float value to {form}.');
}
return Ethna::raiseNotice($msg, E_FORM_WRONGTYPE_FLOAT);
}
break;
case VAR_TYPE_BOOLEAN:
if ($var != "1" && $var != "0") {
if (isset($params['error'])) {
$msg = $params['error'];
} else {
$msg = _et('You can input 0 or 1 to {form}.');
}
return Ethna::raiseNotice($msg, E_FORM_WRONGTYPE_BOOLEAN);
}
break;
case VAR_TYPE_DATETIME:
$r = strtotime($var);
if ($r == -1 || $r === false) {
if (isset($params['error'])) {
$msg = $params['error'];
} else {
$msg = _et('Please input valid datetime to {form}.');
}
return Ethna::raiseNotice($msg, E_FORM_WRONGTYPE_DATETIME);
}
break;
}
}
return $true;
}
示例6: add
/**
* エラーオブジェクトを生成/追加する
*
* @access public
* @param string $name エラーの発生したフォーム項目名(不要ならnull)
* @param string $message i18n翻訳後のエラーメッセージ
* @param int $code エラーコード
* @return Ethna_Error エラーオブジェクト
*/
public function add($name, $message, $code = null)
{
if (func_num_args() > 3) {
$userinfo = array_slice(func_get_args(), 3);
$error = Ethna::raiseNotice($message, $code, $userinfo);
} else {
$error = Ethna::raiseNotice($message, $code);
}
$this->addObject($name, $error);
return $error;
}
示例7: array
/**
* 拡張子チェック
*
* @access public
* @param string $name フォームの名前
* @param mixed $var フォームの値
* @param array $params プラグインのパラメータ
*/
function &validate($name, $var, $params)
{
if (empty($var['size'])) {
return true;
}
$safety_ext_list = array('jpg', 'png', 'gif', 'bmp', 'doc', 'xls', 'ppt', 'csv', 'txt', 'pdf', 'zip', 'lzh', 'sit', 'rar', 'tar', 'tgz');
$ext = pathinfo($var['name'], PATHINFO_EXTENSION);
$ext = strToLower($ext);
if (in_array($ext, $safety_ext_list)) {
return true;
}
return Ethna::raiseNotice('{form}のファイルタイプは対応していません', E_FORM_INVALIDVALUE);
}
示例8: perform
/**
* addicon_do action implementation.
*
* @access public
* @return string forward name.
*/
public function perform()
{
if (!$this->session->isStart()) {
return 'needlogin';
}
$file = $this->af->get('userfile');
if ($file['size'] === 0 || $file['tmp_name'] === '') {
$this->ae->addObject('iconadderror', Ethna::raiseNotice('need file', E_SAMPLE_AUTH));
return 'iconadd';
}
$um = new UserManager();
$userid = $this->session->get('username');
$res = $um->uploadIcon($userid, $file['tmp_name'], pathinfo($file['name'], PATHINFO_EXTENSION));
$this->redirect('iconadd');
return 'iconadd';
}
示例9: _et
/**
* 正規表現によるフォーム値のチェックを行う
*
* @access public
* @param string $name フォームの名前
* @param mixed $var フォームの値
* @param array $params プラグインのパラメータ
*/
function &validate($name, $var, $params)
{
$true = true;
$type = $this->getFormType($name);
if (isset($params['regexp']) == false || $type == VAR_TYPE_FILE || $this->isEmpty($var, $type)) {
return $true;
}
if (preg_match($params['regexp'], $var) == 0) {
if (isset($params['error'])) {
$msg = $params['error'];
} else {
$msg = _et('Please input {form} properly.');
}
return Ethna::raiseNotice($msg, E_FORM_REGEXP);
}
return $true;
}
示例10: add
/**
* エラーオブジェクトを生成/追加する
*
* @access public
* @param string $name エラーの発生したフォーム項目名(不要ならnull)
* @param string $message エラーメッセージ
* @param int $code エラーコード
*/
function add($name, $message, $code = null)
{
if (func_num_args() > 3) {
$userinfo = array_slice(func_get_args(), 3);
$error =& Ethna::raiseNotice($message, $code, $userinfo);
} else {
$error =& Ethna::raiseNotice($message, $code);
}
$elt = array();
$elt['name'] = $name;
$elt['object'] =& $error;
$this->error_list[] = $elt;
// ログ出力(補足)
$af =& $this->_getActionForm();
$logger =& $this->_getLogger();
$logger->log(LOG_NOTICE, '{form} -> [%s]', $this->action_form->getName($name));
}
示例11: isset
/**
* 正規表現によるフォーム値のチェックを行う(マルチバイト対応)
*
* @access public
* @param string $name フォームの名前
* @param mixed $var フォームの値
* @param array $params プラグインのパラメータ
*/
function &validate($name, $var, $params)
{
$true = true;
$type = $this->getFormType($name);
if (isset($params['mbregexp']) == false || $type == VAR_TYPE_FILE || $this->isEmpty($var, $type)) {
return $true;
}
$encoding = isset($params['encoding']) ? $params['encoding'] : 'EUC-JP';
mb_regex_encoding($encoding);
if (mb_ereg($params['mbregexp'], $var) !== 1) {
if (isset($params['error'])) {
$msg = $params['error'];
} else {
$msg = "{form}を正しく入力してください";
}
return Ethna::raiseNotice($msg, E_FORM_REGEXP);
}
return $true;
}
示例12: array
/**
* プロジェクトのメッセージカタログを生成する
*
* @access public
* @param string $locale 生成するカタログのロケール
* @param int $use_gettext gettext 使用フラグ
* true ならgettext のカタログ生成
* false ならEthna組み込みのカタログ生成
* @param array $ext_dirs 走査する追加のディレクトリの配列
* @return true|Ethna_Error true:成功 Ethna_Error:失敗
*/
function &generate($locale, $use_gettext, $ext_dirs = array())
{
$this->time = time();
$this->locale = $locale;
$this->use_gettext = $use_gettext;
$outfile_path = $this->_get_output_file();
//
// 既存ファイルが存在した場合は、以下の動きをする
//
// 1. Ethna 組み込みのカタログの場合、既存のiniファイル
// の中身を抽出し、既存の翻訳を可能な限りマージする
// 2. gettext 利用の場合は、新たにファイルを作らせ、
// 既存翻訳とのマージは msgmergeプログラムを使わせる
//
if ($this->file_exists) {
$msg = $this->use_gettext ? "[NOTICE]: Message catalog file already exists! " . "CREATING NEW FILE ...\n" . "You can run msgmerge program to merge translation.\n" : "[NOTICE]: Message catalog file already exists!\n" . "This is overwritten and existing translation is merged automatically.\n";
print "\n-------------------------------\n" . $msg . "-------------------------------\n\n";
}
// app ディレクトリとテンプレートディレクトリを
// 再帰的に走査する。ユーザから指定があればそれも走査
$app_dir = $this->ctl->getDirectory('app');
$template_dir = $this->ctl->getDirectory('template');
$scan_dir = array($app_dir, "{$template_dir}/{$locale}");
$scan_dir = array_merge($scan_dir, $ext_dirs);
// ディレクトリを走査
foreach ($scan_dir as $dir) {
if (is_dir($dir) === false) {
Ethna::raiseNotice("{$dir} is not Directory.", E_GENERAL);
continue;
}
$r = $this->_analyzeDirectory($dir);
if (Ethna::isError($r)) {
return $r;
}
}
// 解析済みトークンを元に、カタログファイルを生成
$r = $this->_generateFile();
if (Ethna::isError($r)) {
return $r;
}
$true = true;
return $true;
}
示例13: _et
/**
* 最小値のチェックを行う (シングルバイト文字列用)
*
* @access public
* @param string $name フォームの名前
* @param mixed $var フォームの値
* @param array $params プラグインのパラメータ
*/
function &validate($name, $var, $params)
{
$true = true;
$type = $this->getFormType($name);
if (isset($params['strmin']) == false || $this->isEmpty($var, $type)) {
return $true;
}
if ($type == VAR_TYPE_STRING) {
$min_param = $params['strmin'];
if (strlen($var) < $min_param) {
if (isset($params['error'])) {
$msg = $params['error'];
} else {
$msg = _et('Please input more than %d characters to {form}.');
}
return Ethna::raiseNotice($msg, E_FORM_MIN_STRING, array($min_param));
}
}
return $true;
}
示例14: s3upload
public function s3upload($fname, $fileid, $ext)
{
$ctype = 'binary/octet-stream';
if (array_key_exists($ext, $this->acceptable_exts)) {
$ctype = $this->acceptable_exts[$ext]['content-type'];
} else {
return Ethna::raiseNotice("a file which has ext " . $ext . ' is not allowed to upload', E_SAMPLE_AUTH);
}
//$fullpath=$this->savepath($newfname);
//rename($fname, $fullpath);
try {
$s3 = Aws\S3\S3Client::factory(array('key' => SecretConfig::$config['AWS_ACCESS_KEY_ID'], 'secret' => SecretConfig::$config['AWS_SECRET_ACCESS_KEY'], 'region' => SecretConfig::$config['AWS_DEFAULT_REGION']));
error_log('ctype:' . $ctype);
$result = $s3->putObject(array('ACL' => 'public-read', 'Bucket' => SecretConfig::$config['AWS_BUCKET_NAME'], 'Key' => $fileid, 'Body' => fopen($fname, 'r'), 'ContentType' => $ctype));
//$fileurl=$result['ObjectURL'];
} catch (Exception $e) {
throw $e;
//return Ethna::raiseNotice('error occured while accessing AWS errormessage:' . $e->getMessage(),E_SAMPLE_AUTH);
}
return null;
}
示例15: validate
/**
* 正規表現によるフォーム値のチェックを行う(マルチバイト対応)
*
* @access public
* @param string $name フォームの名前
* @param mixed $var フォームの値
* @param array $params プラグインのパラメータ
*/
public function validate($name, $var, $params)
{
$true = true;
$type = $this->getFormType($name);
if (isset($params['mbregexp']) == false || $type == VAR_TYPE_FILE || $this->isEmpty($var, $type)) {
return $true;
}
$ctl = $this->backend->getController();
$cli_enc = $ctl->getClientEncoding();
$encoding = isset($params['encoding']) ? $params['encoding'] : $cli_enc;
mb_regex_encoding($encoding);
if (mb_ereg($params['mbregexp'], $var) !== 1) {
if (isset($params['error'])) {
$msg = $params['error'];
} else {
$msg = _et('Please input {form} properly.');
}
return Ethna::raiseNotice($msg, E_FORM_REGEXP);
}
return $true;
}