Ну там ситуация вообще немного другая, китай заблокировал для своих пользователей все гуглосервисы, новости и все поисковые домены google.XXX , Гугл естественно потерял китайских пользователей, но нашли выход - договорились с властями китая, сейчас в китае работает только google.cn , при условии что гугль "фильтрует выдачу" - согласно условиям цензуры от китайской стороны. За что на гугль собственно вонь и поднималась, что мол пошли на поводу не демократического режима, ради своих прибылей.
С Китаем вон и то Гугль договорился и не побрезговал принять условия китайцев, хоть сколько вони на них не подымали, за уступки диктаторскому режиму. Значит выгодно наверное если не побоялись "общественного гнева" поборников демократии.
Гугль - это очень крупный бизнес, а для таких нет мелких рынков, если учуяли хотя бы отдаленную перспективу, не стоит сомневаться даже - прийдут непременно. Вопрос только времени, капитал любит движение, а у них есть что вкладывать, было бы во что.
В стандартной комплектации точно нет того что вы хотите.
Там всего 2 уровневая структура "Раздел-категория" и все.
Смотрите в сторону расширений для джумла, думаю подыщете вариант.
Самый большой архив расширений http://extensions.joomla.org/
M0DeSTix, смог бы но времени тоже в обрез, загружен работой.
Принцип да, там простой, как дополнил !kt0 , но приведение всего этого в логическую структру и заточка под каждого оператора отнимет много времени, коего не хватает :(
Да действительно я сразу не досмотрел, как сообщения отправляются.
Ну тогда получается, что под каждого оператора надо отдельно затачивать скрипт и еще нужно чтобы у оператора была форма отправки на сайте. Капча у них своя собственная вроде от злоупотребления, в случае с киевстаром наверное подгружается оттуда.
Подделать заголовки не проблема, через курл соединяемся, передаем любые заголовки, либо подставляем заголовки зашедшего юзера для реальности, стягиваем форму если нужно ( в случае если есть динамические поля ), капчу если есть ( которую юзер сам же и введет) и делаем POST в соответсвующие поля.
ИПы наверное - прокси юзаются, по другому ИП в заголовке я не знаю как подделать и предать левый.
Принцип спамилки вобщем, только узконаправленной :)
Неопнял причем тут капчи какие то и где сенсация то собственно, обычный sms гейт. Там скрипт из 10 строчек, я себе такой написал на сайт, но пока не открывал для общего обозрения, хочу еще защиту добавить от частой отправки с 1 ИП.
Код скрипта отправки смс для украинских операторов, сделан под движок Seditio, переделать его не составит труда я думаю, единственное что отправка текста только латиницей.
<?PHP /* ==================== Seditio - Website engine Copyright Neocrome http://ldu.neocrome.net [BEGIN_SED] File=plugins/sms/sms.php Version=102 Updated=2006-jun-12 Type=plugin Author=Asmo Description=Плагин отправки SMS [END_SED] [BEGIN_SED_EXTPLUGIN] Code=sms Part=main File=sms Hooks=standalone Tags= Order=10 [END_SED_EXTPLUGIN] ==================== */ if ( !defined('SED_CODE') OR !defined('SED_PLUG') ) { die("Hacking attempt."); } require("sms.config.php"); $a = sed_import('a','G','ALP'); $sender_email = sed_import('sender_email','P','STX'); $sender_name = sed_import('sender_name','P','STX'); $sender_message = sed_import('sender_message','P','HTM'); $sender_recip = sed_import('sender_recip','P','STX'); unset($error,$message); $plugin_title = "<a href=\"plug.php?e=sms\">".$L['plu_title']."</a>"; if ($a=='send') { if ( ($sender_recip<7 || $sender_recip>10) && (empty($sender_name) || empty($sender_message)) ) { $error = "<font color=red>".$L['plu_fieldempty']."<br /></font>"; } if (empty($error)) { $fheaders = ("From: sms@site.com\n"); // $fheaders = " "; $fbody = $L['plu_notice']; $fbody .= $sender_name." (".$sender_email.")\n\n"; // $fbody .= $L['plu_message']." : \n\n".$sender_message; $fbody .= $sender_message; sed_mail_sms( $sender_name.$cfg_recipient[$sender_recip][1], "", stripslashes($fbody), $fheaders,"no"); header("Location: plug.php?e=sms&a=done"); exit; } } elseif ($a=='done') { $message = "<p class=\"error\"><br /><b>".$L['plu_sent']."</b><br /><br /></p>"; unset($sender_email, $sender_name, $sender_message, $sender_recip); } $plugin_body .= (!empty($error)) ? "<strong>".$error.$L['plu_notsent']."</strong><br /> <br/>" : ''; $plugin_body .= (!empty($message)) ? "<strong>".$message."</strong><br /> <br/>" : ''; $plugin_body .= "<form name=\"sendmail\" action=\"plug.php?e=sms&a=send\" method=\"post\">"; $plugin_body .= "<table class=\"cells\">"; $plugin_body .= "<tr><td>".$L['plu_yourname']." : </td><td>"; $plugin_body .= "<input type=\"text\" class=\"text\" name=\"sender_name\" value=\"".sed_cc($sender_name)."\" size=\"32\" maxlength=\"64\" />"; $plugin_body .= "</td></tr>"; $plugin_body .= "<tr><td>".$L['plu_recipient']." : </td><td>"; $plugin_body .= "<select name=\"sender_recip\">"; foreach ($cfg_recipient as $k => $v) { $selected = ($k == $sender_recip) ? "selected=\"selected\"" : ''; $plugin_body .= "<option value=\"".$k."\" $selected>".$v[0]."</option>\n"; } $plugin_body .= "</select>"; $plugin_body .= "</td></tr>"; $plugin_body .= "<tr><td>".$L['plu_message']." : </td><td>"; $plugin_body .= "<textarea cols=\"48\" rows=\"8\" name=\"sender_message\">".sed_cc($sender_message)."</textarea>"; $plugin_body .= "</td></tr>"; $plugin_body .= "<tr><td colspan=\"2\" align=\"center\">"; $plugin_body .= "<input type=\"submit\" class=\"logbutton\" value=\"".$L['plu_send']."\" />"; $plugin_body .= "</td></tr>"; $plugin_body .= "</table>"; $plugin_body .= "</form><br />"; $plugin_body .= $L['hint']; // same as ldu_mail, but if $c="yes" than add to the end of mail site url function sed_mail_sms($fmail, $subject, $body, $headers='',$c) { global $cfg; if(empty($fmail)) { return(FALSE); } else { $headers = (empty($headers)) ? "From: \"".$cfg['maintitle']."\" <".$cfg['adminemail'].">\n"."Reply-To: <".$cfg['adminemail'].">\n"."Content-Type: text/plain; charset=".$cfg['charset']."\n" : $headers; if($c=="yes") { $body .= "\n\n".$cfg['maintitle']." - ".$cfg['mainurl']; } mail ($fmail, " ", $body, $headers); sed_stat_inc('totalmailsent'); return(TRUE); } } ?>
Конфиг
<?PHP if ( !defined('SED_CODE') ) { die("Wrong URL."); } // Empty - Do not delete this file $cfg_recipient[1] = array ('Golden Telecom (039)', "@sms.goldentele.com"); $cfg_recipient[2] = array ('Kyivstar (067-contract)', "@sms.kyivstar.net"); $cfg_recipient[3] = array ('Kyivstar (067-ACE&BASE)', "@2sms.kyivstar.net"); $cfg_recipient[4] = array ('Kyivstar (097-ACE&BASE)', "@2sms.kyivstar.net"); $cfg_recipient[5] = array ('DJuice (097)', "@2sms.kyivstar.net"); $cfg_recipient[6] = array ('Mobi GSM (068)', "@sms.mobi-gsm.com.ua"); $cfg_recipient[7] = array ('UMC (050)', "@sms.umc.ua"); $cfg_recipient[8] = array ('Администратор', "ваш_номер@2sms.kyivstar.net"); ?>
Языковый файл
<?PHP /* ==================== Land Down Under - Website engine Copyright Neocrome http://www.neocrome.net [BEGIN_SED] File=plugins/sms/lang/sms.ru.lang.php Version=100 Updated=2005-oct-01 Type=Plugin Author=rr9898 Description= [END_SED] ==================== */ $L['plu_title'] = "Отправить SMS (украинские операторы)"; $L['plu_fieldempty'] = "Для отправки сообщения Вы должны заполнить все поля."; $L['plu_wrongentry'] = "Ошибка при заполнении полей. Заполните все поля правильно."; $L['plu_notsent'] = "SMS не был отослан."; $L['plu_sent'] = "Сообщение было отправлено !"; $L['plu_notice'] = ""; $L['plu_recipient'] = "Получатель *"; $L['plu_subject'] = "Тема"; $L['plu_message'] = "Сообщение *"; $L['plu_youremail'] = "Ваш email"; $L['plu_yourname'] = "Номер получателя *"; $L['plu_email'] = "Email"; $L['plu_name'] = "Имя"; $L['plu_send'] = "Отправить SMS"; $L['hint'] = "<h2 class=\"title\">Внимание !</h2> <br /><br /> Для отправки SMS используйте международный формат, но без плюса ! Если внутрисетевой номер 1234567, то номер получателя, например, абонента <b>Golden Telecom</b>, должен выглядеть как 380391234567. <br/><br/> Для отправки SMS на оператора <b>Mobi-GSM</b> можно вводить в поле 'Номер получателя' как номер телефона, так и никнэйм. <br/><br/> Для отправки SMS на оператора <b>UMC</b> можно вводить в поле 'Номер получателя' как номер телефона, так и никнэйм. <br/><br/> У клиентов <b>ACE&BASE</b> и <b>DJuice</b> должна быть деактивирована услуга <b>анти-спам</b>.Для этого достаточно отослать пустое текстовое сообщение на специальный сервисный номер - 7021. Для повторной блокировки - на номер 7020. Для проверки статуса услуги - на номер 7022. <br/><br/> <b>Примечание 1:</b> При написании можно использовать только латинские буквы, цифры и знаки препинания. <br/> <b>Примечание 2:</b> Для отправки сообщения Администратору, номер получателя указывать ненадо. <br/><br/> ( <span style=\"color:maroon;\">*</span> ) - обязательные для заполнения поля. <br/><br/>"; // See other official plugins for samples ?>
У меня перед тем как расклеился сайт по www, точно также было, после всех манипуляций по склейке гдето через месяц вернулось.
Судя по всему единственный :)
У меня в windows-1251 сайт русскоязычный и все нормально.
Да и не втречал никогда таких жалоб на кодировку.
ЗЫ. проблема может быть в несоответвии реальной кодировки страницы с заявленной в заголовке ШТМЛ.
Эк они завернули :) И все склоняется конечно же к тому, что если сайт сливает деньги на ГУглАдвордс, то он «легитимен» и чем больше тем «легитимнее», а если рекламируется в другом месте, значит нет, круто однако.
В конфигурационный файл, который должен по идее инклудиться во все файлы.
У меня была похожая проблема, у меня все sql конструкции вынесены в
sql.config.php
В функцию соединения с базой добавлял строку, все работало.
Вобщем что нужно сделать, если скрипт толковый, то обычно мускул функции выносятся в отдельный файл, нужно его найти, в нем отыскать функцию соединения с БД и в этой функции после команды соеднения выполнить команду set_names нужная_кодировка .
Но проблема может остатся, с данными уже записанными в БД, в зависимости от того как эти символы записались, возможно прийдется сливать дамп и пытаться его конвертировать.
Сочувствую :) мне такие танцы с бубном знакомы уже