IPBWI
[ class tree: IPBWI ] [ index: IPBWI ] [ all elements ]

Source for file ips_wrapper.inc.php

Documentation is available at ips_wrapper.inc.php

  1. <?php
  2.  
  3. define('IPB_THIS_SCRIPT''public');
  4. define'IN_IPB');
  5. define'ALLOW_FURLS'FALSE )// disable friendly url check
  6.  
  7. if(file_exists(ipbwi_BOARD_PATH.'admin/api/api_core.php'=== false){
  8.     echo '<p><strong>Error:</strong> Board path is not correct: '.ipbwi_BOARD_PATH.'</p>';
  9.     define('IPBWI_INCORRECT_BOARD_PATH',true);
  10. }else{
  11.  
  12. require_once(ipbwi_BOARD_PATH.'admin/api/api_core.php');
  13.  
  14. class ipbwi_ips_wrapper extends apiCore {
  15.     public    $loggedIn;
  16.     public    $DB;
  17.     public    $settings;
  18.     public    $request;
  19.     public    $lang;
  20.     public    $member;
  21.     public    $cache;    
  22.     public    $registry;
  23.     public    $perm;
  24.     public    $parser;
  25.     
  26.     public function __construct(){
  27.         $this->init();
  28.         
  29.         $this->loggedIn                    = (bool) $this->lang->memberData['member_id']// status wether a member is logged in
  30.         $this->settings['base_url']        $this->settings['board_url'].'?';
  31.         
  32.         // get common functions
  33.         require_once(ipbwi_BOARD_PATH.'admin/sources/base/ipsController.php');
  34.         $this->command        new ipsCommand_default();
  35.         
  36.         // initialize session
  37.         require_once(ipbwi_BOARD_PATH.'admin/sources/classes/session/publicSessions.php');
  38.         $this->session        new publicSessions();
  39.  
  40.         // prepare bbcode functions
  41.         $this->cache->rebuildCache'emoticons''global' );
  42.         
  43.         // force ability of using rich text editor
  44.         $this->registry->member()->setProperty('_canUseRTE'TRUE );
  45.         
  46.         /*
  47.         MEMBER FUNCTIONS
  48.         */
  49.         
  50.         // get login / logout functions
  51.         require_once(ipbwi_ROOT_PATH.'lib/ips/ips_public_core_global_login.inc.php');
  52.         $this->login new ipbwi_ips_public_core_global_login();
  53.         $this->login->initHanLogin($this->registry)
  54.         
  55.         // get registration function
  56.         require_once(ipbwi_ROOT_PATH.'lib/ips/ips_register.inc.php');
  57.         $this->register new ipbwi_ips_public_core_global_register();
  58.         $this->register->initRegister($this->registry);
  59.         
  60.         // deactivate redirect function
  61.         require_once(ipbwi_ROOT_PATH.'lib/ips/ips_output.inc.php');
  62.         $this->registry->output new ipbwi_ips_output($this->registrytrue);
  63.         
  64.         // get permission functions
  65.         require_once(ipbwi_BOARD_PATH.'admin/sources/classes/class_public_permissions.php');
  66.         $this->perm = new classPublicPermissions($this->registry);
  67.         
  68.         // get bbcode functions
  69.         require_once(ipbwi_BOARD_PATH.'admin/sources/handlers/han_parse_bbcode.php');
  70.         $this->parser = new parseBbcode($this->registry);
  71.         
  72.         // get messenger functions
  73.         require_once(ipbwi_BOARD_PATH.'admin/applications/members/sources/classes/messaging/messengerFunctions.php');
  74.         $this->messenger new messengerFunctions($this->registry);
  75.         
  76.         // get member functions
  77.         /*require_once(ipbwi_BOARD_PATH.'admin/sources/classes/member/memberFunctions.php');
  78.         $this->memberFunctions = new memberFunctions($this->registry);*/
  79.         
  80.     }
  81.     
  82.     public function memberDelete($id$check_admin=false){
  83.         if!is_array($id&& !intval($id) )
  84.         {
  85.             $id $this->member->member_id;
  86.         }
  87.         // first logout
  88.         @$this->login->doLogout(false)// @ todo: check notices from ip.board
  89.         // delete member
  90.         $return @IPSMember::remove($id$check_admin)// @ todo: check notices from ip.board
  91.         
  92.         return $return === null true false;
  93.     }
  94.     // return data of current member
  95.     public function myInfo(){
  96.         return $this->lang->memberData;
  97.     }
  98.     
  99.     // change user's pw
  100.     public function changePW($newPass$userID false$currentPass false){
  101.         $salt        IPSMember::generatePasswordSalt(5);
  102.         $hash        IPSMember::generateCompiledPasshash($saltmd5($newPass));
  103.  
  104.         // check old pass
  105.         if($currentPass !== false){
  106.             $sql        $this->DB->query('SELECT members_pass_hash,members_pass_salt FROM '.$this->settings['sql_tbl_prefix'].'members WHERE member_id="'.$userID.'"');
  107.             $info        $this->DB->fetch($sql);
  108.             
  109.             $hash_old    IPSMember::generateCompiledPasshash($info['members_pass_salt']md5($currentPass));
  110.             
  111.             if($info['members_pass_hash'!= $hash_old){
  112.                 return false;
  113.             }
  114.         }
  115.         
  116.         $SQL 'UPDATE '.$this->settings['sql_tbl_prefix'].'members SET members_pass_hash="'.$hash.'",members_pass_salt="'.$salt.'" WHERE member_id="'.$userID.'"';
  117.         
  118.         $this->DB->query($SQL);
  119.  
  120.         return true;
  121.     }
  122. }
  123.  
  124. }
  125. ?>

Documentation generated on Sat, 23 Oct 2010 23:35:55 +0200 by phpDocumentor 1.4.3