Scoutnet vzw

We connect scouts!
Het is momenteel 10 Nov 2024 20:48

Alle tijden zijn UTC + 1 uur




Plaats een nieuw onderwerp Reageren op dit onderwerp  [ 8 berichten ] 
Auteur Bericht
BerichtGeplaatst: 26 Feb 2006 19:27 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 04 Jul 2002 23:00
Berichten: 501
Woonplaats: Reet
Over dit onderwerp zijn al enkele topics.
Ik heb onlangs deze klasse gevonden en denk dat die wel nuttig kan zijn voor een aantal mensen onder jullie. Vandaag eens uitgetest en het blijkt goed te werken.


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 09 Mrt 2006 17:29 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 13 Jan 2004 0:00
Berichten: 269
Woonplaats: Sint-truiden
stuff voor later ...


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 13 Jun 2006 10:15 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 13 Jan 2004 0:00
Berichten: 269
Woonplaats: Sint-truiden
ik heb het eens bekenen want die bij mij beginnen ook te zagen dat ze overa moeten inloggen... Maar hoe intsaleer je zo een classe ?


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 13 Jun 2006 12:30 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 31 Jul 2002 23:00
Berichten: 236
Een klasse is een basisterm uit het Object geörienteerd programmeren (OOP)
Een klasse heeft methodes/functies en eigenschappen/attributen.
Een 'instance' van een klasse heeft al deze functionaliteiten op het moment dat je deze aanmaakt.
(allez, 't is misschien een beetje te simpel uitgelegd).

Caygull


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 13 Jun 2006 13:06 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 06 Jan 2005 0:00
Berichten: 127
Woonplaats: Bredene
De phpBB logins koppelen aan je site is niet zo moelijk. Alles wordt hier uitgelegd: viewtopic.php?t=1095

Indien er vragen zijn, stel ze gerust :wink:


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 14 Jun 2006 0:02 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 13 Jan 2004 0:00
Berichten: 269
Woonplaats: Sint-truiden
Velle schreef:
De phpBB logins koppelen aan je site is niet zo moelijk. Alles wordt hier uitgelegd: viewtopic.php?t=1095

Indien er vragen zijn, stel ze gerust :wink:

super, ik heb het helemaal doorgenomen... Maar volgens mij staat er zoveel op dat ik uiteindelijk nog niet weet wat ik moet doen ?! Kan je dus even een copie past doen van hetgene ik moet aanmaken ofzo :-s

Ik denk ook dat die dient om die galery te integereren niet ? maar ik zou joomla moeten hebben met PhPBB


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 14 Jun 2006 1:19 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 06 Jan 2005 0:00
Berichten: 127
Woonplaats: Bredene
Eerst en vooral deze code voor al de rest plaatsen (aanpassen waar nodig):

Code:
  // Session management
  define('IN_PHPBB', true);

  $site_root_path = 'www.noordlandbredene.be'; //www.jouwsite.be
  $phpbb_root_path = '../forum/';  //phpbb-root relatief tov de file vanwaar je deze code aanroept
  include_once( $phpbb_root_path . 'extension.inc' );
  include_once( $phpbb_root_path . 'common.php' );
  include_once( $phpbb_root_path . 'config.php' );
  include_once( $phpbb_root_path . 'module_groups.inc' ); //moet je apart aanmaken
  $userdata = session_pagestart( $user_ip, PAGE_SITE ); //voor het gebruik van PAGE_SITE moet je ook enkele wijzigingen aanbrengen
  init_userprefs($userdata);


Nu kan je alle phpbb-variabelen, -functies, -classes, ... gebruiken (ik maak gebruik van de $db- en $template-class en natuurlijk de $userdata)

Vb.: echo $userdata['username']; // eigen username weergeven


module_groups.inc

Code:
<?php
function get_User_Memberships($id=0)
{
   global $db, $userdata,$table_prefix;
   $sql = "SELECT g.* FROM phpbb_groups g , phpbb_user_group u WHERE u.user_id ='". $userdata['user_id'] ."' AND u.group_id = g.group_id ";

         if(!$result = $db->sql_query($sql))
         {
            $userdata = array("error" => "1");
         }
         if(!$myrow = $db->sql_fetchrowset($result))
         {
            $usergroups = array("error" => "1");
         }
         $usergroups = $myrow;

   for($i=0; $i<count($usergroups); $i++)
   {
       if( $id == 1 )
       {
         $groups[$i] = $usergroups[$i]['group_id'];
       }
       else
       {
         $groups[$i] = $usergroups[$i]['group_name'];
       }
   }
   return $groups;
}

function check_Membership($needed_group)
{
   if( is_numeric( $needed_group ) )
   {
     $groups = get_User_Memberships(1);
   }
   else
   {
     $groups = get_User_Memberships();
   }
   
   $status = false;
   if (in_array($needed_group, $groups))
   {
      $status = true;
   }
   return $status;
}
?>


Hiermee kan je vb.: check_Membership( 'Leiding' ) of check_Membership( 9 ), waar 'Leiding' de naam is van een phpbb-group of 9 het id van die group.

Om te kunnen werken met PAGE_SITE: viewtopic.php?p=8217#8217

Dit houdt bij welke gebruiker zich waar bevindt op de site (via viewonline.php of in het admin-paneel). Zo kan je elke pagina apart definiëren. Vb.: PAGE_DOWNLOADS, PAGE_LINKS, PAGE_KALENDER, ... . Zorg wel dat je niet dezelfde namen of id's gebruikt als phpbb !

Login:

Code:
if( !( $userdata['session_logged_in'] ) )
{
<form action='".$phpbb_root_path."login.php' method='post'> //locatie van login.php eventueel aanpassen
<input type='text' name='username' size='14' maxlength='40' value='username' /> //username
<input type='password' name='password' size='14' maxlength='40' value='paswoord' /> //passwoord
<input id='autologin' type='checkbox' name='autologin' checked='checked' value='' /><label for='autologin'> Auto-login</label> //autologin aan/uit
<input type='hidden' name='redirect' value='../index.php'/> //naar welke pagina wil je na het inloggen ?
<input type='submit' name='login' value='Login'/> //GO !!
</form>
}


Logout:

Code:
else
{
<form action='".$phpbb_root_path."login.php?logout=true&amp;sid=".$sid."' method='post'>  //locatie van login.php eventueel aanpassen, $sid (session-id) kan je toevoegen met de phpbb-functie append_sid( $link )
<input type='hidden' name='redirect' value='../index.php'/> // redirect na uitloggen
<input type='submit' name='logout' value='Uitloggen' /> // GO !!
</form>
}


Registreren:

Code:
<form action='../forum/profile.php' method='post'> // aanpassen indien nodig
  <fieldset>
    <legend>Registratie informatie&nbsp;</legend><br />
    <table>
      <tr>
        <td colspan='2'><b>Alle onderdelen zijn verplicht</b></td>

      </tr>
      <tr>
        <td colspan='2'>&nbsp;</td>
      </tr>
      <tr>
        <td>Gebruikersnaam:</td>
        <td><input type='text' name='username' size='25' maxlength='25' value='' /></td>
      </tr>

      <tr>
        <td>Email adres:</td>
        <td><input type='text' name='email' size='25' maxlength='25' value='' /></td>
      </tr>
      <tr>
        <td>Wachtwoord:</td>
        <td><input type='password' name='new_password' size='25' maxlength='25' value='' /></td>
      </tr>

      <tr>
        <td>Bevestig wachtwoord:</td>
        <td><input type='password' name='password_confirm' size='25' maxlength='25' value='' /></td>
      </tr>
      <tr>
        <td colspan='2'>&nbsp;</td>
      </tr>
      <tr>

        <td class='c' colspan='2'>
          <input type='submit' name='submit' value='Registreer' />
          <input type='reset' name='reset' value='Wis' />
        </td>
      </tr>
    </table>
  </fieldset>

// volgende waardes zet ik op standaard-instelling, maar je kunt de gebruiker bij registratie ook al toelaten deze te wijzigen door gewone velden ipv hidden fields te begruiken

  <input type='hidden' name='icq' value='' />
  <input type='hidden' name='aim' value='' />

  <input type='hidden' name='msn' value='' />
  <input type='hidden' name='yim' value='' />
  <input type='hidden' name='website' value='' />
  <input type='hidden' name='location' value='' />
  <input type='hidden' name='occupation' value='' />
  <input type='hidden' name='interests' value='' />
  <input type='hidden' name='signature' value='' />
  <input type='hidden' name='viewemail' value='0' />
  <input type='hidden' name='hideonline' value='0' />

  <input type='hidden' name='notifyreply' value='0' />
  <input type='hidden' name='notifypm' value='0'  />
  <input type='hidden' name='popup_pm' value='0'  />
  <input type='hidden' name='attachsig' value='1' />
  <input type='hidden' name='allowbbcode' value='1' />
  <input type='hidden' name='allowhtml' value='1' />
  <input type='hidden' name='allowsmilies' value='1' />
  <input type='hidden' name='language' value='dutch' />
  <input type='hidden' name='style' value='1' />

  <input type='hidden' name='timezone' value='+1' />
  <input type='hidden' name='dateformat' value='D M d, Y g:i a' />
  <input type='hidden' name='mode' value='register' />
  <input type='hidden' name='aKkOoRd' value='true' /> // trukje om bots tegen te houden *
  <input type='hidden' name='coppa' value='0' />
</form>


*: in admin/admin_users.php, includes/usercp_avatar.php en includes/usercp_register.php moet je alle voorkomens van 'agreed' vervangen door iets anders (bij mij is dat 'aKkOoRd' geworden, let op: hoofdlettergevoelig !)

Uitleg: http://www.phpbb.com/phpBB/viewtopic.php?t=257755


Interessante phpBB-functies: http://www.phpbb.com/kb/article.php?article_id=60

Hoe werken met de template-class: http://www.phpbb.com/kb/article.php?article_id=200

Meer over het integreren: http://www.phpbb.com/kb/article.php?article_id=143

Append-sid: http://www.phpbb.com/kb/article.php?article_id=58

Over het gebruik van de $db-class (om met je database te werken):

$sql = "SELECT * FROM table";
$result = $db->sql_query($sql);

of

if ( !$result = $db->sql_query($sql) )
{
message_die(GENERAL_ERROR, 'Could not select something', '', __LINE__, __FILE__, $sql);
}

indien je een error wil laten genereren (vb voor debuggen)

$result is true als de query geen fouten gaf.


Bij een SELECT:

voor 1 result: $foto = $db->sql_fetchrow($result);

$foto is dan gelijk aan array( 'KEY' => 'VAL', 'KEY' => 'VAL', ... )

voor meerdere results: $fotos = $db->sql_fetchrowset($result);

$fotos is dan gelijk aan array van arrays zoals deze: array( 0 => array( 'KEY' => 'VAL', 'KEY' => 'VAL', ... ), 1 => array( 'KEY' => 'VAL', 'KEY' => 'VAL', ... ), ... )

wat soms ook handig is:

while( $foto = $db->sql_fetchrow($result) )
{
//doe iets
}

binnen de while loop je dan alle elementen af uit de query


voila, bij nader inzien is dit een goed stukje om te tutorializen 8)

probeer vooral veel te experimenteren, regelmatig je error-log bekijken en veel echo/print_r gebruiken om te kunnen volgen wat er gebeurt

en nu aan de slag !! :wink:


Omhoog
 Profiel  
 
 Titel:
BerichtGeplaatst: 15 Jun 2006 9:14 
Offline
 
 
Gebruikers-avatar

Geregistreerd: 13 Jan 2004 0:00
Berichten: 269
Woonplaats: Sint-truiden
ja meester ... :oops:


Omhoog
 Profiel  
 
Berichten weergeven van de afgelopen:  Sorteer op  
Plaats een nieuw onderwerp Reageren op dit onderwerp  [ 8 berichten ] 

Alle tijden zijn UTC + 1 uur


Wie is er online?

Gebruikers in dit forum: Geen geregistreerde gebruikers en 2 gasten


U mag geen nieuwe onderwerpen plaatsen in dit forum
U mag geen reacties plaatsen op onderwerpen in dit forum
U mag uw berichten niet wijzigen in dit forum
U mag uw berichten niet verwijderen in dit forum
U mag geen bijlagen plaatsen in dit forum

Zoeken naar:
Ga naar:  
Powered by phpBB® Forum Software © phpBB Group
Vertaald door phpBBservice.nl.