233 lines
9.9 KiB
PHP
233 lines
9.9 KiB
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.
|
|
********************************************************************************/
|
|
|
|
global $adb,$current_user, $mod_strings,$currentModule;
|
|
require('user_privileges/user_privileges_'.$current_user->id.'.php');
|
|
|
|
$modval=trim($_REQUEST['modname']);
|
|
$dash=trim($_REQUEST['dash']);
|
|
$home=trim($_REQUEST['home']);
|
|
|
|
if(!empty($modval)){
|
|
$tabid = getTabId($modval);
|
|
$ssql = "select vtiger_customview.*, vtiger_users.user_name from vtiger_customview inner join vtiger_tab on vtiger_tab.name = vtiger_customview.entitytype
|
|
left join vtiger_users on vtiger_customview.userid = vtiger_users.id ";
|
|
$ssql .= " where vtiger_tab.tabid=?";
|
|
$sparams = array($tabid);
|
|
|
|
if($is_admin == false){
|
|
$ssql .= " and (vtiger_customview.status=0 or vtiger_customview.userid = ? or vtiger_customview.status = 3 or vtiger_customview.userid in(select vtiger_user2role.userid from vtiger_user2role inner join vtiger_users on vtiger_users.id=vtiger_user2role.userid inner join vtiger_role on vtiger_role.roleid=vtiger_user2role.roleid where vtiger_role.parentrole like '".$current_user_parent_role_seq."::%'))";
|
|
array_push($sparams, $current_user->id);
|
|
}
|
|
$result = $adb->pquery($ssql, $sparams);
|
|
|
|
if($adb->num_rows($result)==0){
|
|
echo $mod_strings['MSG_NO_FILTERS'];
|
|
die;
|
|
}else{
|
|
$html = '<select id=selFilterid name=selFiltername onchange=setPrimaryFld(this) class="detailedViewTextBox" onfocus="this.className=\'detailedViewTextBoxOn\'" onblur="this.className=\'detailedViewTextBox\'" style="width:60%">';
|
|
for($i=0;$i<$adb->num_rows($result);$i++){
|
|
if($adb->query_result($result,$i,"viewname")=='All'){
|
|
$html .= "<option value='".$adb->query_result($result,$i,'cvid')."'>".getTranslatedString('COMBO_ALL',$currentModule)."</option>";
|
|
} else if($adb->query_result($result,$i,'userid')==$current_user->id){
|
|
$html .= "<option value='".$adb->query_result($result,$i,'cvid')."'>".$adb->query_result($result,$i,"viewname")."</option>";
|
|
} else {
|
|
$html .= "<option value='".$adb->query_result($result,$i,'cvid')."'>".$adb->query_result($result,$i,"viewname")."[".$adb->query_result($result,$i,'user_name')."]</option>";
|
|
}
|
|
}
|
|
$html .= '</select>';
|
|
}
|
|
echo $html;
|
|
}
|
|
|
|
if(!empty($dash)){
|
|
global $current_language;
|
|
$dashbd_strings = return_module_language($current_language, "Dashboard");
|
|
$graph_array = array("leadsource" => $dashbd_strings['leadsource'],
|
|
"leadstatus" => $dashbd_strings['leadstatus'],
|
|
"leadindustry" => $dashbd_strings['leadindustry'],
|
|
"salesbyleadsource" => $dashbd_strings['salesbyleadsource'],
|
|
"salesbyaccount" => $dashbd_strings['salesbyaccount'],
|
|
"salesbyuser" => $dashbd_strings['salesbyuser'],
|
|
"salesbyteam" => $dashbd_strings['salesbyteam'],
|
|
"accountindustry" => $dashbd_strings['accountindustry'],
|
|
"productcategory" => $dashbd_strings['productcategory'],
|
|
"productbyqtyinstock" => $dashbd_strings['productbyqtyinstock'],
|
|
"productbypo" => $dashbd_strings['productbypo'],
|
|
"productbyquotes" => $dashbd_strings['productbyquotes'],
|
|
"productbyinvoice" => $dashbd_strings['productbyinvoice'],
|
|
"sobyaccounts" => $dashbd_strings['sobyaccounts'],
|
|
"sobystatus" => $dashbd_strings['sobystatus'],
|
|
"pobystatus" => $dashbd_strings['pobystatus'],
|
|
"quotesbyaccounts" => $dashbd_strings['quotesbyaccounts'],
|
|
"quotesbystage" => $dashbd_strings['quotesbystage'],
|
|
"invoicebyacnts" => $dashbd_strings['invoicebyacnts'],
|
|
"invoicebystatus" => $dashbd_strings['invoicebystatus'],
|
|
"ticketsbystatus" => $dashbd_strings['ticketsbystatus'],
|
|
"ticketsbypriority" => $dashbd_strings['ticketsbypriority'],
|
|
"ticketsbycategory" => $dashbd_strings['ticketsbycategory'],
|
|
"ticketsbyuser" => $dashbd_strings['ticketsbyuser'],
|
|
"ticketsbyteam" => $dashbd_strings['ticketsbyteam'],
|
|
"ticketsbyproduct"=> $dashbd_strings['ticketsbyproduct'],
|
|
"contactbycampaign"=> $dashbd_strings['contactbycampaign'],
|
|
"ticketsbyaccount"=> $dashbd_strings['ticketsbyaccount'],
|
|
"ticketsbycontact"=> $dashbd_strings['ticketsbycontact'],);
|
|
|
|
$html='<select name=seldashbd id=seldashbd_id class="detailedViewTextBox" onfocus="this.className=\'detailedViewTextBoxOn\'" onblur="this.className=\'detailedViewTextBox\'" style="width:60%">';
|
|
foreach($graph_array as $key=>$value){
|
|
$html .='<option value="'.$key.'">'.$value.'</option>';
|
|
}
|
|
$html .= '</select>';
|
|
echo $html;
|
|
}
|
|
|
|
if(!empty($_REQUEST['primecvid'])){
|
|
$cvid=$_REQUEST['primecvid'];
|
|
$fieldmodule = vtlib_purify($_REQUEST['fieldmodname']);
|
|
$queryprime="select cvid,columnname from vtiger_cvcolumnlist where columnname not like '%::%' and cvid=?";
|
|
$result=$adb->pquery($queryprime,array($cvid));
|
|
global $current_language,$app_strings;
|
|
$fieldmod_strings = return_module_language($current_language, $fieldmodule);
|
|
if($adb->num_rows($result)==0){
|
|
echo $mod_strings['MSG_NO_FIELDS'];
|
|
die;
|
|
}else{
|
|
$html = '<select id=selPrimeFldid name=PrimeFld multiple class="detailedViewTextBox" onfocus="this.className=\'detailedViewTextBoxOn\'" onblur="this.className=\'detailedViewTextBox\'" style="width:60%">';
|
|
for($i=0;$i<$adb->num_rows($result);$i++){
|
|
$columnname=$adb->query_result($result,$i,"columnname");
|
|
if($columnname != ''){
|
|
$prifldarr=explode(":",$columnname);
|
|
$fieldname = $prifldarr[2];
|
|
$priarr=explode("_",$prifldarr[3],2); //getting field label
|
|
$prifld = str_replace("_"," ",$priarr[1]);
|
|
if($is_admin == false){
|
|
$fld_permission = getFieldVisibilityPermission($fieldmodule,$current_user->id,$fieldname);
|
|
}
|
|
if($fld_permission == 0){
|
|
$field_query = $adb->pquery("SELECT fieldlabel FROM vtiger_field WHERE fieldname = ? AND tablename = ? and vtiger_field.presence in (0,2)", array($fieldname,$prifldarr[0]));
|
|
$field_label = $adb->query_result($field_query,0,'fieldlabel');
|
|
if(trim($field_label) != '')
|
|
$html .= "<option value='".$columnname."'>".getTranslatedString($field_label, $fieldmodule)."</option>";
|
|
}
|
|
}
|
|
}
|
|
$html .= '</select>';
|
|
}
|
|
echo $html;
|
|
}
|
|
|
|
if(!empty($_REQUEST['showmaxval']) && !empty($_REQUEST['sid'])){
|
|
$sid=$_REQUEST['sid'];
|
|
$maxval=$_REQUEST['showmaxval'];
|
|
global $adb;
|
|
$query="select stufftype from vtiger_homestuff where stuffid=?";
|
|
$res=$adb->pquery($query, array($sid));
|
|
$stufftypename=$adb->query_result($res,0,"stufftype");
|
|
if($stufftypename=="Module"){
|
|
$qry="update vtiger_homemodule set maxentries=? where stuffid=?";
|
|
$result=$adb->pquery($qry, array($maxval, $sid));
|
|
}else if($stufftypename=="RSS"){
|
|
$qry="update vtiger_homerss set maxentries=? where stuffid=?";
|
|
$result=$adb->pquery($qry, array($maxval, $sid));
|
|
}else if($stufftypename=="Default"){
|
|
$qry="update vtiger_homedefault set maxentries=? where stuffid=?";
|
|
$result=$adb->pquery($qry, array($maxval, $sid));
|
|
}
|
|
echo "loadStuff(".$sid.",'".$stufftypename."')";
|
|
}
|
|
|
|
if(!empty($_REQUEST['dashVal'])){
|
|
$did=$_REQUEST['did'];
|
|
global $adb;
|
|
$qry="update vtiger_homedashbd set dashbdtype=? where stuffid=?";
|
|
$res=$adb->pquery($qry, array($_REQUEST['dashVal'], $did));
|
|
echo "loadStuff(".$did.",'DashBoard')";
|
|
}
|
|
|
|
if(!empty($_REQUEST['reportVal'])){
|
|
$stuffid=$_REQUEST['stuffid'];
|
|
global $adb;
|
|
$qry="update vtiger_homereportchart set reportcharttype=? where stuffid=?";
|
|
$res=$adb->pquery($qry, array($_REQUEST['reportVal'], $stuffid));
|
|
echo "loadStuff(".$stuffid.",'ReportCharts')";
|
|
}
|
|
|
|
if(!empty($_REQUEST['homestuffid'])){
|
|
$sid=$_REQUEST['homestuffid'];
|
|
global $adb;
|
|
$query="delete from vtiger_homestuff where stuffid=?";
|
|
$result=$adb->pquery($query, array($sid));
|
|
echo "SUCCESS";
|
|
}
|
|
|
|
//Sequencing of blocks starts
|
|
if(!empty($_REQUEST['matrixsequence'])){
|
|
global $adb;
|
|
$sequence = explode('_',$_REQUEST['matrixsequence']);
|
|
for($i=count($sequence)-1, $seq=0;$i>=0;$i--, $seq++){
|
|
$query = 'update vtiger_homestuff set stuffsequence=? where stuffid=?';
|
|
$result = $adb->pquery($query, array($seq, $sequence[$i]));
|
|
}
|
|
echo "<table cellpadding='10' cellspacing='0' border='0' width='100%' class='vtResultPop small'><tr><td align='center'>Layout Saved</td></tr></table>";
|
|
}
|
|
//Sequencing of blocks ends
|
|
|
|
if(isset($_REQUEST['act']) && $_REQUEST['act'] =="hide"){
|
|
$stuffid=$_REQUEST['stuffid'];
|
|
global $adb,$current_user;
|
|
$qry="update vtiger_homestuff set visible=1 where stuffid=?";
|
|
$res=$adb->pquery($qry, array($stuffid));
|
|
echo "SUCCESS";
|
|
}
|
|
|
|
//saving layout here
|
|
if(!empty($_REQUEST['layout'])){
|
|
global $adb, $current_user;
|
|
|
|
$sql = "delete from vtiger_home_layout where userid=?";
|
|
$result = $adb->pquery($sql, array($current_user->id));
|
|
|
|
$sql = "insert into vtiger_home_layout values (?, ?)";
|
|
$result = $adb->pquery($sql, array($current_user->id, $_REQUEST['layout']));
|
|
if(!$result){
|
|
echo "SUCCESS";
|
|
}
|
|
}
|
|
|
|
if(!empty($home)){
|
|
global $current_user,$mod_strings,$currentModule;
|
|
$UMOD = $mod_strings;
|
|
$focus = new Users();
|
|
$homeWidgets = $focus->getHomeStuffOrder($current_user->id);
|
|
if(!in_array("", $homeWidgets)){
|
|
$errorMsg="LBL_NO_WIDGETS_HIDDEN";
|
|
}
|
|
$html='<table border="0" cellpadding="5" cellspacing="0" ><tr>';
|
|
$COUNT = 0;
|
|
foreach($homeWidgets as $key=>$value){
|
|
if($value == ''){
|
|
$html .= '<td class="dvtCellInfo" align="center" >
|
|
<input type="checkbox" name="names" value="'.$key.'"></td>
|
|
<td class="dvtCellLabel" align="left">'.getTranslatedString($key,"Users").'</td>';
|
|
$COUNT++;
|
|
if (($COUNT % 2) == 0){
|
|
$html .= '</tr><tr>';
|
|
}
|
|
}
|
|
}
|
|
if ($errorMsg != ''){
|
|
$html .= '<td align="center">'.getTranslatedString($errorMsg,"Home").'</td>';
|
|
}
|
|
$html .= '</tr></table>';
|
|
echo $html;
|
|
}
|
|
|
|
//layout save ends here
|
|
?>
|