84 lines
3.3 KiB
PHP
84 lines
3.3 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.
|
|
*
|
|
********************************************************************************/
|
|
require_once('modules/Reports/Reports.php');
|
|
require_once('include/logging.php');
|
|
require_once('include/database/PearDatabase.php');
|
|
|
|
require("user_privileges/user_privileges_".$current_user->id.".php");
|
|
global $current_user,$adb,$is_admin;
|
|
|
|
if(isset($_REQUEST['idlist']) && $_REQUEST['idlist']!= '')
|
|
{
|
|
$id_array = Array();
|
|
$id_array = explode(':',$_REQUEST['idlist']);
|
|
|
|
$query = $adb->pquery("select 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());
|
|
$subordinate_users = Array();
|
|
for($i=0;$i<$adb->num_rows($query);$i++){
|
|
$subordinate_users[] = $adb->query_result($query,$i,'userid');
|
|
}
|
|
|
|
for($i=0;$i<count($id_array)-1;$i++)
|
|
{
|
|
$own_query = $adb->pquery("SELECT reportname,owner FROM vtiger_report WHERE reportid=?",array($id_array[$i]));
|
|
$owner = $adb->query_result($own_query,0,"owner");
|
|
if($is_admin==true || in_array($owner,$subordinate_users) || $owner==$current_user->id){
|
|
DeleteReport($id_array[$i]);
|
|
} else {
|
|
$del_failed []= $adb->query_result($own_query,0,"reportname");
|
|
}
|
|
}
|
|
|
|
if(!empty($del_failed))
|
|
header("Location: index.php?action=ReportsAjax&file=ListView&mode=ajax&module=Reports&del_denied=".implode(",",$del_failed));
|
|
else
|
|
header("Location: index.php?action=ReportsAjax&file=ListView&mode=ajax&module=Reports");
|
|
}elseif(isset($_REQUEST['record']) && $_REQUEST['record']!= '')
|
|
{
|
|
$id = vtlib_purify($_REQUEST["record"]);
|
|
DeleteReport($id);
|
|
header("Location: index.php?action=ReportsAjax&file=ListView&mode=ajaxdelete&module=Reports");
|
|
}
|
|
|
|
/** To Delete a Report
|
|
* @param $reportid -- The report id
|
|
* @returns nothing
|
|
*/
|
|
|
|
function DeleteReport($reportid)
|
|
{
|
|
global $adb;
|
|
$idelreportsql = "delete from vtiger_selectquery where queryid=?";
|
|
$idelreportsqlresult = $adb->pquery($idelreportsql, array($reportid));
|
|
|
|
$ireportsql = "delete from vtiger_report where reportid=?";
|
|
$ireportsqlresult = $adb->pquery($ireportsql, array($reportid));
|
|
|
|
$reportsql = 'DELETE FROM vtiger_scheduled_reports WHERE reportid=?';
|
|
$adb->pquery($reportsql, array($reportid));
|
|
|
|
/******************** Mnolithic Phase 6 Customization****************/
|
|
|
|
$query = "SELECT * FROM vtiger_homereportchart WHERE reportid=?";
|
|
$result =$adb->pquery($query,array($reportid));
|
|
$num_rows = $adb->num_rows($result);
|
|
if($num_rows){
|
|
for($i=0;$i<$num_rows;$i++){
|
|
$stuffid = $adb->query_result($result,$i,'stuffid');
|
|
$delHomeSql="delete from vtiger_homestuff where stuffid=?";
|
|
$delResult=$adb->pquery($delHomeSql, array($stuffid));
|
|
}
|
|
}
|
|
|
|
/*================ End of Customization =========================*/
|
|
}
|
|
?>
|