Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 2 Ответов
  • 7806 Просмотров
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Поскольку компонент скорее мертв, чем жив, но много сайтов продолжает его использовать я решил выложить в открытый доступ свои наработки, которые ранее были доступны только на коммерческой основе.

Начну с смс-биллинга. Инструкция была написана для версии 2.3, насколько она работоспособна сейчас не знаю, если smscoin.com ничего не поменял в тех.условиях, то вы обречены на успех. Так что делаем бекап и пробуем ставить. Гарантии никакой не даю, на быструю поддержку не рассчитывайте.

Благодарности принимаются в виде пополнения баланса суммой "сколько не жалко" на номер +7 928 2709015 (Мегафон-Кавказ).


Код
1 (с) Alex Revo 2008 www.recly.ru
2
3 Подключение биллинга для com_autobb 2.3
4
5 1. Добавляем колонку для ссылки на подъем объявления
6 файл autobb.html.php
7 функция listMessages
8
9 найти
10 <?php if( $id or $task=='myads' ) { ?>
11 <th axis="number" class="views"><?php echo
_AUTOBB_LISTFORM_HEADER_VIEWM;?></th>
12 <?php } ?>
13 </tr>
14 </thead><tbody>
15
16 заменить на
17 <?php if( $id or $task=='myads' ) { ?>
18 <th axis="number" class="views"><?php echo
_AUTOBB_LISTFORM_HEADER_VIEWM;?></th>
19 <?php } ?>
20 <th id="views">VIP</th>
21 </tr>
22 </thead><tbody>
23
24 ниже найти
25 <?php if( $id or $task=='myads' ) { ?>
26 <td id="views"><?php echo $row->views; ?></td>
27 <?php } ?>
28 добавить после
29 <td id="vip"><?php if ((!$row->vip) or ($row->vip and $t>$row->vip_exp))
echo '<a title="Включить в VIP Объявления"
href="'.sefRelToAbs("index.php?option=com_autobb&Itemid=".$Itemid."&task=setvi
p&id=".$row->id).'"><img
src="'.$mosConfig_live_site.'/components/com_autobb/images/star.gif"/></a>';
30 ?></td>
31 *если Вип могут быть только объявъявления с фото, то код такой
32 <td id="vip"><?php if ((!$row->vip and $row->photo_count) or ($row->vip and
$t>$row->vip_exp and $row->photo_count)) echo '<a title="Включить в VIP
Объявления"
href="'.sefRelToAbs("index.php?option=com_autobb&Itemid=".$Itemid."&task=setvi
p&id=".$row->id).'"><img
src="'.$mosConfig_live_site.'/components/com_autobb/images/star.gif"/></a>';
33 ?></td>
34
35 2. Добавляем ссылку на странице просмотра объявления
36 файл autobb.html.php
37 функция showMessages
38
39 найти
40 <td class="small" colspan="2" style="color:#143fc8; font-weight:bold;">
41 <?php echo sprintf(_AUTOBB_SHOWFORM_HEADERS_AD_NUMBER, substr('00000000', 1,
8-strlen($row->id) ).$row->id);
42 if( $row->userid && $row->userid == $my->id ) {
43 echo '<a
href="'.sefRelToAbs("index.php?option=com_autobb&Itemid=".$Itemid."&task=e
dit&id=".$row->id).'">'._AUTOBB_SHOWFORM_HEADERS_AD_EDIT.'</a>';
44 }
45 ?>
46 </td></tr>
47 заменить на
48 <td class="small" colspan="2" style="color:#143fc8; font-weight:bold;">
49 <?php echo sprintf(_AUTOBB_SHOWFORM_HEADERS_AD_NUMBER, substr('00000000', 1,
8-strlen($row->id) ).$row->id);
50 if( ($row->userid && $row->userid == $my->id) or $my->usertype=="Super
Administrator" ) {
51 echo '<a
href="'.sefRelToAbs("index.php?option=com_autobb&Itemid=".$Itemid."&task=e
dit&id=".$row->id).'">'._AUTOBB_SHOWFORM_HEADERS_AD_EDIT.'</a><br/>';
52 }
53 if (!$row->vip or ($row->vip and $t>$row->vip_exp)) echo '<a
href="'.sefRelToAbs("index.php?option=com_autobb&Itemid=".$Itemid."&task=setvi
p&id=".$row->id).'"><img
src="'.$mosConfig_live_site.'/components/com_autobb/images/star.gif"/>
Включить в VIP Объявления</a>';
54 ?>
55 </td></tr>
56 *если Вип могут быть только объявъявления с фото, то код такой
57 <td class="small" colspan="2" style="color:#143fc8; font-weight:bold;">
58 <?php echo sprintf(_AUTOBB_SHOWFORM_HEADERS_AD_NUMBER, substr('00000000', 1,
8-strlen($row->id) ).$row->id);
59 if( ($row->userid && $row->userid == $my->id) or $my->usertype=="Super
Administrator" ) {
60 echo '<a
href="'.sefRelToAbs("index.php?option=com_autobb&Itemid=".$Itemid."&task=e
dit&id=".$row->id).'">'._AUTOBB_SHOWFORM_HEADERS_AD_EDIT.'</a><br/>';
61 }
62 if ((!$row->vip and sizeof($photos)>0) or ($row->vip and $t>$row->vip_exp
and sizeof($photos)>0)) echo '<a
href="'.sefRelToAbs("index.php?option=com_autobb&Itemid=".$Itemid."&task=setvi
p&id=".$row->id).'"><img
src="'.$mosConfig_live_site.'/components/com_autobb/images/star.gif"/>
Включить в VIP Объявления</a>';
63 ?>
64 </td></tr>
65
66 3. Загружаем в папку /components/com_autobb/images/ файл star.gif
67 *картинку можно заменить на свою с тем же именем
68
69 4. Добавляем функцию заказа вип-статуса
70 файл autobb.php
71
72 найти
73 default :
74 $meta = listMessages( $category_id );
75 if ($my->id) {
76 $mainframe->setPageTitle( $meta->title );
77 if( $meta->pathway ) $mainframe->appendPathWay( $meta->pathway );
78 }
79 break;
80 перед добавить
81 case "setvip":
82 setVip ($id);
83 break;
84
85 в самом конце файла перед ?>
86 добавить
87 function setVip ($id) {
88 $id = intval ( mosGetParam( $_REQUEST, 'id', '' ) );
89 if (!$id) return;
90 else HTML_autobb::setVip( $id );
91 }
92
93 4.1. Заводим смс-банк для сайта
94 Регистрируемся на сайте smscoin.com, активируем аккаунт, авторизуемся
95
96 Услуги - смс-банк - добавить
97 Вводим:
98 Название - доска обяъвлений сайт.ру
99 Секретный код - любой
100 Отмечаете в списке страны с которыми работаете
101
102 Success URL http://ваш_сайт/index.php?option=com_autobb&task=list&error=1024&Itemid=76
103 Success URL метод post
104 Fail URL http://ваш_сайт/index.php?option=com_autobb&task=list&error=2048&Itemid=76
105 Fail URL метод post
106 Result URL http://ваш_сайт/index.php?option=com_autobb&task=smsvip
107 Result URL метод post
108 Задержка 1
109 Активен поставить галочку
110
111 Сохранить.
112
113 4.2. Настраиваем переход к оплате
114 файл autobb.html.php
115 перед } //end of HTML_autobb
116 добавить
117 function setVip ($id) {
118 if ($id) {
119 global $mosConfig_live_site;
120
121 $secret_code = "xxxxxxxxx"; //ввести здесь свой секретный код
122 $purse = xxxxx; // sms:bank id идентификатор смс:банка ID
123 $amount = 1.00; // transaction sum сумма транзакции
124 $clear_amount = x; // billing algorithm Алгоритм подсчета стоимости
услуги для пользователя. Если 0, то значение s_amount представляет собой конечную
стоимость для пользователя. Иначе значение s_amount выражает ожидаемую вами прибыль
от операции; стоимость для каждого пользователя будет варьироваться в зависимости от
действующих тарифов и условий приема сообщений местными сотовыми операторами.
125 $description = "Оплата VIP Объявления"; // operation desc описание операции 127
символов
126 $sign = ref_sign($purse, $id, $amount, $clear_amount, $description, $secret_code);
127 ?>
128 <table class="contentpaneopen" id="showform" width="100%">
129 <tr><td><p>Поднять статус объявления можно посредством оптравки
смс-сообщения.<br/> Стоимость сообщения: <b>ввести ориентировочную стоимость</b>
не включая налоги. Точная стоимость формируется в зависимости от Вашего
оператора.</p>Нажмите кнопку "Перейти к оплате" и следуйте инструкциям
системы.<br/> Платежная система покажет Вам точную стоимость сообщения для
вашего оператора. Вы можете отказаться от оплаты услуги в любой момент до
отправки сообщения.<br/>После прохождения платежа вы получите ответное
смс-сообщение.</td></tr>
130 <tr><td><form action="http://bank.smscoin.com/bank/" method="post">
131 <input name="s_purse" type="hidden" value="<?php echo $purse;?>" />
132 <input name="s_order_id" type="hidden" value="<?php echo $id;?>" />
133 <input name="s_amount" type="hidden" value="<?php echo $amount;?>" />
134 <input name="s_clear_amount" type="hidden" value="<?php echo
$clear_amount;?>" />
135 <input name="s_description" type="hidden" value="<?php echo
$description;?>" />
136 <input name="s_sign" type="hidden" value="<?php echo $sign;?>" />
137 <input type="submit" value="Перейти к оплате" />
138 </form></td></tr>
139 </table><?php
140 }
141 }
142
143 5. Добавляем шифрование параметров
144 файл autobb.php
145 в самом конце файла перед ?>
146 добавить
147 // функция возвращает MD5 переданных ей параметров
148 function ref_sign() {
149 $params = func_get_args();
150 $prehash = implode("::", $params);
151 return md5($prehash);
152 }
153
154 6. Функция подъема объявления
155 файл autobb.php
156 в самом конце файла перед ?>
157 добавить
158 function smsvip(){
159 foreach($_REQUEST as $request_key => $request_value) {
160 $_REQUEST[$request_key] = substr(strip_tags(trim($request_value)), 0, 250);
161 }
162 $secret_code = "хххххх"; //указать свой код
163 $purse = $_REQUEST["s_purse"]; // sms:bank id идентификатор
смс:банка
164 $order_id = $_REQUEST["s_order_id"]; // operation id идентификатор
операции
165 $amount = $_REQUEST["s_amount"]; // transaction sum сумма транзакции
166 $clear_amount = $_REQUEST["s_clear_amount"]; // billing algorithm алгоритм подсчета
стоимости
167 $inv = $_REQUEST["s_inv"]; // operation number номер операции
168 $phone = $_REQUEST["s_phone"]; // phone number номер телефона
169 $sign = $_REQUEST["s_sign_v2"]; // signature подпись
170 $reference = ref_sign($secret_code, $purse, $order_id, $amount, $clear_amount, $inv,
$phone);
171 if($sign == $reference) {
172 $d = date ("Y-".(date('m')+'01')."-d H:i:s");
173 $query = "UPDATE #__autobb_messages set vip=1, vip_exp='".$d."' WHERE
id=".$order_id;
174 global $database;
175 $database->setQuery( $query);
176 $database->query();
177 $msg = "СМС-платеж совершен успешно. ВИП объявление №".$order_id;
178 mosMail( "откого@сайт.ru", "Имя от кого", "кому@сайт.ру", "Поступил платеж", $msg,
$mode=1); //вписать свои данные
179 } else return;
180 }
181
182 7. Добавляем новые поля в базу и компонент
183 добавить эти запросы через phpMyAdmin или com_artadminer
184 ALTER TABLE `jos_autobb_messages` ADD `vip` TINYINT( 1 ) NOT NULL ,
185 ADD `vip_exp` DATETIME NOT NULL ;
186 ALTER TABLE `jos_autobb_messages` ADD INDEX `vip` ( `vip` );
187
188 файл autobb.class.php
189 после var $banned = NULL; //бан по IP
190 добавить
191 var $vip = NULL; //vip
192 var $vip_exp = NULL; //vip
193
194 8. Выводим сообщения
195 файл autobb.php
196 функция getErrorText
197 после if( $code & 512 ) {
198 $texts[] = _AUTOBB_ERRORS_BANNED;
199 $error_code = 3;
200 }
201 добавить
202 if( $code & 1024 ) {
203 $texts[] = "Платеж совершен успешно. В течение 5 минут объявлению будет присвоен
статус VIP сроком на 1 месяц.";
204 $error_code = 1;
205 }
206 if( $code & 2048 ) {
207 $texts[] = "Во время выполения операции произошла ошибка. По всем вопросам
обращайтесь к администратору.";
208 $error_code = 3;
209 }
210 8. Изменяем порядок выборки объявлений
211 файл autobb.php
212 функция listMessages
213
214 найти
215 $query.= "\n ORDER BY a.sticked DESC, a.ordering ASC, a.createDate DESC";
216 заменить
217 $query.= "\n ORDER BY a.vip, a.sticked DESC, a.ordering ASC, a.modifyDate DESC";
218 встречается 2 раза, заменить в обоих
219 9. Делаем выделение цветом
220 файл autobb.html.php
221 функция listMessages
222 найти <tr class="sectiontableentry<?php echo $k;?>">
223 заменить на <tr <?php if ($row->vip) echo 'style="background-color:#CCFFCC;"'; else echo
'class="sectiontableentry'.$k.'"';?>>
224 *background-color можно поменять на свой
225
226 10. Делаем проверку срока размещения вип объявления
227 файл autobb.html.php
228 функция listMessages
229 найти $mess = $mess + $row->views;
230 после добавить
231 $t=date("Y-m-d H:i:s");
232 if ($row->vip and $t > $row->vip_exp) {
233 unvip ($row->id); $row->vip=0; }
234
235 файл autobb.html.php
236 функция showMessages
237
238 найти $steers = array( _AUTOBB_SHOWFORM_LISTS_STEERING_WHEEL_0,
_AUTOBB_EDITFORM_LISTS_CHOOSE_STEERING_WHEEL_1,
_AUTOBB_EDITFORM_LISTS_CHOOSE_STEERING_WHEEL_2 );
239 после добавить
240 $t=date("Y-m-d H:i:s");
241
242 файл autobb.php
243 в самом конце файла перед ?>
244 добавить function unvip ($id) {
245 if (!$id) return;
246 global $database;
247 $query = "UPDATE #__autobb_messages set vip=0 WHERE id=".$id;
248 $database->setQuery( $query);
249 $database->query();
250 }
251 файл autobb.php
252
253 найти
254 default :
255 $meta = listMessages( $category_id );
256 if ($my->id) {
257 $mainframe->setPageTitle( $meta->title );
258 if( $meta->pathway ) $mainframe->appendPathWay( $meta->pathway );
259 }
260 break;
261 перед добавить
262
263 case "smsvip":
264 smsvip ();
265 break;
« Последнее редактирование: 12.04.2013, 13:46:07 от Alex Revo »
*

digor1

  • Осваиваюсь на форуме
  • 29
  • 0 / 0
Немогу найти в файле autobb.html.php, $query.= "\n ORDER BY a.sticked DESC, a.ordering ASC, a.createDate DESC";
и что это
E:\WORK\Recly\billng — File date: 08.04.2011 — File time: 21:39:10
billng — ? 11.04.2011, 10:04:21 — ? 5
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Ищите так: "ORDER BY a.sticked DESC, a.ordering ASC, a.createDate DESC"

Это - служебные пометки программы в которой готовилась инструкция.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Компонент AutoBB REV 2.3

Автор Moralezz

Ответов: 1
Просмотров: 2963
Последний ответ 24.02.2019, 11:10:31
от KKAAZZOO
Компонент AutoBB REV 2.3 - AutoBB

Автор Moralezz

Ответов: 0
Просмотров: 1779
Последний ответ 23.02.2019, 20:42:08
от Moralezz
autobb+чпу

Автор htmlcss

Ответов: 0
Просмотров: 3437
Последний ответ 16.11.2013, 14:18:38
от htmlcss
можно ли рлализовать сайт на AutoBB фукциональностью как koleso.kz

Автор saidrustam

Ответов: 7
Просмотров: 6598
Последний ответ 21.10.2013, 10:20:02
от Кто в сапогах
AutoBB 2.3 for Joomla 1.5 legacy mode

Автор haword

Ответов: 560
Просмотров: 107641
Последний ответ 26.06.2013, 23:59:49
от exanson