@@ -43,7 +43,7 @@ |
||
43 | 43 | */ |
44 | 44 | public function __construct($db) |
45 | 45 | { |
46 | - global $langs, $conf; // $langs may be used by the tpl files. |
|
46 | + global $langs, $conf; // $langs may be used by the tpl files. |
|
47 | 47 | |
48 | 48 | $this->db = $db; |
49 | 49 |
@@ -438,9 +438,9 @@ |
||
438 | 438 | array("sql" => "insert into " . $this->db->prefix() . "c_type_contact(rowid, element, source, code, libelle, active ) values (110122, 'ticket', 'external', 'SUPPORTCLI', 'Contact client suivi incident', 1);", "ignoreerror" => 1), |
439 | 439 | array("sql" => "insert into " . $this->db->prefix() . "c_type_contact(rowid, element, source, code, libelle, active ) values (110123, 'ticket', 'external', 'CONTRIBUTOR', 'Intervenant', 1);", "ignoreerror" => 1), |
440 | 440 | // remove old settings |
441 | - "DELETE FROM " . $this->db->prefix() . "document_model WHERE nom = 'TICKET_ADDON_PDF_ODT_PATH' AND type = 'ticket' AND entity = " . ((int)$conf->entity), |
|
441 | + "DELETE FROM " . $this->db->prefix() . "document_model WHERE nom = 'TICKET_ADDON_PDF_ODT_PATH' AND type = 'ticket' AND entity = " . ((int) $conf->entity), |
|
442 | 442 | // activate default odt templates |
443 | - array("sql" => "INSERT INTO " . $this->db->prefix() . "document_model (nom, type, libelle, entity, description) VALUES('generic_ticket_odt','ticket','ODT templates'," . ((int)$conf->entity) . ",'TICKET_ADDON_PDF_ODT_PATH');", "ignoreerror" => 1), |
|
443 | + array("sql" => "INSERT INTO " . $this->db->prefix() . "document_model (nom, type, libelle, entity, description) VALUES('generic_ticket_odt','ticket','ODT templates'," . ((int) $conf->entity) . ",'TICKET_ADDON_PDF_ODT_PATH');", "ignoreerror" => 1), |
|
444 | 444 | ); |
445 | 445 | |
446 | 446 | return $this->_init($sql, $options); |
@@ -226,7 +226,7 @@ discard block |
||
226 | 226 | 'e.phone' => 'Text', 'e.fax' => 'Text', 'e.statut' => 'Text', 'pe.rowid' => 'List:entrepot:ref:rowid:stock', 'pe.ref' => 'Text' |
227 | 227 | ); |
228 | 228 | $this->export_entities_array[$r] = array(); // We define here only fields that use another icon that the one defined into export_icon |
229 | - $this->export_aggregate_array[$r] = array(); // TODO Not used yet |
|
229 | + $this->export_aggregate_array[$r] = array(); // TODO Not used yet |
|
230 | 230 | $keyforselect = 'warehouse'; |
231 | 231 | $keyforelement = 'warehouse'; |
232 | 232 | $keyforaliasextra = 'extra'; |
@@ -273,7 +273,7 @@ discard block |
||
273 | 273 | 'p.datec' => 'product', 'p.tms' => 'product', 'p.pmp' => 'product', 'p.cost_price' => 'product', |
274 | 274 | 'ps.reel' => 'stock', |
275 | 275 | 'p.seuil_stock_alerte' => 'product', 'p.barcode' => 'product', 'bt.libelle' => 'product', |
276 | - ); // We define here only fields that use another icon that the one defined into export_icon |
|
276 | + ); // We define here only fields that use another icon that the one defined into export_icon |
|
277 | 277 | if (isModEnabled('barcode')) { |
278 | 278 | $this->export_entities_array[$r] = array_merge($this->export_entities_array[$r], array('p.barcode' => 'product')); |
279 | 279 | } |
@@ -332,7 +332,7 @@ discard block |
||
332 | 332 | 'p.datec' => 'product', 'p.tms' => 'product', 'p.pmp' => 'product', 'p.cost_price' => 'product', |
333 | 333 | 'pb.rowid' => 'batch', 'pb.batch' => 'batch', 'pb.qty' => 'batch', |
334 | 334 | 'pl.eatby' => 'batch', 'pl.sellby' => 'batch' |
335 | - ); // We define here only fields that use another icon that the one defined into export_icon |
|
335 | + ); // We define here only fields that use another icon that the one defined into export_icon |
|
336 | 336 | if (isModEnabled('barcode')) { |
337 | 337 | $this->export_entities_array[$r] = array_merge($this->export_entities_array[$r], array('p.barcode' => 'product')); |
338 | 338 | } |
@@ -382,7 +382,7 @@ discard block |
||
382 | 382 | 'e.rowid' => 'warehouse', 'e.ref' => 'warehouse', 'e.description' => 'warehouse', 'e.lieu' => 'warehouse', 'e.address' => 'warehouse', 'e.zip' => 'warehouse', 'e.town' => 'warehouse', |
383 | 383 | 'p.rowid' => "product", 'p.ref' => "product", 'p.fk_product_type' => "product", 'p.label' => "product", 'p.description' => "product", 'p.note' => "product", |
384 | 384 | 'p.price' => "product", 'p.tva_tx' => 'product', 'p.tosell' => "product", 'p.tobuy' => "product", 'p.duration' => "product", 'p.datec' => 'product', 'p.tms' => 'product' |
385 | - ); // We define here only fields that use another icon that the one defined into export_icon |
|
385 | + ); // We define here only fields that use another icon that the one defined into export_icon |
|
386 | 386 | if (isModEnabled('productbatch')) { |
387 | 387 | $this->export_fields_array[$r]['sm.batch'] = 'Batch'; |
388 | 388 | $this->export_TypeFields_array[$r]['sm.batch'] = 'Text'; |
@@ -557,10 +557,10 @@ discard block |
||
557 | 557 | $sql = array(); |
558 | 558 | |
559 | 559 | $sql = array( |
560 | - "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = '" . $this->db->escape($this->const[1][2]) . "' AND type = 'stock' AND entity = " . ((int)$conf->entity), |
|
561 | - "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('" . $this->db->escape($this->const[1][2]) . "','stock'," . ((int)$conf->entity) . ")", |
|
562 | - "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = '" . $this->db->escape($this->const[2][2]) . "' AND type = 'mouvement' AND entity = " . ((int)$conf->entity), |
|
563 | - "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('" . $this->db->escape($this->const[2][2]) . "','mouvement'," . ((int)$conf->entity) . ")", |
|
560 | + "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = '" . $this->db->escape($this->const[1][2]) . "' AND type = 'stock' AND entity = " . ((int) $conf->entity), |
|
561 | + "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('" . $this->db->escape($this->const[1][2]) . "','stock'," . ((int) $conf->entity) . ")", |
|
562 | + "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = '" . $this->db->escape($this->const[2][2]) . "' AND type = 'mouvement' AND entity = " . ((int) $conf->entity), |
|
563 | + "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('" . $this->db->escape($this->const[2][2]) . "','mouvement'," . ((int) $conf->entity) . ")", |
|
564 | 564 | ); |
565 | 565 | |
566 | 566 | return $this->_init($sql, $options); |
@@ -454,7 +454,7 @@ discard block |
||
454 | 454 | $this->export_sql_end[$r] .= ' WHERE f.fk_soc = s.rowid AND f.rowid = fd.fk_facture_fourn'; |
455 | 455 | $this->export_sql_end[$r] .= ' AND f.entity IN (' . getEntity('supplier_invoice') . ')'; |
456 | 456 | if (is_object($user) && !$user->hasRight('societe', 'client', 'voir')) { |
457 | - $this->export_sql_end[$r] .= ' AND sc.fk_user = ' . ((int)$user->id); |
|
457 | + $this->export_sql_end[$r] .= ' AND sc.fk_user = ' . ((int) $user->id); |
|
458 | 458 | } |
459 | 459 | |
460 | 460 | // Invoices and payments |
@@ -537,7 +537,7 @@ discard block |
||
537 | 537 | $this->export_sql_end[$r] .= ' WHERE f.fk_soc = s.rowid'; |
538 | 538 | $this->export_sql_end[$r] .= ' AND f.entity IN (' . getEntity('supplier_invoice') . ')'; |
539 | 539 | if (is_object($user) && !$user->hasRight('societe', 'client', 'voir')) { |
540 | - $this->export_sql_end[$r] .= ' AND sc.fk_user = ' . ((int)$user->id); |
|
540 | + $this->export_sql_end[$r] .= ' AND sc.fk_user = ' . ((int) $user->id); |
|
541 | 541 | } |
542 | 542 | |
543 | 543 | // Order |
@@ -617,7 +617,7 @@ discard block |
||
617 | 617 | $this->export_sql_end[$r] .= ' WHERE f.fk_soc = s.rowid AND f.rowid = fd.fk_commande'; |
618 | 618 | $this->export_sql_end[$r] .= ' AND f.entity IN (' . getEntity('supplier_order') . ')'; |
619 | 619 | if (is_object($user) && !$user->hasRight('societe', 'client', 'voir')) { |
620 | - $this->export_sql_end[$r] .= ' AND sc.fk_user = ' . ((int)$user->id); |
|
620 | + $this->export_sql_end[$r] .= ' AND sc.fk_user = ' . ((int) $user->id); |
|
621 | 621 | } |
622 | 622 | |
623 | 623 | //Import Supplier Invoice |
@@ -992,8 +992,8 @@ discard block |
||
992 | 992 | } |
993 | 993 | |
994 | 994 | $sql_order = array( |
995 | - "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = '" . $this->db->escape($this->const[0][2]) . "' AND type = 'order_supplier' AND entity = " . ((int)$conf->entity), |
|
996 | - "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('" . $this->db->escape($this->const[0][2]) . "', 'order_supplier', " . ((int)$conf->entity) . ")", |
|
995 | + "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = '" . $this->db->escape($this->const[0][2]) . "' AND type = 'order_supplier' AND entity = " . ((int) $conf->entity), |
|
996 | + "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('" . $this->db->escape($this->const[0][2]) . "', 'order_supplier', " . ((int) $conf->entity) . ")", |
|
997 | 997 | ); |
998 | 998 | |
999 | 999 | //ODT template for Supplier Invoice |
@@ -163,8 +163,8 @@ |
||
163 | 163 | } |
164 | 164 | |
165 | 165 | $sql = array( |
166 | - "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = '" . $this->db->escape($this->const[0][2]) . "' AND type = 'donation' AND entity = " . ((int)$conf->entity), |
|
167 | - "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('" . $this->db->escape($this->const[0][2]) . "','donation'," . ((int)$conf->entity) . ")", |
|
166 | + "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = '" . $this->db->escape($this->const[0][2]) . "' AND type = 'donation' AND entity = " . ((int) $conf->entity), |
|
167 | + "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('" . $this->db->escape($this->const[0][2]) . "','donation'," . ((int) $conf->entity) . ")", |
|
168 | 168 | ); |
169 | 169 | |
170 | 170 | return $this->_init($sql, $options); |
@@ -132,10 +132,10 @@ discard block |
||
132 | 132 | |
133 | 133 | // Boxes |
134 | 134 | $this->boxes = array( |
135 | - 0 => array('file' => 'box_project.php', 'enabledbydefaulton' => 'Home'), // open projects |
|
136 | - 1 => array('file' => 'box_project_opportunities.php', 'enabledbydefaulton' => 'Home'), // open opportunities |
|
135 | + 0 => array('file' => 'box_project.php', 'enabledbydefaulton' => 'Home'), // open projects |
|
136 | + 1 => array('file' => 'box_project_opportunities.php', 'enabledbydefaulton' => 'Home'), // open opportunities |
|
137 | 137 | 2 => array('file' => 'box_task.php', 'enabledbydefaulton' => 'Home'), |
138 | - 3 => array('file' => 'box_validated_projects.php', 'enabledbydefaulton' => 'Home'), // task without timespent |
|
138 | + 3 => array('file' => 'box_validated_projects.php', 'enabledbydefaulton' => 'Home'), // task without timespent |
|
139 | 139 | 4 => array('file' => 'box_funnel_of_prospection.php', 'enabledbydefaulton' => 'Home'), |
140 | 140 | ); |
141 | 141 | // Cronjobs |
@@ -413,12 +413,12 @@ discard block |
||
413 | 413 | } |
414 | 414 | |
415 | 415 | $sql = array(); |
416 | - $sql[] = "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = '" . $this->db->escape($this->const[3][2]) . "' AND type = 'task' AND entity = " . ((int)$conf->entity); |
|
417 | - $sql[] = "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('" . $this->db->escape($this->const[3][2]) . "','task'," . ((int)$conf->entity) . ")"; |
|
418 | - $sql[] = "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = 'beluga' AND type = 'project' AND entity = " . ((int)$conf->entity); |
|
419 | - $sql[] = "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('beluga','project'," . ((int)$conf->entity) . ")"; |
|
420 | - $sql[] = "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = 'baleine' AND type = 'project' AND entity = " . ((int)$conf->entity); |
|
421 | - $sql[] = "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('baleine','project'," . ((int)$conf->entity) . ")"; |
|
416 | + $sql[] = "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = '" . $this->db->escape($this->const[3][2]) . "' AND type = 'task' AND entity = " . ((int) $conf->entity); |
|
417 | + $sql[] = "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('" . $this->db->escape($this->const[3][2]) . "','task'," . ((int) $conf->entity) . ")"; |
|
418 | + $sql[] = "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = 'beluga' AND type = 'project' AND entity = " . ((int) $conf->entity); |
|
419 | + $sql[] = "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('beluga','project'," . ((int) $conf->entity) . ")"; |
|
420 | + $sql[] = "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = 'baleine' AND type = 'project' AND entity = " . ((int) $conf->entity); |
|
421 | + $sql[] = "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('baleine','project'," . ((int) $conf->entity) . ")"; |
|
422 | 422 | |
423 | 423 | |
424 | 424 | return $this->_init($sql, $options); |
@@ -472,10 +472,10 @@ |
||
472 | 472 | } |
473 | 473 | |
474 | 474 | $sql = array_merge($sql, array( |
475 | - "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = 'standard_" . strtolower($myTmpObjectKey) . "' AND type = '" . strtolower($myTmpObjectKey) . "' AND entity = " . ((int)$conf->entity), |
|
476 | - "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('standard_" . strtolower($myTmpObjectKey) . "','" . strtolower($myTmpObjectKey) . "'," . ((int)$conf->entity) . ")", |
|
477 | - "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = 'generic_" . strtolower($myTmpObjectKey) . "_odt' AND type = '" . strtolower($myTmpObjectKey) . "' AND entity = " . ((int)$conf->entity), |
|
478 | - "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('generic_" . strtolower($myTmpObjectKey) . "_odt', '" . strtolower($myTmpObjectKey) . "', " . ((int)$conf->entity) . ")" |
|
475 | + "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = 'standard_" . strtolower($myTmpObjectKey) . "' AND type = '" . strtolower($myTmpObjectKey) . "' AND entity = " . ((int) $conf->entity), |
|
476 | + "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('standard_" . strtolower($myTmpObjectKey) . "','" . strtolower($myTmpObjectKey) . "'," . ((int) $conf->entity) . ")", |
|
477 | + "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = 'generic_" . strtolower($myTmpObjectKey) . "_odt' AND type = '" . strtolower($myTmpObjectKey) . "' AND entity = " . ((int) $conf->entity), |
|
478 | + "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('generic_" . strtolower($myTmpObjectKey) . "_odt', '" . strtolower($myTmpObjectKey) . "', " . ((int) $conf->entity) . ")" |
|
479 | 479 | )); |
480 | 480 | } |
481 | 481 | } |
@@ -224,7 +224,7 @@ discard block |
||
224 | 224 | // Label of tables |
225 | 225 | 'tablib' => array("PartnershipType"), |
226 | 226 | // Request to select fields |
227 | - 'tabsql' => array('SELECT f.rowid as rowid, f.code, f.label, f.keyword, f.active FROM ' . MAIN_DB_PREFIX . 'c_partnership_type as f WHERE f.entity = ' . ((int)$conf->entity)), |
|
227 | + 'tabsql' => array('SELECT f.rowid as rowid, f.code, f.label, f.keyword, f.active FROM ' . MAIN_DB_PREFIX . 'c_partnership_type as f WHERE f.entity = ' . ((int) $conf->entity)), |
|
228 | 228 | // Sort order |
229 | 229 | 'tabsqlsort' => array("label ASC"), |
230 | 230 | // List of fields (result of select to show dictionary) |
@@ -488,10 +488,10 @@ discard block |
||
488 | 488 | } |
489 | 489 | |
490 | 490 | $sql = array_merge($sql, array( |
491 | - "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = 'standard_" . strtolower($myTmpObjectKey) . "' AND type = '" . strtolower($myTmpObjectKey) . "' AND entity = " . ((int)$conf->entity), |
|
492 | - "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('standard_" . strtolower($myTmpObjectKey) . "','" . strtolower($myTmpObjectKey) . "'," . ((int)$conf->entity) . ")", |
|
493 | - "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = 'generic_" . strtolower($myTmpObjectKey) . "_odt' AND type = '" . strtolower($myTmpObjectKey) . "' AND entity = " . ((int)$conf->entity), |
|
494 | - "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('generic_" . strtolower($myTmpObjectKey) . "_odt', '" . strtolower($myTmpObjectKey) . "', " . ((int)$conf->entity) . ")" |
|
491 | + "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = 'standard_" . strtolower($myTmpObjectKey) . "' AND type = '" . strtolower($myTmpObjectKey) . "' AND entity = " . ((int) $conf->entity), |
|
492 | + "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('standard_" . strtolower($myTmpObjectKey) . "','" . strtolower($myTmpObjectKey) . "'," . ((int) $conf->entity) . ")", |
|
493 | + "DELETE FROM " . MAIN_DB_PREFIX . "document_model WHERE nom = 'generic_" . strtolower($myTmpObjectKey) . "_odt' AND type = '" . strtolower($myTmpObjectKey) . "' AND entity = " . ((int) $conf->entity), |
|
494 | + "INSERT INTO " . MAIN_DB_PREFIX . "document_model (nom, type, entity) VALUES('generic_" . strtolower($myTmpObjectKey) . "_odt', '" . strtolower($myTmpObjectKey) . "', " . ((int) $conf->entity) . ")" |
|
495 | 495 | )); |
496 | 496 | } |
497 | 497 | } |
@@ -207,7 +207,7 @@ discard block |
||
207 | 207 | $this->rights[$r][0] = 130; |
208 | 208 | $this->rights[$r][1] = 'Modify thirdparty information payment'; |
209 | 209 | $this->rights[$r][3] = 0; |
210 | - $this->rights[$r][4] = 'thirdparty_paymentinformation_advance'; // Visible if option MAIN_USE_ADVANCED_PERMS is on |
|
210 | + $this->rights[$r][4] = 'thirdparty_paymentinformation_advance'; // Visible if option MAIN_USE_ADVANCED_PERMS is on |
|
211 | 211 | $this->rights[$r][5] = 'write'; |
212 | 212 | |
213 | 213 | // 262 : Restrict access to sales representative |
@@ -356,7 +356,7 @@ discard block |
||
356 | 356 | $this->export_sql_end[$r] .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'c_incoterms as incoterm ON s.fk_incoterms = incoterm.rowid'; |
357 | 357 | $this->export_sql_end[$r] .= ' WHERE s.entity IN (' . getEntity('societe') . ')'; |
358 | 358 | if (is_object($user) && !$user->hasRight('societe', 'client', 'voir')) { |
359 | - $this->export_sql_end[$r] .= ' AND (sc.fk_user = ' . ((int)$user->id) . ' '; |
|
359 | + $this->export_sql_end[$r] .= ' AND (sc.fk_user = ' . ((int) $user->id) . ' '; |
|
360 | 360 | if (getDolGlobalString('SOCIETE_EXPORT_SUBORDINATES_CHILDS')) { |
361 | 361 | $subordinatesids = $user->getAllChildIds(); |
362 | 362 | $this->export_sql_end[$r] .= count($subordinatesids) > 0 ? ' OR (sc.fk_user IN (' . $this->db->sanitize(implode(',', $subordinatesids)) . ')' : ''; |
@@ -445,7 +445,7 @@ discard block |
||
445 | 445 | $this->export_sql_end[$r] .= ' LEFT JOIN ' . MAIN_DB_PREFIX . 'c_typent as t ON s.fk_typent = t.id'; |
446 | 446 | $this->export_sql_end[$r] .= ' WHERE c.entity IN (' . getEntity('contact') . ')'; |
447 | 447 | if (is_object($user) && !$user->hasRight('societe', 'client', 'voir')) { |
448 | - $this->export_sql_end[$r] .= ' AND (sc.fk_user = ' . ((int)$user->id) . ' '; |
|
448 | + $this->export_sql_end[$r] .= ' AND (sc.fk_user = ' . ((int) $user->id) . ' '; |
|
449 | 449 | if (getDolGlobalString('SOCIETE_EXPORT_SUBORDINATES_CHILDS')) { |
450 | 450 | $subordinatesids = $user->getAllChildIds(); |
451 | 451 | $this->export_sql_end[$r] .= count($subordinatesids) > 0 ? ' OR (sc.fk_user IN (' . $this->db->sanitize(implode(',', $subordinatesids)) . ')' : ''; |