Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.119
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
html /
bdc.bdcloud.fr /
core /
boxes /
Delete
Unzip
Name
Size
Permission
Date
Action
box_accountancy_last_manual_entries.php
5.07
KB
-rwxr-x---
2023-04-04 15:51
box_accountancy_suspense_account.php
4.04
KB
-rwxr-x---
2023-04-04 15:51
box_actions.php
9.03
KB
-rwxr-x---
2023-04-04 15:51
box_activity.php
16.21
KB
-rwxr-x---
2023-04-04 15:51
box_birthdays.php
5.76
KB
-rwxr-x---
2023-04-04 15:51
box_birthdays_members.php
5.33
KB
-rwxr-x---
2023-04-04 15:51
box_boms.php
5.55
KB
-rwxr-x---
2023-04-04 15:51
box_bookmarks.php
4.43
KB
-rwxr-x---
2023-04-04 15:51
box_clients.php
5.9
KB
-rwxr-x---
2023-04-04 15:51
box_commandes.php
7.14
KB
-rwxr-x---
2023-04-04 15:51
box_comptes.php
6.12
KB
-rwxr-x---
2023-04-04 15:51
box_contacts.php
8
KB
-rwxr-x---
2023-04-04 15:51
box_contracts.php
6.52
KB
-rwxr-x---
2023-04-04 15:51
box_customers_outstanding_bill_reached.php
6.05
KB
-rwxr-x---
2023-04-04 15:51
box_dolibarr_state_board.php
14.16
KB
-rwxr-x---
2023-04-04 15:51
box_external_rss.php
6.97
KB
-rwxr-x---
2023-04-04 15:51
box_factures.php
7.63
KB
-rwxr-x---
2023-04-04 15:51
box_factures_fourn.php
7.79
KB
-rwxr-x---
2023-04-04 15:51
box_factures_fourn_imp.php
7.41
KB
-rwxr-x---
2023-04-04 15:51
box_factures_imp.php
8.53
KB
-rwxr-x---
2023-04-04 15:51
box_ficheinter.php
5.8
KB
-rwxr-x---
2023-04-04 15:51
box_fournisseurs.php
5.8
KB
-rwxr-x---
2023-04-04 15:51
box_funnel_of_prospection.php
10.49
KB
-rwxr-x---
2023-04-04 15:51
box_goodcustomers.php
5.6
KB
-rwxr-x---
2023-04-04 15:51
box_graph_invoices_permonth.php
10.16
KB
-rwxr-x---
2023-04-04 15:51
box_graph_invoices_peryear.php
7.66
KB
-rwxr-x---
2023-04-04 15:51
box_graph_invoices_supplier_permonth.php
10.21
KB
-rwxr-x---
2023-04-04 15:51
box_graph_nb_ticket_last_x_days.php
7.6
KB
-rwxr-x---
2023-04-04 15:51
box_graph_nb_tickets_type.php
5.99
KB
-rwxr-x---
2023-04-04 15:51
box_graph_new_vs_close_ticket.php
5.67
KB
-rwxr-x---
2023-04-04 15:51
box_graph_orders_permonth.php
10.45
KB
-rwxr-x---
2023-04-04 15:51
box_graph_orders_supplier_permonth.php
10.49
KB
-rwxr-x---
2023-04-04 15:51
box_graph_product_distribution.php
15.06
KB
-rwxr-x---
2023-04-04 15:51
box_graph_propales_permonth.php
10.57
KB
-rwxr-x---
2023-04-04 15:51
box_graph_ticket_by_severity.php
6.59
KB
-rwxr-x---
2023-04-04 15:51
box_last_modified_ticket.php
6.67
KB
-rwxr-x---
2023-04-04 15:51
box_last_ticket.php
6.73
KB
-rwxr-x---
2023-04-04 15:51
box_lastlogin.php
3.16
KB
-rwxr-x---
2023-04-04 15:51
box_members_by_type.php
13.35
KB
-rwxr-x---
2023-04-04 15:51
box_members_last_modified.php
6.59
KB
-rwxr-x---
2023-04-04 15:51
box_members_last_subscriptions.php
6.65
KB
-rwxr-x---
2023-04-04 15:51
box_members_subscriptions_by_year.php
7.22
KB
-rwxr-x---
2023-04-04 15:51
box_mos.php
5.56
KB
-rwxr-x---
2023-04-04 15:51
box_produits.php
9.17
KB
-rwxr-x---
2023-04-04 15:51
box_produits_alerte_stock.php
9.43
KB
-rwxr-x---
2023-04-04 15:51
box_project.php
6.72
KB
-rwxr-x---
2023-04-04 15:51
box_propales.php
6.88
KB
-rwxr-x---
2023-04-04 15:51
box_prospect.php
6.13
KB
-rwxr-x---
2023-04-04 15:51
box_services_contracts.php
8.53
KB
-rwxr-x---
2023-04-04 15:51
box_services_expired.php
6.38
KB
-rwxr-x---
2023-04-04 15:51
box_shipments.php
6.44
KB
-rwxr-x---
2023-04-04 15:51
box_supplier_orders.php
6.75
KB
-rwxr-x---
2023-04-04 15:51
box_supplier_orders_awaiting_reception.php
7.03
KB
-rwxr-x---
2023-04-04 15:51
box_task.php
8.33
KB
-rwxr-x---
2023-04-04 15:51
box_validated_projects.php
6.84
KB
-rwxr-x---
2023-04-04 15:51
modules_boxes.php
15
KB
-rwxr-x---
2023-04-04 15:51
Save
Rename
<?php /* Copyright (C) 2012-2014 Charles-François BENKE <charles.fr@benke.fr> * Copyright (C) 2014 Marcos García <marcosgdf@gmail.com> * Copyright (C) 2015 Frederic France <frederic.france@free.fr> * Copyright (C) 2016 Juan José Menent <jmenent@2byte.es> * Copyright (C) 2020 Pierre Ardoin <mapiolca@me.com> * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see <https://www.gnu.org/licenses/>. */ /** * \file htdocs/core/boxes/box_validated_projects.php * \ingroup projet * \brief Module to show validated projects whose tasks are assigned to the connected person, without any time entered by the connected person */ include_once DOL_DOCUMENT_ROOT."/core/boxes/modules_boxes.php"; /** * Class to manage the box to show last projet */ class box_validated_projects extends ModeleBoxes { public $boxcode = "validated_project"; public $boximg = "object_projectpub"; public $boxlabel; //var $depends = array("projet"); /** * @var DoliDB Database handler. */ public $db; public $param; public $info_box_head = array(); public $info_box_contents = array(); public $enabled = 1; /** * Constructor * * @param DoliDB $db Database handler * @param string $param More parameters */ public function __construct($db, $param = '') { global $conf, $user, $langs; // Load translation files required by the page $langs->loadLangs(array('boxes', 'projects')); $this->db = $db; $this->boxlabel = "ProjectTasksWithoutTimeSpent"; $this->hidden = empty($user->rights->projet->lire); if ($conf->global->MAIN_FEATURES_LEVEL < 2) { $this->enabled = 0; } } /** * Load data for box to show them later * * @param int $max Maximum number of records to load * @return void */ public function loadBox($max = 5) { global $conf, $user, $langs; $this->max = $max; $totalMnt = 0; $totalnb = 0; $totalnbTask = 0; $textHead = $langs->trans("ProjectTasksWithoutTimeSpent"); $this->info_box_head = array('text' => $textHead, 'limit'=> dol_strlen($textHead)); // list the summary of the orders if ($user->rights->projet->lire) { include_once DOL_DOCUMENT_ROOT.'/projet/class/project.class.php'; $projectstatic = new Project($this->db); $socid = 0; //if ($user->socid > 0) $socid = $user->socid; // For external user, no check is done on company because readability is managed by public status of project and assignement. // Get list of project id allowed to user (in a string list separated by coma) $projectsListId = ''; if (empty($user->rights->projet->all->lire)) { $projectsListId = $projectstatic->getProjectsAuthorizedForUser($user, 0, 1, $socid); } // I tried to solve sql error and performance problem, rewriting sql request but it is not clear what we want. // Count of tasks without time spent for tasks we are assigned too or // Count of tasks without time spent for all tasks of projects we are allowed to read (what it does) ? $sql = "SELECT p.rowid, p.ref, p.fk_soc, p.dateo as startdate,"; $sql .= " COUNT(DISTINCT t.rowid) as tasknumber"; $sql .= " FROM ".MAIN_DB_PREFIX."projet AS p"; $sql .= " INNER JOIN ".MAIN_DB_PREFIX."projet_task AS t ON p.rowid = t.fk_projet"; // TODO Replace -1, -2, -3 with ID used for type of contact project_task into llx_c_type_contact. Once done, we can switch widget as stable. $sql .= " INNER JOIN ".MAIN_DB_PREFIX."element_contact as ec ON ec.element_id = t.rowid AND fk_c_type_contact IN (-1, -2, -3)"; $sql .= " WHERE p.fk_statut = 1"; // Only open projects if ($projectsListId) { $sql .= ' AND p.rowid IN ('.$this->db->sanitize($projectsListId).')'; // Only projects that are allowed } $sql .= " AND t.rowid NOT IN (SELECT fk_task FROM ".MAIN_DB_PREFIX."projet_task_time WHERE fk_user = ".((int) $user->id).")"; $sql .= " GROUP BY p.rowid, p.ref, p.fk_soc, p.dateo"; $sql .= " ORDER BY p.dateo ASC"; $result = $this->db->query($sql); if ($result) { $num = $this->db->num_rows($result); $i = 0; $this->info_box_contents[$i][] = array( 'td' => 'class="nowraponall"', 'text' => "Reference projet", ); $this->info_box_contents[$i][] = array( 'td' => 'class="center"', 'text' => 'Client', ); $this->info_box_contents[$i][] = array( 'td' => 'class="center"', 'text' => 'Date debut de projet', ); $this->info_box_contents[$i][] = array( 'td' => 'class="center"', 'text' => 'Nombre de mes tâches sans temps saisi', ); $i++; while ($i < min($num + 1, $max + 1)) { $objp = $this->db->fetch_object($result); $projectstatic->id = $objp->rowid; $projectstatic->ref = $objp->ref; $this->info_box_contents[$i][] = array( 'td' => 'class="nowraponall"', 'text' => $projectstatic->getNomUrl(1), 'asis' => 1 ); if ($objp->fk_soc > 0) { $sql = "SELECT rowid, nom as name FROM ".MAIN_DB_PREFIX."societe WHERE rowid = ".((int) $objp->fk_soc); $resql = $this->db->query($sql); //$socstatic = new Societe($this->db); $obj2 = $this->db->fetch_object($resql); $this->info_box_contents[$i][] = array( 'td' => 'class="tdoverflowmax150 maxwidth200onsmartphone"', 'text' => $obj2->name, 'asis' => 1, 'url' => DOL_URL_ROOT.'/societe/card.php?socid='.urlencode($obj2->rowid) ); } else { $this->info_box_contents[$i][] = array( 'td' => 'class="tdoverflowmax150 maxwidth200onsmartphone"', 'text' => '', 'asis' => 1, 'url' => '' ); } $this->info_box_contents[$i][] = array( 'td' => 'class="center"', 'text' => $objp->startDate, ); $this->info_box_contents[$i][] = array( 'td' => 'class="center"', 'text' => $objp->tasknumber." ".$langs->trans("Tasks"), 'asis' => 1, ); $i++; } } else { dol_print_error($this->db); } } } /** * Method to show box * * @param array $head Array with properties of box title * @param array $contents Array with properties of box lines * @param int $nooutput No print, only return string * @return string */ public function showBox($head = null, $contents = null, $nooutput = 0) { return parent::showBox($this->info_box_head, $this->info_box_contents, $nooutput); } }