[xoops-cvslog 4323] CVS update: xoops2jp/html/modules/base/admin/class

Back to archive index

Minahito minah****@users*****
2006年 8月 24日 (木) 13:57:16 JST


Index: xoops2jp/html/modules/base/admin/class/EasyLex_SQLScanner.class.php
diff -u xoops2jp/html/modules/base/admin/class/EasyLex_SQLScanner.class.php:1.1.2.1 xoops2jp/html/modules/base/admin/class/EasyLex_SQLScanner.class.php:1.1.2.2
--- xoops2jp/html/modules/base/admin/class/EasyLex_SQLScanner.class.php:1.1.2.1	Mon Aug 14 10:58:52 2006
+++ xoops2jp/html/modules/base/admin/class/EasyLex_SQLScanner.class.php	Thu Aug 24 13:57:16 2006
@@ -1,388 +1,401 @@
-<?php
-/**
- * @package EasyLexSQL
- * @varsion $Id: EasyLex_SQLScanner.class.php,v 1.1.2.1 2006/08/14 01:58:52 minahito Exp $
- * 
- * In the original BSD license, both occurrences of the phrase "COPYRIGHT
- * HOLDERS AND CONTRIBUTORS" in the disclaimer read "REGENTS AND CONTRIBUTORS".
- * 
- * Copyright (c) 2006, XOOPS Cube Project team/minahito (minah****@users*****)
- * All rights reserved.
- * 
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions are met:
- * 
- * a) Redistributions of source code must retain the above copyright notice,
- *    this list of conditions and the following disclaimer.
- * b) Redistributions in binary form must reproduce the above copyright notice,
- *    this list of conditions and the following disclaimer in the documentation
- *    and/or other materials provided with the distribution.
- * c) Neither the name of the XOOPS Cube Project team nor the names of its
- *    contributors may be used to endorse or promote products derived from this
- *    software without specific prior written permission.
- *    
- * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
- * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-define('EASYLEX_SQL_UNKNOWN', 0);
-define('EASYLEX_SQL_DIGIT', 1);
-define('EASYLEX_SQL_LETTER', 2);
-define('EASYLEX_SQL_STRING_LITERAL', 3);
-define('EASYLEX_SQL_OPEN_PARENTHESIS', 4);
-define('EASYLEX_SQL_CLOSE_PARENTHESIS', 5);
-define('EASYLEX_SQL_SEPARATER', 6);
-define('EASYLEX_SQL_SEMICOLON', 7);
-define('EASYLEX_SQL_MARK', 8);
-define('EASYLEX_SQL_COMMA', 9);
-
-/**
- * This is BSD easy lexcal scanner for SQL.
- * 
- * @version 1.00
- */
-class EasyLex_SQLScanner
-{
-	var $mTokens;
-	var $mStatus = EASYLEX_SQL_UNKNOWN;
-	
-	/**
-	 * @var Array of char
-	 */
-	var $mBuffer = array();
-	
-	var $mIndex = 0;
-	
-	var $mActiveToken = '';
-	
-	var $mActiveQuoteMark = null;
-	
-	function setBuffer($buffer)
-	{
-		$this->mBuffer = array();
-		for ($i = 0; $i < strlen($buffer); $i++) {
-			$this->mBuffer[$i] = $buffer{$i};
-		}
-		
-		$this->mIndex = 0;
-	}
-	
-	function parse()
-	{
-		while ($this->mIndex <= count($this->mBuffer)) {
-			if ($this->mIndex == count($this->mBuffer)) {
-				$ch = '';
-				$type = EASYLEX_SQL_UNKNOWN;
-			}
-			else {
-				$ch = $this->mBuffer[$this->mIndex];
-				$type = $this->_getChrType($ch);
-			}
-			
-			switch ($this->mStatus) {
-				case EASYLEX_SQL_UNKNOWN:
-					$this->_parseUnknown($ch, $type);
-					break;
-					
-				case EASYLEX_SQL_DIGIT:
-					$this->_parseDigit($ch, $type);
-					break;
-					
-				case EASYLEX_SQL_LETTER:
-					$this->_parseLetter($ch, $type);
-					break;
-					
-				case EASYLEX_SQL_STRING_LITERAL:
-					$this->_parseStringLiteral($ch, $type);
-					break;
-					
-				case EASYLEX_SQL_OPEN_PARENTHESIS:
-					$this->_parseOpenParenthesis($ch, $type);
-					break;
-					
-				case EASYLEX_SQL_CLOSE_PARENTHESIS:
-					$this->_parseCloseParenthesis($ch, $type);
-					break;
-					
-				case EASYLEX_SQL_SEPARATER:
-					$this->_parseSeparater($ch, $type);
-					break;
-					
-				case EASYLEX_SQL_MARK:
-					$this->_parseMark($ch, $type);
-					break;
-					
-				case EASYLEX_SQL_SEMICOLON:
-					$this->_parseSemicolon($ch, $type);
-					break;
-					
-				case EASYLEX_SQL_COMMA:
-					$this->_parseComma($ch, $type);
-					break;
-			}
-		}
-	}
-	
-	/**
-	 * Load file and set buffer. If $preprocess is true, scan commetns and
-	 * remove these.
-	 * 
-	 * @param  string $path file path
-	 * @param  bool   $preprocess
-	 * @return bool
-	 */
-	function loadFile($path, $preprocess = true)
-	{
-		if (!file_exists($path)) {
-			return false;
-		}
-
-		$fp = fopen($path, "rb");
-		if (!$fp) {
-			return false;
-		}
-		
-		$t_buff = "";
-		while ($str = fgets($fp)) {
-			if ($preprocess) {
-				$str = preg_replace("/\#.*/", "", $str);
-			}
-			$t_buff .= $str;
-		}
-		
-		$this->setBuffer($t_buff);
-		
-		fclose($fp);
-		return true;
-	}
-	
-	function _getChrType($ch)
-	{
-		if (preg_match("/\s/", $ch)) {
-			return EASYLEX_SQL_SEPARATER;
-		}
-		
-		if ($ch == '(') {
-			return EASYLEX_SQL_OPEN_PARENTHESIS;
-		}
-		
-		if ($ch == ')') {
-			return EASYLEX_SQL_CLOSE_PARENTHESIS;
-		}
-		
-		if ($ch == ';') {
-			return EASYLEX_SQL_SEMICOLON;
-		}
-		
-		if ($ch == ',') {
-			return EASYLEX_SQL_COMMA;
-		}
-		
-		if (preg_match("/[0-9]/", $ch)) {
-			return EASYLEX_SQL_DIGIT;
-		}
-		
-		if (preg_match("/[!=<>%\*]/", $ch)) {
-			return EASYLEX_SQL_MARK;
-		}
-		
-		return EASYLEX_SQL_LETTER;
-	}
-	
-	function _parseUnknown($ch, $type)
-	{
-		$this->mStatus = $type;
-		$this->mActiveToken .= $ch;
-		$this->mIndex++;
-		
-		if ($ch == "'" || $ch == '"' || $ch == '`') {
-			$this->mStatus = EASYLEX_SQL_STRING_LITERAL;
-			$this->mActiveQuoteMark = $ch;
-		}
-
-	}
-	
-	function _parseDigit($ch, $type)
-	{
-		if ($type == EASYLEX_SQL_DIGIT) {
-			$this->mActiveToken .= $ch;
-			$this->mIndex++;
-		}
-		elseif ($type == EASYLEX_SQL_LETTER) {
-			$this->mStatus = EASYLEX_SQL_LETTER;
-			$this->mActiveToken .= $ch;
-			$this->mIndex++;
-		}
-		else {
-			$this->_createToken();
-		}
-	}
-	
-	function _parseLetter($ch, $type)
-	{
-		if ($type == EASYLEX_SQL_LETTER || $type == EASYLEX_SQL_DIGIT) {
-			$this->mActiveToken .= $ch;
-			$this->mIndex++;
-		}
-		else {
-			$this->_createToken();
-		}
-	}
-	
-	function _parseStringLiteral($ch, $type)
-	{
-		$this->mActiveToken .= $ch;
-		$this->mIndex++;
-		if ($ch == $this->mActiveQuoteMark && substr($this->mActiveToken, -2, 1) != "\\" && substr($this->mActiveToken, -3, 1) != "\\") {
-			$this->_createToken();
-		}
-	}
-	
-	function _parseOpenParenthesis($ch, $type)
-	{
-		$this->_createToken();
-	}
-	
-	function _parseCloseParenthesis($ch, $type)
-	{
-		$this->_createToken();
-	}
-	
-	function _parseSeparater($ch, $type)
-	{
-		if ($type == EASYLEX_SQL_SEPARATER) {
-			$this->mActiveToken .= $ch;
-			$this->mIndex++;
-		}
-		else {
-			// $this->_createToken();
-			$this->mStatus = EASYLEX_SQL_UNKNOWN;
-			$this->mActiveToken = "";
-		}
-	}
-	
-	function _parseSemicolon($ch, $type)
-	{
-		$this->_createToken();
-	}
-	
-	function _parseMark($ch, $type)
-	{
-		if ($type == EASYLEX_SQL_MARK) {
-			$this->mActiveToken .= $ch;
-			$this->mIndex++;
-		}
-		else {
-			$this->_createToken();
-		}
-	}
-	
-	function _parseComma($ch, $type)
-	{
-		$this->_createToken();
-	}
-	
-	function _createToken($type = null, $value = null)
-	{
-		if ($type === null) {
-			$type = $this->mStatus;
-		}
-		
-		if ($value === null) {
-			$value = $this->mActiveToken;
-		}
-		
-		$token =& new EasyLex_SQLToken($type, $value);
-		$this->mTokens[] =& $token;
-		
-		$this->mStatus = EASYLEX_SQL_UNKNOWN;
-		$this->mActiveToken = "";
-		
-		return $token;
-	}
-	
-	/**
-	 * Return Array of operations.
-	 * 
-	 * @return Array $ret[Index] = Array of tokens.
-	 */
-	function &getOperations()
-	{
-		$ret = array();
-		$t_tokens = array();
-		$depth = 0;
-		
-		foreach (array_keys($this->mTokens) as $key) {
-			if ($this->mTokens[$key]->mType == EASYLEX_SQL_OPEN_PARENTHESIS) {
-				$depth++;
-			}
-			elseif ($this->mTokens[$key]->mType == EASYLEX_SQL_CLOSE_PARENTHESIS) {
-				$depth--;
-			}
-			
-			$t_tokens[] =& $this->mTokens[$key];
-			
-			if ($this->mTokens[$key]->mType == EASYLEX_SQL_SEMICOLON && $depth == 0) {
-				$ret[] =& $t_tokens;
-				unset($t_tokens);
-				$t_tokens = array();
-			}
-		}
-		
-		if (count($t_tokens) > 0) {
-			$ret[] =& $t_tokens;
-			unset($t_tokens);
-		}
-		
-		return $ret;
-	}
-	
-	function getSQL()
-	{
-		$sqls = array();
-		$lines =& $this->getOperations();
-		
-		foreach ($lines as $line) {
-			$t_arr = array();
-			foreach ($line as $token) {
-				$t_arr[] = $token->getOutputValue();
-			}
-			$sqls[] = join(" ", $t_arr);
-		}
-		
-		return $sqls;
-	}
-}
-
-class EasyLex_SQLToken
-{
-	var $mType = EASYLEX_SQL_UNKNOWN;
-	var $mValue = "";
-	
-	function EasyLex_SQLToken($type, $value)
-	{
-		$this->mType = $type;
-		$this->mValue = $value;
-	}
-	
-	function getOutputValue()
-	{
-		if ($this->mType == EASYLEX_SQL_SEPARATER) {
-			return "";
-		}
-		else {
-			return $this->mValue;
-		}
-	}
-}
-
+<?php
+/**
+ * @package EasyLexSQL
+ * @varsion $Id: EasyLex_SQLScanner.class.php,v 1.1.2.2 2006/08/24 04:57:16 minahito Exp $
+ * 
+ * In the original BSD license, both occurrences of the phrase "COPYRIGHT
+ * HOLDERS AND CONTRIBUTORS" in the disclaimer read "REGENTS AND CONTRIBUTORS".
+ * 
+ * Copyright (c) 2006, XOOPS Cube Project team/minahito (minah****@users*****)
+ * All rights reserved.
+ * 
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions are met:
+ * 
+ * a) Redistributions of source code must retain the above copyright notice,
+ *    this list of conditions and the following disclaimer.
+ * b) Redistributions in binary form must reproduce the above copyright notice,
+ *    this list of conditions and the following disclaimer in the documentation
+ *    and/or other materials provided with the distribution.
+ * c) Neither the name of the XOOPS Cube Project team nor the names of its
+ *    contributors may be used to endorse or promote products derived from this
+ *    software without specific prior written permission.
+ *    
+ * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+ * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+ * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+ * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+ * POSSIBILITY OF SUCH DAMAGE.
+ */
+
+define('EASYLEX_SQL_UNKNOWN', 0);
+define('EASYLEX_SQL_DIGIT', 1);
+define('EASYLEX_SQL_LETTER', 2);
+define('EASYLEX_SQL_STRING_LITERAL', 3);
+define('EASYLEX_SQL_OPEN_PARENTHESIS', 4);
+define('EASYLEX_SQL_CLOSE_PARENTHESIS', 5);
+define('EASYLEX_SQL_SEPARATER', 6);
+define('EASYLEX_SQL_SEMICOLON', 7);
+define('EASYLEX_SQL_MARK', 8);
+define('EASYLEX_SQL_COMMA', 9);
+
+/**
+ * This is BSD easy lexcal scanner for SQL.
+ * 
+ * @version 1.00
+ */
+class EasyLex_SQLScanner
+{
+	var $mTokens;
+	var $mStatus = EASYLEX_SQL_UNKNOWN;
+	
+	/**
+	 * @var Array of char
+	 */
+	var $mBuffer = array();
+	
+	var $mIndex = 0;
+	
+	var $mActiveToken = '';
+	
+	var $mActiveQuoteMark = null;
+	
+	function setBuffer($buffer)
+	{
+		$this->mBuffer = array();
+		for ($i = 0; $i < strlen($buffer); $i++) {
+			$this->mBuffer[$i] = $buffer{$i};
+		}
+		
+		$this->mIndex = 0;
+	}
+	
+	function parse()
+	{
+		while ($this->mIndex <= count($this->mBuffer)) {
+			if ($this->mIndex == count($this->mBuffer)) {
+				$ch = '';
+				$type = EASYLEX_SQL_UNKNOWN;
+			}
+			else {
+				$ch = $this->mBuffer[$this->mIndex];
+				$type = $this->_getChrType($ch);
+			}
+			
+			switch ($this->mStatus) {
+				case EASYLEX_SQL_UNKNOWN:
+					$this->_parseUnknown($ch, $type);
+					break;
+					
+				case EASYLEX_SQL_DIGIT:
+					$this->_parseDigit($ch, $type);
+					break;
+					
+				case EASYLEX_SQL_LETTER:
+					$this->_parseLetter($ch, $type);
+					break;
+					
+				case EASYLEX_SQL_STRING_LITERAL:
+					$this->_parseStringLiteral($ch, $type);
+					break;
+					
+				case EASYLEX_SQL_OPEN_PARENTHESIS:
+					$this->_parseOpenParenthesis($ch, $type);
+					break;
+					
+				case EASYLEX_SQL_CLOSE_PARENTHESIS:
+					$this->_parseCloseParenthesis($ch, $type);
+					break;
+					
+				case EASYLEX_SQL_SEPARATER:
+					$this->_parseSeparater($ch, $type);
+					break;
+					
+				case EASYLEX_SQL_MARK:
+					$this->_parseMark($ch, $type);
+					break;
+					
+				case EASYLEX_SQL_SEMICOLON:
+					$this->_parseSemicolon($ch, $type);
+					break;
+					
+				case EASYLEX_SQL_COMMA:
+					$this->_parseComma($ch, $type);
+					break;
+			}
+		}
+	}
+	
+	/**
+	 * Load file and set buffer. If $preprocess is true, scan commetns and
+	 * remove these.
+	 * 
+	 * @param  string $path file path
+	 * @param  bool   $preprocess
+	 * @return bool
+	 */
+	function loadFile($path, $preprocess = true)
+	{
+		if (!file_exists($path)) {
+			return false;
+		}
+
+		$fp = fopen($path, "rb");
+		if (!$fp) {
+			return false;
+		}
+		
+		$t_buff = "";
+		while ($str = fgets($fp)) {
+			if ($preprocess) {
+				$str = preg_replace("/\#.*/", "", $str);
+			}
+			$t_buff .= $str;
+		}
+		
+		$this->setBuffer($t_buff);
+		
+		fclose($fp);
+		return true;
+	}
+	
+	function _getChrType($ch)
+	{
+		if (preg_match("/\s/", $ch)) {
+			return EASYLEX_SQL_SEPARATER;
+		}
+		
+		if ($ch == '(') {
+			return EASYLEX_SQL_OPEN_PARENTHESIS;
+		}
+		
+		if ($ch == ')') {
+			return EASYLEX_SQL_CLOSE_PARENTHESIS;
+		}
+		
+		if ($ch == ';') {
+			return EASYLEX_SQL_SEMICOLON;
+		}
+		
+		if ($ch == ',') {
+			return EASYLEX_SQL_COMMA;
+		}
+		
+		if (preg_match("/[0-9]/", $ch)) {
+			return EASYLEX_SQL_DIGIT;
+		}
+		
+		if (preg_match("/[!=<>%\*]/", $ch)) {
+			return EASYLEX_SQL_MARK;
+		}
+		
+		return EASYLEX_SQL_LETTER;
+	}
+	
+	function _parseUnknown($ch, $type)
+	{
+		$this->mStatus = $type;
+		$this->mActiveToken .= $ch;
+		$this->mIndex++;
+		
+		if ($ch == "'" || $ch == '"' || $ch == '`') {
+			$this->mStatus = EASYLEX_SQL_STRING_LITERAL;
+			$this->mActiveQuoteMark = $ch;
+		}
+
+	}
+	
+	function _parseDigit($ch, $type)
+	{
+		if ($type == EASYLEX_SQL_DIGIT) {
+			$this->mActiveToken .= $ch;
+			$this->mIndex++;
+		}
+		elseif ($type == EASYLEX_SQL_LETTER) {
+			$this->mStatus = EASYLEX_SQL_LETTER;
+			$this->mActiveToken .= $ch;
+			$this->mIndex++;
+		}
+		else {
+			$this->_createToken();
+		}
+	}
+	
+	function _parseLetter($ch, $type)
+	{
+		if ($type == EASYLEX_SQL_LETTER || $type == EASYLEX_SQL_DIGIT) {
+			$this->mActiveToken .= $ch;
+			$this->mIndex++;
+		}
+		else {
+			$this->_createToken();
+		}
+	}
+	
+	function _parseStringLiteral($ch, $type)
+	{
+		$this->mActiveToken .= $ch;
+		$this->mIndex++;
+		if ($ch == $this->mActiveQuoteMark && substr($this->mActiveToken, -2, 1) != "\\" && substr($this->mActiveToken, -3, 1) != "\\") {
+			$this->_createToken();
+		}
+	}
+	
+	function _parseOpenParenthesis($ch, $type)
+	{
+		$this->_createToken();
+	}
+	
+	function _parseCloseParenthesis($ch, $type)
+	{
+		$this->_createToken();
+	}
+	
+	function _parseSeparater($ch, $type)
+	{
+		if ($type == EASYLEX_SQL_SEPARATER) {
+			$this->mActiveToken .= $ch;
+			$this->mIndex++;
+		}
+		else {
+			// $this->_createToken();
+			$this->mStatus = EASYLEX_SQL_UNKNOWN;
+			$this->mActiveToken = "";
+		}
+	}
+	
+	function _parseSemicolon($ch, $type)
+	{
+		$this->_createToken();
+	}
+	
+	function _parseMark($ch, $type)
+	{
+		if ($type == EASYLEX_SQL_MARK) {
+			$this->mActiveToken .= $ch;
+			$this->mIndex++;
+		}
+		else {
+			$this->_createToken();
+		}
+	}
+	
+	function _parseComma($ch, $type)
+	{
+		$this->_createToken();
+	}
+	
+	function _createToken($type = null, $value = null)
+	{
+		if ($type === null) {
+			$type = $this->mStatus;
+		}
+		
+		if ($value === null) {
+			$value = $this->mActiveToken;
+		}
+		
+		$token =& new EasyLex_SQLToken($type, $value);
+		$this->mTokens[] =& $token;
+		
+		$this->mStatus = EASYLEX_SQL_UNKNOWN;
+		$this->mActiveToken = "";
+		
+		return $token;
+	}
+	
+	/**
+	 * Return Array of operations.
+	 * 
+	 * @return Array $ret[Index] = Array of tokens.
+	 */
+	function &getOperations()
+	{
+		$ret = array();
+		$t_tokens = array();
+		$depth = 0;
+		
+		foreach (array_keys($this->mTokens) as $key) {
+			if ($this->mTokens[$key]->mType == EASYLEX_SQL_OPEN_PARENTHESIS) {
+				$depth++;
+			}
+			elseif ($this->mTokens[$key]->mType == EASYLEX_SQL_CLOSE_PARENTHESIS) {
+				$depth--;
+			}
+			
+			$t_tokens[] =& $this->mTokens[$key];
+			
+			if ($this->mTokens[$key]->mType == EASYLEX_SQL_SEMICOLON && $depth == 0) {
+				$ret[] =& $t_tokens;
+				unset($t_tokens);
+				$t_tokens = array();
+			}
+		}
+		
+		if (count($t_tokens) > 0) {
+			$ret[] =& $t_tokens;
+			unset($t_tokens);
+		}
+		
+		return $ret;
+	}
+	
+	function getSQL()
+	{
+		$sqls = array();
+		$lines =& $this->getOperations();
+		
+		foreach ($lines as $line) {
+			$t_arr = array();
+			foreach ($line as $token) {
+				$t_arr[] = $token->getOutputValue();
+			}
+			$sqls[] = join(" ", $t_arr);
+		}
+		
+		return $sqls;
+	}
+}
+
+class EasyLex_SQLToken
+{
+	var $mType = EASYLEX_SQL_UNKNOWN;
+	var $mValue = "";
+	
+	function EasyLex_SQLToken($type, $value)
+	{
+		$this->mType = $type;
+		$this->mValue = $value;
+	}
+	
+	function getOutputValue()
+	{
+		if ($this->mType == EASYLEX_SQL_SEPARATER) {
+			return "";
+		}
+		else {
+			return $this->mValue;
+		}
+	}
+	
+	function getValue()
+	{
+		if ($this->mType == EASYLEX_SQL_SEPARATER) {
+			return "";
+		}
+		
+		if ($this->mType == EASYLEX_SQL_STRING_LITERAL) {
+			return substr($this->mValue, 1, strlen($this->mValue) - 2);
+		}
+		
+		return $this->mValue;
+	}
+}
+
 ?>
\ No newline at end of file


xoops-cvslog メーリングリストの案内
Back to archive index