亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? sqlitetriggerproperties.class.php

?? 架設ROSE私服必備之物 ROSE數據庫
?? PHP
字號:
<?php/*** Web based SQLite management* Show and manage 'FUNCTION' properties* @package SQLiteManager* @author Fr閐閞ic HENNINOT* @version $Id: SQLiteTriggerProperties.class.php,v 1.34 2006/04/16 18:56:57 freddy78 Exp $ $Revision: 1.34 $*/class SQLiteTriggerProperties {	/**	* reference of the connection object	*	* @access public	* @var resource	*/	var $connId;		/**	* TRIGGER name	*	* @access private	* @var string	*/	var $trigger;		/**	* this TRIGGER exist?	*	* @access private	* @var bool	*/	var $isExist;		/**	* TRIGGER properties	* @access private	* @var array	*/	var $triggerProperties;		/**	* Class constructor	*	* @access public	* @param object $conn reference to the connection object	*/	function SQLiteTriggerProperties($conn){		$this->connId = $conn;		if($GLOBALS['trigger'] && ($GLOBALS['action']!='add')) {			$this->trigger = $GLOBALS['trigger'];		} elseif($GLOBALS['TriggerName']){			$this->trigger = $GLOBALS['TriggerName'];		} else return false;				$this->isExist = $this->triggerExist($this->trigger);		return $this->isExist;	}		/**	* Verify if the TRIGGER exist	*	* @access public	* @param string $trigger	*/	function triggerExist($trigger){		if(empty($trigger)) $trigger = $this->trigger;		$query = "SELECT sql FROM sqlite_master WHERE type='trigger' AND name=".quotes($trigger).";";		if($this->connId->getResId($query)){			$triggerSQL = $this->connId->connId->fetch_single();			if(!$triggerSQL) return false;			$this->triggerProperties = $triggerSQL;			return true;		} else return false;				}		/**	* save current TRIGGER properties	*	* @access public	*/	function saveProp(){		if(($GLOBALS['action']=='delete') || ($this->isExist)){			$queryDisplay = $query[] = 'DROP TRIGGER '.brackets($this->trigger).';';		}		if($GLOBALS['action']!='delete'){			if($this->isExist) $triggername = $this->trigger;			else $triggername = $_POST['TriggerName'];			$queryCreate = 'CREATE TRIGGER '.brackets($triggername).' '.$_POST['TriggerMoment'];			if($_POST['TriggerMoment']!='') $queryCreate .= ' ';			$queryCreate .= $_POST['TriggerEvent'].' ';			if($_POST['TriggerEvent']=='UPDATE OF') $queryCreate .= $_POST['ColumnList'].' ';			$queryCreate .= 'ON '.brackets($_POST['TriggerOn']).' '.$_POST['TriggerAction'];			if($_POST['TriggerAction']!='') $queryCreate .= ' ';			if($_POST['TriggerCondition']=='WHEN') $queryCreate .= 'WHEN '.$_POST['ConditionList'].' ';			$queryCreate .= "\n".'BEGIN '."\n".stripslashes($_POST['TriggerStep'])."\n".' END;'."\n";			$queryDisplay = $query[] = $queryCreate;			$this->triggerProperties = $queryCreate;		}					$errorMessage = '';		foreach($query as $req){			$this->connId->getResId("BEGIN;");			$res = $this->connId->getResId($req);			$this->connId->getResId("COMMIT;");			if(!$res){				$errorMessage .= $GLOBALS['traduct']->get(9).' '.$errorCode.' : '.@$this->connId->connId->getError()."\n";			}		}		displayQuery($queryDisplay);		if(!empty($errorMessage)) displayError($errorMessage);		if($GLOBALS['action']!='delete') {			$this->propView();			echo "<script  type=\"text/javascript\">parent.left.location='left.php?dbsel=".$GLOBALS["dbsel"]."';</script>";		} else {			echo "<script  type=\"text/javascript\">parent.left.location='left.php?dbsel=".$GLOBALS["dbsel"]."'; parent.main.location='main.php?dbsel=".$GLOBALS["dbsel"]."';</script>";		}	}	/**	* Display the current TRIGGER properties	*	* @access public	*/	function propView(){		$tabTrigInfo = $this->extractProperties($this->triggerProperties);		$triggView = 'CREATE TRIGGER '.brackets($this->trigger).' '.$tabTrigInfo['TriggerMoment'];		if($tabTrigInfo['TriggerMoment']!='') $triggView .= ' ';		$triggView .= $tabTrigInfo['TriggerEvent'].$tabTrigInfo['ColumnList'].' ';		$triggView .= 'ON '.brackets($tabTrigInfo['TriggerOn']).' '.$tabTrigInfo['TriggerAction'];		if($tabTrigInfo['TriggerAction']!='') $triggView .= ' ';		if($tabTrigInfo['TriggerCondition']=='WHEN ') $triggView .= 'WHEN '.$tabTrigInfo['ConditionList'].' ';		$triggView .= "\n".'BEGIN '."\n".$tabTrigInfo["TriggerStep"]."\n".' END;'."\n";		echo '<br>';		echo '	<table cellpadding="2" cellspacing="0" width="90%" class="viewProp">					<tr class="viewPropTitle"><td align="right" width="20%" class="viewPropTitle">'.$GLOBALS['traduct']->get(19)." :&nbsp;</td><td align='center' class='viewPropTitle'>".$this->trigger."</td></tr>					<tr><td align='right' class='viewProp'>".$GLOBALS['traduct']->get(53)." :&nbsp;</td><td class='viewProp'>".nl2br($triggView)."</td></tr>";		echo '		</table>';		echo '<div align="center">';		if(!$GLOBALS['workDb']->isReadOnly() && displayCondition('properties')) echo "<a href=\"main.php?dbsel=".$GLOBALS["dbsel"]."&amp;trigger=".$this->trigger."&amp;action=modify\" class='base' target=\"main\">".$GLOBALS['traduct']->get(14).'</a>';		else echo '<span class="base"><i>'.$GLOBALS['traduct']->get(14).'</i></span>';		echo str_repeat('&nbsp;', 10);		if(!$GLOBALS['workDb']->isReadOnly() && displayCondition('del')) echo '<a href="main.php?dbsel='.$GLOBALS['dbsel'].'&amp;trigger='.$this->trigger.'&amp;action=delete" class="base" target="main">'.$GLOBALS['traduct']->get(15).'</a>';		else echo '<span class="base"><i>'.$GLOBALS['traduct']->get(15).'</i></span>';		echo '</div>';}		/**	* Display the current TRIGGER form for add or modify	*/	function triggerEditForm(){		if($this->isExist) $tabTrigInfo = $this->extractProperties($this->triggerProperties);		else $tabTrigInfo = array('TriggerMoment'=>'', 'TriggerEvent'=>'', 'TriggerOn'=>'', 'TriggerCondition'=>'', 'TriggerStep'=>'');		echo '<br><center>';		if($GLOBALS['action']=='add') echo '<h4>'.$GLOBALS['traduct']->get(54).'</h4>';		else echo '<h4>'.$GLOBALS['traduct']->get(55).' : '.$this->trigger.'</h4>';		echo "	<script  type=\"text/javascript\">				function checkColumn(){					base=document.forms['triggerprop'];					if(base.TriggerEvent.selectedIndex==3) afficheCalque('column');					else cacheCalque('column');					return;				}				function checkCondition(){					base=document.forms['triggerprop'];					if(base.TriggerCondition.selectedIndex==1) afficheCalque('condition');					else cacheCalque('condition');					return;				}				</script>";		echo "<form name=\"triggerprop\" action=\"main.php?dbsel=".$GLOBALS["dbsel"]."\" method=\"POST\" target=\"main\">";		echo "	<table cellpadding=2 cellspacing=0>					<tr><td align='right' class='viewPropTitle'>".$GLOBALS['traduct']->get(19)." :</td><td class='viewProp'><input type=\"text\" name=\"TriggerName\" value=\"".$this->trigger."\"></td>					<tr><td align='right' class='viewPropTitle'>".$GLOBALS['traduct']->get(56)." :</td><td class='viewProp'>						<select name='TriggerMoment'>							<option value=\"\"></option>							<option value='BEFORE'".(($tabTrigInfo["TriggerMoment"]=="BEFORE")? " selected" : "" ).">BEFORE</option>							<option value='AFTER'".(($tabTrigInfo["TriggerMoment"]=="AFTER")? " selected" : "" ).">AFTER</option>							<option value='INSTEAD OF'".(($tabTrigInfo["TriggerMoment"]=="INSTEAD OF")? " selected" : "" ).">INSTEAD OF</option>						</select></td>					<tr><td align='right' class='viewPropTitle'>".$GLOBALS['traduct']->get(57)." :</td><td class='viewProp'>							<div>								<div style='float: left'>									<select name='TriggerEvent' onChange='checkColumn()'>										<option value='DELETE'".(($tabTrigInfo["TriggerEvent"]=="DELETE")? " selected" : "" ).">DELETE</option>										<option value='INSERT'".(($tabTrigInfo["TriggerEvent"]=="INSERT")? " selected" : "" ).">INSERT</option>										<option value='UPDATE'".(($tabTrigInfo["TriggerEvent"]=="UPDATE")? " selected" : "" ).">UPDATE</option>										<option value='UPDATE OF'".(($tabTrigInfo["TriggerEvent"]=="UPDATE OF")? " selected" : "" ).">UPDATE OF</option>									</select>								</div>								<div id='column' style='float: right'>									<input type=\"text\" name=\"ColumnList\" value=\"".(($tabTrigInfo["TriggerEvent"]=="UPDATE OF ")? $tabTrigInfo["ColumnList"] : "" )."\" size=40>								</div>							</div>						</td>					<tr><td align='right' class='viewPropTitle'>".$GLOBALS['traduct']->get(58)." :</td><td class='viewProp'>						<select name='TriggerOn'>".$this->getOn($tabTrigInfo["TriggerOn"])."</select></td>					<tr><td align='right' class='viewPropTitle'>".$GLOBALS['traduct']->get(33)." :</td><td class='viewProp'>						<select name='TriggerAction'><option value=''></option>						<option value='FOR EACH ROW'>FOR EACH ROW</option>						<option value='FOR EACH STATEMENT'>FOR EACH STATEMENT</option></select></td>					<tr><td align='right' class='viewPropTitle'>".$GLOBALS['traduct']->get(59)." :</td><td class='viewProp'>						<div>						<div style='float: left'>							<select name='TriggerCondition' onChange='checkCondition();'>								<option value=''></option>								<option value='WHEN'".(($tabTrigInfo["TriggerCondition"]=="WHEN ")? " selected" : "" ).">WHEN</option>							</select>						</div>						<div id='condition' style='float: right'>							<input type=\"text\" name=\"ConditionList\" value=\"".(($tabTrigInfo["TriggerCondition"]=="WHEN ")? $tabTrigInfo["ConditionList"] : "" )."\" size=40>						</div>						</div>						</td>					</tr>					<tr><td align='right' class='viewPropTitle'>".$GLOBALS['traduct']->get(60)." :</td><td class='viewProp'><textarea name='TriggerStep' cols=60 rows=4>".htmlentities(trim($tabTrigInfo["TriggerStep"]), ENT_NOQUOTES, $GLOBALS['charset'])."</textarea></td>				</table>";		echo "<input type=\"hidden\" name=\"trigger\" value=\"".$this->trigger."\">\n";		echo "<input type=\"hidden\" name=\"action\" value=\"save\">\n";		echo "<input class=\"button\" type=\"submit\" value=\"".$GLOBALS['traduct']->get(51)."\">";		echo "</form></center>";		echo "<script  type=\"text/javascript\">checkColumn();checkCondition();</script>";	}		/**	* Get all table and view for 'ON' TRIGGER properties	*	* @access private	* @param string $selected current use	*/	function getOn($selected){		$query = "SELECT name, type FROM sqlite_master WHERE (type='table' OR type='view') ORDER BY name;";		$listOn = '';		if($this->connId->connId->query($query)){						while($ligne = $this->connId->connId->fetch_array(null, SQLITE_ASSOC)){				$listOn .= '<option value="'.$ligne['name'].'"'.(($ligne['name']==$selected)? ' selected="selected"' : '' ).'>'.$ligne['name'].'('.$ligne['type'].')</option>';			}		}		return $listOn;			}		/**	* Extract All properties in the SQL TRIGGER Properties	*	* @access private	* @param string $sql SQL TRIGGER properties	*/	function extractProperties($sql){		$out = array('TriggerMoment'=>'', 'TriggerEvent'=>'', 'ColumnList'=>'', 'TriggerAction'=>'', 'TriggerCondition'=>'', 'TriggerOn'=>'', 'TriggerStep'=>'');		$sql = str_replace("\n", ' ', $sql);		preg_match('/CREATE[[:space:]](.*)[[:space:]]ON/i', $sql, $StartTrig);		if($StartTrig[1]) $firstSubString = $StartTrig[1];		if(eregi('BEFORE', $firstSubString)) 	$out['TriggerMoment'] = 'BEFORE';		if(eregi('AFTER', $firstSubString)) 	$out['TriggerMoment'] = 'AFTER';		if(eregi('DELETE', $firstSubString)) 	$out['TriggerEvent'] = 'DELETE';		elseif(eregi('INSERT', $firstSubString)) 	$out['TriggerEvent'] = 'INSERT';		elseif(eregi('UPDATE OF', $firstSubString)) 	{			preg_match('/OF[[:space:]](.*)[[:space:]]ON/i', $sql, $colList);			$out['TriggerEvent'] 	= 'UPDATE OF ';			if($colList[1]) $out['ColumnList']		= trim($colList[1]);		} elseif(eregi('UPDATE', $sql)) 	$out['TriggerEvent'] = 'UPDATE';				if(eregi('FOR EACH ROW', $sql)) {			$out['TriggerAction'] = 'FOR EACH ROW';			$searchTable = 'FOR';		}		if(eregi('FOR EACH STATEMENT', $sql)){			$out['TriggerAction'] = 'FOR EACH STATEMENT';			$searchTable = 'FOR';		}					if(eregi('WHEN', $sql)) 	{			$searchTable = 'WHEN';			preg_match('/WHEN[[:space:]](.*)[[:space:]]|BEGIN/i', $sql, $condList);			$out['TriggerCondition'] = 'WHEN ';			if($condList[1]) $out['ConditionList'] = trim($condList[1]);		}		if(!isset($searchTable)) $searchTable = 'BEGIN';		preg_match('/ON[[:space:]](.*)[[:space:]]'.$searchTable.'/i', $sql, $tabList);		if($tabList[1]) $out['TriggerOn'] = trim($tabList[1]);		$Begin = stristr($sql, 'BEGIN');		preg_match('/BEGIN(.*)END/i', $sql, $stepList);		if($stepList[1]) $out['TriggerStep'] = $stepList[1];		return $out;	}}?>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日本一区二区综合亚洲| 福利一区二区在线| 国产美女视频91| 日本韩国欧美三级| 精品免费日韩av| 亚洲成人动漫在线观看| 国产一区二区三区免费在线观看| 在线观看国产一区二区| 久久精品在线观看| 男女男精品视频| 欧美日韩国产不卡| 亚洲精品免费在线| 成人看片黄a免费看在线| 欧美tickle裸体挠脚心vk| 视频精品一区二区| 91成人免费网站| 中文字幕一区不卡| 91女神在线视频| 国产三级一区二区| 韩国女主播一区二区三区| 欧美精品久久久久久久多人混战| 1024成人网| 成人精品国产一区二区4080| 久久一夜天堂av一区二区三区| 午夜视频一区在线观看| 欧美体内she精视频| 亚洲猫色日本管| 91在线观看高清| 中文字幕一区二区三区色视频| 国产老妇另类xxxxx| 久久新电视剧免费观看| 激情伊人五月天久久综合| 日韩女优电影在线观看| 久久99蜜桃精品| 精品久久久久99| 国产精品自产自拍| 久久精品欧美日韩| 成人黄色国产精品网站大全在线免费观看| 精品99999| 国产91精品精华液一区二区三区| 精品动漫一区二区三区在线观看| 久久成人av少妇免费| 2020国产成人综合网| 狠狠色丁香久久婷婷综合_中| 成人污视频在线观看| av电影在线观看一区| 中文字幕在线免费不卡| 91丝袜美腿高跟国产极品老师 | 国产69精品一区二区亚洲孕妇| 久久久久青草大香线综合精品| 国产精品一区二区在线观看不卡| 国产女人水真多18毛片18精品视频| 成人看片黄a免费看在线| 亚洲欧美一区二区三区久本道91| 91搞黄在线观看| 日韩va亚洲va欧美va久久| 欧美哺乳videos| 成人精品在线视频观看| 亚洲午夜视频在线观看| 欧美一级片在线| 国产黄人亚洲片| 亚洲永久精品大片| 欧美一区二区福利视频| 成人一区二区三区在线观看| 一区二区不卡在线播放 | 麻豆国产精品官网| 亚洲国产精品传媒在线观看| 色综合久久中文字幕| 免费精品99久久国产综合精品| 欧美激情一区二区三区蜜桃视频| 色综合咪咪久久| 奇米精品一区二区三区四区| 国产精品麻豆视频| 欧美一级黄色录像| 福利视频网站一区二区三区| 亚洲一区二区三区四区的| 久久久久久亚洲综合| 欧美在线观看一区| 国产经典欧美精品| 亚洲第一电影网| 国产精品久久久久aaaa| 欧美一级免费观看| www.成人网.com| 久久电影国产免费久久电影 | jlzzjlzz亚洲日本少妇| 免费观看在线综合色| 亚洲精品写真福利| 国产欧美日韩不卡免费| 91精品国产免费| 色综合久久六月婷婷中文字幕| 国产伦精品一区二区三区在线观看| 亚洲精品国产无套在线观| 欧美精品一区二| 欧美顶级少妇做爰| 在线国产亚洲欧美| 99精品欧美一区二区三区综合在线| 蜜臀av一区二区三区| 午夜激情一区二区| 亚洲乱码国产乱码精品精小说| 中文字幕成人在线观看| 久久欧美中文字幕| 欧美一区二区日韩一区二区| 欧美性videosxxxxx| 97se狠狠狠综合亚洲狠狠| 粉嫩av一区二区三区| 精品一区二区三区免费| 美脚の诱脚舐め脚责91| 日本aⅴ精品一区二区三区| 亚洲成人7777| 亚洲福利视频三区| 亚洲国产aⅴ成人精品无吗| 亚洲综合清纯丝袜自拍| 亚洲日本在线天堂| 亚洲黄色录像片| 1024精品合集| 亚洲精品中文在线观看| 亚洲电影欧美电影有声小说| 亚洲欧美色图小说| 亚洲欧美日韩国产手机在线| 1区2区3区欧美| 亚洲资源中文字幕| 午夜精品视频在线观看| 日韩电影免费在线| 久久福利资源站| 成人午夜看片网址| 99re亚洲国产精品| 色老汉一区二区三区| 欧美日韩综合在线免费观看| 欧美老女人第四色| 欧美一区二区黄| 国产偷国产偷精品高清尤物| 亚洲国产精品传媒在线观看| 成人免费在线播放视频| 亚洲第一会所有码转帖| 久久国产麻豆精品| 成人永久aaa| 日本韩国欧美国产| 日韩精品一区二| 国产精品美日韩| 亚洲第一激情av| 国产一区二区福利| 一本大道综合伊人精品热热| 在线精品视频一区二区| 日韩欧美三级在线| 中文字幕欧美日本乱码一线二线| 自拍偷自拍亚洲精品播放| 午夜亚洲福利老司机| 国产麻豆午夜三级精品| 91搞黄在线观看| 26uuu国产日韩综合| 亚洲激情综合网| 裸体一区二区三区| 91色九色蝌蚪| 精品国产91九色蝌蚪| 亚洲精品高清在线| 国产毛片一区二区| 7777精品伊人久久久大香线蕉| 26uuu色噜噜精品一区二区| 亚洲一区在线观看视频| 国产制服丝袜一区| 欧美日韩一区二区三区免费看| 久久久久久久久久久久久女国产乱| 亚洲激情成人在线| 成人性视频免费网站| 日韩欧美www| 洋洋成人永久网站入口| 成人精品小蝌蚪| 欧美精品一区二区三区在线| 一区二区免费视频| 成人福利视频在线| 久久午夜羞羞影院免费观看| 亚洲高清在线视频| 91丨porny丨最新| 国产日韩欧美在线一区| 日韩激情在线观看| 欧美亚洲综合久久| 最新成人av在线| 大桥未久av一区二区三区中文| 欧美一区二区精品久久911| 亚洲一区在线播放| 91在线播放网址| 亚洲国产精品黑人久久久| 久久精品999| 日韩一级完整毛片| 日韩av电影免费观看高清完整版在线观看 | 亚洲女爱视频在线| 国产99久久久国产精品免费看| 日韩欧美123| 人人狠狠综合久久亚洲| 91麻豆精品国产91久久久久| 亚洲综合精品久久| 欧美天天综合网| 午夜精品福利一区二区蜜股av | 成人免费视频免费观看| 26uuu欧美| 成人听书哪个软件好| 国产日韩欧美a| 99麻豆久久久国产精品免费优播| 久久久久久97三级| 大桥未久av一区二区三区中文|