[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Экспорт значений из базы в XML
Kropotov1989
Всем добрый день! Вообщем нужно синхронизировать права на файлы и папки, а также сами учетные записи пользователей (логин и пароль) между ftp-клиентом и web-файлменеджером.
Структура файла xml у ftp сервера Filezilla (предположим будет он) :
<FileZillaServer>
<Settings>
<Item name="Serverports" type="string">21</Item>
<Item name="Number of Threads" type="numeric">2</Item>
<Item name="Maximum user count" type="numeric">0</Item>
<Item name="Timeout" type="numeric">0</Item>
<Item name="No Transfer Timeout" type="numeric">0</Item>
<Item name="Allow Incoming FXP" type="numeric">0</Item>
<Item name="Allow outgoing FXP" type="numeric">0</Item>
<Item name="No Strict In FXP" type="numeric">0</Item>
<Item name="No Strict Out FXP" type="numeric">0</Item>
<Item name="Login Timeout" type="numeric">0</Item>
<Item name="Show Pass in Log" type="numeric">0</Item>
<Item name="Custom PASV IP type" type="numeric">0</Item>
<Item name="Custom PASV IP" type="string" />
<Item name="Custom PASV min port" type="numeric">0</Item>
<Item name="Custom PASV max port" type="numeric">0</Item>
<Item name="Initial Welcome Message" type="string">%v&#x0D;&#x0A;written by Tim Kosse (Tim.Kosse@gmx.de)&#x0D;&#x0A;Please visit http://sourceforge.net/projects/filezilla/</Item>
<Item name="Admin port" type="numeric">14147</Item>
<Item name="Admin Password" type="string" />
<Item name="Admin IP Bindings" type="string" />
<Item name="Admin IP Addresses" type="string" />
<Item name="Enable logging" type="numeric">1</Item>
<Item name="Logsize limit" type="numeric">0</Item>
<Item name="Logfile type" type="numeric">0</Item>
<Item name="Logfile delete time" type="numeric">0</Item>
<Item name="Use GSS Support" type="numeric">0</Item>
<Item name="GSS Prompt for Password" type="numeric">0</Item>
<Item name="Download Speedlimit Type" type="numeric">0</Item>
<Item name="Upload Speedlimit Type" type="numeric">0</Item>
<Item name="Download Speedlimit" type="numeric">10</Item>
<Item name="Upload Speedlimit" type="numeric">10</Item>
<Item name="Buffer Size" type="numeric">32768</Item>
<Item name="Custom PASV IP server" type="string">http://ip.filezilla-project.org/ip.php</Item>
<Item name="Use custom PASV ports" type="numeric">0</Item>
<Item name="Mode Z Use" type="numeric">0</Item>
<Item name="Mode Z min level" type="numeric">1</Item>
<Item name="Mode Z max level" type="numeric">9</Item>
<Item name="Mode Z allow local" type="numeric">0</Item>
<Item name="Mode Z disallowed IPs" type="string" />
<Item name="IP Bindings" type="string">*</Item>
<Item name="IP Filter Allowed" type="string" />
<Item name="IP Filter Disallowed" type="string" />
<Item name="Hide Welcome Message" type="numeric">0</Item>
<Item name="Enable SSL" type="numeric">0</Item>
<Item name="Allow explicit SSL" type="numeric">1</Item>
<Item name="SSL Key file" type="string" />
<Item name="SSL Certificate file" type="string" />
<Item name="Implicit SSL ports" type="string">990</Item>
<Item name="Force explicit SSL" type="numeric">0</Item>
<Item name="Network Buffer Size" type="numeric">65536</Item>
<Item name="Force PROT P" type="numeric">0</Item>
<Item name="SSL Key Password" type="string" />
<Item name="Allow shared write" type="numeric">0</Item>
<Item name="No External IP On Local" type="numeric">1</Item>
<Item name="Active ignore local" type="numeric">1</Item>
<Item name="Autoban enable" type="numeric">0</Item>
<Item name="Autoban attempts" type="numeric">10</Item>
<Item name="Autoban type" type="numeric">0</Item>
<Item name="Autoban time" type="numeric">1</Item>
<Item name="Service name" type="string" />
<Item name="Service display name" type="string" />
<Item name="Enable HASH" type="numeric">0</Item>
<Item name="Disable IPv6" type="numeric">0</Item>
<SpeedLimits>
<Download />
<Upload />
</SpeedLimits>
</Settings>
<Groups>
<Group Name="administrator">
<Option Name="Bypass server userlimit">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="IP Limit">0</Option>
<Option Name="Enabled">1</Option>
<Option Name="Comments"></Option>
<Option Name="ForceSsl">0</Option>
<IpFilter>
<Disallowed />
<Allowed />
</IpFilter>
<Permissions>
<Permission Dir="C:\fileserver">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">1</Option>
<Option Name="DirCreate">1</Option>
<Option Name="DirDelete">1</Option>
<Option Name="DirList">1</Option>
<Option Name="DirSubdirs">1</Option>
<Option Name="IsHome">1</Option>
<Option Name="AutoCreate">0</Option>
</Permission>
</Permissions>
<SpeedLimits DlType="1" DlLimit="10" ServerDlLimitBypass="0" UlType="1" UlLimit="10" ServerUlLimitBypass="0">
<Download />
<Upload />
</SpeedLimits>
</Group>
</Groups>
<Users>
<User Name="admin">
<Option Name="Pass">21232f297a57a5a743894a0e4a801fc3</Option>
<Option Name="Group"></Option>
<Option Name="Bypass server userlimit">0</Option>
<Option Name="User Limit">0</Option>
<Option Name="IP Limit">0</Option>
<Option Name="Enabled">1</Option>
<Option Name="Comments"></Option>
<Option Name="ForceSsl">0</Option>
<IpFilter>
<Disallowed />
<Allowed />
</IpFilter>
<Permissions>
<Permission Dir="C:\fileserver">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">1</Option>
<Option Name="DirCreate">1</Option>
<Option Name="DirDelete">1</Option>
<Option Name="DirList">1</Option>
<Option Name="DirSubdirs">1</Option>
<Option Name="IsHome">1</Option>
<Option Name="AutoCreate">0</Option>
</Permission>
<Permission Dir="C:\fileserver\Archive\thththtyhth">
<Option Name="FileRead">1</Option>
<Option Name="FileWrite">1</Option>
<Option Name="FileDelete">1</Option>
<Option Name="FileAppend">1</Option>
<Option Name="DirCreate">1</Option>
<Option Name="DirDelete">1</Option>
<Option Name="DirList">1</Option>
<Option Name="DirSubdirs">1</Option>
<Option Name="IsHome">0</Option>
<Option Name="AutoCreate">0</Option>
</Permission>
</Permissions>
<SpeedLimits DlType="0" DlLimit="10" ServerDlLimitBypass="0" UlType="0" UlLimit="10" ServerUlLimitBypass="0">
<Download />
<Upload />
</SpeedLimits>
</User>
</Users>
</FileZillaServer>

Вот это пример xml файла, сформированного на основе добавления пользователей и групп пользователей с определенными правами на определенные папки через интерфейс FTP Filezilla Server. А нужно, чтобы пользователи в моей системе регистрировались, производители какие-либо действия над файлами получали там разрешения от админа (через web), и сразу отображались в xml. Пока все реализовано независимо друг от друга, то есть через веб хорошо все работает но никак не связано с фтп клиентом. Во вложенном файле пример таблиц и описание. Очень надеюсь,что хоть кто-нибудь подскажет как такое вообще реализовать??? Просто я с XML+php вообще не друг не разу))) Заранее благодарен))))
Вот структура базы:


-- phpMyAdmin SQL Dump
-- version 3.5.1
-- http://www.phpmyadmin.net
--
-- Хост: 127.0.0.1
-- Время создания: Окт 26 2012 г., 12:23
-- Версия сервера: 5.5.25
-- Версия PHP: 5.3.13

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";


/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;

--
-- База данных: `mollify`
--
-- Структура таблицы `mollify_folder`
--

CREATE TABLE IF NOT EXISTS `mollify_folder` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`path` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Mollify published folders' AUTO_INCREMENT=3 ;

--
-- Дамп данных таблицы `mollify_folder`
--

INSERT INTO `mollify_folder` (`id`, `name`, `path`) VALUES
(1, 'Архив', 'C:\\fileserver\\Archive'),
(2, 'Рабочая', 'C:\\fileserver\\Worked');

-- --------------------------------------------------------

--
-- Структура таблицы `mollify_item_description`
--

CREATE TABLE IF NOT EXISTS `mollify_item_description` (
`item_id` char(255) NOT NULL,
`description` varchar(512) NOT NULL,
PRIMARY KEY (`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Mollify item descriptions';

-- --------------------------------------------------------

--
-- Структура таблицы `mollify_item_id`
--

CREATE TABLE IF NOT EXISTS `mollify_item_id` (
`id` char(13) NOT NULL,
`path` char(255) NOT NULL,
UNIQUE KEY `id` (`id`),
UNIQUE KEY `path` (`path`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Mollify item ids';

--
-- Дамп данных таблицы `mollify_item_id`
--

INSERT INTO `mollify_item_id` (`id`, `path`) VALUES
('5088fc8097bbd', '1:\\'),
('5088fc83c9662', '1:\\avcodec-54.dll'),
('5088fd045c35f', '1:\\create_tables.sql'),
('5088fc83d6276', '1:\\dfdfdf.png'),
('5088fd33cc6f6', '1:\\thththtyhth\\'),
('5088fd4412a21', '1:\\thththtyhth\\package_list.txt'),
('5088fc83df59b', '1:\\Новый каталог\\'),
('5088fcc827450', '1:\\Новый каталог\\hyukuyk\\'),
('5088fc80a3767', '2:\\');

-- --------------------------------------------------------

--
-- Структура таблицы `mollify_item_permission`
--

CREATE TABLE IF NOT EXISTS `mollify_item_permission` (
`user_id` int(11) NOT NULL DEFAULT '0',
`item_id` char(255) NOT NULL,
`permission` char(2) NOT NULL,
PRIMARY KEY (`user_id`,`item_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Mollify item permissions';

--
-- Дамп данных таблицы `mollify_item_permission`
--

INSERT INTO `mollify_item_permission` (`user_id`, `item_id`, `permission`) VALUES
(5, '5088fc83c9662', 'rw'),
(5, '5088fc83d6276', 'no'),
(6, '5088fd33cc6f6', 'rw');


--
-- Структура таблицы `mollify_user`
--

CREATE TABLE IF NOT EXISTS `mollify_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL DEFAULT '',
`password` varchar(128) DEFAULT NULL,
`a1password` varchar(128) DEFAULT NULL,
`permission_mode` char(2) DEFAULT NULL,
`email` varchar(128) DEFAULT NULL,
`auth` varchar(8) DEFAULT NULL,
`is_group` tinyint(1) NOT NULL,
`expiration` bigint(11) DEFAULT NULL,
`avatar` varchar(255) NOT NULL,
`fio` varchar(255) NOT NULL,
`company` varchar(255) NOT NULL,
`post` varchar(255) NOT NULL,
`activation` int(1) NOT NULL,
`date` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Mollify users and groups' AUTO_INCREMENT=7 ;

--
-- Дамп данных таблицы `mollify_user`
--

INSERT INTO `mollify_user` (`id`, `name`, `description`, `password`, `a1password`, `permission_mode`, `email`, `auth`, `is_group`, `expiration`, `avatar`, `fio`, `company`, `post`, `activation`, `date`) VALUES
(4, 'admin', 'NULL', '21232f297a57a5a743894a0e4a801fc3', '8f6a6c303d793a90b02281a21039b34c', 'A', 'krop89@mail.ru', NULL, 0, NULL, 'avatars/1348740806.jpg', 'Кропотов Сергей Васильевич', 'Компания', 'Должность', 1, '2012-09-18 16:03:48'),
(5, '11111', '', 'b0baee9d279d34fa1dfd71aadb908c3f', NULL, 'RO', '11@11.ru', NULL, 0, NULL, 'avatars/net-avatara.jpg', '111', '1111', '11111', 1, '2012-10-24 13:32:47'),
(6, 'lowuser', 'мало что доступно им', NULL, NULL, NULL, NULL, NULL, 1, NULL, '', '', '', '', 0, '0000-00-00 00:00:00');

-- --------------------------------------------------------

--
-- Структура таблицы `mollify_user_folder`
--

CREATE TABLE IF NOT EXISTS `mollify_user_folder` (
`user_id` int(11) NOT NULL,
`folder_id` int(11) NOT NULL,
`name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`user_id`,`folder_id`),
KEY `fk_uf_folder` (`folder_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Mollify user published folders';

--
-- Дамп данных таблицы `mollify_user_folder`
--

INSERT INTO `mollify_user_folder` (`user_id`, `folder_id`, `name`) VALUES
(4, 1, NULL),
(4, 2, NULL),
(5, 1, NULL);

-- --------------------------------------------------------

--
-- Структура таблицы `mollify_user_group`
--

CREATE TABLE IF NOT EXISTS `mollify_user_group` (
`user_id` int(11) NOT NULL,
`group_id` int(11) NOT NULL,
PRIMARY KEY (`user_id`,`group_id`),
KEY `fk_ug_user` (`user_id`),
KEY `fk_ug_group` (`group_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='Mollify user groups';

--
-- Дамп данных таблицы `mollify_user_group`
--

INSERT INTO `mollify_user_group` (`user_id`, `group_id`) VALUES
(5, 6);

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.