Exemplo n.º 1
0
 /**
  * 字段的 唯一性验证
  * @param string $field 字段名称
  * @param string $errmsg 错误信息
  */
 public function val_unique($field, $errmsg = null)
 {
     if (!$this->set_field_required_string($field, 'YYUCUNIQUE@' . $this->YYUCSYS_tablename . '@' . $field . '@YYUCSYSID', $errmsg === null ? YYUC::i18n('validate.unique') : $errmsg)) {
         $query_arr = array($field => $this->{$field});
         if (trim($this->id) != '') {
             $query_arr['id@<>'] = $this->id;
         }
         if ($this->{$field} != '' && $this->YYUCSYS_db->has($this->YYUCSYS_real_tablename, $query_arr)) {
             $this->set_err_msg($field, $errmsg ? $errmsg : YYUC::i18n('validate.unique'));
         }
     }
 }
Exemplo n.º 2
0
$JS = Page::asset('js/');
/**CSS文件调用路径*/
$CSS = Page::asset('css/');
/**图片文件调用路径*/
$IMG = Page::asset('media/images/');
/**动画文件调用路径*/
$ANI = Page::asset('media/animations/');
/**视频文件调用路径*/
$VID = Page::asset('media/videos/');
/**声音文件调用路径*/
$SOU = Page::asset('media/sounds/');
//国际化页面文字
/**通用页面国际化信息*/
$COM = YYUC::i18n();
/**具体页面国际化*/
$TXT = YYUC::i18n_page_init(Page::$my_view);
/**
 * select 标签
 * @param array $array 待选下拉框的列表数组
 * @param string $name 属性值
 * @param mixed $attrs 其他属性可以是字符或者数组
 */
function YYUC_tag_select(&$array, $name, $attrs = '')
{
    $nameid = $name;
    global ${$name};
    $value = ${$name};
    if (is_array($attrs)) {
        $attrs = YYUC_get_attrs_from_array($attrs);
    }
    $additionstr = '"';
Exemplo n.º 3
0
 /**
  * 输出联动select标签
  * @param string $tn 表名称(满足 id pid name 的数据库要求 一级pid为0)
  * @param array $name_arr 字段名称数组 标签name
  * @param mixed $attrs 其他属性 可以是字符或者数组
  * @param string $addwhere 附加SQL条件
  * @return string 标签html字串
  */
 public function mulselect($tn, $name_arr, $attrs = '', $addwhere = '', $impstr = '', $autotext = true)
 {
     $seluuid = uniqid();
     if (is_array($attrs)) {
         $attrs = YYUC_get_attrs_from_array($attrs);
     }
     $arr_len = count($name_arr);
     $addwherestr = '';
     $pid = '0';
     if (!empty($addwhere)) {
         $addwherestr = ' and ' . $addwhere;
     }
     $alltags = '';
     $autotextstr = '';
     $nopid = false;
     foreach ($name_arr as $index => $name) {
         $value = $this->{$name};
         $onchange = '';
         if ($index < $arr_len - 1) {
             if (is_array($tn)) {
                 $ttn = $tn[$index];
                 $ntn = $tn[$index + 1];
                 if ($pid == '0') {
                     $nopid = true;
                 }
             } else {
                 $ntn = $tn;
                 $ttn = $tn;
             }
             $change = '"_.getnextsel(this,\'' . String::encryption($ntn) . '\',\'' . String::encryption($addwherestr) . '\')"';
             $onchange = 'onchange=' . $change . ' onblur=' . $change;
         } else {
             if (is_array($tn)) {
                 $ttn = $tn[$index];
             } else {
                 $ttn = $tn;
             }
         }
         if ($autotext) {
             $autotextstr = 'yyuc_autotext="' . $this->elname('TXT@' . $name) . '"';
         }
         $tag = '<select seluuid="' . $seluuid . '" selindex="' . $index . '" ' . $this->field_required_string($name) . ' name="' . $this->elname($name) . '"  id="' . $this->elid($name) . '" ' . $attrs . ' ' . $onchange . ' ' . $autotextstr . '>';
         $tag .= '<option value="" >' . YYUC::i18n('.select_please') . '</option>';
         if ($pid != null) {
             $m = new Model($ttn);
             $beg = "pid='" . $pid . "'";
             if ($nopid) {
                 $beg = "1=1";
                 $nopid = false;
             }
             $array = $m->where($beg . $addwherestr)->map_array('id', 'name');
             $pid = null;
             foreach ($array as $k => $v) {
                 $seltxt = '';
                 if ($k == $value) {
                     $seltxt = 'selected="selected"';
                     $pid = $value;
                 }
                 $tag .= '<option value="' . htmlspecialchars($k) . '" ' . $seltxt . '>' . htmlspecialchars($v) . '</option>';
             }
         }
         $tag .= '</select>';
         if ($alltags != '') {
             $alltags = $alltags . $impstr;
         }
         $alltags .= $tag;
     }
     return $alltags;
 }
Exemplo n.º 4
0
        $_SESSION['YYUC_HTTP_REFERER_OLD'] = $_SERVER['HTTP_REFERER'];
    }
}
if ($_GET['yyuc_sessionid']) {
    //记录GET来的sessionid
    session_id($_GET['yyuc_sessionid']);
    session_set_cookie_params(Conf::$session_time * 60);
    session_start();
}
if ($cacheres === false) {
    //是否开启调试记录
    if (Conf::$need_debug_log) {
        Debug::benchmark('YYUC_START');
    }
    //加载i18n配置文件数组
    $I18N = YYUC::i18n();
    Page::$i18n =& $I18N;
    if (!$_PAGE->is_sys_col) {
        //加载用户自定义函数
        include YYUC_FRAME_PATH . '/fun/additions.php';
        //执行全局启动函数
        if (is_callable('yyuc_start')) {
            yyuc_start();
        }
        //加载钩子方法
        if (is_callable('access_validations')) {
            access_validations($_PAGE->controller_path);
        }
    }
    //进行表单令牌验证
    if (isset($_POST['YYUC_FORM_TOKEN'])) {
Exemplo n.º 5
0
 /**
  * 输出联动select标签
  * @param string $tn 表名称(满足 id pid name 的数据库要求 一级pid为0)
  * @param array $name_arr 字段名称数组 标签name
  * @param mixed $attrs 其他属性 可以是字符或者数组
  * @param string $addwhere 附加SQL条件
  * @return string 标签html字串
  */
 public function mulselect($tn, $name_arr, $attrs = '', $addwhere = '', $impstr = '')
 {
     if (is_array($attrs)) {
         $attrs = YYUC_get_attrs_from_array($attrs);
     }
     $arr_len = count($name_arr);
     $addwherestr = '';
     $pid = '0';
     if (!empty($addwhere)) {
         $addwherestr = ' and ' . $addwhere;
     }
     $alltags = '';
     $m = new Model($tn);
     foreach ($name_arr as $index => $name) {
         $value = $this->{$name};
         $onchange = $index < $arr_len - 1 ? 'onchange="YYUC_getnextsel(this,\'' . String::encryption($tn) . '\',\'' . String::encryption($addwherestr) . '\')"' : '';
         $tag = '<select ' . $this->field_required_string($name) . ' name="' . $this->elname($name) . '"  id="' . $this->elid($name) . '" ' . $attrs . ' ' . $onchange . '>';
         $tag .= '<option value="" >' . YYUC::i18n('.select_please') . '</option>';
         if ($pid != null) {
             $array = $m->where("pid='" . $pid . "'" . $addwherestr)->map_array('id', 'name');
             $pid = null;
             foreach ($array as $k => $v) {
                 $seltxt = '';
                 if ($k == $value) {
                     $seltxt = 'selected="selected"';
                     $pid = $value;
                 }
                 $tag .= '<option value="' . htmlspecialchars($k) . '" ' . $seltxt . '>' . htmlspecialchars($v) . '</option>';
             }
         }
         $tag .= '</select>';
         if ($alltags != '') {
             $alltags = $alltags . $impstr;
         }
         $alltags .= $tag;
     }
     return $alltags;
 }
Exemplo n.º 6
0
/**
 * 返回引入本控制器文件夹下的文件绝对路径<br/>
 * 为了便于区分和防止恶意访问到,一般用前缀"_"标注
 * @param  string $colname php文件名(不含后缀)
 */
function another($colname = '_')
{
    return YYUC::another();
}
Exemplo n.º 7
0
 /**
  * 读取文件内容.
  *
  * @param  string  $path
  * @param  mixed   $default 默认值
  * @return string
  */
 public static function get($path, $default = null)
 {
     return file_exists($path) ? file_get_contents($path) : YYUC::value($default);
 }
Exemplo n.º 8
0
 /**
  * 获得客户端位置
  * @return array('国家','省','市','电信') | false
  */
 public static function local()
 {
     return YYUC::local_ip(self::ip());
 }
Exemplo n.º 9
0
 /**
  * 页面级缓存读取
  */
 public static function get($k, $default = null)
 {
     if (isset($_SERVER['YYUC_PTEMP' . $k])) {
         return $_SERVER['YYUC_PTEMP' . $k];
     }
     return $default === null ? false : YYUC::value($default);
 }