# окончательное обновление записи в конкретном списке BeginHtml($Title2, $Title3 . $Delimeter . $Title6, "http://" . $DOC_DOMAIN . "/management/lists/elements/"); $perm->ExitIfNotAccess(NC_PERM_CLASSIFICATOR, NC_PERM_ACTION_EDIT, $ClassificatorID, 0, 1); UpdateOneClassificatorCompleted($ClassificatorID, $IdInClassificator, $NameInClassificator, $ValueInClassificator); OneClassificatorList($ClassificatorID, GetSortTypeByID($ClassificatorID), GetSortDirectionByID($ClassificatorID)); break; case 12: # форма для импортирования списка BeginHtml($Title15, $Title3 . $Delimeter . $Title15, "http://" . $DOC_DOMAIN . "/management/lists/import/"); $perm->ExitIfNotAccess(NC_PERM_CLASSIFICATOR, NC_PERM_ACTION_ADD, 0, 0); if (+$_REQUEST['isNaked']) { ob_clean(); ImportClassificator_modal(); exit; } ImportClassificator("", "", 0); break; case 13: # импортирование списка BeginHtml($Title2, $Title2, "http://" . $DOC_DOMAIN . "/management/lists/"); $perm->ExitIfNotAccess(NC_PERM_CLASSIFICATOR, NC_PERM_ACTION_ADD, 0, 1); ImportClassificatorCompleted($ClassificatorName, $ClassificatorTable, $System, $SortType, $SortDirection, $FileCSV); nc_naked_action_header(); ClassificatorList(0); nc_naked_action_footer(); break; } } else { $UI_CONFIG = new ui_config_classificators('classificator.list'); BeginHtml($Title2, $Title2, "http://" . $DOC_DOMAIN . "/management/lists/"); $perm->ExitIfNotAccess(NC_PERM_CLASSIFICATOR, NC_PERM_ACTION_LIST, 0, 0, 0);
function ImportClassificatorCompleted($ClassificatorName, $ClassificatorTable, $System, $SortType, $SortDirection, $FileCSV) { global $db; $System += 0; $SortType += 0; $SortDirection += 0; $ReturnValue = 0; if ($ClassificatorName == "") { nc_print_status(CONTENT_CLASSIFICATORS_ERROR_NAME, 'error'); ImportClassificator($ClassificatorName, $ClassificatorTable, $System, $SortType, $SortDirection); } else { if ($FileCSV['name'] == "") { nc_print_status(CONTENT_CLASSIFICATORS_ERROR_FILE_NAME, 'error'); ImportClassificator($ClassificatorName, $ClassificatorTable, $System, $SortType, $SortDirection); } else { if ($ClassificatorTable == "") { nc_print_status(CONTENT_CLASSIFICATORS_ERROR_KEYWORD, 'error'); ImportClassificator($ClassificatorName, $ClassificatorTable, $System, $SortType, $SortDirection); } else { if (strspn(strtolower($ClassificatorTable), "abcdefghijklmnopqrstuvwxyz0123456789_") != strlen($ClassificatorTable)) { nc_print_status(CONTENT_CLASSIFICATORS_ERROR_KEYWORDINV, 'error'); ImportClassificator($ClassificatorName, $ClassificatorTable, $System, $SortType, $SortDirection); } else { if (strspn(strtolower(substr($ClassificatorTable, 0, 1)), "abcdefghijklmnopqrstuvwxyz") != 1) { nc_print_status(CONTENT_CLASSIFICATORS_ERROR_KEYWORDFL, 'error'); ImportClassificator($ClassificatorName, $ClassificatorTable, $System, $SortType, $SortDirection); } else { if (IsClassificatorExist($ClassificatorTable)) { nc_print_status(CONTENT_CLASSIFICATORS_ERROR_KEYWORDAE, 'error'); ImportClassificator($ClassificatorName, $ClassificatorTable, $System, $SortType, $SortDirection); } else { if (IsTableExist($ClassificatorTable)) { nc_print_status(CONTENT_CLASSIFICATORS_ERROR_KEYWORDREZ, 'error'); ImportClassificator($ClassificatorName, $ClassificatorTable, $System, $SortType, $SortDirection); } else { print "<br>\n"; $Insert = "insert into Classificator (Classificator_Name, Table_Name, System, Sort_Type, Sort_Direction)"; $Insert .= " values ('{$ClassificatorName}','{$ClassificatorTable}','{$System}','{$SortType}', '{$SortDirection}')"; $db->query($Insert); $Creat = " CREATE TABLE Classificator_{$ClassificatorTable} ("; $Creat .= "{$ClassificatorTable}_ID int(11) NOT NULL auto_increment,"; $Creat .= "{$ClassificatorTable}_Name char(255) DEFAULT '' NOT NULL,"; $Creat .= "{$ClassificatorTable}_Priority int(11) DEFAULT NULL,"; $Creat .= "PRIMARY KEY ({$ClassificatorTable}_ID)"; $Creat .= ")"; $db->query($Creat); $FileTmp = $FileCSV['tmp_name']; $fp = @fopen($FileTmp, "r"); if ($fp != FALSE) { while ($csv_data = fgetcsv($fp, 2048, ";")) { $cnt = count($csv_data); $Insert = "INSERT INTO Classificator_{$ClassificatorTable} ("; $Insert .= "{$ClassificatorTable}_Name"; if ($cnt == 2) { $Insert .= ", {$ClassificatorTable}_Priority"; } $Insert .= ") VALUES ("; if ($cnt == 1) { $Insert .= "'" . $csv_data[0] . "'"; } else { $Insert .= "'" . $csv_data[0] . "', '" . $csv_data[1] . "'"; } $Insert .= ")"; $db->query($Insert); } fclose($fp); unlink($FileTmp); } $ReturnValue = 1; } } } } } } } return $ReturnValue; }