* Copyright (C) 2005-2012 Laurent Destailleur * Copyright (C) 2012 Regis Houssin * * 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 . */ /** * \file htdocs/user/clicktodial.php * \brief Page for Click to dial datas */ // Load Dolibarr environment require '../main.inc.php'; require_once DOL_DOCUMENT_ROOT.'/core/lib/usergroups.lib.php'; // Load translation files required by page $langs->loadLangs(array('users', 'admin')); $action = (string) GETPOST('action', 'aZ09'); $cancel = GETPOST('cancel', 'aZ09'); $id = GETPOSTINT('id'); // Security check $socid = 0; if ($user->socid > 0) { $socid = $user->socid; } $feature2 = (($socid && $user->hasRight('user', 'self', 'creer')) ? '' : 'user'); // Initialize a technical object to manage hooks of page. Note that conf->hooks_modules contains an array of hook context $hookmanager->initHooks(array('usercard', 'globalcard')); $result = restrictedArea($user, 'user', $id, 'user&user', $feature2); // Define value to know what current user can do on properties of edited user $canedituser = 0; if ($id > 0) { // $user is the current logged user, $id is the user we want to edit $canedituser = (($user->id == $id) && $user->hasRight("user", "self", "write")) || (($user->id != $id) && $user->hasRight("user", "user", "write")); } /* * Actions */ $parameters = array('id'=>$socid); $reshook = $hookmanager->executeHooks('doActions', $parameters, $object, $action); // Note that $action and $object may have been modified by some hooks if ($reshook < 0) { setEventMessages($hookmanager->error, $hookmanager->errors, 'errors'); } if (empty($reshook)) { if ($action == 'update' && !$cancel && $canedituser) { $edituser = new User($db); $edituser->fetch($id); $edituser->clicktodial_url = (string) GETPOST("url", "alpha"); $edituser->clicktodial_login = (string) GETPOST("login", "alpha"); $edituser->clicktodial_password = (string) GETPOST("password", "alpha"); $edituser->clicktodial_poste = (string) GETPOST("poste", "alpha"); $result = $edituser->update_clicktodial(); if ($result < 0) { setEventMessages($edituser->error, $edituser->errors, 'errors'); } } } /* * View */ $form = new Form($db); if ($id > 0) { $object = new User($db); $object->fetch($id, '', '', 1); $object->loadRights(); $object->fetch_clicktodial(); $person_name = !empty($object->firstname) ? $object->lastname.", ".$object->firstname : $object->lastname; $title = $person_name." - ".$langs->trans('ClickToDial'); $help_url = ''; llxHeader('', $title, $help_url, '', 0, 0, '', '', '', 'mod-user page-clicktodial'); $head = user_prepare_head($object); $title = $langs->trans("User"); print '
'; print ''; print ''; print dol_get_fiche_head($head, 'clicktodial', $title, -1, 'user'); $linkback = ''; if ($user->hasRight('user', 'user', 'lire') || $user->admin) { $linkback = ''.$langs->trans("BackToList").''; } $morehtmlref = ''; $morehtmlref .= img_picto($langs->trans("Download").' '.$langs->trans("VCard"), 'vcard.png', 'class="valignmiddle marginleftonly paddingrightonly"'); $morehtmlref .= ''; $urltovirtualcard = '/user/virtualcard.php?id='.((int) $object->id); $morehtmlref .= dolButtonToOpenUrlInDialogPopup('publicvirtualcard', $langs->transnoentitiesnoconv("PublicVirtualCardUrl").' - '.$object->getFullName($langs), img_picto($langs->trans("PublicVirtualCardUrl"), 'card', 'class="valignmiddle marginleftonly paddingrightonly"'), $urltovirtualcard, '', 'nohover'); dol_banner_tab($object, 'id', $linkback, $user->hasRight('user', 'user', 'lire') || $user->admin, 'rowid', 'ref', $morehtmlref); print '
'; print '
'; // Edit mode if ($action == 'edit') { print ''; if ($user->admin) { print ''; print ''; print ''; } print ''; print ''; print "\n"; print ''; print ''; print ''; print ''; print ''; print "\n"; print '
ClickToDial URL'; print ''; if (!getDolGlobalString('CLICKTODIAL_URL') && empty($object->clicktodial_url)) { $langs->load("errors"); print ''.$langs->trans("ErrorModuleSetupNotComplete", $langs->transnoentitiesnoconv("ClickToDial")).''; } else { print '
'.$form->textwithpicto(''.$langs->trans("KeepEmptyToUseDefault").':
' . getDolGlobalString('CLICKTODIAL_URL'), $langs->trans("ClickToDialUrlDesc")); } print '
ClickToDial '.$langs->trans("IdPhoneCaller").''; print '
ClickToDial '.$langs->trans("Login").''; print '
ClickToDial '.$langs->trans("Password").''; print '
'; } else { // View mode print ''; if (!empty($user->admin)) { print ''; print ''; print ''; } print ''; print ''; print ""; print ''; print ''; print ''; print ''; print ''; print "\n"; print "
ClickToDial URL'; if (getDolGlobalString('CLICKTODIAL_URL')) { $url = getDolGlobalString('CLICKTODIAL_URL'); } if (!empty($object->clicktodial_url)) { $url = $object->clicktodial_url; } if (empty($url)) { $langs->load("errors"); print ''.$langs->trans("ErrorModuleSetupNotComplete", $langs->transnoentitiesnoconv("ClickToDial")).''; } else { print $form->textwithpicto((empty($object->clicktodial_url) ? ''.$langs->trans("DefaultLink").': ' : '').$url, $langs->trans("ClickToDialUrlDesc")); } print '
ClickToDial '.$langs->trans("IdPhoneCaller").''.(!empty($object->clicktodial_poste) ? $object->clicktodial_poste : '').'
ClickToDial '.$langs->trans("Login").''.(!empty($object->clicktodial_login) ? $object->clicktodial_login : '').'
ClickToDial '.$langs->trans("Password").''.preg_replace('/./', '*', (!empty($object->clicktodial_password) ? $object->clicktodial_password : '')).'
\n"; } print dol_get_fiche_end(); if ($action == 'edit') { print '
'; print '
'; print '     '; print ''; print '
'; } print '
'; print '
'; /* * Action bar */ print '
'; if (!empty($user->admin) && $action != 'edit') { print ''.$langs->trans("Modify").''; } print "
\n"; } // End of page llxFooter(); $db->close();