This week only. Pastebin PRO Accounts Christmas Special! Don't miss out!Want more features on Pastebin? Sign Up, it's FREE!
Guest

admin.php

By: kitt on Dec 22nd, 2011  |  syntax: PHP  |  size: 9.22 KB  |  views: 23  |  expires: Never
download  |  raw  |  embed  |  report abuse  |  print
Text below is selected. Please press Ctrl+C to copy to your clipboard. (⌘+C on Mac)
  1. <?php
  2.  
  3. class  admin extends website {
  4.  
  5.         public function __construct( $key ) {
  6.                 parent::__construct($key );
  7.                 $this->keyContent = 'general';
  8.                 if (isset($_GET['k']))
  9.                         $this->keyContent = $_GET['k'];        
  10.                
  11.         }
  12.         public function display() {
  13.                 $this->setContent();           
  14.                 include('templates/default/admin.html');
  15.         }              
  16.         public function getMenu() {
  17.                 $array = array(
  18.                                                 'general' => 'Infos générales',
  19.                                                 'informations' => 'Première page',
  20.                                                 'users' => 'Utilisateurs',
  21.                                                 'photos' => 'Photos',
  22.                                                 'calendar' => 'Calendrier'
  23.                                                 );
  24.                 if ( isset ( $this->options['meteo'] ) ) $array = array_merge ( $array , array( 'meteo' => 'Météo' ) );                              
  25.                 if ( isset ( $this->options['map'] ) ) $array = array_merge ( $array , array( 'map' => 'Adresse' ) )    ;                      
  26.                                                
  27.                 $content = '<div id="top-menu">
  28.                                         <ul>';
  29.                 $width = (748-2*count($array))/count($array);
  30.                 foreach ( $array as $key => $title ) {
  31.                         $class = ($key == $this->keyContent )? 'class="act"': '';
  32.                         $content .= '<li style="width:'.$width.'px;border-right:2px solid #FFFFFF" ><a "'.$class.'" href="admin-'. $key .'.html" title="informations">'. $title .'</a></li>';
  33.                 }                                      
  34.                 $content .=     '</ul></div>';
  35.                 return $content;
  36.         }
  37.        
  38.         public function setContent() {
  39.                  if ( $this->keyContent == 'general' )  {
  40.                         $content .= $this->getAdminGeneral();
  41.                 } else if ( $this->keyContent == 'informations' ){
  42.                         $content .= $this->getAdminInformations();
  43.                 } else if ( $this->keyContent == 'users' ) {
  44.                         $content .= $this->getAdminUsers();
  45.                 } else if ( $this->keyContent == 'calendar' ) {
  46.                         $content .= $this->getAdminCalendar();
  47.                 } else if ( $this->keyContent == 'photos' ) {
  48.                         $content .= $this->getAdminPhotos();
  49.                 } else if ( $this->keyContent == 'meteo' ) {
  50.                         $content .= $this->getAdminMeteo();
  51.                 } else if ( $this->keyContent == 'map' ) {
  52.                         $content .= $this->getAdminMap();
  53.                 } else {
  54.                         $content .= 'Une erreur est survenue... ';
  55.                 }                                              
  56.                 $content .=     '';
  57.                 $this->content = $content;
  58.         }      
  59.        
  60.         public function getAdminInformations() {
  61.                 if (isset($_POST['id']))
  62.                         $this->saveContent($_POST['html']);
  63.                 $content = '<form id="add-event" action="'.$_SERVER['REQUEST_URI'].'" method="post">';
  64.                 $content .= '<textarea class="jquery_ckeditor" cols="80" id="editor1" name="html" rows="10">'. stripslashes($this->options['informations']['html']) .'</textarea>';
  65.                 $content .= '<input type="hidden" name="id" value="'. $this->options['informations']['id'] .'" />';
  66.                 $content .= '<input type="submit" name="submit" value="Valider" /></form>';
  67.                 return $content;
  68.         }      
  69.         public function getAdminMeteo() {
  70.                 if (isset($_POST['id']))
  71.                         $this->saveContent($_POST['html']);
  72.                 $content = '<form id="add-event" action="'.$_SERVER['REQUEST_URI'].'" method="post">';
  73.                 $content .= 'Localité : <input typ="text" name="html" value="'. stripslashes($this->options['meteo']['html']) .'" />';
  74.                 $content .= '<input type="hidden" name="id" value="'. $this->options['meteo']['id'] .'" />';
  75.                 $content .= '<input type="submit" name="submit" value="Valider" /></form>';
  76.                 return $content;
  77.         }      
  78.         public function getAdminMap() {
  79.                 if (isset($_POST['id'])) {
  80.                         $this->saveContent( serialize ( array ( 'address' => $_POST['address'], 'info' => $_POST['info'] )));
  81.                 }
  82.                 $v = unserialize (stripslashes($this->options['map']['html'] ) );
  83.                 $content = '<form id="add-event" action="'.$_SERVER['REQUEST_URI'].'" method="post">';
  84.                 $content .= 'Adresse : <input typ="text" name="address" value="'. $v['address'] .'" /><br />';
  85.                 $content .= 'Informations complémentaires : <input typ="text" name="info" value="'. $v['info'] .'" /><br />';
  86.                 $content .= '<input type="hidden" name="id" value="'. $this->options['map']['id'] .'" />';
  87.                 $content .= '<input type="submit" name="submit" value="Valider" /></form>';
  88.                 return $content;
  89.         }              
  90.         public function getAdminGeneral() {
  91.                 $content =      '';
  92.                 $this->headCode .= '<link rel="stylesheet" href="templates/default/css/admin/farbtastic.css" type="text/css" />
  93.                                                 <script type="text/javascript" src="templates/default/js/admin/farbtastic.js"></script>
  94.                                                  <script type="text/javascript" >
  95.                                                   $(document).ready(function() {
  96.                                                     $("#picker").farbtastic("#color");
  97.                                                   });
  98.                                                  </script>';
  99.                
  100.                 if (isset($_POST['footer'])) {
  101.                         $this->footer = $_POST['footer'];
  102.                 }      
  103.                 if (isset($_POST['color'])) {
  104.                         $this->color = substr( $_POST['color'], -6 );
  105.                 }
  106.                 if ( isset( $_FILES['img_header'] ) ) {
  107.                 $u = new upload();
  108.                 $u->upload_file( 'img_header', 'uploads/'.$this->key .'/', 'image' );
  109.                 $element->question_number = $_POST['q'];
  110.                 if ($u->error == 'sucess') {
  111.                         $this->img_header = $u->filename;
  112.                 }
  113.                 else {
  114.                         $content .= $u->error;
  115.                 }                      
  116.                 }                      
  117.                 if (isset($_POST)) {
  118.                         $this->save();
  119.                 }              
  120.                 $content .= '<form action="'.$_SERVER['REQUEST_URI'].'"  enctype="multipart/form-data" method="post">';
  121.                 $content .= '<h1>Couleur de fond</h1><div class="form-item"><label for="color">Couleur : </label><input type="text" id="color" name="color" value="#'. $this->color .'" /></div><div id="picker"></div>';
  122.                 $content .= '<br /><br /><h1>Image principale</h1>L\'image principale est celle affichée en haut de toutes les pages. Celle ci est donc très importante.<br />
  123.                                                                 Nous vous conseillons de la choisir beaucoup plus large que haute pour une meilleure ergonomie.<br />
  124.                                          <label >image : </label><img src="uploads/'.$this->key .'/'. $this->img_header .'" width="100" /><br/><input type="file" name="img_header" />';
  125.                 $content .= '<br /><br /><h1>Note en pied de page</h1><label >Texte : </label><input type="text" name="footer" value="'. stripslashes($this->footer) .'" />';
  126.                 $content .= '<br /><br /><input type="submit" name="submit" value="Valider" /></form>';
  127.                 return $content;
  128.         }
  129.        
  130.         public function getAdminUsers() {
  131.                 if (isset($_POST['email']))
  132.                         $this->saveUser();
  133.                 $content = '';
  134.                 $q = db::getInstance()->q( 'SELECT *, sm_jtusers.status as type FROM `sm_jtusers` , `sm_users`
  135.                                                                         WHERE `FK_web_id` = "'. $this->id .'" AND FK_use_id = id ');
  136.                 $content .= '<table style="width : 100%" >';
  137.                 $content .= '<tr style="background:#dddddd" ><td>Email</td><td>Nom</td><td>Prénom</td><td>Administrateur</td></tr>';
  138.                 while ( $array = $q->fetch_array() ) { 
  139.                         $content .= '<tr><td>'.$array['email'].'</td><td>'.$array['name'].'</td><td>'.$array['surname'].'</td><td>'.$array['type'].'</td></tr>';
  140.                 }  
  141.                 $content .= '</table><br /><br />
  142.                                         <h1>Ajouter un utilisateur</h1>
  143.                                         <form id="add-user" action="'.$_SERVER['REQUEST_URI'].'" method="post"><table>';
  144.                
  145.                 $content .= '<tr><td>Type :</td>
  146.                                                 <td><input type="radio" name="type" value="1" checked />Normal&nbsp;'.help::picto('Mode normal: permet uniquement à l\'utilisateur de voir le site (sans ajout de photos, ni d\'événements dans le calendrier)').'&nbsp;
  147.                                                         <input type="radio" name="type" value="2" />Contributeur&nbsp;'.help::picto('Mode contributeur: permet à l\'utilisateur de voir le site, ajouter de photos, et des événements dans le calendrier').'&nbsp;
  148.                                                         <input type="radio" name="type" value="3" />Administrateur&nbsp;'.help::picto('Mode administrateur: l\'utilisateur posséde tous les droits: ajout de nouveaux utilisateurs, suppression de photos et d\'événements...').'&nbsp;</td></tr>
  149.                                         <tr><td>Email :</td><td><input type="text" name="email" value="" /></td></tr>
  150.                                         <tr><td align="left" ><input type="checkbox" checked name="confirmemail" value="1" /></td><td>Envoi de l\'email de présentation</td></tr>';
  151.                 $content .= '<tr><td colspan="2"><input type="submit" name="submit" value="Valider" /></td></tr>
  152.                                         </table></form>';
  153.                 return $content;
  154.         }
  155.                
  156.         public function saveContent( $html ) {
  157.                 $option = new option( $_POST['id']);
  158.                 $option->html = $html;
  159.                 $option->save();
  160.                 $this->set_options();
  161.         }
  162.  
  163.         public function saveUser() {
  164.                 $chaine = "abcdefghijklmnopqrstuvwxyz123456789";
  165.                 $nb_caract = 6;
  166.                 $pass = '';
  167.                 for($u = 1; $u <= $nb_caract; $u++) {
  168.                     $nb = strlen($chaine);
  169.                     $nb = mt_rand(0,($nb-1));
  170.                     $pass .= $chaine[$nb];
  171.                 }
  172.                 $user = user::getUserByEmail( $_POST['email']);
  173.                 if ( !isset( $user->id ) ) { $user->pass = $pass; }
  174.                 $user->save();
  175.                 $user->addWebsite( $this->id, $_POST['type']);
  176.                 if ( isset( $_POST['confirmemail'] ) )  {
  177.                         $this->sendConfirm($user->email , $user->pass);
  178.                 }      
  179.         }
  180.        
  181.        
  182.         public function sendConfirm($email,$pass) {
  183.                 $mail = new email();
  184.                 $mail -> addrecipient($email);
  185.                 $mail -> addfrom(user::get_session()->email,user::get_session()->name.' '.user::get_session()->surname);
  186.                 $mail -> addsubject('Bienvenue sur '.$this->url);
  187.                 $mail -> html = 'Bonjour<br />Un nouveau site est en ligne!<br/><b><a href="'. $this->url .'">'. $this->url .'</a></b><br/>Vous êtes invité à le découvrir avec les identifiants suivants:<br >Email : '. $email .'<br/>Mot de passe : '.$pass .
  188.                                                 '<br/><br/>Tout l\'équipe de site-maison.fr vous souhaite la bienvenue.';
  189.                 $mail -> sendmail();
  190.         }
  191.  
  192.         public function getAdminPhotos () {
  193.                 $content .= photo::uploadForm();
  194.                 $this->headCode .=  photo::displayAllHeadCode();
  195.                 $content .= photo::displayAll( true );
  196.                 return $content;
  197.         }      
  198.        
  199.        
  200.          public function getAdminCalendar () {
  201.    
  202.     echo 'a';
  203.     $content .= calendar::displayAll (true);
  204.     echo 'b';
  205.     return $content;
  206.   }
  207.        
  208. }
  209.  
  210. ?>
clone this paste RAW Paste Data