Попробуйте http://mobilecms.ru/ - стоит всего 99 рублей и масштабируемая, за такую цену как ядро - сойдет!
Для решения вашей задачи нужно изучить как хранятся аккаунты в этих трех системах. После этого переписать системы авторизации и регистрации под одну из систем, на двух других закрыть доступ к регистрациям.
Дальше решать вопросы с профилем пользователя...в какой системе его оставить.
Я думаю тут готовых решений вы не найдете, поэтому стоит действительно обратиться за написанием подобного модуля.
Попробуйте вот так:
<?phpif(!defined('DATALIFEENGINE')){ die("Hacking attempt!");}$lastnewsconf['news'] = 150; $lastnewsconf['link'] = 30; $lastnewsconf['limit'] = 5; $lastnewsconf['hide_html'] = true;$lastnewsconf['only_hide_main'] = false;$lastnewsconf['category'] = '3,4,61,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,58';$lastnews = dle_cache("lastnews", $config['skin']);if (!$lastnews) {//include(ENGINE_DIR.'/inc/parse.class.php');//$parse = new ParseFilter(Array(), Array());if ($lastnewsconf['only_hide_main']) $ln_allow_main = 'and allow_main=0';else $ln_allow_main = '';if ($lastnewsconf['category']) $ln_category = 'and category IN (' . $lastnewsconf['category'] . ')';else $ln_category = ''; $tpl->load_template('lastnews.tpl'); $db->query("SELECT id, title, short_story , date, alt_name FROM ". PREFIX . "_post WHERE approve='1' $ln_allow_main $ln_category ORDER BY date DESC LIMIT 0,{$lastnewsconf['limit']}"); while($row = $db->get_row()){ $row['date'] = strtotime($row['date']); if (strlen($row['title']) > $lastnewsconf['link']) $title = substr ($row['title'], 0, $lastnewsconf['link'])." .."; else $title = $row['title']; //$row['short_story'] = preg_replace("/\[attachment=[[:digit:]]*\]/si","",stripslashes($parse->BB_Parse($parse->process($row['short_story'])))); $row['short_story'] = preg_replace("/\[attachment=[[:digit:]]*\]/si","",stripslashes($row['short_story'])); $row['short_story'] = preg_replace("/<!--*-->/si","",$row['short_story']); if($lastnewsconf['hide_html'])$row['short_story'] = strip_tags($row['short_story']); if (strlen($row['short_story']) > $lastnewsconf['news']) $short_story = substr ($row['short_story'], 0, $lastnewsconf['news'])." ..."; else $short_story = $row['short_story']; $go_page = ($config['ajax']) ? "onclick=\"DlePage('newsid=".$row['id']."'); return false;\" " : ""; if ($config['allow_alt_url'] == "yes") $tpl->set_block("'\[full-link\](.*?)\[/full-link\]'si", "<a {$go_page}href=\"".$config['http_home_url'].date('Y/m/d/', $row['date']).$row['alt_name'].".html\">\\1</a>"); else $tpl->set_block("'\[full-link\](.*?)\[/full-link\]'si", "<a {$go_page}href=\"$PHP_SELF?newsid=".$row['id']."\">\\1</a>"); $tpl->set('{title}', stripslashes($title)); $tpl->set('{short_news}', $short_story); $tpl->compile('lastnews'); }$lastnews = $tpl->result['lastnews'];}?>
Можно пруф линк на оценку яндекса по поводу DLE?
P.S. http://getsimple.ru/ действительно очень простая и удобная для маленьких проектиков
Модуля такого не встречал, но ведь можно прикрутить комментирование через соц.сети или http://disqus.com/ - тем самым сняв с себя нагрузку, если только у вас комментарии не часть логической системы проекта.
function email($to, $subject, $content, $attach=false){ $content = str_replace("\r\n","\n",$content); $content = str_replace("\r","",$content); require_once($this->root.'/engine/mail/class.phpmailer.php'); $mail = new PHPMailer(true); try { $mail->DKIM_domain = '******'; $mail->DKIM_private = $this->root.'/engine/mail/.htkeyprivate'; $mail->DKIM_selector = 'oboi'; $mail->DKIM_passphrase = '*********'; $mail->DKIM_identity = 'support@******'; $mail->Mailer = "smtp"; $mail->Host = "217.23.5.201"; $mail->CharSet = "UTF-8"; //$mail->Encoding = "base64"; $mail->Port = "587"; $mail->WordWrap = "300"; $mail->SMTPAuth = true; $mail->Username = "support@******"; $mail->Password = "******"; $mail->AddReplyTo("support@******","Техническая поддержка "); $mail->AddAddress($to); $mail->SetFrom("noreply@******","Почтовый робот "); $mail->Subject = $subject; $mail->Body = $content; $mail->Send(); }catch(phpmailerException $e){echo $e->errorMessage();}catch(Exception $e){echo $e->getMessage();} }
SMTP на собственном сервере поднят?
Там внутренняя система фильтрации xss
$tpl->set( '{get_title}', urldecode($_GET['title']) );
value="{get_title}"
http://site.ru/index.php?do=order&title=Название
Творческих успехов вам!
Скачиваете в сети null версию DataLife Engine ставите на хостинг...это будет покруче чем всякие там turbosite.
Экспериментируете, если что-то ломается ставите заного...на сегодняшний день это один из простых CMS, которую может освоить любой школьник.
Напишите мне в личку, смогу вам помочь по этому вопросу.