Example #1
0
 /**
  * generate form for table
  * @param $table string table
  * @param $action string action
  * @param string $method method form (default = POST)
  * @return \SwagFramework\Form\Form
  * @throws TableNotFoundDatabaseException
  */
 public static function generate($table, $action, $method = 'POST')
 {
     $sql = 'SHOW FIELDS ' . 'FROM ' . $table;
     $res = DatabaseProvider::connection()->query($sql);
     if (empty($res)) {
         throw new TableNotFoundDatabaseException($table);
     }
     $form = new Form($action, $method);
     $form->setClass('pure-form pure-form-aligned centered');
     foreach ($res as $value) {
         if (self::getType($value['Type']) == 'text') {
             $field = self::getTextArea($value);
         } elseif (self::getType($value['Type']) == 'datetime') {
             $field = self::getInput($value);
             $field->addAttribute('class', 'datepicker');
             $field->addAttribute('placeholder', '01/01/2014');
         } else {
             $field = self::getInput($value);
         }
         $form->addField($field);
     }
     $submit = new InputField('submit');
     $submit->addAttribute('type', 'submit');
     $submit->addAttribute('value', 'Envoyer');
     $submit->addAttribute('class', 'pure-button pure-button-primary');
     $form->addField($submit);
     return $form;
 }
Example #2
0
function main()
{
    DatabaseProvider::connect("app/config/database.json");
    BaseViewContextProvider::setProvider(function () {
        return ['count' => ['event' => (new EventModel())->count()['nb'], 'user' => (new UserModel())->count()['nb'], 'online' => (new LittleModel())->checkConnect()['COUNT(*)']], 'newmessages' => Authentication::getInstance()->isAuthenticated() ? (new ConversationModel())->countUnreadMessages() : 0];
    });
    $router = new \SwagFramework\Routing\Router();
    $classRouting = new ClassRouting('\\app\\controllers\\');
    $classRouting->addClass('User');
    $classRouting->addClass('Event');
    $classRouting->addClass('Article');
    $classRouting->addClass('Parteners');
    $classRouting->addClass('Search');
    if (Authentication::getInstance()->isAuthenticated()) {
        $classRouting->addClass('Conversation');
        if (Authentication::getInstance()->getOptionOr('accessLevel', 0)) {
            $classRouting->addClass('AdminUsers');
            $classRouting->addClass('AdminEvent');
            $classRouting->addClass('AdminComment');
            $classRouting->addClass('Admin');
        }
    }
    $classRouting->generateRoute($router);
    $router->add('/errors/err404', new \app\controllers\ErrorsController(), 'err404');
    $router->add('/', new \app\controllers\HomeController(), 'index');
    $router->matchCurrentRequest();
}
 /**
  * Delete a participation to an event
  * @param $idEvent
  * @param $idUser
  * @return bool
  */
 public function deleteEventParticipation($idEvent, $idUser)
 {
     try {
         DatabaseProvider::connection()->beginTransaction();
         $sql = 'DELETE FROM event_user WHERE user = ? AND id = ?';
         DatabaseProvider::connection()->execute($sql, [$idUser, $idEvent]);
         DatabaseProvider::connection()->commit();
         return true;
     } catch (\Exception $e) {
         DatabaseProvider::connection()->rollBack();
         throw $e;
     }
 }
Example #4
0
 /**
  * Check cpt connect + Add
  * @return mixed
  * @throws \SwagFramework\Exceptions\DatabaseConfigurationNotLoadedException
  */
 public function checkConnect()
 {
     $sql = 'SELECT COUNT(*) AS COUNT FROM cpt_connectes WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'';
     $data = DatabaseProvider::connection()->query($sql);
     if ($data[0]['COUNT'] == 0) {
         $sql = 'INSERT INTO cpt_connectes VALUES(\'' . $_SERVER['REMOTE_ADDR'] . '\', ' . time() . ')';
         DatabaseProvider::connection()->execute($sql);
     } else {
         $sql = 'UPDATE cpt_connectes SET timestamp=' . time() . ' WHERE ip=\'' . $_SERVER['REMOTE_ADDR'] . '\'';
         DatabaseProvider::connection()->execute($sql);
     }
     $timestamp_5min = time() - 60 * 5;
     $sql = 'DELETE FROM cpt_connectes WHERE timestamp < ' . $timestamp_5min;
     $sql = 'SELECT COUNT(*) FROM cpt_connectes';
     $data2 = DatabaseProvider::connection()->query($sql);
     return $data2[0];
 }
Example #5
0
 public function search($query)
 {
     return DatabaseProvider::connection()->query(self::SEARCH_ARTICLE, ['query' => $query]);
 }
Example #6
0
    public function search($query)
    {
        $sql = <<<SQL
SELECT event.*
FROM event
JOIN user ON event.user = user.id
WHERE MATCH(event.name, event.description, event.address) AGAINST (:query)
   OR MATCH(user.username, user.firstname, user.lastname) AGAINST (:query)
SQL;
        return DatabaseProvider::connection()->query($sql, ['query' => $query]);
    }
Example #7
0
 public function updateFriend($id1, $id2)
 {
     $sql = 'UPDATE user_friend SET valid = TRUE WHERE user1 = ? AND user2 = ?';
     return DatabaseProvider::connection()->execute($sql, [$id1, $id2]);
 }
 /**
  * Delete an comment.
  * @param $id int of comment
  * @return bool
  * @throws \Exception
  * @throws \SwagFramework\Exceptions\DatabaseConfigurationNotLoadedException
  */
 public function deleteCommentArticle($id)
 {
     try {
         DatabaseProvider::connection()->beginTransaction();
         $success = DatabaseProvider::connection()->execute(self::DELETE_COMMENT_ARTICLE, [$id]);
         $success = $success && DatabaseProvider::connection()->execute(self::DELETE_COMMENT, [$id]);
         DatabaseProvider::connection()->commit();
         return $success;
     } catch (\Exception $e) {
         DatabaseProvider::connection()->rollBack();
         throw $e;
     }
 }
 /**
  *  Delete a comment.
  * @param $id int of comment
  * @return bool
  * @throws \SwagFramework\Exceptions\DatabaseConfigurationNotLoadedException
  */
 public function deleteCommentEvent($id)
 {
     return DatabaseProvider::connection()->execute(self::DELETE_COMMENT_EVENT, [$id]) && DatabaseProvider::connection()->execute(self::DELETE_COMMENT, [$id]);
 }
 public function countUnreadMessages()
 {
     return DatabaseProvider::connection()->selectFirst(self::COUNT_NEW_MESSAGES, [Authentication::getInstance()->getUserId()])['nb'];
 }
Example #11
0
    public function deleteReset($id)
    {
        $sql = <<<SQL
DELETE FROM user_reset WHERE id=?;
SQL;
        return DatabaseProvider::connection()->execute($sql, [$id]);
    }
Example #12
0
 public static function setUpBeforeClass()
 {
     DatabaseProvider::connect('tests/Database/testdatabase.json');
 }