Ejemplo n.º 1
0
    protected function outputHTML()
    {
        ?>

        <div class="container">

            <div class="panel panel-info" id="comments">
                <div class="panel-heading">
                    <h3 class="panel-title">Friend Requests</h3>
                </div>

                <div class="panel-body">
                    <?php 
        $counter = 0;
        foreach ($this->requests as $request) {
            $counter++;
            $userid = $request['fromid'];
            $user = UserRepository::getUserByID($userid);
            echo "<p><a href='" . \route\Route::get("userProfile")->generate(array("id" => $userid)) . "'>" . $user['username'] . "</a></p>";
        }
        if ($counter == 0) {
            echo "<p>There are no new friend requests.</p>";
        }
        ?>
                </div>

            </div>
        </div>

        <?php 
    }
Ejemplo n.º 2
0
    protected function outputHTML()
    {
        ?>

        <div class="container">

            <div class="panel panel-info" id="comments">
                <div class="panel-heading">
                    <h3 class="panel-title">Friends</h3>
                </div>

                <div class="panel-body">
                    <?php 
        $myID = UserRepository::getIdByUsername($_SESSION['username']);
        $counter = 0;
        foreach ($this->users as $user) {
            $id = FriendRepository::isFriend($myID, $user['userid']);
            if (count($id) != 0) {
                $counter++;
                echo "<p><a href='" . \route\Route::get("userProfile")->generate(array("id" => $user['userid'])) . "'>" . $user['username'] . "</a></p>";
            }
        }
        if ($counter == 0) {
            echo "<p>You do not have friends. Please add members.</p>";
        }
        ?>
                </div>

            </div>
        </div>

        <?php 
    }
Ejemplo n.º 3
0
    protected function outputHTML()
    {
        $user = UserRepository::getUserByID($this->message['senderid']);
        ?>

        <div class="container">

            <div class="panel panel-info" id="comments">
                <div class="panel-heading">
                    <h3 class="panel-title">Message</h3>
                </div>

                <div class="panel-body">
                    <p>From: <?php 
        echo $user['username'];
        ?>
</p>
                    <p>Content: <?php 
        echo parseText($this->message['content']);
        ?>
</p>
                    <p><a href="<?php 
        echo \route\Route::get("sendMessage")->generate(array("id" => $user['userid']));
        ?>
" class="btn btn-info">Reply</a></p>
                </div>
            </div>
        </div>

        <?php 
    }
Ejemplo n.º 4
0
 /**
  * Shows all recieved messages from all users. Newer messages are on top.
  * If message is unread, user will be notified.
  */
 public function showMessages()
 {
     checkUnauthorizedAccess();
     $myID = UserRepository::getIdByUsername($_SESSION['username']);
     $messages = MessageRepository::getMessages($myID);
     $main = new Main();
     $body = new ShowMessages();
     $body->setMessages($messages);
     echo $main->setPageTitle("Messages")->setBody($body);
 }
Ejemplo n.º 5
0
 public function showFriends()
 {
     checkUnauthorizedAccess();
     $users = UserRepository::getAllUsers();
     $main = new Main();
     $body = new ShowFriends();
     $body->setUsers($users);
     $main->setPageTitle("Friends")->setBody($body);
     echo $main;
 }
Ejemplo n.º 6
0
 public function unblockUser()
 {
     $profileID = getIdFromURL();
     $activeUserID = UserRepository::getIdByUsername($_SESSION['username']);
     try {
         ResctrictionRepository::removeRestriction($activeUserID, $profileID);
         redirect(Route::get("userProfile")->generate(array("id" => $profileID)));
     } catch (\PDOException $e) {
         $e->getMessage();
     }
 }
Ejemplo n.º 7
0
 /**
  * Function is used for registering new users.
  * It checks entered data, register new user and redirects to user's twitter wall.
  * User must enter security number to prevent robot attacks.
  */
 public function action()
 {
     $main = new Main();
     $main->setPageTitle("Sign up for TwitterApp");
     $register = new \templates\Register();
     $main->setBody($register);
     echo $main;
     if (post('register')) {
         $firstName = htmlentities(trim(post('fname')));
         $lastName = htmlentities(trim(post('lname')));
         $username = htmlentities(trim(post('username')));
         $password = trim(post('password'));
         $hashedPassword = hash_password($password);
         $confirmedPassword = trim(post('cpassword'));
         $email = trim(post('email'));
         $userSecurityNumber = (int) trim(post('security'));
         //server-side validation
         $error = false;
         if (!ctype_alpha($firstName) || strlen($firstName) < 3 || strlen($firstName) > 25) {
             $error = true;
         }
         if (!ctype_alpha($lastName) || strlen($lastName) < 3 || strlen($lastName) > 25) {
             $error = true;
         }
         if (!ctype_alnum($username) || strlen($username) < 4 || strlen($lastName) > 25) {
             $error = true;
         }
         if (!ctype_alnum($password) || strlen($password) < 4 || strlen($password) > 25) {
             $error = true;
         }
         if (!ctype_alnum($confirmedPassword) || strlen($confirmedPassword) < 4 || strlen($confirmedPassword) > 25) {
             $error = true;
         }
         if ($userSecurityNumber < 1113 || $userSecurityNumber > 1207) {
             $error = true;
         }
         if ($password === $confirmedPassword && !$error) {
             $user = new User();
             $user->setFirstName($firstName);
             $user->setLastName($lastName);
             $user->setUsername($username);
             $user->setPassword($hashedPassword);
             $user->setEmail($email);
             try {
                 UserRepository::registerUser($user);
             } catch (\PDOException $e) {
                 $e->getMessage();
             }
         }
     }
 }
Ejemplo n.º 8
0
function newRequestNotification()
{
    $myID = \Repository\UserRepository::getIdByUsername($_SESSION['username']);
    $requests = \Repository\RequestRepository::checksNewRequests($myID);
    $counter = 0;
    foreach ($requests as $r) {
        $counter++;
    }
    $color = "default";
    if ($counter > 0) {
        $color = "red";
    }
    return $color;
}
Ejemplo n.º 9
0
 /**
  * Method lists users, galleries and images that match provided string.
  */
 public function action()
 {
     if (post('search')) {
         $str = post('search');
         $str = preg_replace("#[^0-9a-z]#i", "", $str);
         //getting search results that match given string
         $users = UserRepository::searchUsers($str);
         $galleries = GalleryRepository::searchGalleries($str);
         $photos = PhotoRepository::searchPhotos($str);
         //showing results
         $searchResults = new SearchResults();
         $searchResults->setUsers($users);
         $searchResults->setGalleries($galleries);
         $searchResults->setPhotos($photos);
         echo $searchResults;
     }
 }
Ejemplo n.º 10
0
 /**
  * Sorts messages by id. Newer messages are listed first.
  * Bigger id means that message is sent later.
  */
 public function action()
 {
     checkUnauthorizedAccess();
     $order = getSortingOrderFromURL();
     $myID = UserRepository::getIdByUsername($_SESSION['username']);
     $messages = MessageRepository::newestFirst($myID);
     if ($order == "oldest") {
         $messages = MessageRepository::oldestFirst($myID);
     } else {
         if ($order == "unread") {
             $messages = MessageRepository::unreadFirst($myID);
         } else {
             if ($order == "read") {
                 $messages = MessageRepository::readFirst($myID);
             }
         }
     }
     $main = new Main();
     $body = new ShowMessages();
     $body->setMessages($messages);
     echo $main->setPageTitle("Messages")->setBody($body);
 }
Ejemplo n.º 11
0
 public function postTweetComment()
 {
     checkUnauthorizedAccess();
     $id = getIdFromURL();
     checkIntValueOfId($id);
     if (post('comment')) {
         $tweetid = $id;
         $username = $_SESSION['username'];
         $userid = UserRepository::getIdByUsername($username);
         $content = htmlentities(trim(post('comment')));
         $comment = new TweetComment();
         $comment->setTweetid($tweetid);
         $comment->setUserid($userid);
         $comment->setContent($content);
         try {
             TweetCommentRepository::postComment($comment);
             echo json_encode(['comment' => parseText($comment->getContent()), 'user' => $username]);
         } catch (\PDOException $e) {
             $e->getMessage();
         }
     }
 }
Ejemplo n.º 12
0
 /**
  * Function creates new gallery and saves it to database.
  * Gallery has user id, title, tag and date of creation.
  * Title and tag are entered by user.
  */
 public function action()
 {
     checkUnauthorizedAccess();
     $main = new Main();
     $main->setPageTitle("Create gallery");
     $body = new \templates\AddGallery();
     $main->setBody($body);
     echo $main;
     $username = $_SESSION['username'];
     if (post('addGallery')) {
         $userID = UserRepository::getIdByUsername($username);
         $title = trim(post('galleryTitle'));
         $tag = trim(post('galleryTag'));
         $dateOfCreation = date('Y-m-d H:i:s');
         //server side validation of data
         $error = false;
         if (strlen($title) < 4 || strlen($title) > 25) {
             $error = true;
         }
         if (strlen($tag) < 3 || strlen($tag) > 25) {
             $error = true;
         }
         if (!$error) {
             $gallery = new Gallery();
             $gallery->setUserID($userID);
             $gallery->setTitle($title);
             $gallery->setTag($tag);
             $gallery->setCreated($dateOfCreation);
             try {
                 GalleryRepository::addGallery($gallery);
                 redirect(\route\Route::get("listGalleries")->generate());
             } catch (\PDOException $e) {
                 $e->getMessage();
             }
         }
     }
 }
Ejemplo n.º 13
0
    public function searchResult()
    {
        $data = '';
        if (post('search')) {
            $str = post('search');
            $str = preg_replace("#[^0-9a-z]#i", "", $str);
            $users = UserRepository::searchUsers($str);
            foreach ($users as $user) {
                ?>
                    <div>
                        <a href="<?php 
                echo \route\Route::get("twitterWall")->generate(array("id" => $user['userid']));
                ?>
">
                            <?php 
                echo $user['username'];
                ?>
                        </a>
                    </div>
                <?php 
            }
            echo $data;
        }
    }
Ejemplo n.º 14
0
 /**
  * Changes visibility of a user.
  */
 public function changeVisibility()
 {
     checkUnauthorizedAccess();
     $userid = UserRepository::getIdByUsername($_SESSION['username']);
     $user = UserRepository::getUserByID($userid);
     if ($user['visibility'] == 1) {
         UserRepository::hideFromUsersList($userid);
         redirect(Route::get("listUsers")->generate());
     } else {
         UserRepository::showInUsersList($userid);
         redirect(Route::get("listUsers")->generate());
     }
 }
Ejemplo n.º 15
0
    protected function outputHTML()
    {
        ?>

        <div class="container">

            <div class="col-md-10 col-md-offset-1">
                <div class="panel panel-info" id="comments">
                    <div class="panel-heading">
                        <h3 class="panel-title">Tweet <a href="<?php 
        echo Route::get("tweetRssFeed")->generate(array("id" => $this->tweet['tweetid']));
        ?>
" class="btn btn-info">RSS Feed</a></h3>
                    </div>
                    <div class="panel-body">
                        <label>Content</label>

                        <p><?php 
        echo parseText($this->tweet['content']);
        ?>
</p>
                        <?php 
        if ($this->tweet['image'] != null) {
            ?>
                            <hr>
                            <label>Image</label>
                            <p><img src="<?php 
            echo $this->tweet['image'];
            ?>
" width="20%" height="20%"></p>
                            <?php 
        }
        if ($this->tweet['tag'] != null) {
            ?>
                            <hr>
                            <label>Tag</label>
                            <p><?php 
            echo $this->tweet['tag'];
            ?>
</p>
                            <?php 
        }
        ?>
                    </div>
                </div>
            </div>

            <div class="col-md-10 col-md-offset-1">
                <div class="panel panel-info" id="comments">
                    <div class="panel-heading">
                        <h3 class="panel-title">Tweet Comments</h3>
                    </div>

                    <div class="panel-body">
                        <div id="displayComments">
                            <?php 
        if (count($this->comments) == 0) {
            echo "There are no comments for this tweet.";
        } else {
            foreach ($this->comments as $comment) {
                $user = UserRepository::getUserByID($comment['userid']);
                echo "<p>" . $user['username'] . ": " . parseText($comment['content']) . "</p>";
            }
        }
        ?>
                        </div>
                    </div>
                </div>
            </div>
        </div>

        <?php 
        if (checkPermissionToCommentTweet()) {
            ?>
                <form class="form-horizontal" id="comment-form" role="form" method="post" action="<?php 
            echo \route\Route::get("postTweetComment")->generate(array("id" => $this->tweet['tweetid']));
            ?>
">

                    <div class="form-group">
                        <div class="col-md-4 col-md-offset-4">
                        <textarea class="form-control" rows="3" name="comment" id="comment"
                                  placeholder="Enter comment..." required></textarea>
                        </div>
                    </div>

                    <div class="form-group">
                        <div class="col-md-4 col-md-offset-4">
                            <div style="color: green" id="success"></div>
                        </div>
                    </div>

                    <div class="form-group">
                        <div class="col-md-4 col-md-offset-4">
                            <input type="submit" class="btn btn-info btn-block" name="postComment" id="postComment"
                                   value="Post Comment">
                        </div>
                    </div>

                </form>
                <?php 
        } else {
            ?>
                <div class="col-md-4 col-md-offset-2">
                <p style='color: red'>To comment this tweet you must be friends with user who created it.</p>
                </div>
                <?php 
        }
        ?>

        <script type="text/javascript" >
            $(document).ready(function() {
                $('#postComment').on('click', function(e) {
                    e.preventDefault();
                    var comm = $('#comment').val();
                    var url = "<?php 
        echo Route::get('postTweetComment')->generate(array("id" => $this->tweet['tweetid']));
        ?>
";

                    $.post(url, {'comment' : comm}, function(data) {
                        a = JSON.parse(data);
                        $('#displayComments').append('<p>' + a.user + ': ' + a.comment + '</p>');
                        $('#comment').val('');
                    })
                });
            });

        </script>

        <?php 
    }
Ejemplo n.º 16
0
 public function logout()
 {
     UserRepository::logout();
     redirect(\route\Route::get("index")->generate());
 }
Ejemplo n.º 17
0
    protected function outputHTML()
    {
        ?>

        <div class="container">

            <div class="panel panel-info" id="comments">
                <div class="panel-heading">
                    <h3 class="panel-title">Messages</h3>
                    <div class="dropdown">
                        <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
                           aria-haspopup="true" aria-expanded="false">Sort By
                            <span class="caret"></span></a>
                        <ul class="dropdown-menu" role="menu">
                            <li>
                                <a href="<?php 
        echo \route\Route::get("sortMessages")->generate(array("order" => "newest"));
        ?>
">Newest</a>
                            </li>
                            <li><a href="<?php 
        echo \route\Route::get("sortMessages")->generate(array("order" => "oldest"));
        ?>
">Oldest</a></li>
                            <li><a href="<?php 
        echo \route\Route::get("sortMessages")->generate(array("order" => "unread"));
        ?>
">Unread</a></li>
                            <li><a href="<?php 
        echo \route\Route::get("sortMessages")->generate(array("order" => "read"));
        ?>
">Read</a></li>
                        </ul>
                    </div>
                </div>

                <div class="panel-body">
                    <?php 
        foreach ($this->messages as $message) {
            $user = UserRepository::getUserByID($message['senderid']);
            ?>
                        <p><a
                                href="<?php 
            echo \route\Route::get("readMessage")->generate(array("id" => $message['id']));
            ?>
">From: <?php 
            echo $user['username'];
            ?>
</a> | Sent: <?php 
            echo $message['created'];
            ?>
 | <l style="color: red"><?php 
            if ($message['readflag'] == 0) {
                echo " Unread";
            }
            ?>
</l></p>
                        <?php 
        }
        ?>
                </div>

            </div>
        </div>

        <?php 
    }
Ejemplo n.º 18
0
/**
 * Checks if user has permission to add photo to selected gallery.
 * User can add photo to a gallery only if he created the gallery.
 * @param $gallery
 * @return true if user has permission to add photo to the gallery
 */
function checkPermissionToAddPhotoToGallery($gallery)
{
    $galleryCreatorID = $gallery['userid'];
    $activeUserID = \Repository\UserRepository::getIdByUsername($_SESSION['username']);
    return $activeUserID == $galleryCreatorID;
}
Ejemplo n.º 19
0
    protected function outputHTML()
    {
        ?>

        <nav class="navbar navbar-default">
            <div class="container-fluid">

                <div class="navbar-header">
                    <a class="navbar-brand"
                       href="<?php 
        echo \route\Route::get("twitterWall")->generate(array("id" => $this->userid));
        ?>
"><span
                            class="glyphicon glyphicon-home" aria-hidden="true"></span> Home</a>
                </div>

                <script>
                    $(function () {
                        $('#input').keyup(function () {
                            var search = $('#input').val();
                            $.post("<?php 
        echo \route\Route::get("searchBar")->generate();
        ?>
", {"search": search}, function (data) {
                                $('.entry').html(data);
                            });
                        });
                    });
                </script>


                <div class="collapse navbar-collapse">

                    <ul class="nav navbar-nav">
                        <li class="dropdown">
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
                               aria-haspopup="true" aria-expanded="false">Menu
                                <span class="caret"></span></a>
                            <ul class="dropdown-menu" role="menu">
                                <li>
                                    <a href="<?php 
        echo \route\Route::get("listGalleries")->generate();
        ?>
">Galleries</a>
                                </li>
                                <li><a href="<?php 
        echo \route\Route::get("listUsers")->generate();
        ?>
">Users</a></li>
                                <li><a href="<?php 
        echo \route\Route::get("showFriends")->generate();
        ?>
">Friends</a></li>
                            </ul>
                        <li>
                            <?php 
        $color = newRequestNotification();
        ?>
                            <a style="color: <?php 
        echo $color;
        ?>
" href="<?php 
        echo \route\Route::get("showRequests")->generate();
        ?>
">Requests</a>
                        </li>
                        <li>
                            <?php 
        $color = newMessageNotification();
        ?>
                            <a style="color: <?php 
        echo $color;
        ?>
" href="<?php 
        echo \route\Route::get("showMessages")->generate();
        ?>
">Messages</a>
                        </li>
                        <li>
                            <form class="navbar-form navbar-left" role="search">
                                <div class="form-group">
                                    <input type="text" name="search" id="input" class="form-control" placeholder="Search">
                                </div>
                            </form>
                        </li>

                    </ul>

                    <ul class="nav navbar-nav navbar-right">
                        <li>
                            <ul>
                                <?php 
        $image = UserRepository::getProfilePicture($_SESSION['username']);
        if ($image == "") {
            echo "<img width='50' height='50' src='/TwitterApp/assets/images/profile/default.jpg' alt='Default Profile Pic'>";
        } else {
            echo "<img width='50' height='50' src='/TwitterApp/assets/images/profile/" . $image . "' alt='Default Profile Pic'>";
        }
        ?>
                            </ul>
                        </li>
                        <li class="dropdown">
                            <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button"
                               aria-haspopup="true" aria-expanded="false"><span class="glyphicon glyphicon-cog"
                                                                                aria-hidden="true"></span> Settings
                                <span class="caret"></span></a>
                            <ul class="dropdown-menu" role="menu">
                                <li><a href="<?php 
        echo \route\Route::get("changeProfilePicture")->generate();
        ?>
">Upload
                                        profile picture</a></li>
                                <li><a href="<?php 
        echo \route\Route::get("changeUsername")->generate();
        ?>
">Change
                                        username</a></li>
                                <li><a href="<?php 
        echo \route\Route::get("changePassword")->generate();
        ?>
">Change
                                        password</a></li>

                                <?php 
        $user = UserRepository::getUserByID($this->userid);
        if ($user['visibility'] == 1) {
            ?>
                                    <li><a href="<?php 
            echo \route\Route::get("changeVisibility")->generate();
            ?>
">Hide
                                            from users list</a></li>
                                    <?php 
        } else {
            ?>
                                    <li><a href="<?php 
            echo \route\Route::get("changeVisibility")->generate();
            ?>
">Show
                                            in users list</a></li>
                                    <?php 
        }
        ?>


                                <li class="divider"></li>
                                <li><a href="<?php 
        echo \route\Route::get("logout")->generate();
        ?>
">Log Out</a></li>
                            </ul>
                        </li>

                    </ul>
                </div>

            </div>
        </nav>

        <?php 
    }
Ejemplo n.º 20
0
    protected function outputHTML()
    {
        ?>

        <script src="/TwitterApp/assets/js/viewPhoto.js"></script>

        <div class="container">

            <ul class="nav nav-pills">
                <li class="dropdown">

                    <button class="btn btn-success dropdown-toggle" type="button" id="dropdownMenu1" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
                        Set As...
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu" aria-labelledby="dropdownMenu1">
                        <li><a href="<?php 
        echo \route\Route::get("setGalleryIcon")->generate(array("id" => $this->photo['photoid']));
        ?>
">Set As Gallery Icon</a></li>
                        <li><a href="<?php 
        echo \route\Route::get("setUserBackground")->generate(array("id" => $this->photo['photoid']));
        ?>
">Set As Background</a></li>
                    </ul>

                </li>

                <li>
                    <button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenu2" data-toggle="dropdown" aria-haspopup="true" aria-expanded="true">
                        Filters
                        <span class="caret"></span>
                    </button>
                    <ul class="dropdown-menu" aria-labelledby="dropdownMenu2">
                        <li><a href="<?php 
        echo \route\Route::get("imageFilter")->generate(array("id" => $this->photo['photoid'], "filter" => "blackwhite"));
        ?>
">Black and white</a></li>
                        <li><a href="<?php 
        echo \route\Route::get("imageFilter")->generate(array("id" => $this->photo['photoid'], "filter" => "sepia"));
        ?>
">Sepia</a></li>
                        <li><a href="<?php 
        echo \route\Route::get("imageFilter")->generate(array("id" => $this->photo['photoid'], "filter" => "blur"));
        ?>
">Blur</a></li>
                    </ul>
                </li>

                <li>
                    <form class="form-inline" role="form" method="post" action="<?php 
        echo \route\Route::get("imageFilter")->generate(array("id" => $this->photo['photoid'], "filter" => "brightness"));
        ?>
" id="brightnessForm">
                        <div class="form-group">
                            <input placeholder="Brightness strength" type="number" class="form-control" id="number" name="number">
                            <button type="submit" name="setBrightness" id="setBrightness" class="btn btn-default">Set brightness</button>
                        </div>
                    </form>
                </li>

            </ul>

            <br>

            <p><?php 
        echo "<img width='1024' height='768' src='" . $this->photo['path'] . "' alt='image'>";
        ?>
</p>

            <p><button class="btn btn-danger" id="editTags">Edit tags</button>
                <button class="btn btn-danger" id="commentPhoto">Comment photo</button>
                <a href="<?php 
        echo Route::get("photoRssFeed")->generate(array("id" => $this->photo['photoid']));
        ?>
" class="btn btn-info">RSS Feed</a>
                <button class="btn btn-default" id="closeEdit">Close</button></p>

            <div><h3>Photo tags</h3><p><?php 
        echo $this->photo['tags'];
        ?>
</p></div>

            <form class="form-horizontal" id="editPhotoTags" role="form" method="post"
                  action="<?php 
        echo \route\Route::get("editPhotoTags")->generate(array("id" => $this->photo['photoid']));
        ?>
">

                <?php 
        if (checkPermissionToCommentPhotoAndEditTags()) {
            ?>
                        <div class="form-group">
                            <div class="col-md-4">
                                <input type="text" class="form-control" name="tags" id="tags" value="<?php 
            echo $this->photo['tags'];
            ?>
" required>
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-md-4">
                                <input type="submit" class="btn btn-info btn-block" name="postTags" id="postTags"
                                       value="Submit changes">
                            </div>
                        </div>
                        <?php 
        } else {
            echo "<p style='color: red'>You must be friends with user who created gallery to edit tags.</p>";
        }
        ?>



            </form>

            <div id="displayComments">
                <h3>Photo comments</h3>
                <?php 
        if (count($this->comments) == 0) {
            echo "There are no comments for this photo.";
        } else {
            foreach ($this->comments as $comment) {
                $user = UserRepository::getUserByID($comment['userid']);
                echo "<p>" . $user['username'] . ": " . parseText($comment['content']) . "</p>";
            }
        }
        ?>
            </div>

            <form class="form-horizontal" id="comment-form" role="form" method="post"
                  action="<?php 
        echo \route\Route::get("postPhotoComment")->generate(array("id" => $this->photo['photoid']));
        ?>
">

                <?php 
        if (checkPermissionToCommentPhotoAndEditTags()) {
            ?>
                        <div class="form-group">
                            <div class="col-md-4">
                        <textarea class="form-control" rows="3" name="comment" id="comment"
                                  placeholder="Enter comment..." required></textarea>
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-md-4">
                                <div style="color: green" id="success"></div>
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-md-4">
                                <input type="submit" class="btn btn-info btn-block" name="postComment" id="postComment"
                                       value="Post Comment">
                            </div>
                        </div>
                        <?php 
        } else {
            echo "<p style='color: red'>You must be friends with user who created gallery to post comments.</p>";
        }
        ?>

            </form>

        </div>

        <script type="text/javascript" >
            $(document).ready(function() {
                $('#postComment').on('click', function(e) {
                    e.preventDefault();
                    var comm = $('#comment').val();
                    var url = "<?php 
        echo Route::get('postPhotoComment')->generate(array("id" => $this->photo['photoid']));
        ?>
";

                    $.post(url, {'comment' : comm}, function(data) {
                        a = JSON.parse(data);
                        $('#displayComments').append('<p>' + a.user + ': ' + a.comment + '</p>');
                        $('#comment').val('');
                    })
                });
            });

        </script>


        <?php 
    }
Ejemplo n.º 21
0
    protected function outputHTML()
    {
        ?>

        <div class="container">

            <div class="panel panel-info" id="comments">
                <div class="panel-heading">
                    <h3 class="panel-title"><?php 
        echo $this->user['username'];
        ?>
 profile</h3>
                </div>

                <div class="panel-body">
                    <p>First name: <?php 
        echo $this->user['firstname'];
        ?>
</p>

                    <p>Last name: <?php 
        echo $this->user['lastname'];
        ?>
</p>

                    <p>E-mail address: <?php 
        echo $this->user['email'];
        ?>
</p>

                    <p>
                        <a href="<?php 
        echo \route\Route::get("twitterWall")->generate(array("id" => $this->user['userid']));
        ?>
">User
                            wall</a></p>
                    <?php 
        $userid = UserRepository::getIdByUsername($_SESSION['username']);
        //ako otvoreni profil nije profil ulogiranog korisnika
        if (!($this->user['userid'] == $userid)) {
            $friendsID = FriendRepository::isFriend($userid, $this->user['userid']);
            //ako su prijatelji ponuditi opciju Unfriend
            if ($friendsID != null) {
                ?>
                            <p><a href="<?php 
                echo \route\Route::get("sendMessage")->generate(array("id" => $this->user['userid']));
                ?>
" class="btn btn-info">Send Message</a>
                                <a href="<?php 
                echo \route\Route::get("unfriend")->generate(array("id" => $this->user['userid']));
                ?>
" class="btn btn-danger">Unfriend</a>
                                <?php 
                $restrictionID = ResctrictionRepository::isBlocked($userid, $this->user['userid']);
                if ($restrictionID == null) {
                    ?>
                                    <a href="<?php 
                    echo \route\Route::get("blockUser")->generate(array("id" => $this->user['userid']));
                    ?>
" class="btn btn-warning">Block user</a></p>
                                    <?php 
                } else {
                    ?>
                                        <a href="<?php 
                    echo \route\Route::get("unblockUser")->generate(array("id" => $this->user['userid']));
                    ?>
" class="btn btn-warning">Unblock user</a></p>
                                    <?php 
                }
                ?>
                            <?php 
                //ako nisu prijatelji ponuditi opcije za prihvaćanje, odbijanje, uklanjanje
                //i slanje zahtjeva ovisno o situaciji
            } else {
                $getRequestID = RequestRepository::getRequest($this->user['userid'], $userid);
                $fromRequestID = RequestRepository::getRequest($userid, $this->user['userid']);
                if ($getRequestID != null) {
                    ?>
                                <p><a href="<?php 
                    echo \route\Route::get("acceptRequest")->generate(array("id" => $this->user['userid']));
                    ?>
" class="btn btn-success">Accept</a> | <a href="<?php 
                    echo \route\Route::get("deleteRequest")->generate(array("id" => $this->user['userid']));
                    ?>
" class="btn btn-danger">Delete</a>
                                </p>
                                <?php 
                } else {
                    if ($fromRequestID != null) {
                        ?>
                                <a href="<?php 
                        echo \route\Route::get("cancelRequest")->generate(array("id" => $this->user['userid']));
                        ?>
" class="btn btn-danger">Cancel Request</a>
                                <?php 
                    } else {
                        ?>
                                <a href="<?php 
                        echo \route\Route::get("sendFriendRequest")->generate(array("id" => $this->user['userid']));
                        ?>
" class="btn btn-info">Send Friend Request</a>
                                <?php 
                    }
                }
            }
        }
        ?>
                </div>

            </div>
        </div>

        <?php 
    }
Ejemplo n.º 22
0
    protected function outputHTML()
    {
        ?>

        <div class="container">

        <?php 
        //provjera da li su prijatelji ili da li je to sam korisnik
        if (checkPermissionToTweet()) {
            //forma za dodavanje novih tweetova
            ?>

            <script src="/TwitterApp/assets/js/postTweetForm.js"></script>

            <div class="col-md-4 col-md-offset-4">
                <button id="open" class="btn btn-success btn-block">Post tweet</button>
            </div>

            <form class="form-horizontal" id="tweet-form" role="form" method="post"
                  action="<?php 
            echo \route\Route::get("postTweet")->generate(array("id" => getIdFromURL()));
            ?>
">

                <br><br>

                <div class="form-group">
                    <div class="col-md-4 col-md-offset-4">
                        <textarea class="form-control" rows="3" name="content" id="content"
                                  placeholder="What's happening?" required></textarea>
                    </div>
                </div>

                <div class="form-group">
                    <div class="col-md-4 col-md-offset-4">
                        <input type="text" class="form-control" name="tag" id="tag" placeholder="Enter tweet tag (optional)">
                    </div>
                </div>

                <div class="form-group">
                    <div class="col-md-4 col-md-offset-4">
                        <select name="selectPhoto" id="sel1" class="form-control">
                            <option value="">Select photo...</option>
                            <?php 
            foreach ($this->userPhotos as $photo) {
                ?>
                                <option value="<?php 
                echo $photo['path'];
                ?>
"><?php 
                echo $photo['image'];
                ?>
</option>
                                <?php 
            }
            ?>
                        </select>
                    </div>
                </div>

                <div class="form-group">
                    <div class="col-md-4 col-md-offset-4">
                        <div style="color: green" id="success"></div>
                    </div>
                </div>

                <div class="form-group">
                    <div class="col-md-4 col-md-offset-4">
                        <input type="submit" class="btn btn-info btn-block" name="tweet" id="tweet" value="Tweet">
                    </div>
                </div>

            </form>

            <br><br>

            <?php 
        } else {
            ?>
            <div class="col-md-4 col-md-offset-1">
                <p>To post tweet on this wall you need to become friends.</p>
                <hr>
            </div>

            <?php 
        }
        $counter = 0;
        //prikaži sve tweetove na korisnikovom zidu
        foreach ($this->tweets as $tweet) {
            $counter++;
            $user = UserRepository::getUserByID($tweet['fromid']);
            $numberOfComments = TweetRepository::getNumberOfComments($tweet['tweetid']);
            $value = "Comments";
            if ($numberOfComments == 1) {
                $value = "Comment";
            }
            ?>

                <div class="col-md-10 col-md-offset-1">
                    <div class="panel panel-info" id="comments">
                        <div class="panel-heading">
                            <h3 class="panel-title">Posted by: <?php 
            echo $user['username'];
            ?>
</h3>
                        </div>

                        <div class="panel-body">
                            <div>
                                <?php 
            echo parseText($tweet['content']);
            ?>
                            </div>
                        </div>

                        <div class="panel-footer">
                            <div>
                                <a href="<?php 
            echo \route\Route::get("viewTweet")->generate(array("id" => $tweet['tweetid']));
            ?>
"><?php 
            echo $numberOfComments . ' ' . $value;
            ?>
</a>
                            </div>
                        </div>
                    </div>
                </div>
                <?php 
        }
        //ako nema tweetova, obavijeti korisnika
        if ($counter == 0) {
            ?>
                <div class="col-md-10 col-md-offset-1">
                    <div class="panel panel-info" id="comments">
                        <div class="panel-heading">
                            <h3 class="panel-title">Tweets</h3>
                        </div>
                        <div class="panel-body">
                            There are no tweets to show.
                        </div>
                    </div>
                </div>
                <?php 
        }
        ?>
        </div>

        <?php 
    }
Ejemplo n.º 23
0
    protected function outputHTML()
    {
        ?>

        <!DOCTYPE HTML>
        <html>

        <head>
            <title><?php 
        echo $this->pageTitle;
        ?>
</title>
            <meta charset="utf-8">
            <link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css" rel="stylesheet"
                  integrity="sha256-MfvZlkHCEqatNoGiOXveE8FIwMzZg4W85qfrfIFBfYc= sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ=="
                  crossorigin="anonymous">

            <script src="https://code.jquery.com/jquery-2.1.4.js"></script>
            <script src="//netdna.bootstrapcdn.com/bootstrap/3.1.1/js/bootstrap.min.js"></script>
            <script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

            <script>
                $(document).ready(function () {
                    $("#advancedSearchForm").hide();

                    $("#advanced").click(function () {
                        $("#advancedSearchForm").toggle();
                    });

                });
            </script>

        <head/>

        <?php 
        //postavljanje pozadinske slike
        if (isLoggedIn()) {
            $user = UserRepository::getUserByUsername($_SESSION['username']);
            if ($user['background'] == null) {
                echo "<body>";
            } else {
                echo "<body background='/TwitterApp/assets/images/galleries/" . $user['background'] . "'>";
            }
        } else {
            echo "<body>";
        }
        ?>

        <div class="container">

            <?php 
        if (!isLoggedIn()) {
            $indexNavbar = new IndexNavbar();
            echo $indexNavbar;
        } else {
            $userid = UserRepository::getIdByUsername($_SESSION['username']);
            //prikaži alatnu traku
            $userNavbar = new UserNavbar();
            $userNavbar->setUserid($userid);
            echo $userNavbar;
            ?>
                <div class="col-md-4 col-md-offset-4">
                    <button class="btn btn-default btn-block" id="advanced" >Advanced search</button>
                </div>
                <br><br>

                <div class="col-md-12">
                    <form class="form-horizontal" id="advancedSearchForm" role="form" method="post"
                          action="<?php 
            echo \route\Route::get("advancedSearch")->generate();
            ?>
">

                        <br><br>

                        <div class="form-group">
                            <div class="col-md-4 col-md-offset-4">
                                <label for="advancedSearch">Enter tags with operators AND, OR</label>
                                <input class="form-control" type="text" name="searchInput" id="searchInput" placeholder="Search for...">
                            </div>
                        </div>

                        <div class="form-group">
                            <div class="col-md-4 col-md-offset-4">
                                <input type="submit" class="btn btn-info btn-block" name="submitSearch" id="submitSearch" value="Search">
                            </div>
                        </div>

                    </form>
                </div>
                <?php 
        }
        ?>

            <div class="panel-body">
                <div class="col-md-6">
                    <div class="entry"></div>
                </div>
            </div>

        </div>

        <?php 
        echo $this->pageBody;
        ?>

        </body>

        </html>

        <?php 
    }