Yoko

All sides of Injection
It is currently 2024-03-28 13:48:18

All times are UTC+02:00




Post new topic  Reply to topic  [ 1 post ] 
Author Message
PostPosted: 2014-01-06 12:16:08 
Offline
User avatar

Joined: 2009-05-28 09:58:28
Posts: 2802
Location: Иваново
Из области "дело было вечером, делать было нечего".
Поставил на работе сервер jabber-а Openfire. Посчитал сколько надо руками забивать юзверев и понял что лениво, а поручить не кому. Под руку подвернулся генератор для лесоруба и после получаса ковыряния и тестов родился вот такой скрипт:

Code:
sub Openfire_gen()
   var i, NumCount, f, f2
   var file=('D:\file.txt')
   var fin=('D:\fin.xml')
   dim  Num[1000]
   dim  Name1[1000]
   dim  Name2[1000]
   dim  Pass[1000]
   uo.textclear()
   f=file(file)
   f.Open()
   fin=file(fin)
   fin.Open()
   NumCount=safe call f.ReadNumber()
   fin.writeln('<?xml version="1.0" encoding="UTF-8"?>')
   fin.writeln('')
   fin.writeln('<Openfire>')
   for i=1 to NumCount
      Num[i]=safe call f.ReadString()
      Name1[i]=safe call f.ReadString()
      Name2[i]=safe call f.ReadString()
      Pass[i]=safe call f.ReadString()

      fin.writeln('  <User>')
      fin.writeln('    <Username>'+Num[i]+'</Username>')
      fin.writeln('    <Password>'+Pass[i]+'</Password>')
      fin.writeln('    <Email>test@mail37.ru</Email>')
      fin.writeln('    <Name>'+Name1[i]+' '+Name2[i]+'</Name>')
      fin.writeln('    <CreationDate>1382777300412</CreationDate>')
      fin.writeln('    <ModifiedDate>1382777300412</ModifiedDate>')
      fin.writeln('    <Roster/>')
      fin.writeln('  </User>')
   next
   fin.writeln('<Openfire>')
   f.Close()
   fin.Close()
end sub


В экселевской табличке делаем список номеров, должностей, ФИО, паролей и копируем в файл file.txt
Quote:
4
a001 Директор Магазин1 пароль
a002 Оператор Магазин1 пароль
b001 Иванищенко Вячеслав пароль
b002 Перекатиполе Петр_Петрович пароль


Именами_Отчествами я не стал особо заморачиваться так как таких не много и проще потом руками поправить.
Почтовые адреса я сделал стандартными - они у нас не завязаны и не у всех есть. У кого есть - дописывал руками.

На выходе получается файл fin.xml
Quote:
<?xml version="1.0" encoding="UTF-8"?>

<Openfire>
<User>
<Username>a001</Username>
<Password>пароль</Password>
<Email>test@mail37.ru</Email>
<Name>Директор Магазин1</Name>
<CreationDate>1382777300412</CreationDate>
<ModifiedDate>1382777300412</ModifiedDate>
<Roster/>
</User>
<User>
<Username>a002</Username>
<Password>пароль</Password>
<Email>test@mail37.ru</Email>
<Name>Оператор Магазин1</Name>
<CreationDate>1382777300412</CreationDate>
<ModifiedDate>1382777300412</ModifiedDate>
<Roster/>
</User>
<User>
<Username>b001</Username>
<Password>пароль</Password>
<Email>test@mail37.ru</Email>
<Name>Иванищенко Вячеслав</Name>
<CreationDate>1382777300412</CreationDate>
<ModifiedDate>1382777300412</ModifiedDate>
<Roster/>
</User>
<User>
<Username>b002</Username>
<Password>пароль</Password>
<Email>test@mail37.ru</Email>
<Name>Перекатиполе Петр_Петрович</Name>
<CreationDate>1382777300412</CreationDate>
<ModifiedDate>1382777300412</ModifiedDate>
<Roster/>
</User>
</Openfire>

который спокойно импортируется в панельке Openfire-а.

В итоге мои 300 с чем то контактов сформировались за долю секунды. :D
Жаль скриптом нельзя их на местах поставить :mrgreen:

Из минусов - проблема с кодировкой. Не получилось сразу в Utf-8 кодировке сделать, приходится пересохранять файл fin.xml. Но это уже глюки инжекта.

_________________
Image
YokoInjection CodeSweeper
Ошибка "Unhandled exception in parser"
Стрелялка для олдов.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 1 post ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 17 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited