Exemple #1
0
 function createDataSelector($dbLink, $groupID, $allowNone = true, $format = "select", $orderBy = null, $params = array())
 {
     if (isset($_SESSION['SESS_PRIVILEGE_ID'])) {
         $where = "blocked='false' && groupid='{$groupID}' and (privilege='*' OR FIND_IN_SET('{$_SESSION['SESS_PRIVILEGE_NAME']}',privilege))";
     } else {
         $where = "blocked='false' && groupid='{$groupID}' and privilege='*'";
     }
     if ($orderBy == null) {
         $where .= " ORDER BY title";
     } elseif (strlen($orderBy) > 0) {
         $where .= " ORDER BY {$orderBy}";
     }
     return createDataSelectorFromTable(_db(), _dbtable("lists"), "title", "value", "class", null, $where, null, false, $allowNone, $format, $params);
 }
 function generateSelectOptions($fieldinfo, $data, $dbKey = "app")
 {
     $html = "";
     switch ($fieldinfo['type']) {
         case 'select':
             if (!isset($fieldinfo['options'])) {
                 $fieldinfo['options'] = [];
             }
             foreach ($fieldinfo['options'] as $key => $value) {
                 if (!$value) {
                     continue;
                 }
                 if (is_array($value)) {
                     $cx = [];
                     if (isset($value['label'])) {
                         $vx = $value['label'];
                         unset($value['label']);
                         foreach ($value as $key => $value) {
                             $cx[] = "{$key}='{$value}";
                         }
                     } else {
                         $vx = "";
                     }
                     if ($data == $key) {
                         $html .= "<option value='{$key}' " . implode(" ", $cx) . " selected>" . _ling($vx) . "</option>";
                     } else {
                         $html .= "<option value='{$key}' " . implode(" ", $cx) . ">" . _ling($vx) . "</option>";
                     }
                 } else {
                     $vx = $value;
                     if ($data == $key) {
                         $html .= "<option value='{$key}' selected>" . _ling($vx) . "</option>";
                     } else {
                         $html .= "<option value='{$key}'>" . _ling($vx) . "</option>";
                     }
                 }
             }
             break;
         case 'selectAJAX':
             $html .= "<option value=''>Loading ...</option>";
             break;
         case 'dataMethod':
             if (isset($fieldinfo['method'])) {
                 if (is_array($fieldinfo['method']) && isset($fieldinfo['method']['name'])) {
                     if (isset($fieldinfo['method']['params'])) {
                         if (isset($fieldinfo['method']['valuefield'])) {
                             $fieldinfo['method']['params'][$fieldinfo['method']['valuefield']] = $data;
                         }
                         $html .= call_user_func_array($fieldinfo['method']['name'], $fieldinfo['method']['params']);
                     } elseif (isset($fieldinfo['method']['valuefield'])) {
                         $fieldinfo['method']['params'][$fieldinfo['method']['valuefield']] = $data;
                         $html .= call_user_func_array($fieldinfo['method']['name'], $fieldinfo['method']['params']);
                     } else {
                         $html .= call_user_func($fieldinfo['method']['name']);
                     }
                 } else {
                     $html .= call_user_func($fieldinfo['method']);
                 }
             }
             break;
         case 'dataSelector':
             if (!isset($fieldinfo['orderBy'])) {
                 $fieldinfo['orderBy'] = null;
             }
             $noOption = _ling("No Selection");
             /*if(!array_key_exists("", $fieldinfo['options']) || $fieldinfo['options']['']===true) {
             			$html.="<option value=''>{$noOption}</option>";
             		}*/
             $html .= createDataSelector($fieldinfo['groupid'], $fieldinfo['orderBy'], $dbKey);
             break;
         case 'dataSelectorFromUniques':
             if (!isset($fieldinfo['col1'])) {
                 if (isset($fieldinfo['columns'])) {
                     $cols = explode(",", $fieldinfo['columns']);
                     $fieldinfo['col1'] = $cols[0];
                     if (isset($cols[1])) {
                         $fieldinfo['col2'] = $cols[1];
                     }
                 }
             }
             if (!isset($fieldinfo['col2'])) {
                 $fieldinfo['col2'] = $fieldinfo['col1'];
             }
             if (!isset($fieldinfo['where'])) {
                 $fieldinfo['where'] = null;
             }
             if (!isset($fieldinfo['orderBy'])) {
                 $fieldinfo['orderBy'] = null;
             }
             /*if(!array_key_exists("", $fieldinfo['options']) || $fieldinfo['options']['']===true) {
             			$html.="<option value=''>{$noOption}</option>";
             		}*/
             $html .= createDataSelectorFromUniques($fieldinfo['table'], $fieldinfo['col1'], $fieldinfo['col2'], $fieldinfo['where'], $fieldinfo['orderBy'], $dbKey);
             break;
         case "dataSelectorFromTable":
             if (!isset($fieldinfo['columns'])) {
                 $fieldinfo['columns'] = $fieldinfo['col1'];
             }
             if (!isset($fieldinfo['where'])) {
                 $fieldinfo['where'] = null;
             }
             if (!isset($fieldinfo['groupBy'])) {
                 $fieldinfo['groupBy'] = null;
             }
             if (!isset($fieldinfo['orderBy'])) {
                 $fieldinfo['orderBy'] = null;
             }
             /*if(!array_key_exists("", $fieldinfo['options']) || $fieldinfo['options']['']===true) {
             			$html.="<option value=''>{$noOption}</option>";
             		}*/
             $html .= createDataSelectorFromTable($fieldinfo['table'], $fieldinfo['columns'], $fieldinfo['where'], $fieldinfo['groupBy'], $fieldinfo['orderBy'], $dbKey);
             break;
     }
     return $html;
 }