⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 projects.php

📁 国外的人才求职招聘最新版
💻 PHP
字号:
<?php/** * OrangeHRM is a comprehensive Human Resource Management (HRM) System that captures * all the essential functionalities required for any enterprise. * Copyright (C) 2006 OrangeHRM Inc., http://www.orangehrm.com * * OrangeHRM 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. * * OrangeHRM 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 this program; * if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, * Boston, MA  02110-1301, USA * */require_once ROOT_PATH . '/lib/dao/DMLFunctions.php';require_once ROOT_PATH . '/lib/dao/SQLQBuilder.php';require_once ROOT_PATH . '/lib/confs/Conf.php';require_once ROOT_PATH . '/lib/common/CommonFunctions.php';require_once ROOT_PATH . '/lib/models/eimadmin/Customer.php';require_once ROOT_PATH . '/lib/common/UniqueIDGenerator.php';/** * Project Class * * This class was introduced under Time & Attendance module. The HR-Admin wilkl be defining * the projects, which would have customers assigned to it. * */class Projects {	/**	 * class constants	 */	const PROJECT_NOT_DELETED = 0;	const PROJECT_DELETED = 1;	const PROJECT_DB_TABLE = 'hs_hr_project';	const PROJECT_DB_FIELD_PROJECT_ID = 'project_id';	const PROJECT_DB_FIELD_CUSTOMER_ID = 'customer_id';	const PROJECT_DB_FIELD_NAME = 'name';	const PROJECT_DB_FIELD_DESCRIPTION = 'description';	const PROJECT_DB_FIELD_DELETED = 'deleted';	/**	 * class attributes	 *	 */	private $projectID;	private $customerID;	private $projectName;	private $projectDescription;	private $deleted;	/**	 * Automatic id genaration	 *	 */	private  $singleField;	private $maxidLength = '4';	/**	 *  Table Name	 *	 */	const TABLE_NAME = 'hs_hr_project'; 	/**	 *	Setter method followed by getter method for each	 *	attribute	 */	public function setProjectId($projectid) {			$this->projectID = $projectid;	}	public function getProjectId () {		return $this->projectID;	}	public function setCustomerId($customerid) {			$this->customerID = $customerid;	}	public function getCustomerId () {		return $this->customerID;	}	public function setProjectName($projectname){		$this->projectName  = 	$projectname ;	}	public function getProjectName(){		return $this->projectName;	}	public function setProjectDescription ($projectDescription) {		$this->projectDescription = $projectDescription ;	}	public function getProjectDescription () {		return $this->projectDescription;	}	public function setDeleted ($deleted) {		$this->deleted=$deleted;	}	public function getDeleted() {		return $this->deleted;	}	/**	 * Add new project	 *	 * Deleted will be overwritten to NOT_DELETED	 */	public function addProject() {		$this->projectID = UniqueIDGenerator::getInstance()->getNextID(self::TABLE_NAME, self::PROJECT_DB_FIELD_PROJECT_ID);		$arrRecord[0] = "'".$this->getProjectId()."'";		$arrRecord[1] = "'".$this->getCustomerId()."'";		$arrRecord[2] = "'".$this->getProjectName()."'";		$arrRecord[3] = "'".$this->getProjectDescription()."'";		$arrRecord[4] = self::PROJECT_NOT_DELETED;		$tableName = self::TABLE_NAME;		$sql_builder = new SQLQBuilder();		$sql_builder->table_name = $tableName;		$sql_builder->flg_insert = 'true';		$sql_builder->arr_insert = $arrRecord;		$sqlQString = $sql_builder->addNewRecordFeature1();		$dbConnection = new DMLFunctions();		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function		if ($message2 && (mysql_affected_rows() > 0)) {			return true;		}		return false;	}	/**	 * Wraaper for delete	 */ 	public function deletewrapperProjects ($arrList) {		$i=0;		$array_count = count($arrList,COUNT_RECURSIVE)- 1;	  	for ($i=0; $i <  $array_count;$i++){	 		$this->setProjectId( $arrList[0][$i]);	 		$res=$this->deleteProject();	 		if (!$res) {	 			return $res;	 		}	 	}		return $res;	}	/**	 * Mark project deleted	 */	public function deleteProject() {		$this->setDeleted(self::PROJECT_DELETED);		return $this->updateProject();	}	/**	 * Update project information	 */	public function updateProject() {		$sql_builder = new SQLQBuilder();		$updateTable = self::TABLE_NAME;		if ($this->getCustomerId()!= null) {			$updateFields[] = "`".self::PROJECT_DB_FIELD_CUSTOMER_ID."`";			$updateValues[] = "'".$this->getCustomerId()."'";		}		if ($this->getProjectName() != null) {			$updateFields[] = "`".self::PROJECT_DB_FIELD_NAME."`";			$updateValues[] = "'".$this->getProjectName()."'";		}		if ($this->getProjectDescription() != null) {			$updateFields[] = "`".self::PROJECT_DB_FIELD_DESCRIPTION."`";			$updateValues[] = "'".$this->getProjectDescription()."'";		}		if ($this->getDeleted() != null) {			$updateFields[] = "`".self::PROJECT_DB_FIELD_DELETED."`";			$updateValues[] = $this->getDeleted();		}		$updateConditions[] = "`".self::PROJECT_DB_FIELD_PROJECT_ID."` = {$this->getProjectId()}";		if (is_array($updateFields)) {			$updateValues = $sql_builder->quoteCorrect($updateValues);			$sqlQString = $sql_builder->simpleUpdate($updateTable, $updateFields, $updateValues, $updateConditions);			$dbConnection = new DMLFunctions();			$message2 = $dbConnection->executeQuery($sqlQString); //Calling the addData() function			// We don't check mysql_affected_rows here since the update may not have changed any			// of the database fields.			if ($message2) {				return true;			}		}		return false;	}	/**	 * Fetch project information, only one	 */	public function fetchProject($projectId) {		$this->setProjectId($projectId);		$objArr = $this->fetchProjects();		if (isset($objArr)) {			return $objArr[0];		}		return null;	}	/**	 * To get the number of projects	 */	public function countprojectID($schStr,$schField) {		$tableName = self::PROJECT_DB_TABLE;		$arrFieldList[0] = self::PROJECT_DB_FIELD_PROJECT_ID;		$arrFieldList[1] = self::PROJECT_DB_FIELD_DELETED;		$arrFieldList[2] = self::PROJECT_DB_FIELD_CUSTOMER_ID;		$arrFieldList[3] = self::PROJECT_DB_FIELD_NAME;		$arrFieldList[4] = self::PROJECT_DB_FIELD_DESCRIPTION;		$schField   = 1;		$schStr		= 0;		$sql_builder = new SQLQBuilder();		$sql_builder->table_name = $tableName;		$sql_builder->flg_select = 'true';		$sql_builder->arr_select = $arrFieldList;		$sqlQString = $sql_builder->countResultset($schStr,$schField);		//echo $sqlQString;		$dbConnection = new DMLFunctions();		$message2 = $dbConnection -> executeQuery($sqlQString); //Calling the addData() function		$line = mysql_fetch_array($message2, MYSQL_NUM);	    return $line[0];	}	public function fetchProjects() {		$arrFieldList[0] = "`".self::PROJECT_DB_FIELD_PROJECT_ID."`";		$arrFieldList[1] = "`".self::PROJECT_DB_FIELD_CUSTOMER_ID."`";		$arrFieldList[2] = "`".self::PROJECT_DB_FIELD_NAME."`";		$arrFieldList[3] = "`".self::PROJECT_DB_FIELD_DESCRIPTION."`";		$arrFieldList[4] = "`".self::PROJECT_DB_FIELD_DELETED."`";		$tableName = "`".self::TABLE_NAME."`";		$sql_builder = new SQLQBuilder();		$arrSelectConditions = null;		if ($this->getProjectId() != null) {			$arrSelectConditions[] = "`".self::PROJECT_DB_FIELD_PROJECT_ID."`= '".$this->getProjectId()."'";		}		if ($this->getCustomerId() != null) {			$arrSelectConditions[] = "`".self::PROJECT_DB_FIELD_CUSTOMER_ID."`= '".$this->getCustomerId()."'";		}		if ($this->getProjectName() != null) {			$arrSelectConditions[] = "`".self::PROJECT_DB_FIELD_NAME."`= '".$this->getProjectName()."'";		}		if ($this->getProjectDescription() != null) {			$arrSelectConditions[] = "`".self::PROJECT_DB_FIELD_DESCRIPTION."`= '".$this->getProjectDescription()."'";		}		if (!is_null($this->getDeleted())) {			$arrSelectConditions[] = "`".self::PROJECT_DB_FIELD_DELETED."`= ".$this->getDeleted()."";		}		$sqlQString = $sql_builder->simpleSelect($tableName, $arrFieldList, $arrSelectConditions, $arrFieldList[0], 'ASC');		$dbConnection = new DMLFunctions();		$message2 = $dbConnection->executeQuery($sqlQString); //Calling the addData() function		$objArr = self::projectObjArr($message2);		return $objArr;	}	/**	 * Fetch all projects with paging	 */	public function getListOfProjectsStr($pageNO,$schStr,$schField,$sortField=0, $sortOrder='ASC') {		$arrFieldList[0] = "a.`".self::PROJECT_DB_FIELD_PROJECT_ID."`";		$arrFieldList[1] = "a.`".self::PROJECT_DB_FIELD_NAME."`";		$arrFieldList[2] = "b.`".Customer::CUSTOMER_DB_FIELDS_NAME."`";		$arrFieldList[3] = "a.`".self::PROJECT_DB_FIELD_DESCRIPTION."`";		$arrFieldList[4] = "a.`".self::PROJECT_DB_FIELD_DELETED."`";		$tableNames[0] = "`".Customer::TABLE_NAME."` b ";		$tableNames[1] = "`".self::PROJECT_DB_TABLE."` a ";		$joinConditions[1] = "b.`".Customer::CUSTOMER_DB_FIELDS_ID."` = a.`".self::PROJECT_DB_FIELD_CUSTOMER_ID."`";		$sql_builder = new SQLQBuilder();		$arrSelectConditions[0] = "a.`".self::PROJECT_DB_FIELD_DELETED."`= ".self::PROJECT_NOT_DELETED."";		$arrSelectConditions[1] = "a.`".self::PROJECT_DB_FIELD_PROJECT_ID."` != 0";		if ($schField != -1) {			$arrSelectConditions[2] = "".$arrFieldList[$schField]." LIKE '%".$schStr."%'";		}		$limitStr = null;		if ($pageNO > 0) {			$sysConfObj = new sysConf();			$page = ($pageNO-1)*$sysConfObj->itemsPerPage;			$limit = $sysConfObj->itemsPerPage;			$limitStr = "$page,$limit";		}		$sqlQString = $sql_builder->selectFromMultipleTable($arrFieldList, $tableNames, $joinConditions, $arrSelectConditions, null, $arrFieldList[$sortField], $sortOrder, $limitStr);		$dbConnection = new DMLFunctions();		$message2 = $dbConnection->executeQuery($sqlQString); //Calling the addData() function		$arrDispArr = null;		$i=0;		while ($row = mysql_fetch_row($message2)) {			$arrDispArr[$i] = $row;			$i++;		}		return $arrDispArr;	}	/**	 * Build the project object array from the given result set	 *	 * @param resource $result Result set from the database	 * @return array   Array of Project objects	 */	public static function projectObjArr($result) {		$objArr = null;		while ($row = mysql_fetch_assoc($result)) {			$tmpcusArr = new Projects();			$tmpcusArr->setProjectId($row[self::PROJECT_DB_FIELD_PROJECT_ID]);			$tmpcusArr->setCustomerId($row[self::PROJECT_DB_FIELD_CUSTOMER_ID]);			$tmpcusArr->setProjectName($row[self::PROJECT_DB_FIELD_NAME]);			$tmpcusArr->setProjectDescription($row[self::PROJECT_DB_FIELD_DESCRIPTION]);			$tmpcusArr->setDeleted($row[self::PROJECT_DB_FIELD_DELETED]);			$objArr[] = $tmpcusArr;		}		return $objArr;	}}?>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -