137 lines
7.2 KiB
PHP
137 lines
7.2 KiB
PHP
<?php
|
|
/**
|
|
* Project: astat - simple site engine
|
|
* File: /modules/mybb/admin.apnl.php
|
|
*
|
|
* This library is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
* License as published by the Free Software Foundation; either
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
*
|
|
* This library is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* Lesser General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
* License along with this library; if not, write to the Free Software
|
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
|
*
|
|
* @link http://www.astat.org SVN: $URL$
|
|
* @copyright 2010 becast.at
|
|
* @author Bernhard Jaud <bernhard at becast dot at>
|
|
* @package astat module
|
|
* @license http://opensource.org/licenses/gpl-license.php GNU Public License
|
|
* @version $Id$
|
|
*/
|
|
If (!defined("in_BL_ADMIN")) {
|
|
die("Dieses Script kann nicht ausserhalb des Frameworks laufen!");
|
|
}
|
|
$session->page_begin("mybb admin", True);
|
|
|
|
class admin_mybb_panel extends admin_module{
|
|
|
|
function output(){
|
|
global $config, $db,$panel, $cache, $session;
|
|
if(isset($_POST['submit'])){
|
|
if(isset($_POST['prefix'])&& $_POST['prefix']!=""){
|
|
$cf3cfg=array('prefix'=>$_POST['prefix']);
|
|
$cache->set('mybbconfig',$cf3cfg);
|
|
$panel->admin_message('Danke', 'Prefix wurde eingetragen!',TRUE,'admin_mybb');
|
|
}
|
|
}elseif(isset($_POST['insert'])){
|
|
$cf3cfg=array('prefix'=>$_POST['prefix']);
|
|
$res=$db->query('SELECT * FROM `'.$config['prefix'].'users`');
|
|
$this->cf3_conf=$this->fetchboardconfig();
|
|
while($row=$db->fetch_array($res)){
|
|
if($row['uid']==$session->userdata['uid']){
|
|
$db->query("UPDATE `" . $config['prefix'] . "users` SET `fuid`='1' WHERE `uid`='".$row['uid']."'");
|
|
continue;
|
|
}
|
|
$salt = $session->generate_Key(32);
|
|
$saltetpass = md5($row['password'].$salt);
|
|
$user_update['user_perm_grp'] = ($this->cf3_conf['reg_default_group'] <= 0)? 1 : $this->cf3_conf['reg_default_group'];
|
|
$user_update['user_topics_per_page'] = $this->cf3_conf['topics_per_page'];
|
|
$user_update['user_posts_per_page'] = $this->cf3_conf['posts_per_page'];
|
|
$user_update['user_dateformat'] = $this->cf3_conf['def_timeformat'];
|
|
$user_update['user_realname'] = $row['realname'];
|
|
$user_update['user_from'] = $row['from'];
|
|
$user_update['user_birthday'] = $row['birthday'];
|
|
$user_update['user_allow_pm'] = 1;
|
|
$user_update['user_activate_smilies'] = 1;
|
|
$user_update['user_activate_sig'] = 1;
|
|
$user_update['user_activate_bbcode'] = 1;
|
|
$user_update['user_show_pm_new'] = 1;
|
|
$user_update['user_auto_abo'] = 1;
|
|
$user_update['user_abo_type'] = 0;
|
|
$user_update['user_show_sigs'] = 1;
|
|
$user_update['user_show_avatars'] = 1;
|
|
$user_update['user_show_images'] = 1;
|
|
$user_update['user_show_embed_bbcode'] = 1;
|
|
$user_update['user_show_smilies'] = 1;
|
|
$user_update['user_show_pm_new_snd'] = 1;
|
|
if($row['gender'] == 'm'){
|
|
$user_update['user_gender']=1;
|
|
}elseif($rdata['gender'] == 'f'){
|
|
$user_update['user_gender']=2;
|
|
}else{
|
|
$user_update['user_gender']=0;
|
|
}
|
|
$db->query("INSERT INTO `" . $cf3cfg['prefix'] . "users` (`user_nickname`,`user_salt`,`user_password`,`user_old_pw`,`user_registered_since`,`user_email`,`user_perm_grp`,`user_actkey`,`user_active`,`user_topics_per_page`,`user_posts_per_page`,`user_dateformat`,`user_gender`,`user_realname`,`user_birthday`,`user_allow_pm`,`user_activate_smilies`,`user_activate_sig`,`user_activate_bbcode`,`user_show_pm_new`,`user_auto_abo`,`user_abo_type`,`user_show_sigs`,`user_show_avatars`,`user_show_images`,`user_show_embed_bbcode`,`user_show_smilies`,`user_show_pm_new_snd`,`user_color`,`user_from`)
|
|
VALUES ('".$row['username']."','".$salt."','".$saltetpass."',0,'".time()."','".$row['email']."','".$user_update['user_perm_grp']."','".$session->generate_Key(30)."','1','".$user_update['user_topics_per_page']."','".$user_update['user_posts_per_page']."','".$user_update['user_dateformat']."','".$user_update['user_gender']."','".$user_update['user_realname']."','".$user_update['user_birthday']."','".$user_update['user_allow_pm']."','".$user_update['user_activate_smilies']."','".$user_update['user_activate_sig']."','".$user_update['user_activate_bbcode']."','".$user_update['user_show_pm_new']."','".$user_update['user_auto_abo']."','".$user_update['user_abo_type']."','".$user_update['user_show_sigs']."','".$user_update['user_show_avatars']."','".$user_update['user_show_images']."','".$user_update['user_show_embed_bbcode']."','".$user_update['user_show_smilies']."','".$user_update['user_show_pm_new_snd']."','".$user_update['user_color']."','".$user_update['user_from']."')") or die($db->error());
|
|
$lid=$db->last_id();
|
|
$db->query("UPDATE `" . $config['prefix'] . "users` SET `fuid`='".$lid."' WHERE `uid`='".$row['uid']."'");
|
|
$cf3cfg=array('prefix'=>$cf3cfg['prefix'],'installed'=>true);
|
|
$cache->set('cf3config',$cf3cfg);
|
|
$panel->admin_message('Danke', 'Die Datenbanken wurden verknüpft!',TRUE,'admin_mybb');
|
|
}
|
|
}else{
|
|
$count=false;
|
|
$cf=$cache->read('mybbconfig');
|
|
$panel->title="myBB Forenanbindung verwalten";
|
|
$panel->form(array('action'=>$config['path'].'/admin/index.php?panel=admin_mybb'));
|
|
$res=$db->query('SELECT count(`uid`) as `count` FROM `'.$cf['prefix'].'users`');
|
|
if($res){
|
|
$count=$db->fetch_row($res);
|
|
$count=$count[0];
|
|
}
|
|
if($cf['installed']==true){
|
|
$panel->content.='<div style="color:green;">Die Forendatenbank wurde erfolgreich verknüpft.</div>';
|
|
}else{
|
|
if($count===false){
|
|
$panel->content.='<div style="color:red;">Die Forendatenbank wurde nicht gefunden.</div>';
|
|
}elseif($count<=2){
|
|
$panel->content.='<div style="color:green;">Die Forendatenbank wurde gefunden. Es kann nun eine Verknüpfung vorgenommen werden.</div>';
|
|
$panel->submit(array('name'=>'insert'),'value="Daten übernehmen"');
|
|
}elseif($count>2){
|
|
$panel->content.='<div style="color:orange;">Die Forendatenbank wurde gefunden. Es sind aber schon User in der Forendatenbank. Die Verknüpfung muss manuell erfolgen.</div>';
|
|
}
|
|
}
|
|
$panel->content.='<h3>Forenprefix:</h3>';
|
|
$panel->field(array('name'=>'prefix','typ'=>'text','value'=>$cf['prefix']));
|
|
$panel->field(array('name'=>'send','typ'=>'hidden','value'=>'1'));
|
|
$panel->submit();
|
|
$panel->formClose();
|
|
}
|
|
}
|
|
|
|
function fetchboardconfig(){
|
|
global $db, $config, $cache, $log;
|
|
$mybb=$cache->read('mybbconfig');
|
|
try{
|
|
$result = $db->query("SELECT `name`, `value` FROM " . $mybb['prefix'] . "settings");
|
|
if(!$result){
|
|
throw new Exception($db->error());
|
|
}
|
|
while ($row = $db->fetch_array($result)){
|
|
$boardconfig[$row['name']] = $row['value'];
|
|
}
|
|
$boardconfig['prefix']=$mybb['prefix'];
|
|
return $boardconfig;
|
|
}catch(Exception $e){
|
|
$log->write($e,2,__LINE__,__FILE__);
|
|
return NULL;
|
|
}
|
|
}
|
|
}
|
|
?>
|