Example #1
0
            # окончательное обновление записи в конкретном списке
            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);
Example #2
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;
}