예제 #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;
}
예제 #2
0
파일: form2007.php 프로젝트: pzotov/domkam
<div class="nc-field"><?= nc_string_field('Param7', 'maxlength="255" size="50"', ($class_id ? $class_id : $classID), 1) ?></div>

<br>
<h3>Аналоги камня</h3>
<ul>
<?
	if(isset($_POST['posting'])){
		dump(123);
		$analog_values = isset($_POST['analogs']) ? $_POST['analogs'] : array();
	} else if(!($analog_values = $db->get_col("SELECT Stone2_ID FROM Stone_Analogs WHERE Stone1_ID={$message}"))) $analog_values = array();

	if($stones = $db->get_results("SELECT Message_ID,Name,EnglishName FROM Message{$classID} WHERE Subdivision_ID={$sub} AND Message_ID!='{$message}' ORDER BY Priority", ARRAY_A)){
		foreach($stones as $stone){
			echo '<li><label><input type="checkbox" name="analogs[]" value="'.$stone['Message_ID'].'"'.(in_array($stone['Message_ID'], $analog_values) ? ' checked' : '').' /> ';
			echo $stone['Name'];
			if($stone['EnglishName']) echo ' ('.$stone['EnglishName'].')';
			echo '</label></li>';
		}
	}
?>
</ul>

<div class="nc-field"><?= nc_date_field('News_Date', '', ($class_id ? $class_id : $classID), 1) ?></div>

<div class="nc-field"><?= nc_file_field('News_Picture', '', ($class_id ? $class_id : $classID), 1) ?></div>

<div class="nc-field"><?= nc_date_field('Action_Date', '', ($class_id ? $class_id : $classID), 1) ?></div>

<div class="nc-field"><?= nc_file_field('Action_Picture', '', ($class_id ? $class_id : $classID), 1) ?></div>