smf.php

Go to the documentation of this file.
00001 <?php
00002 
00041 require_once(dirname(__FILE__) ."/embient.php");
00042 
00044 $Embient = NULL;
00045 
00049 function embient_smf_load()
00050 {
00051   global $Embient;
00052 
00053   embient_set_error_logger('_embient_log_error');
00054   $Embient = new Embient('smf');
00055 }
00056 
00065 function embient_smf_register($regvars, $themevars)
00066 {
00067   global $Embient;
00068 
00129   list($firstname, $lastname) = split("\ ", $regvars['register_vars']['realName']);
00130 
00131   $userinfo = array
00132   (
00133     'name'      => $regvars['username'],
00134     'passwd'    => $regvars['password'],
00135     'mail'      => $regvars['email'],
00136     'firstname' => $firstname,
00137     'lastname'  => $lastname,
00138     'signature' => $regvars['signature'],
00139   );
00140 
00141   $Embient->Add($userinfo);
00142 }
00143 
00154 function embient_smf_login($username, $hash_password, $cookie_length)
00155 {
00156   global $Embient;
00157 
00158   $Embient->Login($username);
00159 }
00160 
00167 function embient_smf_logout($username)
00168 {
00169   global $Embient;
00170 
00171   $Embient->Logout($username);
00172 }
00173 
00184 function embient_smf_userdata($usernames, $field, $value)
00185 {
00186   global $Embient;
00187 
00188   //strip quote
00189   $value = preg_replace("/'(.*)'/", "\$1", $value);
00190 
00191   foreach ($usernames as $name)
00192   {
00193     $userinfo = array();
00194 
00195     switch($field)
00196     {
00197       case 'memberName':
00198         $userinfo['name'] = $value;
00199         break;
00200 
00201       case 'emailAddress':
00202         $userinfo['mail'] = $value;
00203         break;
00204 
00205       case 'realName':
00206         list($firstname, $lastname) = split("\ ", $value);
00207         $userinfo['firstname'] = $firstname;
00208         $userinfo['lastname']  = $lastname;
00209         break;
00210 
00211       case 'signature':
00212         $userinfo['signature'] = $value;
00213         break;
00214 
00215       case 'timeOffset':
00216         $userinfo['timezone'] = $value;
00217         break;
00218     }
00219 
00220     embient_debug("$name is changing it's $field to $value");
00221 
00222     if ( ! empty($userinfo) )
00223     {
00224       $Embient->Update($name, $userinfo);
00225     }
00226   }
00227 }
00228 
00235 function embient_smf_delete($smf_userid)
00236 {
00237   global $Embient;
00238   global $db_prefix;
00239 
00240   embient_debug("smf request to delete $smf_userid");
00241 
00242   $query = "SELECT memberName "
00243          . "FROM {$db_prefix}members "
00244          . "WHERE ID_MEMBER = '$smf_userid' "
00245          . "LIMIT 1";
00246 
00247   $request = db_query($query, __FILE__, __LINE__);
00248     $user = mysql_fetch_assoc($request);
00249     mysql_free_result($request);
00250 
00251   $Embient->Delete($user['memberName']);
00252 }
00253 
00264 function embient_smf_pass($username, $newusername, $newpassword)
00265 {
00266   global $Embient;
00267 
00268   if ( $username != $newusername )
00269   {
00270     $userinfo['name'] = $newusername;
00271   }
00272   $userinfo['passwd'] = $newpassword;
00273   $Embient->Update($username, $userinfo);
00274 }
00275 
00286 function embient_smf_filter($content)
00287 {
00288   global $Embient;
00289   global $embient_debug_msg;
00290 
00291   if ($embient_debug_msg != '')
00292   {
00293     $content .= '<div>'
00294               . '<center>'
00295               . '<table border="0" width="95%" cellspacing="1" cellpadding="5" class="tborder">'
00296               . '<tr><td class="catbg">'
00297               . 'Debug:'
00298               . '</td></tr>'
00299               . '<tr class="windowbg2"><td>'
00300               .  $embient_debug_msg
00301               . '</td></tr>'
00302               . '</table>'
00303               . '</center>'
00304               . '</div>';
00305 
00306     $embient_debug_msg = '';
00307   }
00308 
00309   return $content;
00310 }
00311 
00323 function _embient_log_error($msg, $file, $line)
00324 {
00325   global $Embient;
00326 
00327   log_error($msg, $file, $line); // call SMF's error logging routine
00328 }

Generated on Fri Feb 10 15:05:54 2006 for Embient by  doxygen 1.4.6-NO