dm.php
来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· PHP 代码 · 共 511 行 · 第 1/2 页
PHP
511 行
<?php
/**
* The HTML_Progress_DM class handles any mathematical issues
* arising from assigning faulty values.
*
* PHP versions 4 and 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category HTML
* @package HTML_Progress
* @subpackage Progress_DM
* @author Laurent Laville <pear@laurent-laville.org>
* @copyright 1997-2005 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
* @version CVS: $Id: DM.php,v 1.7 2005/07/25 13:08:32 farell Exp $
* @link http://pear.php.net/package/HTML_Progress
*/
/**
* The HTML_Progress_DM class handles any mathematical issues
* arising from assigning faulty values.
*
* PHP versions 4 and 5
*
* LICENSE: This source file is subject to version 3.0 of the PHP license
* that is available through the world-wide-web at the following URI:
* http://www.php.net/license/3_0.txt. If you did not receive a copy of
* the PHP License and are unable to obtain it through the web, please
* send a note to license@php.net so we can mail you a copy immediately.
*
* @category HTML
* @package HTML_Progress
* @subpackage Progress_DM
* @author Laurent Laville <pear@laurent-laville.org>
* @copyright 1997-2005 The PHP Group
* @license http://www.php.net/license/3_0.txt PHP License 3.0
* @version Release: @package_version@
* @link http://pear.php.net/package/HTML_Progress
*/
class HTML_Progress_DM
{
/**
* The progress bar's minimum value.
* The default is 0.
*
* @var integer
* @since 1.0
* @access private
* @see getMinimum(), setMinimum()
*/
var $_minimum;
/**
* The progress bar's maximum value.
* The default is 100.
*
* @var integer
* @since 1.0
* @access private
* @see getMaximum(), setMaximum()
*/
var $_maximum;
/**
* The progress bar's increment value.
* The default is +1.
*
* @var integer
* @since 1.0
* @access private
* @see getIncrement(), setIncrement()
*/
var $_increment;
/**
* The progress bar's current value.
*
* @var integer
* @since 1.0
* @access private
* @see getValue(), setvalue(), incValue()
*/
var $_value;
/**
* The data model class constructor
*
* Constructor Summary
*
* o Creates a progress mathematical model with a minimum value set to 0,
* a maximum value set to 100, and a increment value set to +1.
* By default, the value is initialized to be equal to the minimum value.
* <code>
* $html = new HTML_Progress_DM();
* </code>
*
* o Creates a progress mathematical model with minimum and maximum set to
* specified values, and a increment value set to +1.
* By default, the value is initialized to be equal to the minimum value.
* <code>
* $html = new HTML_Progress_DM($min, $max);
* </code>
*
* o Creates a progress mathematical model with minimum, maximum and increment
* set to specified values.
* By default, the value is initialized to be equal to the minimum value.
* <code>
* $html = new HTML_Progress_DM($min, $max, $inc);
* </code>
*
* @since 1.0
* @access public
* @throws HTML_PROGRESS_ERROR_INVALID_INPUT
*/
function HTML_Progress_DM()
{
// if you've not yet created an instance of html_progress
if (!$GLOBALS['_HTML_PROGRESS_CALLBACK_ERRORHANDLER']) {
// init default error handling system,
HTML_Progress::_initErrorHandler();
}
$this->_minimum = 0;
$this->_maximum = 100;
$this->_increment = +1;
$args = func_get_args();
switch (count($args)) {
case 2:
/* int min, int max */
if (!is_int($args[0])) {
return HTML_Progress::raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception',
array('var' => '$min',
'was' => $args[0],
'expected' => 'integer',
'paramnum' => 1));
} elseif ($args[0] < 0) {
return HTML_Progress::raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error',
array('var' => '$min',
'was' => $args[0],
'expected' => 'positive',
'paramnum' => 1));
} elseif ($args[0] > $args[1]) {
return HTML_Progress::raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error',
array('var' => '$min',
'was' => $args[0],
'expected' => 'less than $max = '.$args[1],
'paramnum' => 1));
}
$this->_minimum = $args[0];
if (!is_int($args[1])) {
return HTML_Progress::raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception',
array('var' => '$max',
'was' => $args[1],
'expected' => 'integer',
'paramnum' => 2));
} elseif ($args[1] < 0) {
return HTML_Progress::raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error',
array('var' => '$max',
'was' => $args[1],
'expected' => 'positive',
'paramnum' => 2));
}
$this->_maximum = $args[1];
break;
case 3:
/* int min, int max, int inc */
if (!is_int($args[0])) {
return HTML_Progress::raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception',
array('var' => '$min',
'was' => $args[0],
'expected' => 'integer',
'paramnum' => 1));
} elseif ($args[0] < 0) {
return HTML_Progress::raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error',
array('var' => '$min',
'was' => $args[0],
'expected' => 'positive',
'paramnum' => 1));
} elseif ($args[0] > $args[1]) {
return HTML_Progress::raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error',
array('var' => '$min',
'was' => $args[0],
'expected' => 'less than $max = '.$args[1],
'paramnum' => 1));
}
$this->_minimum = $args[0];
if (!is_int($args[1])) {
return HTML_Progress::raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception',
array('var' => '$max',
'was' => $args[1],
'expected' => 'integer',
'paramnum' => 2));
} elseif ($args[1] < 0) {
return HTML_Progress::raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error',
array('var' => '$max',
'was' => $args[1],
'expected' => 'positive',
'paramnum' => 2));
}
$this->_maximum = $args[1];
if (!is_int($args[2])) {
return HTML_Progress::raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'exception',
array('var' => '$inc',
'was' => $args[2],
'expected' => 'integer',
'paramnum' => 3));
} elseif ($args[2] < 1) {
return HTML_Progress::raiseError(HTML_PROGRESS_ERROR_INVALID_INPUT, 'error',
array('var' => '$inc',
'was' => $args[2],
'expected' => 'greater than zero',
'paramnum' => 3));
}
$this->_increment = $args[2];
break;
default:
}
$this->_value = $this->_minimum;
}
/**
* Returns the progress bar's minimum value. The default value is 0.
*
* @return integer
* @since 1.0
* @access public
* @see setMinimum()
* @tutorial dm.getminimum.pkg
*/
function getMinimum()
{
return $this->_minimum;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?