. * * @copyright Copyright 2009-2010 Chunsheng Wang * @author Chunsheng Wang * @package ZenTaoMS * @version $Id$ * @link http://www.zentao.cn */ class html { /** * create tags like text * * @param string $href the link url. * @param string $title the link title. * @param string $target the target window * @param string $misc other params. */ static public function a($href = '', $title = '', $target = "_self", $misc = '') { if(empty($title)) $title = $href; if($target == '_self') return "$title\n"; return "$title\n"; } /** * create tags like text * * @param string $mail the email address * @param string $title the email title. */ static public function mailto($mail = '', $title = '') { if(empty($title)) $title = $mail; return "$title"; } /** * create tags like "" * * @param string $name the name of the select tag. * @param array $options the array to create select tag from. * @param string $selectedItems the item(s) to be selected, can like item1,item2. * @param string $attrib other params such as multiple, size and style. */ static public function select($name = '', $options = array(), $selectedItems = "", $attrib = "") { $options = (array)($options); if(!is_array($options) or empty($options)) return false; /* The begin. */ $id = $name; if($pos = strpos($name, '[')) $id = substr($name, 0, $pos); $string = "\n"; } /** * create select with optgroup. * * @param string $name the name of the select tag. * @param array $groups the option groups. * @param string $selectedItems the item(s) to be selected, can like item1,item2. * @param string $attrib other params such as multiple, size and style. */ static public function selectGroup($name = '', $groups = array(), $selectedItems = "", $attrib = "") { if(!is_array($groups) or empty($groups)) return false; /* The begin. */ $id = $name; if($pos = strpos($name, '[')) $id = substr($name, 0, $pos); $string = "\n"; } /** * Create tags like "" * * @param string $name the name of the radio tag. * @param array $options the array to create radio tag from. * @param string $checked the value to checked by default. * @param string $attrib other attribs. */ static public function radio($name = '', $options = array(), $checked = '', $attrib = '') { $options = (array)($options); if(!is_array($options) or empty($options)) return false; $string = ''; foreach($options as $key => $value) { $string .= "" * * @param string $name the name of the checkbox tag. * @param array $options the array to create checkbox tag from. * @param string $checked the value to checked by default, can be item1,item2 * @param string $attrib other attribs. */ static public function checkbox($name, $options, $checked = "", $attrib = "") { $options = (array)($options); if(!is_array($options) or empty($options)) return false; $string = ''; $checked = ",$checked,"; foreach($options as $key => $value) { $key = str_replace('item', '', $key); // 因为对象的元素不能为数字,所以需要在配置里面会在数字前面添加item,这个地方将item去掉。 $string .= "" * * @param string $name the name of the text input tag. * @param string $value the default value. * @param string $attrib other attribs. */ static public function input($name, $value = "", $attrib = "") { return "\n"; } /** * create tags like "" * * @param string $name the name of the text input tag. * @param string $value the default value. * @param string $attrib other attribs. */ static public function hidden($name, $value = "", $attrib = "") { return "\n"; } /** * create tags like "" * * @param string $name the name of the text input tag. * @param string $value the default value. * @param string $attrib other attribs. */ static public function password($name, $value = "", $attrib = "") { return "\n"; } /** * create tags like "" * * @param string $name the name of the textarea tag. * @param string $value the default value of the textarea tag. * @param string $attrib other attribs. */ static public function textarea($name, $value = "", $attrib = "") { return "\n"; } /** * create tags like "". * * @param string $name the name of the file name. * @param string $attrib other attribs. */ static public function file($name, $attrib = "") { return "\n"; } /** * create submit button. * * @static * @access public * @return string the submit button tag. */ public static function submitButton($label = '', $misc = '') { if(empty($label)) { global $lang; $label = $lang->save; } return " "; } /** * create reset button. * * @static * @access public * @return string the reset button tag. */ public static function resetButton() { global $lang; return " "; } /** * create common button. * * @static * @access public * @return string the reset button tag. */ public static function commonButton($label = '', $misc = '') { return " "; } /** * create a button with a link. * * @static * @access public * @return string the reset button tag. */ public static function linkButton($label = '', $link = '', $misc = '') { return " "; } } class js { /* The start of javascript. */ static private function start() { return << \n"; } /* Show a alert box. */ static public function alert($message = '') { return self::start() . "alert('" . $message . "')" . self::end(); } /* 弹出错误。其中message可以是一条字符串,也可以是一维或者二维数组。*/ static public function error($message) { $alertMessage = ''; if(is_array($message)) { foreach($message as $item) { is_array($item) ? $alertMessage .= join('\n', $item) . '\n' : $alertMessage .= $item . '\n'; } } else { $alertMessage = $message; } return self::alert($alertMessage); } /** * show a confirm box, press ok go to okURL, else go to cancleURL. * * @param string $message the text to be showed. * @param string $okURL the url to go to when press 'ok'. * @param string $cancleURL the url to go to when press 'cancle'. * @param string $okTarget the target to go to when press 'ok'. * @param string $cancleTarget the target to go to when press 'cancle'. */ static public function confirm($message = '', $okURL = '', $cancleURL = '', $okTarget = "self", $cancleTarget = "self", $Echo = true) { $js = self::start(); $confirmAction = ''; if(strtolower($okURL) == "back") { $confirmAction = "history.back(-1);"; } elseif(!empty($okURL)) { $confirmAction = "$okTarget.location = '$okURL';"; } $cancleAction = ''; if(strtolower($cancleURL) == "back") { $cancleAction = "history.back(-1);"; } elseif(!empty($cancleURL)) { $cancleAction = "$cancleTarget.location = '$cancleURL';"; } $js .= <<getViewType(); $themeRoot = $app->getWebRoot() . 'theme/'; $moduleName = $app->getModuleName(); $methodName = $app->getMethodName(); $clientLang = $app->getClientLang(); $requiredFields = ''; if(isset($config->$moduleName->$methodName->requiredFields)) $requiredFields = str_replace(' ', '', $config->$moduleName->$methodName->requiredFields); $js = << webRoot = '$config->webRoot'; requestType = '$config->requestType'; pathType = '$config->pathType'; requestFix = '$config->requestFix'; moduleVar = '$config->moduleVar'; methodVar = '$config->methodVar'; viewVar = '$config->viewVar'; defaultView = '$defaultViewType'; themeRoot = '$themeRoot'; currentModule = '$moduleName'; currentMethod = '$methodName'; clientLang = '$clientLang'; requiredFields = '$requiredFields'; zentaoHelpRoot = '$config->helpRoot'; EOT; return $js; } }