public static function search($keyword = null)
    {
        global $PPHP;
        $db = $PPHP['db'];

        $query = $db->query('SELECT id, email, active, name FROM users');
        $conditions = array();

        // Keyword matching
        if ($keyword !== null) {
            $search = array();
            $search[] = $db->query('email LIKE ?', strtolower("%{$keyword}%"));
            $search[] = $db->query('name LIKE ?', "%{$keyword}%");
            $search[] = $db->query('profession LIKE ?', "%{$keyword}%");
            $search[] = $db->query('employer LIKE ?', "%{$keyword}%");
            $conditions[] = $db->query()->implodeClosed('OR', $search);
        };

        if (count($conditions) > 0) {
            $query->append('WHERE')->implode('AND', $conditions);
        } else {
            $query->where('active');
        };
        $query->order_by('id DESC')->limit(100);
        return $db->selectArray($query);
    }