Advertisement
kitt

admin.php

Dec 22nd, 2011
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 9.22 KB | None | 0 0
  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. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement