Source for file ips_wrapper.inc.php
Documentation is available at ips_wrapper.inc.php
define('IPB_THIS_SCRIPT', 'public');
define( 'ALLOW_FURLS', FALSE ); // disable friendly url check
if(file_exists(ipbwi_BOARD_PATH. 'admin/api/api_core.php') === false){
echo '<p><strong>Error:</strong> Board path is not correct: '. ipbwi_BOARD_PATH. '</p>';
define('IPBWI_INCORRECT_BOARD_PATH',true);
require_once(ipbwi_BOARD_PATH. 'admin/api/api_core.php');
$this->loggedIn = (bool) $this->lang->memberData['member_id']; // status wether a member is logged in
require_once(ipbwi_BOARD_PATH. 'admin/sources/base/ipsController.php');
$this->command = new ipsCommand_default();
require_once(ipbwi_BOARD_PATH. 'admin/sources/classes/session/publicSessions.php');
$this->session = new publicSessions();
// prepare bbcode functions
$this->cache->rebuildCache( 'emoticons', 'global' );
// force ability of using rich text editor
$this->registry->member()->setProperty('_canUseRTE', TRUE );
// get login / logout functions
require_once(ipbwi_ROOT_PATH. 'lib/ips/ips_public_core_global_login.inc.php');
$this->login->initHanLogin($this->registry);
// get registration function
require_once(ipbwi_ROOT_PATH. 'lib/ips/ips_register.inc.php');
$this->register->initRegister($this->registry);
// deactivate redirect function
require_once(ipbwi_ROOT_PATH. 'lib/ips/ips_output.inc.php');
// get permission functions
require_once(ipbwi_BOARD_PATH. 'admin/sources/classes/class_public_permissions.php');
require_once(ipbwi_BOARD_PATH. 'admin/sources/handlers/han_parse_bbcode.php');
// get messenger functions
require_once(ipbwi_BOARD_PATH. 'admin/applications/members/sources/classes/messaging/messengerFunctions.php');
$this->messenger = new messengerFunctions($this->registry);
/*require_once(ipbwi_BOARD_PATH.'admin/sources/classes/member/memberFunctions.php');
$this->memberFunctions = new memberFunctions($this->registry);*/
$id = $this->member->member_id;
@$this->login->doLogout(false); // @ todo: check notices from ip.board
$return = @IPSMember::remove($id, $check_admin); // @ todo: check notices from ip.board
return $return === null ? true : false;
// return data of current member
return $this->lang->memberData;
public function changePW($newPass, $userID = false, $currentPass = false){
$salt = IPSMember::generatePasswordSalt(5);
$hash = IPSMember::generateCompiledPasshash($salt, md5($newPass));
if($currentPass !== false){
$sql = $this->DB->query('SELECT members_pass_hash,members_pass_salt FROM '. $this->settings['sql_tbl_prefix']. 'members WHERE member_id="'. $userID. '"');
$info = $this->DB->fetch($sql);
$hash_old = IPSMember::generateCompiledPasshash($info['members_pass_salt'], md5($currentPass));
if($info['members_pass_hash'] != $hash_old){
$SQL = 'UPDATE '. $this->settings['sql_tbl_prefix']. 'members SET members_pass_hash="'. $hash. '",members_pass_salt="'. $salt. '" WHERE member_id="'. $userID. '"';
|