Ejemplo n.º 1
0
 public function create($request)
 {
     $req = $request->getParameters();
     $data = $req;
     $data['current'] = 'channels';
     $name = @Utils::secure($req['name']);
     $descr = @Utils::secure($req['description']);
     if (isset($req['createChannelSubmit']) && Session::isActive()) {
         $data = array();
         $data['currentPageTitle'] = 'Créer une chaine';
         if (isset($req['name'], $req['description'])) {
             if (strlen($name) >= 3 && strlen($name) <= 40) {
                 if (preg_match("#^[a-zA-Z0-9\\_\\-\\.]+\$#", $name)) {
                     if (UserChannel::isNameFree($name)) {
                         UserChannel::addNew($name, $descr, $req['_FILES_']['avatar'], $req['_FILES_']['background']);
                         $data['channels'] = Session::get()->getOwnedChannels();
                         $data['currentPageTitle'] = 'Mes chaines';
                         $response = new ViewResponse('account/channels', $data);
                         $response->addMessage(ViewMessage::success('Votre nouvelle chaîne a bien été créée ! Faites-en bon usage !'));
                         return $response;
                     } else {
                         $response = new ViewResponse('channel/create', $data);
                         $response->addMessage(ViewMessage::error('Ce nom de chaine est déjà utilisé.'));
                         return $response;
                     }
                 } else {
                     $response = new ViewResponse('channel/create', $data);
                     $response->addMessage(ViewMessage::error('Le nom de la chaîne doit contenir uniquement des lettres (majuscules et minuscules), des traits-d\'union, des _ et des points.'));
                     return $response;
                 }
             } else {
                 $response = new ViewResponse('channel/create', $data);
                 $response->addMessage(ViewMessage::error('Le nom de la chaîne doit être compris entre 3 et 40 caractères.'));
                 return $response;
             }
         } else {
             $response = new ViewResponse('channel/create', $data);
             $response->addMessage(ViewMessage::error('Tous les champs doivent être remplis.'));
             return $response;
         }
     }
     $response = new ViewResponse('channel/create', $data);
     return $response;
 }