Newer
Older
* This file is part of Maarch Framework.
*
* Maarch Framework 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.
*
* Maarch Framework 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 Maarch Framework. If not, see <http://www.gnu.org/licenses/>.
/****************************************************************************/
/* */
/* */
/* THIS PAGE CAN NOT BE OVERWRITTEN IN A CUSTOM */
/* */
/* */
/* **************************************************************************/
* @brief Contains all the functions to load core and modules
*
* @file
*
* @author Laurent Giovannoni <dev@maarch.org>
* @date $date$
*
* @version $Revision$
* @ingroup core
*/
* @brief Contains all the functions to load core and modules
*
* <ul>
* <li>Loads core tables into session</li>
* <li>Loads modules settings into session</li>
* <li>Builds the application menu</li>
* <li>Management and building the framework</li>
* <li>Modules services loading</li>
* <li>Execution of the module services </li>
*</ul>
*
* @ingroup core
*/
* Load Maarch core configuration into sessions vars from the core/xml/config.xml file.
*/
public function build_core_config($pathtoxmlcore)
{
$xmlconfig = simplexml_load_file($pathtoxmlcore);
// Loads core tables into session ($_SESSION['tablename'] array)
$TABLENAME = $xmlconfig->TABLENAME;
$_SESSION['tablename']['actions'] = (string) $TABLENAME->actions;
$_SESSION['tablename']['docservers'] = (string) $TABLENAME->docservers;
$_SESSION['tablename']['doctypes'] = (string) $TABLENAME->doctypes;
$_SESSION['tablename']['history'] = (string) $TABLENAME->history;
$_SESSION['tablename']['security'] = (string) $TABLENAME->security;
$_SESSION['tablename']['status'] = (string) $TABLENAME->status;
$_SESSION['tablename']['usergroups'] = (string) $TABLENAME->usergroups;
$_SESSION['tablename']['usergroup_services'] = (string) $TABLENAME->usergroups_services;
$_SESSION['tablename']['users'] = (string) $TABLENAME->users;
* Load Maarch modules configuration into sessions vars from modules/module_name/xml/config.xml files.
*
* @param $modules array Enabled modules of the application
*/
public function load_modules_config($modules, $mode_batch = false)
for ($i = 0; $i < count($modules); ++$i) {
if (file_exists(
$_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR
.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR
.'modules'.DIRECTORY_SEPARATOR.$modules[$i]['moduleid']
.DIRECTORY_SEPARATOR.'xml'.DIRECTORY_SEPARATOR
.'config.xml'
)
) {
$configPath = $_SESSION['config']['corepath'].'custom'
.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id']
.DIRECTORY_SEPARATOR.'modules'.DIRECTORY_SEPARATOR
.$modules[$i]['moduleid'].DIRECTORY_SEPARATOR.'xml'
.DIRECTORY_SEPARATOR.'config.xml';
} else {
$configPath = 'modules'.DIRECTORY_SEPARATOR
.$modules[$i]['moduleid'].DIRECTORY_SEPARATOR.'xml'
.DIRECTORY_SEPARATOR.'config.xml';
if (file_exists('modules'.DIRECTORY_SEPARATOR.$modules[$i]['moduleid'].DIRECTORY_SEPARATOR.'lang'.DIRECTORY_SEPARATOR.$_SESSION['config']['lang'].'.php')) {
include_once 'modules'.DIRECTORY_SEPARATOR.$modules[$i]['moduleid'].DIRECTORY_SEPARATOR.'lang'.DIRECTORY_SEPARATOR.$_SESSION['config']['lang'].'.php';
}
if (file_exists($configPath)) {
// Reads the config.xml file of the current module
$xmlconfig = simplexml_load_file($configPath);
// Loads into $_SESSION['modules_loaded'] module's informations
foreach ($xmlconfig->CONFIG as $CONFIG) {
$_SESSION['modules_loaded'][$modules[$i]['moduleid']]['name'] =
(string) $CONFIG->name;
$_SESSION['modules_loaded'][$modules[$i]['moduleid']]['path'] =
'modules'.DIRECTORY_SEPARATOR.$modules[$i]['moduleid']
.DIRECTORY_SEPARATOR;
if (!empty($comment) && defined($comment)
&& constant($comment) != null
) {
$comment = constant($comment);
}
$_SESSION['modules_loaded'][$modules[$i]['moduleid']]['comment'] =
$comment;
$_SESSION['modules_loaded'][$modules[$i]['moduleid']]['fileprefix'] = (string) $CONFIG->fileprefix;
$_SESSION['modules_loaded'][$modules[$i]['moduleid']]['loaded'] = (string) $CONFIG->loaded;
}
$_SESSION['config']['corepath'].'custom'
.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id']
.DIRECTORY_SEPARATOR.'modules'.DIRECTORY_SEPARATOR
.$modules[$i]['moduleid'].DIRECTORY_SEPARATOR.'class'
.DIRECTORY_SEPARATOR.'class_modules_tools.php'
$path_module_tools = $_SESSION['config']['corepath'].'custom'
.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id']
.DIRECTORY_SEPARATOR.'modules'.DIRECTORY_SEPARATOR
.$modules[$i]['moduleid'].DIRECTORY_SEPARATOR.'class'
.DIRECTORY_SEPARATOR.'class_modules_tools.php';
$path_module_tools = 'modules'.DIRECTORY_SEPARATOR
.$modules[$i]['moduleid'].DIRECTORY_SEPARATOR.'class'
.DIRECTORY_SEPARATOR.'class_modules_tools.php';
if (file_exists($path_module_tools)) {
require_once $path_module_tools;
$modules_tools = new $modules[$i]['moduleid']();
//Loads the tables of the module into session
$modules_tools->build_modules_tables();
//Loads log keywords of the module
}
foreach ($xmlconfig->KEYWORDS as $keyword) {
$tmp = (string) $keyword->label;
if (!empty($tmp) && defined($tmp) && constant($tmp) != null) {
array_push(
$_SESSION['history_keywords'],
array(
'id' => $id,
'select id, label_action from '
.$_SESSION['tablename']['actions']
." where history = 'Y'"
array_push(
$_SESSION['history_keywords'],
array(
'id' => 'ACTION#'.$res->id,
'label' => $this->show_string($res->label_action),
* Check if the log keyword is known in the apps.
*
* @param $id string Log keyword to check
*
* @return bool True if the keyword is found, False otherwise
*/
public function is_var_in_history_keywords_tab($id)
{
$found = false;
for ($i = 0; $i < count($_SESSION['history_keywords']); ++$i) {
if ($_SESSION['history_keywords'][$i]['id'] == $id) {
$found = $_SESSION['history_keywords'][$i]['label'];
break;
}
}
* Loads the modules specific vars into session.
*
* @param $modules Enabled modules of the application
*/
for ($i = 0; $i < count($modules); ++$i) {
$_SESSION['config']['corepath'].'custom'
.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id']
.DIRECTORY_SEPARATOR.'modules'.DIRECTORY_SEPARATOR
.$modules[$i]['moduleid'].DIRECTORY_SEPARATOR.'class'
.DIRECTORY_SEPARATOR.'class_modules_tools.php'
$path_module_tools = $_SESSION['config']['corepath'].'custom'
.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id']
.DIRECTORY_SEPARATOR.'modules'.DIRECTORY_SEPARATOR
.$modules[$i]['moduleid'].DIRECTORY_SEPARATOR.'class'
.DIRECTORY_SEPARATOR.'class_modules_tools.php';
$path_module_tools = 'modules'.DIRECTORY_SEPARATOR
.$modules[$i]['moduleid'].DIRECTORY_SEPARATOR.'class'
.DIRECTORY_SEPARATOR.'class_modules_tools.php';
if (file_exists($path_module_tools)) {
require_once $path_module_tools;
if (method_exists(
$modules[$i]['moduleid'], 'load_module_var_session'
)
) {
$modules_tools->load_module_var_session($userData);
}
}
//$this->show_array($_SESSION['user']['baskets']);
public static function load_lang($lang = 'fr', $maarch_directory = '', $maarch_apps = '')
if (isset($_SESSION['config']['lang']) && !empty($_SESSION['config']['lang'])) {
if (isset($_SESSION['config']['corepath']) && !empty($_SESSION['config']['corepath'])) {
$maarch_directory = $_SESSION['config']['corepath'];
if (isset($_SESSION['config']['app_id']) && !empty($_SESSION['config']['app_id'])) {
$maarch_apps = $_SESSION['config']['app_id'];
}
//Loading custom lang file if present, this means that language constants are defined in the custom language file before other language files
if (isset($_SESSION['custom_override_id']) && !empty($_SESSION['custom_override_id'])) {
self::load_lang_custom_override($_SESSION['custom_override_id']);
}
if (isset($lang) && file_exists($maarch_directory.'apps/maarch_entreprise/lang'.DIRECTORY_SEPARATOR.$lang.'.php')) {
include $maarch_directory.'apps/maarch_entreprise/lang'.DIRECTORY_SEPARATOR.$lang.'.php';
} else {
$_SESSION['error'] = 'Language file missing';
* Loads language variables of each module.
*
* @param $modules array Enabled modules of the application
*/
private static function load_lang_modules($modules)
$file_path = 'custom'
.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id']
.DIRECTORY_SEPARATOR.'modules'.DIRECTORY_SEPARATOR
.$modules[$i]['moduleid'].DIRECTORY_SEPARATOR
.'lang'.DIRECTORY_SEPARATOR
.$_SESSION['config']['lang'].'.php';
$file_path = 'modules'
.DIRECTORY_SEPARATOR.$modules[$i]['moduleid']
.DIRECTORY_SEPARATOR.'lang'.DIRECTORY_SEPARATOR
.$_SESSION['config']['lang'].'.php';
if (isset($_SESSION['config']['lang']) && file_exists($file_path)) {
include $file_path;
} elseif ($_SESSION['config']['debug'] === 'true') {
$_SESSION['info'] .= 'Language file missing for module : '
.$modules[$i]['moduleid'].'<br/>';
private static function load_lang_custom_override($custom_id)
{
$pathname = $_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR.$custom_id.DIRECTORY_SEPARATOR.$_SESSION['config']['lang'].'.php';
if (file_exists($pathname)) {
// $_SESSION['app_services'] = [];
/*
$_SESSION['config']['corepath'].'custom'.DIRECTORY_SEPARATOR
.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.'apps'
.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id']
.DIRECTORY_SEPARATOR.'xml'.DIRECTORY_SEPARATOR.'services.xml'
$path = $_SESSION['config']['corepath'].'custom'
.DIRECTORY_SEPARATOR.$_SESSION['custom_override_id']
.DIRECTORY_SEPARATOR.'apps'.DIRECTORY_SEPARATOR
.$_SESSION['config']['app_id'].DIRECTORY_SEPARATOR.'xml'
.DIRECTORY_SEPARATOR.'services.xml';
$path = 'apps'.DIRECTORY_SEPARATOR.$_SESSION['config']['app_id']
.DIRECTORY_SEPARATOR.'xml'.DIRECTORY_SEPARATOR
.'services.xml';
include_once 'apps/'.$_SESSION['config']['app_id'].'/lang/'.$_SESSION['config']['lang'].'.php';
// Browses the services in that file and loads $_SESSION['app_services']
foreach ($xmlconfig->SERVICE as $service) {
$_SESSION['app_services'][$k] = array();
$_SESSION['app_services'][$k]['id'] = (string) $service->id;
$name = (string) $service->name;
if (!empty($name) && defined($name) && constant($name) != null) {
$name = constant($name);
$_SESSION['app_services'][$k]['name'] = $name;
$comment = (string) $service->comment;
if (!empty($comment) && defined($comment)
&& constant($comment) != null
$_SESSION['app_services'][$k]['comment'] = $comment;
if (isset($service->servicepage)) {
$_SESSION['app_services'][$k]['servicepage'] = (string) $service->servicepage;
$_SESSION['app_services'][$k]['servicepage'] = preg_replace(
'/&admin/', '&admin',
$_SESSION['app_services'][$k]['servicepage']
);
$_SESSION['app_services'][$k]['servicepage'] = preg_replace(
'/&module/', '&module',
$_SESSION['app_services'][$k]['servicepage']
);
}
$_SESSION['app_services'][$k]['servicetype'] = (string) $service->servicetype;
if (isset($service->style)) {
$_SESSION['app_services'][$k]['style'] = (string) $service->style;
}
$systemService = (string) $service->system_service;
$_SESSION['app_services'][$k]['system_service'] = false;
} else {
$_SESSION['app_services'][$k]['system_service'] = true;
}
$_SESSION['app_services'][$k]['enabled'] = (string) $service->enabled;
$l = 0;
foreach ($service->WHEREAMIUSED as $whereAmIUsed) {
if (isset($whereAmIUsed)) {
$_SESSION['app_services'][$k]['whereamiused'][$l]['page'] = (string) $whereAmIUsed->page;
$_SESSION['app_services'][$k]['whereamiused'][$l]['nature'] = (string) $whereAmIUsed->nature;
if (isset($whereAmIUsed->button_label)) {
$_SESSION['app_services'][$k]['whereamiused'][$l]['button_label'] = (string) $whereAmIUsed->button_label;
}
if (isset($whereAmIUsed->tab_label)) {
$label = (string) $whereAmIUsed->tab_label;
if (!empty($label) && defined($label)
&& constant($label) != null
$_SESSION['app_services'][$k]['whereamiused'][$l]['tab_label'] = $label;
}
if (isset($whereAmIUsed->tab_order)) {
$_SESSION['app_services'][$k]['whereamiused'][$l]['tab_order'] = (string) $whereAmIUsed->tab_order;
}
if (isset($whereAmIUsed->width)) {
$_SESSION['app_services'][$k]['whereamiused'][$l]['width'] = (string) $whereAmIUsed->width;
}
if (isset($whereAmIUsed->frame_id)) {
$_SESSION['app_services'][$k]['whereamiused'][$l]['frame_id'] = (string) $whereAmIUsed->frame_id;
}
if (isset($whereAmIUsed->height)) {
$_SESSION['app_services'][$k]['whereamiused'][$l]['height'] = (string) $whereAmIUsed->height;
}
$_SESSION['app_services'][$k]['whereamiused'][$l]['scrolling'] = (string) $whereAmIUsed->scrolling;
}
if (isset($whereAmIUsed->style)) {
$_SESSION['app_services'][$k]['whereamiused'][$l]['style'] = (string) $whereAmIUsed->style;
}
if (isset($whereAmIUsed->border)) {
$_SESSION['app_services'][$k]['whereamiused'][$l]['border'] = (string) $whereAmIUsed->border;
}
}
}
$m = 0;
// Loads preprocess and postprocess
foreach ($service->PROCESSINBACKGROUND as $processInBackground) {
$_SESSION['app_services'][$k]['processinbackground'][$m]['page'] = (string) $processInBackground->page;
if ((string) $processInBackground->preprocess != '') {
$_SESSION['app_services'][$k]['processinbackground'][$m]['preprocess'] = (string) $processInBackground->preprocess;
}
if ((string) $processInBackground->postprocess != '') {
$_SESSION['app_services'][$k]['processinbackground'][$m]['postprocess'] = (string) $processInBackground->postprocess;
}
$_SESSION['app_services'][$k]['processinbackground'][$m]['processorder'] = (string) $processInBackground->processorder;
* Loads the services of each module into session.
*
* @param $modules array Enabled modules of the application
*/
// $_SESSION['modules_services'] = [];
/*
for ($i = 0; $i < count($modules); ++$i) {
$path = '';
$moduleServiceXml = 'modules'.DIRECTORY_SEPARATOR.$modules[$i]['moduleid'].DIRECTORY_SEPARATOR.'xml'.DIRECTORY_SEPARATOR.'services.xml';
if (file_exists(
'custom'.DIRECTORY_SEPARATOR . $_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.$moduleServiceXml
)
) {
$path = 'custom' .DIRECTORY_SEPARATOR.$_SESSION['custom_override_id'].DIRECTORY_SEPARATOR.$moduleServiceXml;
} elseif (file_exists($moduleServiceXml)) {
$path = $moduleServiceXml;
if (!empty($path)) {
$xmlconfig = simplexml_load_file($path);
$k = 0;
$m = 0;
foreach ($xmlconfig->SERVICE as $service) {
if ((string) $service->enabled == 'true') {
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['id'] = (string) $service->id;
$name = (string) $service->name;
if (!empty($name) && defined($name)
&& constant($name) != null
) {
$name = constant($name);
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['name'] =
$name;
$comment = (string) $service->comment;
if (!empty($comment) && defined($comment)
&& constant($comment) != null
) {
$comment = constant($comment);
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['comment'] =
$comment;
if (isset($service->servicepage)) {
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['servicepage'] = (string) $service->servicepage;
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['servicetype'] = (string) $service->servicetype;
if (isset($service->style)) {
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['style'] = (string) $service->style;
$systemService = (string) $service->system_service;
if ($systemService == 'false') {
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['system_service'] = false;
} else {
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['system_service'] = true;
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['enabled'] = (string) $service->enabled;
$l = 0;
foreach ($service->WHEREAMIUSED as $whereAmIUsed) {
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['whereamiused'][$l]['page'] = (string) $whereAmIUsed->page;
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['whereamiused'][$l]['nature'] = (string) $whereAmIUsed->nature;
if (isset($whereAmIUsed->button_label)) {
$label = (string) $whereAmIUsed->button_label;
if (!empty($label) && defined($label)
&& constant($label) != null
) {
$label = constant($label);
}
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['whereamiused'][$l]['button_label'] =
$label;
}
if (isset($whereAmIUsed->tab_label)) {
$label = (string) $whereAmIUsed->tab_label;
if (!empty($label) && defined($label)
&& constant($label) != null
) {
$label = constant($label);
}
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['whereamiused'][$l]['tab_label'] =
$label;
}
if (isset($whereAmIUsed->tab_order)) {
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['whereamiused'][$l]['tab_order'] = (string) $whereAmIUsed->tab_order;
}
if (isset($whereAmIUsed->frame_id)) {
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['whereamiused'][$l]['frame_id'] = (string) $whereAmIUsed->frame_id;
}
if (isset($whereAmIUsed->width)) {
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['whereamiused'][$l]['width'] = (string) $whereAmIUsed->width;
}
if (isset($whereAmIUsed->height)) {
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['whereamiused'][$l]['height'] = (string) $whereAmIUsed->height;
}
if (isset($whereAmIUsed->scrolling)) {
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['whereamiused'][$l]['scrolling'] = (string) $whereAmIUsed->scrolling;
}
if (isset($whereAmIUsed->style)) {
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['whereamiused'][$l]['style'] = (string) $whereAmIUsed->style;
}
if (isset($whereAmIUsed->border)) {
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['whereamiused'][$l]['border'] = (string) $whereAmIUsed->border;
}
++$l;
$m = 0;
foreach ($service->PROCESSINBACKGROUND as $processInBackground) {
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['processinbackground'][$m]['page'] = (string) $processInBackground->page;
if ((string) $processInBackground->preprocess != '') {
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['processinbackground'][$m]['preprocess'] = (string) $processInBackground->preprocess;
}
if ((string) $processInBackground->postprocess != '') {
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['processinbackground'][$m]['postprocess'] = (string) $processInBackground->postprocess;
}
$_SESSION['modules_services'][$modules[$i]['moduleid']][$k]['processinbackground'][$m]['processorder'] = (string) $processInBackground->processorder;
++$m;
* Executes the module' s services in the page.
*
* @param $modules_services array List of the module's services
* @param $whereami string Page where to execute the service
* @param $servicenature string Nature of the service (by default, the function takes all the services natures)
* @param $id_service string Identifier of one specific service (empty by default)
* @param $id_module string Identifier of one specific module (empty by default)
*/
public function execute_modules_services($modules_services, $whereami, $servicenature = 'all', $id_service = '', $id_module = '')
$executedServices = array();
for ($i = 0; $i < count($modules_services[$id_module]); ++$i) {
&& isset($modules_services[$id_module][$i]['whereamiused'])
$modules_services[$id_module][$i]['whereamiused']
) {
$name = $id = $width = $height = $frameborder = $scrolling = $style = '';
if ($modules_services[$id_module][$i]['whereamiused'][$k]['page'] == $whereami) {
if ($modules_services[$id_module][$i]['whereamiused'][$k]['nature'] == 'frame'
&& $_SESSION['user']['services'][$modules_services[$id_module][$i]['id']]
$modules_services[$id_module][$i]['id'],
$executedServices
)
$executedServices,
$modules_services[$id_module][$i]['id']
$modules_services[$id_module][$i]['whereamiused'][$k]['frame_id']
$modules_services[$id_module][$i]['whereamiused'][$k]['frame_id']
$name = 'name="'.$modules_services[$id_module][$i]['whereamiused'][$k]['frame_id'].'"';
}
if (isset(
$modules_services[$id_module][$i]['whereamiused'][$k]['frame_id']
$modules_services[$id_module][$i]['whereamiused'][$k]['frame_id']
$id = 'id="'.$modules_services[$id_module][$i]['whereamiused'][$k]['frame_id'].'"';
}
if (isset(
$modules_services[$id_module][$i]['whereamiused'][$k]['width']
$modules_services[$id_module][$i]['whereamiused'][$k]['width']
$width = 'width="'.$modules_services[$id_module][$i]['whereamiused'][$k]['width'].'" ';
}
if (isset(
$modules_services[$id_module][$i]['whereamiused'][$k]['height']
$modules_services[$id_module][$i]['whereamiused'][$k]['height']
$height = 'height="'.$modules_services[$id_module][$i]['whereamiused'][$k]['height'].'"';
}
if (isset(
$modules_services[$id_module][$i]['whereamiused'][$k]['border']
) && strlen(
$modules_services[$id_module][$i]['whereamiused'][$k]['border']
$frameborder = 'frameborder="'
.$modules_services[$id_module][$i]['whereamiused'][$k]['border'].'" ';
}
if (isset(
$modules_services[$id_module][$i]['whereamiused'][$k]['scrolling']
$modules_services[$id_module][$i]['whereamiused'][$k]['scrolling']
$scrolling = 'scrolling="'
.$modules_services[$id_module][$i]['whereamiused'][$k]['scrolling'].'"';
}
if (isset(
$modules_services[$id_module][$i]['whereamiused'][$k]['style']
$modules_services[$id_module][$i]['whereamiused'][$k]['style']
.$modules_services[$id_module][$i]['whereamiused'][$k]['style'].'"';
.$_SESSION['config']['businessappurl']
.'index.php?display=true&module='
.$id_module.'&page='
.$modules_services[$id_module][$i]['servicepage']
.'" '.$name.' '.$id.' '.$width
.' '.$height.' '.$frameborder.' '
.$scrolling.' '.$style.'></iframe>';
return $iframeStr;
} elseif ($modules_services[$id_module][$i]['whereamiused'][$k]['nature'] == 'popup'
&& $_SESSION['user']['services'][$modules_services[$id_module][$i]['id']]
$modules_services[$id_module][$i]['id'], $executedServices
)
) {
array_push(
$executedServices,
$modules_services[$id_module][$i]['id']
<a href='<?php echo $_SESSION['config']['businessappurl'].'index.php?display=true&module='.$id_module.'&page='.$modules_services[$id_module][$i]['servicepage']; ?>' target='_blank'><?php echo _ACCESS_TO_SERVICE; ?></a><br /><br />
} elseif ($modules_services[$id_module][$i]['whereamiused'][$k]['nature'] == 'button'
&& $_SESSION['user']['services'][$modules_services[$id_module][$i]['id']]
$modules_services[$id_module][$i]['id'],
$executedServices
)
) {
array_push(
$executedServices,
$modules_services[$id_module][$i]['id']
$tmp = $modules_services[$id_module][$i]['whereamiused'][$k]['button_label'];
if (!empty($tmp) && defined($tmp)
&& constant($tmp) != null
$tmp = constant($tmp);
} ?>
<input type="button" name="<?php functions::xecho($modules_services[$id_module][$i]['id']); ?>" value="<?php functions::xecho($tmp); ?>" onclick="window.open('<?php echo $_SESSION['config']['businessappurl'].'index.php?display=true&module='.$id_module.'&page='.$modules_services[$id_module][$i]['servicepage']; ?>', '<?php functions::xecho($modules_services[$id_module][$i]['id']); ?>','width=<?php functions::xecho($modules_services[$id_module][$i]['whereamiused'][$k]['width']); ?>,height=<?php functions::xecho($modules_services[$id_module][$i]['whereamiused'][$k]['height']); ?>,scrollbars=yes,resizable=yes' );" class="button" /><br/>
} elseif ($modules_services[$id_module][$i]['whereamiused'][$k]['nature'] == 'include'
&& $_SESSION['user']['services'][$modules_services[$id_module][$i]['id']]
$modules_services[$id_module][$i]['id'],
$executedServices
)
) {
array_push(
$executedServices,
$modules_services[$id_module][$i]['id']
include 'modules'.DIRECTORY_SEPARATOR
.$id_module.DIRECTORY_SEPARATOR
.$modules_services[$id_module][$i]['servicepage'];
} else {
if (isset($modules_services)) {
foreach (array_keys($modules_services) as $value) {
if (isset($modules_services[$value])) {
for ($iService = 0; $iService < count($modules_services[$value]);
if (isset($modules_services[$value][$iService])
&& isset($modules_services[$value][$iService]['whereamiused'])
&& count($modules_services[$value][$iService]['whereamiused']) > 0
) {
for ($k = 0; $k < count(
$modules_services[$value][$iService]['whereamiused']
) {
if (isset(
$modules_services[$value][$iService]['whereamiused'][$k]['page']
) && $modules_services[$value][$iService]['whereamiused'][$k]['page'] == $whereami
if ($modules_services[$value][$iService]['whereamiused'][$k]['nature'] == 'frame'
&& $_SESSION['user']['services'][$modules_services[$value][$iService]['id']]
&& ($servicenature == 'all' || $servicenature == 'frame')
&& !in_array(
$modules_services[$value][$iService]['id'],
) {
array_push(
$modules_services[$value][$iService]['id']
if (isset(
$modules_services[$value][$iService]['whereamiused'][$k]['frame_id']
$modules_services[$value][$iService]['whereamiused'][$k]['frame_id']
.$modules_services[$value][$iService]['whereamiused'][$k]['frame_id'].'"';
}
if (isset(
$modules_services[$value][$iService]['whereamiused'][$k]['frame_id']
$modules_services[$value][$iService]['whereamiused'][$k]['frame_id']
$iServiced = 'id="'
.$modules_services[$value][$iService]['whereamiused'][$k]['frame_id'].'"';
}
if (isset(
$modules_services[$value][$iService]['whereamiused'][$k]['width']
$modules_services[$value][$iService]['whereamiused'][$k]['width']
$width = 'width="'.$modules_services[$value][$iService]['whereamiused'][$k]['width'].'" ';
}
if (isset(
$modules_services[$value][$iService]['whereamiused'][$k]['height']
) && strlen(
$modules_services[$value][$iService]['whereamiused'][$k]['height']
$height = 'height="'.$modules_services[$value][$iService]['whereamiused'][$k]['height'].'"';
}
if (isset(
$modules_services[$value][$iService]['whereamiused'][$k]['border']
) && strlen(
$modules_services[$value][$iService]['whereamiused'][$k]['border']
$frameborder = 'frameborder="'.$modules_services[$value][$iService]['whereamiused'][$k]['border'].'" ';
}
if (isset(
$modules_services[$value][$iService]['whereamiused'][$k]['scrolling']
$modules_services[$value][$iService]['whereamiused'][$k]['scrolling']
$scrolling = 'scrolling="'.$modules_services[$value][$iService]['whereamiused'][$k]['scrolling'].'"';
}
if (isset(
$modules_services[$value][$iService]['whereamiused'][$k]['style']
$modules_services[$value][$iService]['whereamiused'][$k]['style']
$style = 'style="'.$modules_services[$value][$iService]['whereamiused'][$k]['style'].'"';
$iServiceframeStr = '<iframe src="'
.$_SESSION['config']['businessappurl']
.'index.php?display=true&module='
.$value.'&page='
.$modules_services[$value][$iService]['servicepage']
.'" '.$name.' '.$iServiced.' '
.$width.' '.$height.' '
.$frameborder.' '.$scrolling
.' '.$style.'></iframe>';
return $iServiceframeStr;
} elseif ($modules_services[$value][$iService]['whereamiused'][$k]['nature'] == 'tab'
&& $_SESSION['user']['services'][$modules_services[$value][$iService]['id']]
$modules_services[$value][$iService]['id'],
) {
array_push(
$modules_services[$value][$iService]['id']
$arrLabel = $modules_services[$value][$iService]['whereamiused'][$k]['tab_label'];
$arrOrder = $modules_services[$value][$iService]['whereamiused'][$k]['tab_order'];
$frameSrc = $_SESSION['config']['businessappurl'].'index.php?display=true&module='.$value.'&page='.$modules_services[$value][$iService]['servicepage'];
$tab_view[$arrOrder]['tab_label'] = $arrLabel;
$tab_view[$arrOrder]['frame_src'] = $frameSrc;
} elseif ($modules_services[$value][$iService]['whereamiused'][$k]['nature'] == 'popup'
&& $_SESSION['user']['services'][$modules_services[$value][$iService]['id']]
&& ($servicenature == 'all' || $servicenature == 'popup')
&& !in_array(
$modules_services[$value][$iService]['id'],
) {
array_push(
$modules_services[$value][$iService]['id']
echo $modules_services[$value][$iService]['name']; ?>
<a href='<?php echo $_SESSION['config']['businessappurl'].'index.php?display=true&module='.$value.'&page='.$modules_services[$value][$iService]['servicepage']; ?>' target='_blank'><?php echo _ACCESS_TO_SERVICE; ?></a><br /><br />
} elseif ($modules_services[$value][$iService]['whereamiused'][$k]['nature'] == 'button'
&& $_SESSION['user']['services'][$modules_services[$value][$iService]['id']]
&& ($servicenature == 'all' || $servicenature == 'button')
&& !in_array(
$modules_services[$value][$iService]['id'],
) {
array_push(
$modules_services[$value][$iService]['id']
$tmp = $modules_services[$value][$iService]['whereamiused'][$k]['button_label'];
if (!empty($tmp) && defined($tmp)
&& constant($tmp) != null
$tmp = constant($tmp);
} ?>
<input type="button" name="<?php functions::xecho($modules_services[$value][$iService]['id']); ?>" value="<?php functions::xecho($tmp); ?>" onclick="window.open('<?php echo $_SESSION['config']['businessappurl'].'index.php?display=true&module='.$iServiced_module.'&page='.$modules_services[$iServiced_module][$iService]['servicepage']; ?>', '<?php functions::xecho($modules_services[$value][$iService]['id']); ?>','width=<?php functions::xecho($modules_services[$value][$iService]['whereamiused'][$k]['width']); ?>,height=<?php functions::xecho($modules_services[$value][$iService]['whereamiused'][$k]['height']); ?>,scrollbars=yes,resizable=yes' );" class="button" /><br/>
} elseif (isset($_SESSION['user']['services'][$modules_services[$value][$iService]['id']])
&& $modules_services[$value][$iService]['whereamiused'][$k]['nature'] == 'include'
&& $_SESSION['user']['services'][$modules_services[$value][$iService]['id']]
&& ($servicenature == 'all' || $servicenature == 'include')
&& !in_array(
$modules_services[$value][$iService]['id'],
) {
array_push(
$modules_services[$value][$iService]['id']
include 'modules'.DIRECTORY_SEPARATOR
.$value.DIRECTORY_SEPARATOR
.$modules_services[$value][$iService]['servicepage'];
if ($servicenature == 'tab') {
for ($u = 1; $u <= count($tab_view); ++$u) {
if ($u == 1) {
<a href="javascript://" onclick="opentab('myframe', '<?php functions::xecho($tab_view[$u]['frame_src']); ?>');">
<?php functions::xecho($tab_view[$u]['tab_label']); ?>
$_SESSION['first_tab_to_open'] = $tab_view[$u]['frame_src']; ?>
} else {
<a href="javascript://" onclick="opentab('myframe', '<?php functions::xecho($tab_view[$u]['frame_src']); ?>');">
<?php functions::xecho($tab_view[$u]['tab_label']); ?>
* Executes the apps services in the page.
*
* @param $apps_services array List of the application services
* @param $whereami string Page where to execute the service
* @param $servicenature string Nature of the service (by default, the function takes all the services natures)
*/
public function execute_app_services($appServices, $whereami, $servicenature = 'all')
$executedServices = array();
for ($i = 0; $i < count($appServices); ++$i) {
if (isset($appServices[$i]['whereamiused'])) {
for ($k = 0; $k < count($appServices[$i]['whereamiused']); ++$k) {
if ($appServices[$i]['whereamiused'][$k]['page'] == $whereami) {
if ($appServices[$i]['whereamiused'][$k]['nature'] == 'frame'
&& $_SESSION['user']['services'][$appServices[$i]['id']]
&& ($servicenature == 'all' || $servicenature == 'frame')
&& !in_array(
$appServices[$i]['id'],
$executedServices
)
) {
array_push(
$executedServices,
$appServices[$i]['id']
); ?>
<iframe src='<?php echo $_SESSION['config']['businessappurl'].'index.php?display=true&page='.$appServices[$i]['servicepage']; ?>' name="<?php $appServices[$i]['id']; ?>" id="<?php $appServices[$i]['id']; ?>" width='<?php functions::xecho($appServices[$i]['whereamiused'][$k]['width']); ?>' height='<?php functions::xecho($appServices[$i]['whereamiused'][$k]['height']); ?>' frameborder='<?php functions::xecho($appServices[$i]['whereamiused'][$k]['border']); ?>' scrolling='<?php functions::xecho($appServices[$i]['whereamiused'][$k]['scrolling']); ?>'></iframe>
} elseif ($appServices[$i]['whereamiused'][$k]['nature'] == 'popup'
&& $_SESSION['user']['services'][$appServices[$i]['id']]
&& ($servicenature == 'all' || $servicenature == 'popup')
&& !in_array(
$appServices[$i]['id'],
$executedServices
)
) {
array_push(
$executedServices,
$appServices[$i]['id']