Ejemplo n.º 1
0
	/**
	 *    \brief  Load an exportable dataset
	 *    \param  user      Object user making export
	 *    \param  filter    Load a particular dataset only
	 */
	function load_arrays($user,$filter='')
	{
		global $langs,$conf,$mysoc;

		dol_syslog("Export::load_arrays user="******" filter=".$filter);

        $var=true;
        $i=0;

		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)
		{
			// Search available exports
			$handle=@opendir($dir);
			if (is_resource($handle))
			{
                // Search module files
			    while (($file = readdir($handle))!==false)
				{
					if (is_readable($dir.$file) && preg_match("/^(mod.*)\.class\.php$/i",$file,$reg))
					{
						$modulename=$reg[1];

						// Defined if module is enabled
						$enabled=true;
						$part=strtolower(preg_replace('/^mod/i','',$modulename));
						if (empty($conf->$part->enabled)) $enabled=false;

						if ($enabled)
						{
							// Chargement de la classe
							$file = $dir.$modulename.".class.php";
							$classname = $modulename;
							require_once($file);
							$module = new $classname($this->db);

							if (is_array($module->export_code))
							{
							    foreach($module->export_code as $r => $value)
								{
                                    //print $i.'-'.$filter.'-'.$modulename.'-'.join(',',$module->export_code).'<br>';
								    if ($filter && ($filter != $module->export_code[$r])) continue;

                                    // Test if condition to show are ok
                                    if (! empty($module->export_enabled[$r]) && ! verifCond($module->export_enabled[$r])) continue;

                                    // Test if permissions are ok
									$bool=true;
									foreach($module->export_permission[$r] as $val)
									{
    									$perm=$val;
    									//print_r("$perm[0]-$perm[1]-$perm[2]<br>");
    									if ($perm[2])
    									{
    										$bool=$user->rights->$perm[0]->$perm[1]->$perm[2];
    									}
    									else
    									{
    										$bool=$user->rights->$perm[0]->$perm[1];
    									}
    									if ($perm[0]=='user' && $user->admin) $bool=true;
    									if (! $bool) break;
									}
									//print $bool." $perm[0]"."<br>";

									// Permissions ok
									//	          if ($bool)
									//	          {
									// Charge fichier lang en rapport
									$langtoload=$module->getLangFilesArray();
									if (is_array($langtoload))
									{
										foreach($langtoload as $key)
										{
											$langs->load($key);
										}
									}

									// Module
									$this->array_export_module[$i]=$module;
									// Permission
									$this->array_export_perms[$i]=$bool;
									// Icon
									$this->array_export_icon[$i]=(isset($module->export_icon[$r])?$module->export_icon[$r]:$module->picto);
									// Code du dataset export
									$this->array_export_code[$i]=$module->export_code[$r];
									// Libelle du dataset export
									$this->array_export_label[$i]=$module->getExportDatasetLabel($r);
									// Tableau des champ a exporter (cle=champ, valeur=libelle)
									$this->array_export_fields[$i]=$module->export_fields_array[$r];
									// Tableau des entites a exporter (cle=champ, valeur=entite)
									$this->array_export_entities[$i]=$module->export_entities_array[$r];
									// Tableau des operations speciales sur champ
									$this->array_export_special[$i]=$module->export_special_array[$r];

									// Requete sql du dataset
									$this->array_export_sql_start[$i]=$module->export_sql_start[$r];
									$this->array_export_sql_end[$i]=$module->export_sql_end[$r];
									//$this->array_export_sql[$i]=$module->export_sql[$r];

									dol_syslog("Export loaded for module ".$modulename." with index ".$i.", dataset=".$module->export_code[$r].", nb of fields=".sizeof($module->export_fields_code[$r]));
									$i++;
									//	          }
								}
							}
						}
					}
				}
                closedir($handle);
			}
		}
	}
Ejemplo n.º 2
0
    /**
     * Load entries found in database in a menu array
     * @param  $myleftmenu     Value for left that defined leftmenu
     * @param  $type_user      0=Internal,1=External,2=All
     * @param  $menu_handler   Name of menu_handler used (auguria, eldy...)
     * @param  $tabMenu        If array with menu entries already load, we put this array here (in most cases, it's empty)
     * @return int             >0 if OK, <0 if KO
     */
    function menuLoad($myleftmenu, $type_user, $menu_handler, &$tabMenu=array())
    {
        global $langs, $user, $conf; // To export to dol_eval function
        global $leftmenu, $rights; // To export to dol_eval function

        $menutopid=0;
        $leftmenu=$myleftmenu;  // To export to dol_eval function

        $sql = "SELECT m.rowid, m.type, m.fk_menu, m.url, m.titre, m.langs, m.perms, m.enabled, m.target, m.mainmenu, m.leftmenu";
        $sql.= " FROM ".MAIN_DB_PREFIX."menu as m";
        $sql.= " WHERE m.entity = ".$conf->entity;
        //$sql.= " WHERE m.entity = 1";
        $sql.= " AND m.menu_handler in('".$menu_handler."','all')";
        if ($type_user == 0) $sql.= " AND m.usertype in (0,2)";
        if ($type_user == 1) $sql.= " AND m.usertype in (1,2)";
        // If type_user == 2, no test required
        $sql.= " ORDER BY m.position, m.rowid";

        dol_syslog("Menubase::menuLeftCharger sql=".$sql);
        $resql = $this->db->query($sql);
        if ($resql)
        {
            $numa = $this->db->num_rows($resql);

            $a = 0;
            $b = 0;
            $oldrowid=0;
            while ($a < $numa)
            {
                //$objm = $this->db->fetch_object($resql);
                $menu = $this->db->fetch_array($resql);

                // Define $chaine
                $chaine="";
                $title = $langs->trans($menu['titre']);
                if ($title == $menu['titre'])   // Translation not found
                {
                    if (! empty($menu['langs']))    // If there is a dedicated translation file
                    {
                        $langs->load($menu['langs']);
                    }

                    if (preg_match("/\//",$menu['titre'])) // To manage translation when title is string1/string2
                    {
                        $tab_titre = explode("/",$menu['titre']);
                        $chaine = $langs->trans($tab_titre[0])."/".$langs->trans($tab_titre[1]);
                    }
                    else
                    {
                        $chaine = $langs->trans($menu['titre']);
                    }
                }
                else
                {
                    $chaine = $title;
                }

                // Define $right
                $perms = true;
                if ($menu['perms'])
                {
                    $perms = verifCond($menu['perms']);
                    //print "verifCond rowid=".$menu['rowid']." ".$menu['right'].":".$perms."<br>\n";
                }

                // Define $enabled
                $enabled = true;
                if ($menu['enabled'])
                {
                    $enabled = verifCond($menu['enabled']);
                    if ($conf->use_javascript_ajax && $conf->global->MAIN_MENU_USE_JQUERY_ACCORDION && preg_match('/^\$leftmenu/',$menu['enabled'])) $enabled=1;
                    //print "verifCond chaine=".$chaine." rowid=".$menu['rowid']." ".$menu['enabled'].":".$enabled."<br>\n";
                }

                // 0=rowid, 1=fk_menu, 2=url, 3=text, 4=perms, 5=target, 8=mainmenu
                $tabMenu[$b][0] = $menu['rowid'];
                $tabMenu[$b][1] = $menu['fk_menu'];
                $tabMenu[$b][2] = $menu['url'];
                if (! preg_match("/^(http:\/\/|https:\/\/)/i",$tabMenu[$b][2]))
                {
                    if (preg_match('/\?/',$tabMenu[$b][2])) $tabMenu[$b][2].='&amp;idmenu='.$menu['rowid'];
                    else $tabMenu[$b][2].='?idmenu='.$menu['rowid'];
                }
                $tabMenu[$b][3] = $chaine;
                $tabMenu[$b][5] = $menu['target'];
                $tabMenu[$b][6] = $menu['leftmenu'];
                if (! isset($tabMenu[$b][4])) $tabMenu[$b][4] = $perms;
                else $tabMenu[$b][4] = ($tabMenu[$b][4] && $perms);
                if (! isset($tabMenu[$b][7])) $tabMenu[$b][7] = $enabled;
                else $tabMenu[$b][7] = ($tabMenu[$b][7] && $enabled);
                $tabMenu[$b][8] = $menu['mainmenu'];
                $tabMenu[$b][9] = $menu['type'];
                $tabMenu[$b][10] = $menu['langs'];

                $b++;
                $a++;
            }
            $this->db->free($resql);
            return 1;
        }
        else
        {
            dol_print_error($this->db);
            return -1;
        }
    }
 /**
  *    Load an exportable dataset
  *
  *    @param  	User		$user      	Object user making export
  *    @param  	string		$filter    	Load a particular dataset only
  *    @return	int						<0 if KO, >0 if OK
  */
 function load_arrays($user, $filter = '')
 {
     global $langs, $conf, $mysoc;
     dol_syslog(get_class($this) . "::load_arrays user="******" filter=" . $filter);
     $var = true;
     $i = 0;
     // Define list of modules directories into modulesdir
     require_once DOL_DOCUMENT_ROOT . '/core/lib/functions2.lib.php';
     $modulesdir = dolGetModulesDirs();
     foreach ($modulesdir as $dir) {
         // Search available exports
         $handle = @opendir(dol_osencode($dir));
         if (is_resource($handle)) {
             // Search module files
             while (($file = readdir($handle)) !== false) {
                 if (is_readable($dir . $file) && preg_match("/^(mod.*)\\.class\\.php\$/i", $file, $reg)) {
                     $modulename = $reg[1];
                     // Defined if module is enabled
                     $enabled = true;
                     $part = strtolower(preg_replace('/^mod/i', '', $modulename));
                     if ($part == 'propale') {
                         $part = 'propal';
                     }
                     if (empty($conf->{$part}->enabled)) {
                         $enabled = false;
                     }
                     if ($enabled) {
                         // Chargement de la classe
                         $file = $dir . $modulename . ".class.php";
                         $classname = $modulename;
                         require_once $file;
                         $module = new $classname($this->db);
                         if (isset($module->export_code) && is_array($module->export_code)) {
                             foreach ($module->export_code as $r => $value) {
                                 //print $i.'-'.$filter.'-'.$modulename.'-'.join(',',$module->export_code).'<br>';
                                 if ($filter && $filter != $module->export_code[$r]) {
                                     continue;
                                 }
                                 // Test if condition to show are ok
                                 if (!empty($module->export_enabled[$r]) && !verifCond($module->export_enabled[$r])) {
                                     continue;
                                 }
                                 // Test if permissions are ok
                                 $bool = true;
                                 foreach ($module->export_permission[$r] as $val) {
                                     $perm = $val;
                                     //print_r("$perm[0]-$perm[1]-$perm[2]<br>");
                                     if (!empty($perm[2])) {
                                         $bool = $user->rights->{$perm}[0]->{$perm}[1]->{$perm}[2];
                                     } else {
                                         $bool = $user->rights->{$perm}[0]->{$perm}[1];
                                     }
                                     if ($perm[0] == 'user' && $user->admin) {
                                         $bool = true;
                                     }
                                     if (!$bool) {
                                         break;
                                     }
                                 }
                                 //print $bool." $perm[0]"."<br>";
                                 // Permissions ok
                                 //	          if ($bool)
                                 //	          {
                                 // Charge fichier lang en rapport
                                 $langtoload = $module->getLangFilesArray();
                                 if (is_array($langtoload)) {
                                     foreach ($langtoload as $key) {
                                         $langs->load($key);
                                     }
                                 }
                                 // Module
                                 $this->array_export_module[$i] = $module;
                                 // Permission
                                 $this->array_export_perms[$i] = $bool;
                                 // Icon
                                 $this->array_export_icon[$i] = isset($module->export_icon[$r]) ? $module->export_icon[$r] : $module->picto;
                                 // Code du dataset export
                                 $this->array_export_code[$i] = $module->export_code[$r];
                                 // Libelle du dataset export
                                 $this->array_export_label[$i] = $module->getExportDatasetLabel($r);
                                 // Tableau des champ a exporter (cle=champ, valeur=libelle)
                                 $this->array_export_fields[$i] = $module->export_fields_array[$r];
                                 // Tableau des champs a filtrer (cle=champ, valeur1=type de donnees) on verifie que le module a des filtres
                                 $this->array_export_TypeFields[$i] = isset($module->export_TypeFields_array[$r]) ? $module->export_TypeFields_array[$r] : '';
                                 // Tableau des entites a exporter (cle=champ, valeur=entite)
                                 $this->array_export_entities[$i] = $module->export_entities_array[$r];
                                 // Tableau des entites qui requiert abandon du DISTINCT (cle=entite, valeur=champ id child records)
                                 $this->array_export_dependencies[$i] = !empty($module->export_dependencies_array[$r]) ? $module->export_dependencies_array[$r] : '';
                                 // Tableau des operations speciales sur champ
                                 $this->array_export_special[$i] = !empty($module->export_special_array[$r]) ? $module->export_special_array[$r] : '';
                                 // Requete sql du dataset
                                 $this->array_export_sql_start[$i] = $module->export_sql_start[$r];
                                 $this->array_export_sql_end[$i] = $module->export_sql_end[$r];
                                 $this->array_export_sql_order[$i] = $module->export_sql_order[$r];
                                 //$this->array_export_sql[$i]=$module->export_sql[$r];
                                 dol_syslog(get_class($this) . "::load_arrays loaded for module " . $modulename . " with index " . $i . ", dataset=" . $module->export_code[$r] . ", nb of fields=" . (!empty($module->export_fields_code[$r]) ? count($module->export_fields_code[$r]) : ''));
                                 $i++;
                                 //	          }
                             }
                         }
                     }
                 }
             }
             closedir($handle);
         }
     }
     return 1;
 }
Ejemplo n.º 4
0
 /**
  * Core function to verify perms of menu
  *
  * @param	object		$newTabMenu         One Menu Entry
  * @return	$newTabMenu with good permissions
  */
 function verifyMenu($newTabMenu)
 {
     global $langs, $user;
     // Define $right
     $perms = true;
     if ($newTabMenu->perms) {
         $perms = verifCond($newTabMenu->perms);
         //print "verifCond rowid=".$menu['rowid']." ".$menu['perms'].":".$perms."<br>\n";
     }
     // Define $enabled
     $enabled = true;
     if ($newTabMenu->enabled) {
         $enabled = verifCond($newTabMenu->enabled);
         if (preg_match('/^\\$leftmenu/', $newTabMenu->enabled)) {
             $enabled = 1;
         }
         //print "verifCond rowid=".$menu['rowid']." ".$menu['enabled'].":".$enabled."<br>\n";
     }
     // Define $title
     if ($enabled) {
         $title = $langs->trans($newTabMenu->title);
         if ($title == $newTabMenu->title) {
             // Translation not found
             if (!empty($newTabMenu->langs)) {
                 // If there is a dedicated translation file
                 $langs->load($newTabMenu->langs);
             }
             if (preg_match("/\\//", $newTabMenu->title)) {
                 // To manage translation when title is string1/string2
                 $tab_titre = explode("/", $newTabMenu->title);
                 $title = $langs->trans($tab_titre[0]) . "/" . $langs->trans($tab_titre[1]);
             } else {
                 if (preg_match('/\\|\\|/', $newTabMenu->title)) {
                     // To manage different translation
                     $tab_title = explode("||", $newTabMenu->title);
                     $alt_title = explode("@", $tab_title[1]);
                     $title_enabled = verifCond($alt_title[1]);
                     $title = $title_enabled ? $langs->trans($alt_title[0]) : $langs->trans($tab_title[0]);
                 } else {
                     $title = $langs->trans($newTabMenu->title);
                 }
             }
         }
     }
     $newTabMenu->enabled = $enabled;
     $newTabMenu->title = $title;
     $newTabMenu->perms = $perms;
     return $newTabMenu;
 }
	/**
	 * 	Fetch field list
	 *
	 *  @return	void
	 */
	private function getFieldList()
	{
		global $conf, $langs;

        $this->field_list = array();

		$sql = "SELECT rowid, name, alias, title, align, sort, search, enabled, rang";
		$sql.= " FROM ".MAIN_DB_PREFIX."c_field_list";
		$sql.= " WHERE element = '".$this->fieldListName."'";
		$sql.= " AND entity = ".$conf->entity;
		$sql.= " ORDER BY rang ASC";

		$resql = $this->db->query($sql);
		if ($resql)
		{
			$num = $this->db->num_rows($resql);

			$i = 0;
			while ($i < $num)
			{
				$fieldlist = array();

				$obj = $this->db->fetch_object($resql);

				$fieldlist["id"]		= $obj->rowid;
				$fieldlist["name"]		= $obj->name;
				$fieldlist["alias"]		= $obj->alias;
				$fieldlist["title"]		= $langs->trans($obj->title);
				$fieldlist["align"]		= $obj->align;
				$fieldlist["sort"]		= $obj->sort;
				$fieldlist["search"]	= $obj->search;
				$fieldlist["enabled"]	= verifCond($obj->enabled);
				$fieldlist["order"]		= $obj->rang;

				array_push($this->field_list,$fieldlist);

				$i++;
			}
			$this->db->free($resql);
		}
		else
		{
			dol_print_error($this->db,$sql);
		}
	}
Ejemplo n.º 6
0
print '<tr class="liste_titre">' . "\n";
print '  <td>' . $langs->trans("Description") . '</td>';
print '  <td align="center">' . $langs->trans("Status") . '</td>';
print "</tr>\n";
clearstatcache();
$workflowcodes = array('WORKFLOW_PROPAL_AUTOCREATE_ORDER' => array('enabled' => '! empty($conf->propal->enabled) && ! empty($conf->commande->enabled)', 'picto' => 'order'), 'WORKFLOW_ORDER_CLASSIFY_BILLED_PROPAL' => array('enabled' => '! empty($conf->propal->enabled) && ! empty($conf->commande->enabled)', 'picto' => 'order', 'warning' => 'WarningCloseAlways'), 'WORKFLOW_ORDER_AUTOCREATE_INVOICE' => array('enabled' => '! empty($conf->commande->enabled) && ! empty($conf->facture->enabled)', 'picto' => 'bill'), 'WORKFLOW_INVOICE_CLASSIFY_BILLED_ORDER' => array('enabled' => '! empty($conf->facture->enabled) && ! empty($conf->commande->enabled)', 'picto' => 'bill', 'warning' => 'WarningCloseAlways'), 'WORKFLOW_INVOICE_AMOUNT_CLASSIFY_BILLED_ORDER' => array('enabled' => '! empty($conf->facture->enabled) && ! empty($conf->commande->enabled)', 'picto' => 'bill', 'warning' => 'WarningCloseAlways'));
if (!empty($conf->modules_parts['workflow']) && is_array($conf->modules_parts['workflow'])) {
    foreach ($conf->modules_parts['workflow'] as $workflow) {
        $workflowcodes = array_merge($workflowcodes, $workflow);
    }
}
$nbqualified = 0;
foreach ($workflowcodes as $key => $params) {
    $picto = $params['picto'];
    $enabled = $params['enabled'];
    if (!verifCond($enabled)) {
        continue;
    }
    $nbqualified++;
    $var = !$var;
    print "<tr " . $bc[$var] . ">\n";
    print "<td>" . img_object('', $picto) . $langs->trans('desc' . $key);
    if (!empty($params['warning'])) {
        $langs->load("errors");
        print ' ' . img_warning($langs->transnoentitiesnoconv($params['warning']));
    }
    print "</td>\n";
    print '<td align="center">';
    if (!empty($conf->use_javascript_ajax)) {
        print ajax_constantonoff($key);
    } else {
Ejemplo n.º 7
0
 /**
  *  Load entries found in database into variable $tabMenu. Note that only "database menu entries" are loaded here, hardcoded will not be present into output.
  *
  *  @param	string	$mymainmenu     Value for mainmenu that defined mainmenu
  *  @param	string	$myleftmenu     Value for left that defined leftmenu
  *  @param  int		$type_user      Looks for menu entry for 0=Internal users, 1=External users
  *  @param  string	$menu_handler   Name of menu_handler used ('auguria', 'eldy'...)
  *  @param  array	$tabMenu       Array to store new entries found (in most cases, it's empty, but may be alreay filled)
  *  @return int     		        >0 if OK, <0 if KO
  */
 function menuLoad($mymainmenu, $myleftmenu, $type_user, $menu_handler, &$tabMenu)
 {
     global $langs, $user, $conf;
     // To export to dol_eval function
     global $mainmenu, $leftmenu;
     // To export to dol_eval function
     $menutopid = 0;
     $mainmenu = $mymainmenu;
     // To export to dol_eval function
     $leftmenu = $myleftmenu;
     // To export to dol_eval function
     $sql = "SELECT m.rowid, m.type, m.module, m.fk_menu, m.fk_mainmenu, m.fk_leftmenu, m.url, m.titre, m.langs, m.perms, m.enabled, m.target, m.mainmenu, m.leftmenu, m.position";
     $sql .= " FROM " . MAIN_DB_PREFIX . "menu as m";
     $sql .= " WHERE m.entity IN (0," . (!empty($conf->multicompany->enabled) && !empty($conf->multicompany->transverse_mode) ? "1," : "") . $conf->entity . ")";
     $sql .= " AND m.menu_handler IN ('" . $menu_handler . "','all')";
     if ($type_user == 0) {
         $sql .= " AND m.usertype IN (0,2)";
     }
     if ($type_user == 1) {
         $sql .= " AND m.usertype IN (1,2)";
     }
     $sql .= " ORDER BY m.position, m.rowid";
     //print $sql;
     //$tmp1=dol_microtime_float();
     //print '>>> 1 0<br>';
     dol_syslog(get_class($this) . "::menuLoad mymainmenu=" . $mymainmenu . " myleftmenu=" . $myleftmenu . " type_user="******" menu_handler=" . $menu_handler . " tabMenu size=" . count($tabMenu) . "", LOG_DEBUG);
     $resql = $this->db->query($sql);
     if ($resql) {
         $numa = $this->db->num_rows($resql);
         $a = 0;
         $b = 0;
         $oldrowid = 0;
         while ($a < $numa) {
             //$objm = $this->db->fetch_object($resql);
             $menu = $this->db->fetch_array($resql);
             // Define $right
             $perms = true;
             if ($menu['perms']) {
                 $tmpcond = $menu['perms'];
                 if ($leftmenu == 'all') {
                     $tmpcond = preg_replace('/\\$leftmenu\\s*==\\s*["\'a-zA-Z_]+/', '1==1', $tmpcond);
                 }
                 // Force part of condition to true
                 $perms = verifCond($tmpcond);
                 //print "verifCond rowid=".$menu['rowid']." ".$tmpcond.":".$perms."<br>\n";
             }
             // Define $enabled
             $enabled = true;
             if ($menu['enabled']) {
                 $tmpcond = $menu['enabled'];
                 if ($leftmenu == 'all') {
                     $tmpcond = preg_replace('/\\$leftmenu\\s*==\\s*["\'a-zA-Z_]+/', '1==1', $tmpcond);
                 }
                 // Force part of condition to true
                 $enabled = verifCond($tmpcond);
             }
             // Define $title
             if ($enabled) {
                 $title = $langs->trans($menu['titre']);
                 if ($title == $menu['titre']) {
                     if (!empty($menu['langs'])) {
                         //print 'Load file '.$menu['langs'].'<br>';
                         $langs->load($menu['langs']);
                     }
                     if (preg_match("/\\//", $menu['titre'])) {
                         $tab_titre = explode("/", $menu['titre']);
                         $title = $langs->trans($tab_titre[0]) . "/" . $langs->trans($tab_titre[1]);
                     } else {
                         if (preg_match('/\\|\\|/', $menu['titre'])) {
                             $tab_title = explode("||", $menu['titre']);
                             $alt_title = explode("@", $tab_title[1]);
                             $title_enabled = verifCond($alt_title[1]);
                             $title = $title_enabled ? $langs->trans($alt_title[0]) : $langs->trans($tab_title[0]);
                         } else {
                             $title = $langs->trans($menu['titre']);
                         }
                     }
                 }
                 //$tmp4=dol_microtime_float();
                 //print '>>> 3 '.($tmp4 - $tmp3).'<br>';
                 // We complete tabMenu
                 $tabMenu[$b]['rowid'] = $menu['rowid'];
                 $tabMenu[$b]['module'] = $menu['module'];
                 $tabMenu[$b]['fk_menu'] = $menu['fk_menu'];
                 $tabMenu[$b]['url'] = $menu['url'];
                 if (!preg_match("/^(http:\\/\\/|https:\\/\\/)/i", $tabMenu[$b]['url'])) {
                     if (preg_match('/\\?/', $tabMenu[$b]['url'])) {
                         $tabMenu[$b]['url'] .= '&amp;idmenu=' . $menu['rowid'];
                     } else {
                         $tabMenu[$b]['url'] .= '?idmenu=' . $menu['rowid'];
                     }
                 }
                 $tabMenu[$b]['titre'] = $title;
                 $tabMenu[$b]['target'] = $menu['target'];
                 $tabMenu[$b]['mainmenu'] = $menu['mainmenu'];
                 $tabMenu[$b]['leftmenu'] = $menu['leftmenu'];
                 $tabMenu[$b]['perms'] = $perms;
                 $tabMenu[$b]['enabled'] = $enabled;
                 $tabMenu[$b]['type'] = $menu['type'];
                 //$tabMenu[$b]['langs']       = $menu['langs'];
                 $tabMenu[$b]['fk_mainmenu'] = $menu['fk_mainmenu'];
                 $tabMenu[$b]['fk_leftmenu'] = $menu['fk_leftmenu'];
                 $tabMenu[$b]['position'] = $menu['position'];
                 $b++;
             }
             $a++;
         }
         $this->db->free($resql);
         return 1;
     } else {
         dol_print_error($this->db);
         return -1;
     }
 }
Ejemplo n.º 8
0
// Webservices list
$webservices = array('user' => '', 'thirdparty' => '!empty($conf->societe->enabled)', 'contact' => '!empty($conf->societe->enabled)', 'productorservice' => '(!empty($conf->product->enabled) || !empty($conf->service->enabled))', 'order' => '!empty($conf->commande->enabled)', 'invoice' => '!empty($conf->facture->enabled)', 'supplier_invoice' => '!empty($conf->fournisseur->enabled)', 'actioncomm' => '!empty($conf->agenda->enabled)', 'category' => '!empty($conf->categorie->enabled)', 'other' => '');
// WSDL
print '<u>' . $langs->trans("WSDLCanBeDownloadedHere") . ':</u><br>';
foreach ($webservices as $name => $right) {
    if (!empty($right) && !verifCond($right)) {
        continue;
    }
    $url = DOL_MAIN_URL_ROOT . '/webservices/server_' . $name . '.php?wsdl';
    print img_picto('', 'object_globe.png') . ' <a href="' . $url . '" target="_blank">' . $url . "</a><br>\n";
}
print '<br>';
// Endpoint
print '<u>' . $langs->trans("EndPointIs") . ':</u><br>';
foreach ($webservices as $name => $right) {
    if (!empty($right) && !verifCond($right)) {
        continue;
    }
    $url = DOL_MAIN_URL_ROOT . '/webservices/server_' . $name . '.php';
    print img_picto('', 'object_globe.png') . ' <a href="' . $url . '" target="_blank">' . $url . "</a><br>\n";
}
print '<br>';
print '<br>';
print $langs->trans("OnlyActiveElementsAreShown", DOL_URL_ROOT . '/admin/modules.php');
if (!empty($conf->use_javascript_ajax)) {
    print "\n" . '<script type="text/javascript">';
    print '$(document).ready(function () {
            $("#generate_token").click(function() {
            	$.get( "' . DOL_URL_ROOT . '/core/ajax/security.php", {
            		action: \'getrandompassword\',
            		generic: true
Ejemplo n.º 9
0
/**
 *  Complete or removed entries into a head array (used to build tabs) with value added by external modules
 *  @param      conf            Object conf
 *  @param      langs           Object langs
 *  @param      object          Object object
 *  @param      head            Object head
 *  @param      h               New position to fill
 *  @param      type            Value for object where objectvalue can be
 *                              'thirdparty'       to add a tab in third party view
 *                              'intervention'     to add a tab in intervention view
 *                              'supplier_order'   to add a tab in supplier order view
 *                              'supplier_invoice' to add a tab in supplier invoice view
 *                              'invoice'          to add a tab in customer invoice view
 *                              'order'            to add a tab in customer order view
 *                              'product'          to add a tab in product view
 *                              'propal'           to add a tab in propal view
 *                              'member'           to add a tab in fundation member view
 *                              'categories_x'	   to add a tab in category view ('x': type of category (0=product, 1=supplier, 2=customer, 3=member)
 *  @param      mode            'add' to complete head, 'remove' to remove entries
 */
function complete_head_from_modules($conf, $langs, $object, &$head, &$h, $type, $mode = 'add')
{
    if (is_array($conf->tabs_modules[$type])) {
        $i = 0;
        foreach ($conf->tabs_modules[$type] as $value) {
            $values = explode(':', $value);
            if ($mode == 'add' && !preg_match('/^\\-/', $values[1])) {
                if (sizeof($values) == 6) {
                    if ($values[0] != $type) {
                        continue;
                    }
                    if (verifCond($values[4])) {
                        if ($values[3]) {
                            $langs->load($values[3]);
                        }
                        $head[$h][0] = dol_buildpath(preg_replace('/__ID__/i', $object->id, $values[5]), 1);
                        $head[$h][1] = $langs->trans($values[2]);
                        $head[$h][2] = str_replace('+', '', $values[1]);
                        $h++;
                    }
                } else {
                    if (sizeof($values) == 5) {
                        if ($values[0] != $type) {
                            continue;
                        }
                        if ($values[3]) {
                            $langs->load($values[3]);
                        }
                        $head[$h][0] = dol_buildpath(preg_replace('/__ID__/i', $object->id, $values[4]), 1);
                        $head[$h][1] = $langs->trans($values[2]);
                        $head[$h][2] = str_replace('+', '', $values[1]);
                        $h++;
                    } else {
                        if (sizeof($values) == 4) {
                            if ($values[0] != $type) {
                                continue;
                            }
                            if ($values[2]) {
                                $langs->load($values[2]);
                            }
                            $head[$h][0] = dol_buildpath(preg_replace('/__ID__/i', $object->id, $values[3]), 1);
                            $head[$h][1] = $langs->trans($values[1]);
                            $head[$h][2] = 'tab' . $values[1];
                            $h++;
                        }
                    }
                }
            } else {
                if ($mode == 'remove' && preg_match('/^\\-/', $values[1])) {
                    if ($values[0] != $type) {
                        continue;
                    }
                    $tabname = str_replace('-', '', $values[1]);
                    foreach ($head as $key => $val) {
                        if ($head[$key][2] == $tabname) {
                            //print 'on vire '.$tabname.' key='.$key;
                            unset($head[$key]);
                            break;
                        }
                    }
                }
            }
        }
    }
}
Ejemplo n.º 10
0
/**
 *  Complete or removed entries into a head array (used to build tabs) with value added by external modules
 *  @param      conf            Object conf
 *  @param      langs           Object langs
 *  @param      object          Object object
 *  @param      head            Object head
 *  @param      h               New position to fill
 *  @param      type            Value for object where objectvalue can be
 *                              'thirdparty'       to add a tab in third party view
 *                              'intervention'     to add a tab in intervention view
 *                              'supplier_order'   to add a tab in supplier order view
 *                              'supplier_invoice' to add a tab in supplier invoice view
 *                              'invoice'          to add a tab in customer invoice view
 *                              'order'            to add a tab in customer order view
 *                              'product'          to add a tab in product view
 *                              'propal'           to add a tab in propal view
 *                              'member'           to add a tab in fundation member view
 *                              'categories_x'	   to add a tab in category view ('x': type of category (0=product, 1=supplier, 2=customer, 3=member)
 *  @param      mode            'add' to complete head, 'remove' to remove entries
 */
function complete_head_from_modules($conf,$langs,$object,&$head,&$h,$type,$mode='add')
{
    if (is_array($conf->tabs_modules[$type]))
    {
        $i=0;
        foreach ($conf->tabs_modules[$type] as $value)
        {
            $values=explode(':',$value);
            if ($mode == 'add')
            {
                if (sizeof($values) == 6)       // new declaration with permissions
                {
                    if ($values[0] != $type) continue;
                    if (verifCond($values[4]))
                    {
                        if ($values[3]) $langs->load($values[3]);
                        $head[$h][0] = dol_buildpath(preg_replace('/__ID__/i',$object->id,$values[5]),1);
                        $head[$h][1] = $langs->trans($values[2]);
                        $head[$h][2] = str_replace('+','',$values[1]);
                        $h++;
                    }
                }
                else if (sizeof($values) == 5)       // new declaration
                {
                    if ($values[0] != $type) continue;
                    if ($values[3]) $langs->load($values[3]);
                    $head[$h][0] = dol_buildpath(preg_replace('/__ID__/i',$object->id,$values[4]),1);
                    $head[$h][1] = $langs->trans($values[2]);
                    $head[$h][2] = str_replace('+','',$values[1]);
                    $h++;
                }
                else if (sizeof($values) == 4)   // old declaration, for backward compatibility
                {
                    if ($values[0] != $type) continue;
                    if ($values[2]) $langs->load($values[2]);
                    $head[$h][0] = dol_buildpath(preg_replace('/__ID__/i',$object->id,$values[3]),1);
                    $head[$h][1] = $langs->trans($values[1]);
                    $head[$h][2] = 'tab'.$values[1];
                    $h++;
                }
            }
            else if ($mode == 'remove')
            {
                if ($values[0] != $type) continue;
                $tabname=str_replace('-','',$values[1]);
                foreach($head as $key => $val)
                {
                    if ($head[$key][2]==$tabname)
                    {
                        //print 'on vire '.$tabname.' key='.$key;
                        unset($head[$key]);
                        break;
                    }
                }
            }
        }
    }
}
Ejemplo n.º 11
0
 /**
  *  Load entries found in database into variable $tabMenu. Note that only "database menu entries" are loaded here, hardcoded will not be present into output.
  *
  *  @param	string	$mymainmenu     Value for left that defined mainmenu
  *  @param	string	$myleftmenu     Value for left that defined leftmenu
  *  @param  int		$type_user      0=Internal,1=External,2=All
  *  @param  string	$menu_handler   Name of menu_handler used ('auguria', 'eldy'...)
  *  @param  array	&$tabMenu       Array to store new entries found (in most cases, it's empty, but may be alreay filled)
  *  @return int     		        >0 if OK, <0 if KO
  */
 private function menuLoad($mymainmenu, $myleftmenu, $type_user, $menu_handler, &$tabMenu)
 {
     global $langs, $user, $conf;
     // To export to dol_eval function
     global $mainmenu, $leftmenu;
     // To export to dol_eval function
     $menutopid = 0;
     $mainmenu = $mymainmenu;
     // To export to dol_eval function
     $leftmenu = $myleftmenu;
     // To export to dol_eval function
     $sql = "SELECT m.rowid, m.type, m.fk_menu, m.fk_mainmenu, m.fk_leftmenu, m.url, m.titre, m.langs, m.perms, m.enabled, m.target, m.mainmenu, m.leftmenu";
     $sql .= " FROM " . MAIN_DB_PREFIX . "menu as m";
     $sql .= " WHERE m.entity = " . $conf->entity;
     $sql .= " AND m.menu_handler IN ('" . $menu_handler . "','all')";
     if ($type_user == 0) {
         $sql .= " AND m.usertype IN (0,2)";
     }
     if ($type_user == 1) {
         $sql .= " AND m.usertype IN (1,2)";
     }
     // If type_user == 2, no test required
     $sql .= " ORDER BY m.position, m.rowid";
     dol_syslog(get_class($this) . "::menuLeftCharger sql=" . $sql);
     $resql = $this->db->query($sql);
     if ($resql) {
         $numa = $this->db->num_rows($resql);
         $a = 0;
         $b = 0;
         $oldrowid = 0;
         while ($a < $numa) {
             //$objm = $this->db->fetch_object($resql);
             $menu = $this->db->fetch_array($resql);
             // Define $right
             $perms = true;
             if ($menu['perms']) {
                 $perms = verifCond($menu['perms']);
                 //print "verifCond rowid=".$menu['rowid']." ".$menu['perms'].":".$perms."<br>\n";
             }
             // Define $enabled
             $enabled = true;
             if ($menu['enabled']) {
                 $enabled = verifCond($menu['enabled']);
                 if ($conf->use_javascript_ajax && !empty($conf->global->MAIN_MENU_USE_JQUERY_ACCORDION) && preg_match('/^\\$leftmenu/', $menu['enabled'])) {
                     $enabled = 1;
                 }
                 //print "verifCond rowid=".$menu['rowid']." ".$menu['enabled'].":".$enabled."<br>\n";
             }
             // Define $title
             if ($enabled) {
                 $title = $langs->trans($menu['titre']);
                 if ($title == $menu['titre']) {
                     if (!empty($menu['langs'])) {
                         $langs->load($menu['langs']);
                     }
                     if (preg_match("/\\//", $menu['titre'])) {
                         $tab_titre = explode("/", $menu['titre']);
                         $title = $langs->trans($tab_titre[0]) . "/" . $langs->trans($tab_titre[1]);
                     } else {
                         if (preg_match('/\\|\\|/', $menu['titre'])) {
                             $tab_title = explode("||", $menu['titre']);
                             $alt_title = explode("@", $tab_title[1]);
                             $title_enabled = verifCond($alt_title[1]);
                             $title = $title_enabled ? $langs->trans($alt_title[0]) : $langs->trans($tab_title[0]);
                         } else {
                             $title = $langs->trans($menu['titre']);
                         }
                     }
                 }
                 // We complete tabMenu
                 $tabMenu[$b]['rowid'] = $menu['rowid'];
                 $tabMenu[$b]['fk_menu'] = $menu['fk_menu'];
                 $tabMenu[$b]['url'] = $menu['url'];
                 if (!preg_match("/^(http:\\/\\/|https:\\/\\/)/i", $tabMenu[$b]['url'])) {
                     if (preg_match('/\\?/', $tabMenu[$b]['url'])) {
                         $tabMenu[$b]['url'] .= '&amp;idmenu=' . $menu['rowid'];
                     } else {
                         $tabMenu[$b]['url'] .= '?idmenu=' . $menu['rowid'];
                     }
                 }
                 $tabMenu[$b]['titre'] = $title;
                 $tabMenu[$b]['target'] = $menu['target'];
                 $tabMenu[$b]['mainmenu'] = $menu['mainmenu'];
                 $tabMenu[$b]['leftmenu'] = $menu['leftmenu'];
                 $tabMenu[$b]['perms'] = $perms;
                 $tabMenu[$b]['enabled'] = $enabled;
                 $tabMenu[$b]['type'] = $menu['type'];
                 //$tabMenu[$b]['langs']       = $menu['langs'];
                 $tabMenu[$b]['fk_mainmenu'] = $menu['fk_mainmenu'];
                 $tabMenu[$b]['fk_leftmenu'] = $menu['fk_leftmenu'];
                 //$tabMenu[$b]['position']    = $menu['position'];
                 $b++;
             }
             $a++;
         }
         $this->db->free($resql);
         return 1;
     } else {
         dol_print_error($this->db);
         return -1;
     }
 }
Ejemplo n.º 12
0
print '<td>&nbsp;</td>';
print '<td>&nbsp;</td>';
print '<td>&nbsp;</td>';
print '<td>&nbsp;</td>';
print '<td class="liste_titre" align="center">';
print $form->selectarray('status', array('0' => $langs->trans("Disabled"), '1' => $langs->trans("Enabled"), '-2' => $langs->trans("EnabledAndDisabled"), '2' => $langs->trans("Archived")), $status, 1);
print '</td><td class="liste_titre" align="right">';
print '<input class="liste_titre" type="image" src="' . img_picto($langs->trans("Search"), 'search.png', '', '', 1) . '" value="' . dol_escape_htmltag($langs->trans("Search")) . '" title="' . dol_escape_htmltag($langs->trans("Search")) . '">';
print '<input type="image" class="liste_titre" name="button_removefilter" src="' . img_picto($langs->trans("Search"), 'searchclear.png', '', '', 1) . '" value="' . dol_escape_htmltag($langs->trans("RemoveFilter")) . '" title="' . dol_escape_htmltag($langs->trans("RemoveFilter")) . '">';
print '</td>';
print '</tr>';
if ($num > 0) {
    // Loop on each job
    $style = 'pair';
    foreach ($object->lines as $line) {
        if (!verifCond($line->test)) {
            continue;
        }
        // Discard line with test = false
        // title profil
        if ($style == 'pair') {
            $style = 'impair';
        } else {
            $style = 'pair';
        }
        print '<tr class="' . $style . '">';
        print '<td class="nowrap">';
        print '<a href="' . DOL_URL_ROOT . '/cron/card.php?id=' . $line->id . '">';
        print img_picto('', 'object_cron') . ' ';
        print $line->id;
        print '</a>';
Ejemplo n.º 13
0
    /**
     * testVerifCond
     *
     * @return	void
     */
    public function testVerifCond()
    {
        $verifcond=verifCond('1==1');
        $this->assertTrue($verifcond);

        $verifcond=verifCond('1==2');
        $this->assertFalse($verifcond);

        $verifcond=verifCond('$conf->facture->enabled');
        $this->assertTrue($verifcond);

        $verifcond=verifCond('$conf->moduledummy->enabled');
        $this->assertFalse($verifcond);

        $verifcond=verifCond('');
        $this->assertTrue($verifcond);
    }
Ejemplo n.º 14
0
/**
 *  Complete or removed entries into a head array (used to build tabs) with value added by external modules.
 *  Such values are declared into $conf->modules_parts['tab'].
 *
 *  @param	Conf			$conf           Object conf
 *  @param  Translate		$langs          Object langs
 *  @param  object|null		$object         Object object
 *  @param  array			$head          	Object head
 *  @param  int				$h				New position to fill
 *  @param  string			$type           Value for object where objectvalue can be
 *                              			'thirdparty'       to add a tab in third party view
 *		                        	      	'intervention'     to add a tab in intervention view
 *     		                    	     	'supplier_order'   to add a tab in supplier order view
 *          		            	        'supplier_invoice' to add a tab in supplier invoice view
 *                  		    	        'invoice'          to add a tab in customer invoice view
 *                          			    'order'            to add a tab in customer order view
 *                      			        'product'          to add a tab in product view
 *                              			'propal'           to add a tab in propal view
 *                              			'user'             to add a tab in user view
 *                              			'group'            to add a tab in group view
 * 		        	               	     	'member'           to add a tab in fundation member view
 *      		                        	'categories_x'	   to add a tab in category view ('x': type of category (0=product, 1=supplier, 2=customer, 3=member)
 *      									'ecm'			   to add a tab for another ecm view
 *  @param  string		$mode  	        	'add' to complete head, 'remove' to remove entries
 *	@return	void
 */
function complete_head_from_modules($conf, $langs, $object, &$head, &$h, $type, $mode = 'add')
{
    if (isset($conf->modules_parts['tabs'][$type]) && is_array($conf->modules_parts['tabs'][$type])) {
        foreach ($conf->modules_parts['tabs'][$type] as $value) {
            $values = explode(':', $value);
            if ($mode == 'add' && !preg_match('/^\\-/', $values[1])) {
                if (count($values) == 6) {
                    if ($values[0] != $type) {
                        continue;
                    }
                    if (verifCond($values[4])) {
                        if ($values[3]) {
                            $langs->load($values[3]);
                        }
                        if (preg_match('/SUBSTITUTION_([^_]+)/i', $values[2], $reg)) {
                            $substitutionarray = array();
                            complete_substitutions_array($substitutionarray, $langs, $object);
                            $label = make_substitutions($reg[1], $substitutionarray);
                        } else {
                            $label = $langs->trans($values[2]);
                        }
                        $head[$h][0] = dol_buildpath(preg_replace('/__ID__/i', is_object($object) && !empty($object->id) ? $object->id : '', $values[5]), 1);
                        $head[$h][1] = $label;
                        $head[$h][2] = str_replace('+', '', $values[1]);
                        $h++;
                    }
                } else {
                    if (count($values) == 5) {
                        if ($values[0] != $type) {
                            continue;
                        }
                        if ($values[3]) {
                            $langs->load($values[3]);
                        }
                        if (preg_match('/SUBSTITUTION_([^_]+)/i', $values[2], $reg)) {
                            $substitutionarray = array();
                            complete_substitutions_array($substitutionarray, $langs, $object);
                            $label = make_substitutions($reg[1], $substitutionarray);
                        } else {
                            $label = $langs->trans($values[2]);
                        }
                        $head[$h][0] = dol_buildpath(preg_replace('/__ID__/i', is_object($object) && !empty($object->id) ? $object->id : '', $values[4]), 1);
                        $head[$h][1] = $label;
                        $head[$h][2] = str_replace('+', '', $values[1]);
                        $h++;
                    }
                }
            } else {
                if ($mode == 'remove' && preg_match('/^\\-/', $values[1])) {
                    if ($values[0] != $type) {
                        continue;
                    }
                    $tabname = str_replace('-', '', $values[1]);
                    foreach ($head as $key => $val) {
                        $condition = !empty($values[3]) ? verifCond($values[3]) : 1;
                        if ($head[$key][2] == $tabname && $condition) {
                            unset($head[$key]);
                            break;
                        }
                    }
                }
            }
        }
    }
}
Ejemplo n.º 15
0
/**
 *  Complete or removed entries into a head array (used to build tabs) with value added by external modules.
 *  Such values are declared into $conf->tabs_modules.
 *
 *  @param	Conf		$conf           Object conf
 *  @param  Translate	$langs          Object langs
 *  @param  Object		$object         Object object
 *  @param  array		&$head          Object head
 *  @param  int			&$h             New position to fill
 *  @param  string		$type           Value for object where objectvalue can be
 *                              		'thirdparty'       to add a tab in third party view
 * 		                              	'intervention'     to add a tab in intervention view
 *     		                         	'supplier_order'   to add a tab in supplier order view
 *          		                    'supplier_invoice' to add a tab in supplier invoice view
 *                  		            'invoice'          to add a tab in customer invoice view
 *                          		    'order'            to add a tab in customer order view
 *                      		        'product'          to add a tab in product view
 *                              		'propal'           to add a tab in propal view
 *                              		'user'             to add a tab in user view
 *                              		'group'            to add a tab in group view
 * 		        	                    'member'           to add a tab in fundation member view
 *      		                        'categories_x'	   to add a tab in category view ('x': type of category (0=product, 1=supplier, 2=customer, 3=member)
 *  @param  string		$mode  	        'add' to complete head, 'remove' to remove entries
 * 	@return	void
 */
function complete_head_from_modules($conf, $langs, $object, &$head, &$h, $type, $mode = 'add')
{
    if (is_array($conf->tabs_modules[$type])) {
        foreach ($conf->tabs_modules[$type] as $value) {
            $values = explode(':', $value);
            if ($mode == 'add' && !preg_match('/^\\-/', $values[1])) {
                if (count($values) == 6) {
                    // new declaration with permissions:  $value='objecttype:+tabname1:Title1:langfile@mymodule:$user->rights->mymodule->read:/mymodule/mynewtab1.php?id=__ID__'
                    if ($values[0] != $type) {
                        continue;
                    }
                    if (verifCond($values[4])) {
                        if ($values[3]) {
                            $langs->load($values[3]);
                        }
                        $head[$h][0] = dol_buildpath(preg_replace('/__ID__/i', $object->id, $values[5]), 1);
                        $head[$h][1] = $langs->trans($values[2]);
                        $head[$h][2] = str_replace('+', '', $values[1]);
                        $h++;
                    }
                } else {
                    if (count($values) == 5) {
                        // new declaration
                        if ($values[0] != $type) {
                            continue;
                        }
                        if ($values[3]) {
                            $langs->load($values[3]);
                        }
                        $head[$h][0] = dol_buildpath(preg_replace('/__ID__/i', $object->id, $values[4]), 1);
                        $head[$h][1] = $langs->trans($values[2]);
                        $head[$h][2] = str_replace('+', '', $values[1]);
                        $h++;
                    } else {
                        if (count($values) == 4) {
                            // old declaration, for backward compatibility
                            if ($values[0] != $type) {
                                continue;
                            }
                            if ($values[2]) {
                                $langs->load($values[2]);
                            }
                            $head[$h][0] = dol_buildpath(preg_replace('/__ID__/i', $object->id, $values[3]), 1);
                            $head[$h][1] = $langs->trans($values[1]);
                            $head[$h][2] = 'tab' . $values[1];
                            $h++;
                        }
                    }
                }
            } else {
                if ($mode == 'remove' && preg_match('/^\\-/', $values[1])) {
                    if ($values[0] != $type) {
                        continue;
                    }
                    $tabname = str_replace('-', '', $values[1]);
                    foreach ($head as $key => $val) {
                        $condition = !empty($values[3]) ? verifCond($values[3]) : 1;
                        if ($head[$key][2] == $tabname && $condition) {
                            unset($head[$key]);
                            break;
                        }
                    }
                }
            }
        }
    }
}
Ejemplo n.º 16
0
 /**
  * testVerifCond
  *
  * @return	void
  */
 public function testVerifCond()
 {
     $verifcond = verifCond('1==1');
     $this->assertTrue($verifcond, 'Test a true comparison');
     $verifcond = verifCond('1==2');
     $this->assertFalse($verifcond, 'Test a false comparison');
     $verifcond = verifCond('$conf->facture->enabled');
     $this->assertTrue($verifcond, 'Test that conf property of a module report true when enabled');
     $verifcond = verifCond('$conf->moduledummy->enabled');
     $this->assertFalse($verifcond, 'Test that conf property of a module report false when disabled');
     $verifcond = verifCond('');
     $this->assertTrue($verifcond);
 }