Example #1
0
/**
 * Функция рисует поле по $field_name
 * @param string имя поля
 * @param string дополнительные атрибуты
 * @param int идентификатор компонента, его стоит указывать при вызове функции т.к. в функции s_list_class() его глобальное значение будет иное
 * @param bool выводить описание поля или нет
 * @return string поле
 */
function nc_put_field($field_name, $style = "", $classID = "", $caption = false)
{
    global $db, $systemTableID;
    if (!$classID) {
        global $classID;
    }
    if (!$classID) {
        return false;
    }
    $field_name = $db->escape($field_name);
    # данные о поле
    if ($systemTableID == 3) {
        // Поле из таблицы "Пользователи"
        $field_attr = $db->get_var("SELECT `TypeOfData_ID` FROM `Field` WHERE Class_ID = '0' AND `System_Table_ID` = '3' AND Field_Name = '" . $field_name . "'");
    } else {
        // Поле из компонента
        $field_attr = $db->get_var("SELECT `TypeOfData_ID` FROM `Field` WHERE Class_ID = '" . intval($classID) . "' AND Field_Name = '" . $field_name . "'");
    }
    if (!$field_attr) {
        trigger_error("<b>nc_put_field()</b>: Incorrect field name (" . $field_name . ")", E_USER_WARNING);
        return false;
    }
    switch ($field_attr) {
        # Тип поля "Строка"
        case 1:
            $result = nc_string_field($field_name, $style, $classID, $caption ? 1 : 0);
            break;
            # Тип поля "Целое число"
        # Тип поля "Целое число"
        case 2:
            $result = nc_int_field($field_name, $style, $classID, $caption ? 1 : 0);
            break;
            # Тип поля "Текстовый блок"
        # Тип поля "Текстовый блок"
        case 3:
            $result = nc_text_field($field_name, $style, $classID, $caption ? 1 : 0);
            break;
            # Тип поля "Список"
        # Тип поля "Список"
        case 4:
            #$result = nc_list_select($field_attr['Format'], $field_name);
            $result = nc_list_field($field_name, $style, $classID, $caption ? 1 : 0, "", "");
            break;
            # Тип поля "Логическая переменная"
        # Тип поля "Логическая переменная"
        case 5:
            $result = nc_bool_field($field_name, $style, $classID, $caption ? 1 : 0);
            break;
            # Тип поля "Файл"
        # Тип поля "Файл"
        case 6:
            $result = nc_file_field($field_name, $style, $classID, $caption ? 1 : 0);
            break;
            # Тип поля "Число с плавающей запятой"
        # Тип поля "Число с плавающей запятой"
        case 7:
            $result = nc_float_field($field_name, $style, $classID, $caption ? 1 : 0);
            break;
            # Тип поля "Дата и время"
        # Тип поля "Дата и время"
        case 8:
            $result = nc_date_field($field_name, $style, $classID, $caption ? 1 : 0);
            break;
            # Тип поля "Связь с другим объектом"
        # Тип поля "Связь с другим объектом"
        case 9:
            $result = nc_related_field($field_name);
            # Тип поля "MultiSelect"
        # Тип поля "MultiSelect"
        case 10:
            $result = nc_multilist_field($field_name, $style, "", $classID, $caption ? 1 : 0, "", "");
            break;
    }
    return $result;
}
Example #2
0
<div class='nc-field'><?= nc_related_field('Sub_ID', "") ?></div>

<div class='nc-field'><?= nc_string_field('Name', "maxlength='255' size='50'", ($class_id ? $class_id : $classID), 1) ?></div>

<div class='nc-field'><?= nc_string_field('Button_Text', "maxlength='255' size='50'", ($class_id ? $class_id : $classID), 1) ?></div>

<div class='nc-field'>
	<span class="nc-field-caption">Цвета камня для вывода:</span>
	<?
	$selected_colors = explode(",", $f_OnlyColor);
	if($colors = $db->get_results("SELECT a.Message_ID, a.Name, s.Subdivision_Name
				FROM Message2008 a
				LEFT JOIN Subdivision s ON s.Subdivision_ID=a.Subdivision_ID
				GROUP BY a.Message_ID
				ORDER BY s.Priority, s.Subdivision_ID, a.Priority, a.Message_ID
				", ARRAY_A)){
		$prev_sub = null;
		foreach($colors as $c){
			if($prev_sub!=$c['Subdivision_Name']){
				$prev_sub = $c['Subdivision_Name'];
				echo '<br><strong>'.$prev_sub.'</strong><br>';
			}
			echo '<label><input type="checkbox" name="colors[]" value="'.$c['Message_ID'].'"'.(in_array($c['Message_ID'], $selected_colors) ? ' checked' : '').' />
			'.$c['Name'].'
			</label><br>';
		}
	} else dump($db->last_error);
	?>
</div>