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

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

?? projecttaskfactory.class

?? GForge 3.0 協作開發平臺 支持CVS, mailing lists, bug tracking, message boards/forums, task management, perman
?? CLASS
字號:
<?php/** * GForge Project Management Facility * * Copyright 2002 GForge, LLC * http://gforge.org/ * * @version   $Id: ProjectTaskFactory.class,v 1.5 2003/02/12 17:23:47 bigdisk Exp $ * * This file is part of GForge. * * GForge is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * GForge is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with GForge; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  US *//*	Project/Task Manager	By Tim Perdue, Sourceforge, 11/99	Heavy rewrite by Tim Perdue April 2000	Total rewrite in OO and GForge coding guidelines 12/2002 by Tim Perdue*/require_once('common/include/Error.class');require_once('common/pm/ProjectTask.class');class ProjectTaskFactory extends Error {	/**	 * The ProjectGroup object.	 *	 * @var	 object  $ProjectGroup.	 */	var $ProjectGroup;	/**	 * The project_tasks array.	 *	 * @var  array  project_tasks.	 */	var $project_tasks;	var $order;	var $status;	var $category;	var $assigned_to;	var $offset;	var $max_rows;	var $fetched_rows;	/**	 *  Constructor.	 *	 *	@param	object	The ProjectGroup object to which this ProjectTask is associated.	 *	@return	boolean	success.	 */	function ProjectTaskFactory(&$ProjectGroup) {		$this->Error();		if (!$ProjectGroup || !is_object($ProjectGroup)) {			$this->setError('ProjectTask:: No Valid ProjectGroup Object');			return false;		}		if ($ProjectGroup->isError()) {			$this->setError('ProjectTask:: '.$ProjectGroup->getErrorMessage());			return false;		}		$this->ProjectGroup =& $ProjectGroup;		return true;	}	/**	 *	setup - sets up limits and sorts before you call getTasks().	 *	 *	@param	int	The offset - number of rows to skip.	 *	@param	string	The way to order - ASC or DESC.	 *	@param	int	The max number of rows to return.	 *	@param	string	Whether to set these prefs into the user_prefs table - use "custom".	 *	@param	int	Include this param if you want to limit to a certain assignee.	 *	@param	int	Include this param if you want to limit to a certain category.	 */	function setup($offset,$order,$max_rows,$set,$_assigned_to,$_status,$_category_id) {//echo "<BR>offset: $offset| order: $order|max_rows: $max_rows|_assigned_to: $_assigned_to|_status: $_status|_category_id: $_category_id +";		if ((!$offset) || ($offset < 0)) {			$this->offset=0;		} else {			$this->offset=$offset;		}		if (session_loggedin()) {			$u =& session_get_user();		}		if ($order) {			if ($order=='project_task_id' || $order=='percent_complete'				|| $order=='summary' || $order=='start_date' || $order=='end_date' || $order=='priority') {				if (session_loggedin()) {					$u->setPreference('pm_task_order', $order);				}			} else {				$order = 'project_task_id';			}		} else {			if (session_loggedin()) {				$order = $u->getPreference('pm_task_order');			}		}		if (!$order) {			$order = 'project_task_id';		}		$this->order=$order;		if ($set=='custom') {			/*				if this custom set is different than the stored one, reset preference			*/			$pref_=$_assigned_to.'|'.$_status.'|'.$_category_id;			if (session_loggedin() && ($pref_ != $u->getPreference('pm_brow_cust'.$this->ProjectGroup->Group->getID()))) {				//echo 'setting pref';				$u->setPreference('pm_brow_cust'.$this->ProjectGroup->Group->getID(),$pref_);			}		} else {			if (session_loggedin()) {				if ($pref_=$u->getPreference('pm_brow_cust'.$this->ProjectGroup->Group->getID())) {					$prf_arr=explode('|',$pref_);					$_assigned_to=$prf_arr[0];					$_status=$prf_arr[1];					$_category_id=$prf_arr[2];				}			}		}		$this->status=$_status;		$this->assigned_to=$_assigned_to;		$this->category=$_category_id;		if (!$max_rows || $max_rows < 5) {			$max_rows=50;		}		$this->max_rows=$max_rows;	}	/**	 *	getTasks - get an array of ProjectTask objects.	 *	 *	@return	array	The array of ProjectTask objects.	 */	function &getTasks() {		if ($this->project_tasks) {			return $this->project_tasks;		}		//if status selected, and more to where clause		if ($this->status && ($this->status != 100)) {			//for open tasks, add status=100 to make sure we show all			$status_str="AND project_task_vw.status_id IN (".$this->status.(($this->status==1)?',100':'').")";		} else {			//no status was chosen, so don't add it to where clause			$status_str='';		}		//if assigned to selected, and more to where clause		if ($this->assigned_to) {			$assigned_str="AND project_assigned_to.assigned_to_id='".$this->assigned_to."'";			$assigned_str2=',project_assigned_to';			$assigned_str3='project_task_vw.project_task_id=project_assigned_to.project_task_id AND';		} else {			//no assigned to was chosen, so don't add it to where clause			$assigned_str='';		}		if ($this->category) {			$cat_str="AND project_task_vw.category_id='".$this->category."'";		}/*select project_task_vw.*,project_assigned_to.* FROM project_task_vw,project_assigned_to WHERE project_assigned_to.project_task_id=project_task_vw.project_task_id;*/		$sql="SELECT project_task_vw.*			FROM project_task_vw $assigned_str2 			WHERE $assigned_str3 project_task_vw.group_project_id='". $this->ProjectGroup->getID() ."' 			$assigned_str $status_str $cat_str 			ORDER BY project_task_vw.".$this->order.(($this->order=='priority') ? ' DESC ':' ');//echo $sql;			$result=db_query($sql,($this->max_rows),$this->offset);		$rows = db_numrows($result);		$this->fetched_rows=$rows;		if (db_error()) {			$this->setError('Database Error: '.db_error());			return false;		} else {			while ($arr =& db_fetch_array($result)) {				$this->project_tasks[] = new ProjectTask($this->ProjectGroup, $arr['project_task_id'], $arr);			}		}		return $this->project_tasks;	}}?>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲日本青草视频在线怡红院 | 欧美性视频一区二区三区| 亚洲综合在线五月| 日韩欧美国产三级| 色88888久久久久久影院按摩 | 亚洲一区二区三区四区五区中文| 日韩欧美一二区| 欧美性大战久久久久久久蜜臀| 精品在线播放免费| 亚洲福利视频三区| 成人免费一区二区三区视频| 精品欧美乱码久久久久久| 欧美日韩一区高清| 99视频精品在线| 黄一区二区三区| 日韩精品亚洲专区| 亚洲一区av在线| 亚洲视频在线一区观看| 国产日韩欧美不卡在线| 日韩免费观看2025年上映的电影| 欧美在线视频全部完| aaa亚洲精品| 懂色av中文一区二区三区| 精品在线一区二区| 麻豆精品国产91久久久久久| 无吗不卡中文字幕| 亚洲国产一区在线观看| 亚洲欧美区自拍先锋| 中文字幕在线观看不卡| 日本一区二区三区国色天香| www欧美成人18+| 日韩精品一区二区三区四区| 欧美精品丝袜中出| 欧美精品v国产精品v日韩精品| 欧美亚洲日本国产| 欧洲色大大久久| 欧美在线影院一区二区| 欧美日韩精品一二三区| 欧美日韩一卡二卡| 欧美日韩精品系列| 91精品国产全国免费观看| 正在播放亚洲一区| 欧美一区二区精美| 精品奇米国产一区二区三区| 久久久久一区二区三区四区| 久久久精品国产免大香伊| 国产性色一区二区| 欧美韩国日本不卡| 国产精品成人免费精品自在线观看| 欧美国产综合色视频| 亚洲欧美一区二区三区极速播放| 国产精品另类一区| 亚洲免费在线看| 艳妇臀荡乳欲伦亚洲一区| 爽爽淫人综合网网站| 日本午夜一区二区| 韩国av一区二区三区四区| 国产成人精品免费| 95精品视频在线| 在线观看精品一区| 91精品国产麻豆| 久久久精品2019中文字幕之3| 国产精品久久久久毛片软件| 亚洲激情自拍偷拍| 亚洲123区在线观看| 韩国中文字幕2020精品| 成人一区二区视频| 欧美在线观看视频一区二区三区| 欧美丰满美乳xxx高潮www| 精品捆绑美女sm三区| 亚洲国产精品av| 亚洲一区二区三区四区五区中文| 久久国内精品自在自线400部| 国产福利91精品一区| 91豆麻精品91久久久久久| 欧美一级日韩不卡播放免费| 久久久久88色偷偷免费| 夜夜操天天操亚洲| 国产精品综合网| 在线视频观看一区| 亚洲精品在线三区| 一区二区高清在线| 国产一区在线不卡| 日本韩国一区二区三区| 久久一区二区三区国产精品| 亚洲男帅同性gay1069| 九九九精品视频| 欧美影院午夜播放| 久久久久久综合| 香蕉久久夜色精品国产使用方法 | 国产999精品久久久久久绿帽| 91电影在线观看| 国产偷国产偷亚洲高清人白洁| 亚洲女人的天堂| 国内久久精品视频| 在线观看亚洲精品视频| 久久久精品国产免大香伊| 日日夜夜免费精品| 99久久亚洲一区二区三区青草| 欧美一级夜夜爽| 一区二区三区免费| 成人美女视频在线观看18| 91精品国产高清一区二区三区蜜臀| 国产精品乱人伦| 国产精品一区久久久久| 欧美久久一二三四区| 亚洲人成网站在线| 国产精品99精品久久免费| 欧美一区二区在线看| 一区二区国产视频| 99re66热这里只有精品3直播| 精品剧情v国产在线观看在线| 午夜精品在线视频一区| 91麻豆文化传媒在线观看| 久久久久久久久久久久久久久99| 午夜日韩在线电影| 色狠狠一区二区| 亚洲天堂免费看| 高清不卡在线观看av| 欧美成人免费网站| 奇米色一区二区三区四区| 精品视频一区三区九区| 亚洲精品国产无套在线观| 99久久精品久久久久久清纯| 久久久国产午夜精品| 久久草av在线| 日韩欧美www| 蜜桃av噜噜一区| 日韩三级伦理片妻子的秘密按摩| 午夜精品久久一牛影视| 欧美日韩一二三区| 亚洲精品视频免费观看| 色婷婷综合久久久中文一区二区| 国产精品乱子久久久久| 不卡的av中国片| 中文字幕在线不卡| 99久久精品国产网站| 亚洲欧洲av一区二区三区久久| 成人美女在线视频| 亚洲欧美韩国综合色| 色诱亚洲精品久久久久久| 亚洲精品中文字幕在线观看| 色婷婷久久久综合中文字幕| 一区二区三区蜜桃网| 欧美日本一区二区三区四区| 五月天婷婷综合| 欧美一区2区视频在线观看| 美女脱光内衣内裤视频久久网站| 日韩欧美国产精品| 国产成人日日夜夜| ...av二区三区久久精品| 色天天综合久久久久综合片| 亚洲二区在线观看| 日韩一卡二卡三卡国产欧美| 黄页网站大全一区二区| 中文字幕精品一区 | 精品久久久久久久久久久久包黑料 | 欧美日韩亚洲综合一区二区三区| 亚洲成人综合在线| 日韩精品在线看片z| 国产精品一二三区| 中文字幕亚洲不卡| 欧美三级韩国三级日本一级| 日本免费在线视频不卡一不卡二 | 精品久久久久久久久久久久包黑料| 国产精品影视在线观看| ...xxx性欧美| 91精品国产综合久久久久久久久久 | 最新国产精品久久精品| 欧美日韩中字一区| 久久国产精品第一页| 国产精品亲子伦对白| 欧美日韩在线免费视频| 黄网站免费久久| 亚洲免费观看在线视频| 日韩一区二区免费在线电影| 成人一级片在线观看| 午夜精品久久久久久久久 | 亚洲一二三四在线观看| 日韩欧美色综合网站| 成人av中文字幕| 日韩vs国产vs欧美| 国产精品久久久久久久久晋中 | 色国产综合视频| 久久99国产精品久久| 亚洲丝袜精品丝袜在线| 日韩三级伦理片妻子的秘密按摩| aaa欧美日韩| 国产久卡久卡久卡久卡视频精品| 一区二区国产视频| 国产精品情趣视频| 精品国产一区二区三区久久久蜜月 | 国产精品久久毛片av大全日韩| 欧美日韩免费一区二区三区 | 成人免费毛片高清视频| 午夜欧美大尺度福利影院在线看| 日本一区二区三区高清不卡| 日韩欧美一区二区不卡| 欧美日韩在线亚洲一区蜜芽| 99久久免费国产|