Технические вопросы по UTM 5.0
Lord Kaho
Сообщения: 22 Зарегистрирован: Чт май 21, 2009 12:41
Сообщение
Lord Kaho » Пт май 29, 2009 08:10
Есть такой скрипт:
Код: Выделить всё
#!/bin/sh
#
#export C
while read LURL
do
URF_FULLNAME=`echo $LURL | cut -f3 -d ';'`
URF_PASSWORD=`echo $LURL | cut -f16 -d ';'`
URF_LOGIN=`echo $LURL | cut -f2 -d ';'`
URF_URL="0"
URF_SDATE=`echo $LURL | cut -f14 -d ';'`
URF_DATE=`date -j -f "%d.%m.%Y" $URF_SDATE "+%s"`
URF_ADDR=`echo $LURL | cut -f9 -d ';'`
URF_TEL=`echo $LURL | cut -f11 -d ';'`
URF_BALANCE=`echo $LURL | cut -f15 -d ';'`
URF_PE=`echo $LURL | cut -f10 -d ';'`
URF_FLOOR=`echo $URF_PE | cut -f2 -d '/'`
URF_ENTANCE=`echo $URF_PE | cut -f1 -d '/'`
URF_MOB=`echo $LURL | cut -f12 -d ';'`
URF_F1=`echo $LURL | cut -f4 -d ';'`
URF_F2=`echo $LURL | cut -f5 -d ';'`
URF_F3=`echo $LURL | cut -f6 -d ';'`
URF_F4=`echo $LURL | cut -f7 -d ';'`
URF_FLAT="$URF_F1 $URF_F2, $URF_F3, $URF_F4"
#echo $URF_DATE
if [ -n "$URF_LOGIN" ]
then
USER_ID=`/netup/utm5/bin/utm5_urfaclient -a add_user_p -passport "$URF_FLAT" -advance_payment "1" -mob_tel "$URF_MOB" -floor "$URF_FLOOR" -entrance "$URF_ENTANCE" -comments "test" -full_name "$URF_FULLNAME" -balance "$URF_BALANCE" -login "$URF_LOGIN" -password $URF_PASSWORD -is_juridical $URF_URL -connect_date $URF_DATE -act_address "$URF_ADDR" -home_tel "$URF_TEL"`
ID=`echo "$USER_ID" | grep user_id | cut -f9 -d" " | cut -f2 -d= | cut -f1 -d/ | cut -f2 -d'"'`
echo "$ID"
/netup/utm5/bin/utm5_urfaclient -a link_user_group -group_id 202 -user_id $ID
else
echo "Ошибка, нет номера договора - NAME = $NAME, LOGIN = $LOGIN DATE = $DATE ADDR = $ADDR TEL = $TEL INN = $INN KPP = $KPP RASCHET = $RASCHET" >> error.log
fi
done < $1
Работает все, кроме connect_date. Может кто подскажет с фига?
mikkey finn
Сообщения: 1612 Зарегистрирован: Пт ноя 10, 2006 15:23
Сообщение
mikkey finn » Пт май 29, 2009 08:20
неверный формат даты? Ну или как вариант - дата должна быть представлена числом(unix timestamp). В общем, чтите доку.
bear
Сообщения: 498 Зарегистрирован: Чт ноя 15, 2007 11:53
Сообщение
bear » Пт май 29, 2009 08:23
скрипт это мой, только вижу немного модифицированный
должно все работать, дата подставляется текущая, которая выставлена в системе
подробней опиши проблему
и вообще строчка URF_DATE=`date -j -f "%d.%m.%Y" $URF_SDATE "+%s"` меня както сильно смущает
Lord Kaho
Сообщения: 22 Зарегистрирован: Чт май 21, 2009 12:41
Сообщение
Lord Kaho » Пт май 29, 2009 09:18
Правим так:
Код: Выделить всё
URF_FLAT="$URF_F1 $URF_F2, $URF_F3, $URF_F4"
echo $URF_DATE
if [ -n "$URF_LOGIN" ]
then
#USER_ID=`/netup/utm5/bin/utm5_urfaclient -l sa -P preater -a add_user_p -passport "$URF_FLAT" -advance_payment "1" -mob_tel "$URF_MOB" -floor "$URF_FLOOR" -entrance "$URF_ENTANCE" -comments "test" -full_nam
#ID=`echo "$USER_ID" | grep user_id | cut -f9 -d" " | cut -f2 -d= | cut -f1 -d/ | cut -f2 -d'"'`
#echo "$ID"
#/netup/utm5/bin/utm5_urfaclient -a link_user_group -group_id 202 -user_id $ID
else
echo "Ошибка, нет номера договора - NAME = $NAME, LOGIN = $LOGIN DATE = $DATE ADDR = $ADDR TEL = $TEL INN = $INN KPP = $KPP RASCHET = $RASCHET" >> error.log
fi
done < $1
Вывод:
stat# /root/inp.sh /root/work31.txt
1191219621
1191219621
1191219621
1191219621
1191219621
1191219621
1191219621
1191219621
Так что все верно... должно быть 01.10.2007, но в базу импортируется 01.01.1970
Lord Kaho
Сообщения: 22 Зарегистрирован: Чт май 21, 2009 12:41
Сообщение
Lord Kaho » Пт май 29, 2009 09:19
bear писал(а):
и вообще строчка URF_DATE=`date -j -f "%d.%m.%Y" $URF_SDATE "+%s"` меня както сильно смущает
Это тут может смущать? Преобразование формата из dd.mm.YYYY в timestamp, стандартная юниксовая команда.
bear
Сообщения: 498 Зарегистрирован: Чт ноя 15, 2007 11:53
Сообщение
bear » Пт май 29, 2009 09:59
Lord Kaho писал(а): bear писал(а):
и вообще строчка URF_DATE=`date -j -f "%d.%m.%Y" $URF_SDATE "+%s"` меня както сильно смущает
Это тут может смущать? Преобразование формата из dd.mm.YYYY в timestamp, стандартная юниксовая команда.
эээ, меня вот смутил ключ -j что он делает? в манах что то я не нашел...
Lord Kaho
Сообщения: 22 Зарегистрирован: Чт май 21, 2009 12:41
Сообщение
Lord Kaho » Пт май 29, 2009 11:28
bear писал(а):
эээ, меня вот смутил ключ -j что он делает? в манах что то я не нашел...
-j Do not try to set the date. This allows you to use the -f flag
in addition to the + option to convert one date format to
another.
Pulse
Сообщения: 945 Зарегистрирован: Вт окт 03, 2006 12:58
Сообщение
Pulse » Вс май 31, 2009 12:49
а чо в файле add_user_p.xml ?
bob
Сообщения: 20 Зарегистрирован: Сб дек 01, 2007 09:06
Сообщение
bob » Ср янв 13, 2010 11:45
Подскажите кому удалось скормить урфе -connect_date перебрал все коьбинации даты смотрю в мускуле стоит (видимо по умолчанию) "0". Пробую подставлять -connect_date "1262304000" это для мускуля 01.01.2010. Результат тот-же. -connect_date "XXXXXXXXX" подскажите что ей надо вместо ХХХХХ
Magnum72
Сообщения: 1947 Зарегистрирован: Чт сен 22, 2005 06:54
Контактная информация:
Сообщение
Magnum72 » Ср янв 13, 2010 14:20
bob писал(а): Подскажите кому удалось скормить урфе -connect_date перебрал все коьбинации даты смотрю в мускуле стоит (видимо по умолчанию) "0". Пробую подставлять -connect_date "1262304000" это для мускуля 01.01.2010. Результат тот-же. -connect_date "XXXXXXXXX" подскажите что ей надо вместо ХХХХХ
так не подойдет? <set dst="connect_date" value=now()/>
bob
Сообщения: 20 Зарегистрирован: Сб дек 01, 2007 09:06
Сообщение
bob » Ср янв 13, 2010 15:18
Magnum72 писал(а): bob писал(а): Подскажите кому удалось скормить урфе -connect_date перебрал все коьбинации даты смотрю в мускуле стоит (видимо по умолчанию) "0". Пробую подставлять -connect_date "1262304000" это для мускуля 01.01.2010. Результат тот-же. -connect_date "XXXXXXXXX" подскажите что ей надо вместо ХХХХХ
так не подойдет? <set dst="connect_date" value=now()/>
Нет нужна дата установленная вручную не сегодняшняя. Хотя-бы какую нибудь запись кроме 01.01.1970 (это по умолчанию)
Voronok
Сообщения: 116 Зарегистрирован: Пт мар 14, 2008 19:21
Сообщение
Voronok » Чт янв 14, 2010 09:27
В других функциях проглатывает дату в формате UNIX TIMESTAMP, а в функции add_user - при любом значении получается 0.
Chrst
Сообщения: 370 Зарегистрирован: Пт май 11, 2007 09:28
Откуда: Медиахолдинг "ЛеККС"
Контактная информация:
Сообщение
Chrst » Пт янв 15, 2010 08:57
bob писал(а): Нет нужна дата установленная вручную не сегодняшняя. Хотя-бы какую нибудь запись кроме 01.01.1970 (это по умолчанию)
При создании пользователя значение connect_date игнорируется.
После создания необходимо выполнить повторный вызов $urfa->rpcf_add_user($user,$parameters);
Код: Выделить всё
$user = $urfa->rpcf_get_userinfo($user_id);
$user['user_id'] = $user_id;
...
$user['connect_date'] = strtotime($connect_date);
...
$user = $urfa->rpcf_add_user($user,$parameters);