print "<td align=\"center\">\n"; //if ($conf->global->COMPANY_ADDON_PDF != "$name") //{ print '<a href="'.$_SERVER["PHP_SELF"].'?action=del&value='.$name.'&scandir='.$module->scandir.'&label='.urlencode($module->name).'">'; print img_picto($langs->trans("Enabled"),'on'); print '</a>'; //} //else //{ // print img_picto($langs->trans("Enabled"),'on'); //} print "</td>"; } else { if (versioncompare($module->phpmin,versionphparray()) > 0) { print "<td align=\"center\">\n"; print img_picto(dol_escape_htmltag($langs->trans("ErrorModuleRequirePHPVersion",join('.',$module->phpmin))),'off'); print "</td>"; } else { print "<td align=\"center\">\n"; print '<a href="'.$_SERVER["PHP_SELF"].'?action=set&value='.$name.'&scandir='.$module->scandir.'&label='.urlencode($module->name).'">'.img_picto($langs->trans("Disabled"),'off').'</a>'; print "</td>"; } } // Info $htmltooltip = ''.$langs->trans("Name").': '.$module->name;
/** * Enable a module * @param value Name of module to activate * @param withdeps Activate/Disable also all dependencies * @return string Error message or ''; */ function Activate($value,$withdeps=1) { global $db, $modules, $langs, $conf; $modName = $value; $ret=''; // Activate module if ($modName) { $modFile = $modName . ".class.php"; // Loop on each directory $found=false; foreach ($conf->file->dol_document_root as $type => $dirroot) { $modulesdir[] = $dirroot."/includes/modules/"; if ($type == 'alt') { $handle=@opendir($dirroot); if (is_resource($handle)) { while (($file = readdir($handle))!==false) { if (is_dir($dirroot.'/'.$file) && substr($file, 0, 1) <> '.' && substr($file, 0, 3) <> 'CVS' && $file != 'includes') { if (is_dir($dirroot . '/' . $file . '/includes/modules/')) { $modulesdir[] = $dirroot . '/' . $file . '/includes/modules/'; } } } closedir($handle); } } } foreach ($modulesdir as $dir) { if (file_exists($dir.$modFile)) { $found=@include_once($dir.$modFile); if ($found) break; } } $objMod = new $modName($db); // Test if PHP version ok $verphp=versionphparray(); $vermin=isset($objMod->phpmin)?$objMod->phpmin:0; if (is_array($vermin) && versioncompare($verphp,$vermin) < 0) { return $langs->trans("ErrorModuleRequirePHPVersion",versiontostring($vermin)); } // Test if Dolibarr version ok $verdol=versiondolibarrarray(); $vermin=isset($objMod->need_dolibarr_version)?$objMod->need_dolibarr_version:0; //print 'eee'.versioncompare($verdol,$vermin).join(',',$verdol).' - '.join(',',$vermin);exit; if (is_array($vermin) && versioncompare($verdol,$vermin) < 0) { return $langs->trans("ErrorModuleRequireDolibarrVersion",versiontostring($vermin)); } // Test if javascript requirement ok if (! empty($objMod->need_javascript_ajax) && empty($conf->use_javascript_ajax)) { return $langs->trans("ErrorModuleRequireJavascript"); } $result=$objMod->init(); if ($result <= 0) $ret=$objMod->error; } if (! $ret && $withdeps) { if (is_array($objMod->depends) && !empty($objMod->depends)) { // Activation des modules dont le module depend for ($i = 0; $i < sizeof($objMod->depends); $i++) { if (file_exists(DOL_DOCUMENT_ROOT."/includes/modules/".$objMod->depends[$i].".class.php")) { Activate($objMod->depends[$i]); } } } if (isset($objMod->conflictwith) && is_array($objMod->conflictwith)) { // Desactivation des modules qui entrent en conflit for ($i = 0; $i < sizeof($objMod->conflictwith); $i++) { if (file_exists(DOL_DOCUMENT_ROOT."/includes/modules/".$objMod->conflictwith[$i].".class.php")) { UnActivate($objMod->conflictwith[$i],0); } } } } return $ret; }
if ($browsername == 'ie' && $browserversion < 7) { print '<img src="../theme/eldy/img/warning.png" alt="Error"> ' . $langs->trans("WarningBrowserTooOld") . "<br>\n"; } } // Check PHP version if (versioncompare(versionphparray(), array(5, 2, 3)) < 0) { print '<img src="../theme/eldy/img/error.png" alt="Error"> ' . $langs->trans("ErrorPHPVersionTooLow", '5.2.3'); $checksok = 0; // 0=error, 1=warning } else { if (versioncompare(versionphparray(), array(5, 3, 0)) < 0) { print '<img src="../theme/eldy/img/warning.png" alt="Error"> ' . $langs->trans("ErrorPHPVersionTooLow", '5.3.0'); $checksok = 0; // 0=error, 1=warning } else { print '<img src="../theme/eldy/img/tick.png" alt="Ok"> ' . $langs->trans("PHPVersion") . " " . versiontostring(versionphparray()); } } if (empty($force_install_nophpinfo)) { print ' (<a href="phpinfo.php" target="_blank">' . $langs->trans("MoreInformation") . '</a>)'; } print "<br>\n"; // Check PHP support for $_POST if (!isset($_GET["testget"]) && !isset($_POST["testpost"])) { print '<img src="../theme/eldy/img/warning.png" alt="Warning"> ' . $langs->trans("PHPSupportPOSTGETKo"); print ' (<a href="' . $_SERVER["PHP_SELF"] . '?testget=ok">' . $langs->trans("Recheck") . '</a>)'; print "<br>\n"; $checksok = 0; } else { print '<img src="../theme/eldy/img/tick.png" alt="Ok"> ' . $langs->trans("PHPSupportPOSTGETOk") . "<br>\n"; }
/** * Enable a module * * @param string $value Name of module to activate * @param int $withdeps Activate/Disable also all dependencies * @return string Error message or ''; */ function activateModule($value, $withdeps = 1) { global $db, $modules, $langs, $conf; // Check parameters if (empty($value)) { return 'ErrorBadParameter'; } $ret = ''; $modName = $value; $modFile = $modName . ".class.php"; // Loop on each directory to fill $modulesdir $modulesdir = dolGetModulesDirs(); // Loop on each modulesdir directories $found = false; foreach ($modulesdir as $dir) { if (file_exists($dir . $modFile)) { $found = @(include_once $dir . $modFile); if ($found) { break; } } } $objMod = new $modName($db); // Test if PHP version ok $verphp = versionphparray(); $vermin = isset($objMod->phpmin) ? $objMod->phpmin : 0; if (is_array($vermin) && versioncompare($verphp, $vermin) < 0) { return $langs->trans("ErrorModuleRequirePHPVersion", versiontostring($vermin)); } // Test if Dolibarr version ok $verdol = versiondolibarrarray(); $vermin = isset($objMod->need_dolibarr_version) ? $objMod->need_dolibarr_version : 0; //print 'eee '.versioncompare($verdol,$vermin).' - '.join(',',$verdol).' - '.join(',',$vermin);exit; if (is_array($vermin) && versioncompare($verdol, $vermin) < 0) { return $langs->trans("ErrorModuleRequireDolibarrVersion", versiontostring($vermin)); } // Test if javascript requirement ok if (!empty($objMod->need_javascript_ajax) && empty($conf->use_javascript_ajax)) { return $langs->trans("ErrorModuleRequireJavascript"); } $result = $objMod->init(); if ($result <= 0) { $ret = $objMod->error; } if (!$ret && $withdeps) { if (isset($objMod->depends) && is_array($objMod->depends) && !empty($objMod->depends)) { // Activation des modules dont le module depend $num = count($objMod->depends); for ($i = 0; $i < $num; $i++) { foreach ($modulesdir as $dir) { if (file_exists($dir . $objMod->depends[$i] . ".class.php")) { activateModule($objMod->depends[$i]); } } } } if (isset($objMod->conflictwith) && is_array($objMod->conflictwith) && !empty($objMod->conflictwith)) { // Desactivation des modules qui entrent en conflit $num = count($objMod->conflictwith); for ($i = 0; $i < $num; $i++) { foreach ($modulesdir as $dir) { if (file_exists($dir . $objMod->conflictwith[$i] . ".class.php")) { unActivateModule($objMod->conflictwith[$i], 0); } } } } } return $ret; }