📄 field.class.php
字号:
global $mod, $channelid;
$keyid = $channelid ? $channelid : $mod;
$openurl = defined('IN_ADMIN') ? '?mod=phpcms&file=uppic&keyid='.$keyid.'&uploadtext='.$name : PHPCMS_PATH.'upload.php?keyid='.$keyid.'&uploadtext='.$name;
return ' <input type="button" value=" '.$LANG['upfile'].' " onClick="javascript:openwinx(\''.$openurl.'\',\'upload\',\'350\',\'200\')">';
}
elseif($inputtool == 'imageupload')
{
global $mod,$channelid;
$keyid = $channelid ? $channelid : $mod;
$openurl = defined('IN_ADMIN') ? '?mod=phpcms&file=uppic&keyid='.$keyid.'&uploadtext='.$name : PHPCMS_PATH.'upload.php?keyid='.$keyid.'&type=thumb&uploadtext='.$name;
return ' <input type="button" value=" '.$LANG['uppic'].' " onClick="javascript:openwinx(\''.$openurl.'\',\'upload\',\'350\',\'350\')">';
}
elseif($inputtool == 'editor')
{
return editor($name, 'phpcms', 550, 400);
}
}
function show_list($style = '<tr><td class="tablerow"><strong>$title</strong></td><td class="tablerow">$value</td></tr>')
{
if(!$this->fieldlist) return FALSE;
$string = '';
foreach($this->fieldlist as $field)
{
$title = $field['title'];
$value = $GLOBALS[$field['name']];
$string .= str_replace(array('$title','$value'), array($title,$value), $style);
}
return $string;
}
function get_searchform($style = '<tr><td class="search_l">$title</td><td class="search_r">$input</td></tr>')
{
if(!$this->fieldlist) return FALSE;
$string = '';
foreach($this->fieldlist as $field)
{
if(!$field['enablesearch']) continue;
if($field['formtype'] == 'select')
{
$input = "<select name='".$field['name']."' id='".$field['name']."'>\n";
$options = explode("\n",$field['options']);
foreach($options as $option)
{
if(strpos($option, '|'))
{
list($name, $value) = explode('|', trim($option));
}
else
{
$name = $value = trim($option);
}
$selected = $GLOBALS[$field['name']] == $value ? 'selected' : '';
$input .= "<option value='".$value."' ".$selected.">".$name."</option>\n";
}
$input .= "</select>\n";
}
elseif($field['formtype'] == 'radio')
{
$input = '';
$options = explode("\n",$field['options']);
foreach($options as $option)
{
if(strpos($option, '|'))
{
list($name, $value) = explode('|', trim($option));
}
else
{
$name = $value = trim($option);
}
$checked = $GLOBALS[$field['name']] == $value ? 'checked' : '';
$input .= '<input type="radio" name="'.$field['name'].'" value="'.$value.'" '.$checked.'> '.$name.' ';
}
}
elseif($field['type'] == 'int')
{
$input = '<input type="text" name="'.$field['name'].'_from" value="'.$GLOBALS[$field['name'].'_from'].'" size="10" /> - <input type="text" name="'.$field['name'].'_to" value="'.$GLOBALS[$field['name'].'_to'].'" size="10" />';
}
elseif($field['type'] == 'date')
{
global $iscalendarinit;
$input = '';
if(!$iscalendarinit)
{
$iscalendarinit = 1;
$input .= "<script language=\"javascript\">var imgDir = \"".PHPCMS_PATH."include/calendar/\";</script>\n<script language=\"javascript\" src=\"".PHPCMS_PATH."include/calendar/calendar.js\"></script>\n";
}
$input .= '<input type="text" name="'.$field['name'].'_from" value="'.$GLOBALS[$field['name'].'_from'].'" size="10" /> <img src="'.PHPCMS_PATH.'include/calendar/date_selector.gif" border="0" align="absMiddle" style="cursor:pointer" onclick="popUpCalendar(this,document.getElementById(\''.$field['name'].'_from\'),\'yyyy-mm-dd\');">- <input type="text" name="'.$field['name'].'_to" value="'.$GLOBALS[$field['name'].'_to'].'" size="10" /> <img src="'.PHPCMS_PATH.'include/calendar/date_selector.gif" border="0" align="absMiddle" style="cursor:pointer" onclick="popUpCalendar(this,document.getElementById(\''.$field['name'].'_to\'),\'yyyy-mm-dd\');">';
}
else
{
$input = '<input type="text" name="'.$field['name'].'" value="'.$GLOBALS[$field['name']].'" size="20" />';
}
$title = $field['title'];
$string .= str_replace(array('$title','$input'), array($title,$input), $style);
}
return $string;
}
function get_searchsql()
{
if(!$this->fieldlist) return FALSE;
$sql = '';
foreach($this->fieldlist as $field)
{
if(!$field['enablesearch']) continue;
$name = $field['name'];
if($field['formtype'] == 'select' || $field['formtype'] == 'radio')
{
$value = $GLOBALS[$name];
$sql .= " AND $name='$value'";
}
elseif($field['type'] == 'int')
{
if(isset($GLOBALS[$name.'_from']) && $GLOBALS[$name.'_from'] != '')
{
$from = intval($GLOBALS[$name.'_from']);
$sql .= " AND $name>=$from";
}
if(isset($GLOBALS[$name.'_to']) && $GLOBALS[$name.'_to'] != '')
{
$to = intval($GLOBALS[$name.'_to']);
$sql .= " AND $name<=$to";
}
}
elseif($field['type'] == 'date')
{
if(isset($GLOBALS[$name.'_from']) && is_date($GLOBALS[$name.'_from']))
{
$from = $GLOBALS[$name.'_from'];
$sql .= " AND $name>='$from'";
}
if(isset($GLOBALS[$name.'_to']) && is_date($GLOBALS[$name.'_to']))
{
$to = $GLOBALS[$name.'_to'];
$sql .= " AND $name<='$to'";
}
}
elseif(isset($GLOBALS[$name]) && $GLOBALS[$name])
{
$value = $GLOBALS[$name];
$sql .= " AND $name LIKE '%$value%'";
}
}
return $sql;
}
function check_form()
{
global $LANG;
foreach($this->fieldlist as $field)
{
$name = $field['name'];
$value = trim($GLOBALS[$name]);
if($field['inputlimit'] == 'notnull' && empty($value)) showmessage($field['title'].$LANG['not_null']);
elseif($field['inputlimit'] == 'numeric' && !is_numeric($value) && !empty($value)) showmessage($field['title'].$LANG['is_numeric']);
elseif($field['inputlimit'] == 'letter' && !preg_match("/^[a-z]+$/i", $value) && !empty($value)) showmessage($field['title'].$LANG['is_letter']);
elseif($field['inputlimit'] == 'numeric_letter' && !preg_match("/^[0-9a-z]+$/i", $value) && !empty($value)) showmessage($field['title'].$LANG['is_numeric_or_letter']);
elseif($field['inputlimit'] == 'email' && !is_email($value) && !empty($value)) showmessage($field['title'].$LANG['is_email']);
elseif($field['inputlimit'] == 'date' && !is_date($value) && !empty($value)) showmessage($field['title'].$LANG['is_date']);
elseif($field['inputlimit'] == 'unique' && $this->db->get_one("SELECT $name FROM $this->table WHERE $name='$value' ") && !empty($value)) showmessage($field['title'].$LANG['is_unique']);
}
}
function listorder($listorders)
{
foreach($listorders as $fieldid=>$listorder)
{
$this->db->query("UPDATE ".TABLE_FIELD." SET listorder='$listorder' WHERE fieldid=$fieldid");
}
}
function update($condition = '')
{
if(!$this->fieldlist) return FALSE;
$fields = $s = '';
foreach($this->fieldlist as $field)
{
$name = $field['name'];
$value = $GLOBALS[$name];
if($field['formtype'] == 'checkbox') $value = is_array($value) ? implode(',', $value) : trim($value);
$value = $field['enablehtml'] ? str_safe($value) : new_htmlspecialchars($value);
if($field['size'] > 0) $value = str_cut($value, $field['size'], '');
$fields .= $s.$name."='".$value."'";
$s = ',';
}
if($condition) $condition = "WHERE $condition";
$this->db->query("UPDATE $this->table SET $fields $condition");
}
function cache()
{
cache_common();
$this->fieldlist = $this->get_list();
return cache_write($this->table.'_fields.php', $this->fieldlist);
}
function exists($name)
{
return $this->db->get_one("SHOW COLUMNS FROM `$this->table` like '$name' ");
}
}
?>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -