PHP Classes

File: public/area.php

Recommend this page to a friend!
  Classes of Joseluis Laso   PHP Telegram CLI Wrapper   public/area.php   Download  
File: public/area.php
Role: Example script
Content type: text/plain
Description: Example script
Class: PHP Telegram CLI Wrapper
Send messages and other commands to Telegram users
Author: By
Last change:
Date: 8 years ago
Size: 8,298 bytes
 

Contents

Class file image Download
<?php

session_start
();
if (!isset(
$_SESSION['user'])) {
   
header("location: index.php");
    die;
}

?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link rel="shortcut icon" href="favicon.ico?v=1"/>

    <title>Telegram CLI Wrapper | Proof of Concept</title>
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap.min.css"
          integrity="sha512-dTfge/zgoMYpP7QbHy4gWMEGsbsdZeCXz7irItjcC3sPUFtf0kuFbDz/ixG7ArTxmDjLXDmezHubeNikyKGVyQ=="
          crossorigin="anonymous">
    <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/css/bootstrap-theme.min.css"
          integrity="sha384-aUGj/X2zp5rLCbBxumKTCw2Z50WgIr1vs/PFN4praOTvYXWlVyh2UtNUU0KAUhAX" crossorigin="anonymous">
    <link rel="stylesheet" href="css/styles.css">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
    <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.5/js/bootstrap.min.js"
            integrity="sha512-K1qjQ+NcF2TYO/eI3M6v8EiNYZfA95pQumfvcVrTHtwQVDG+aHRqLi/ETn2uB+1JqwYqVG3LIvdm9lj6imS/pQ=="
            crossorigin="anonymous"></script>
    <script src="js/common.js"></script>

    <!-- HTML5 shim and Respond.js for IE8 support of HTML5 elements and media queries -->
    <!--[if lt IE 9]>
    <script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
    <script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
    <![endif]-->

</head>

<body>

<nav class="navbar navbar-default">
    <div class="container-fluid">
        <div class="navbar-header">
            <a class="navbar-brand" href="#">
                <img alt="Brand" src="img/telegram-lo.png" height="30">
            </a>
        </div>
        <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
            <ul class="nav navbar-nav">
                <li class="active">
                    <a href="#">
                        Telegram CLI wrapper
                        <small>Welcome to the user area</small>
                    </a>
                </li>
            </ul>
        </div>
        <!-- /.navbar-collapse -->
    </div>
</nav>

<ul class="nav nav-tabs" id="main-nav-bar">
    <li role="presentation" class="active"><a href="#" action="home.php" class="action">Home</a></li>
    <li role="presentation"><a href="#" action="profile.php" class="action">Profile</a></li>
    <li role="presentation"><a href="#" action="messages.php" class="action">Messages</a></li>
</ul>

<div id="container" class="container">

    <div id="alert-pos"></div>

    <div id="content"></div>

    <div id="home">
        <form class="form-signin" id="main-form">
            <label for="text" class="sr-only">Text to send</label>
            <input type="text" id="text" class="form-control" placeholder="Text to send" required autofocus>
            <button class="btn btn-lg btn-primary btn-block ajax-no" id="send-button" type="submit">Send</button>
            <button class="btn btn-lg btn-info btn-block ajax-no" id="check-button">Check received</button>
        </form>

        <p class="btn btn-default btn-lg active">For now the system is not running telegram always. <br>
            So, you need to come here and click on "Check received" after you send something by telegram to me.</p>
    </div>

</div>
<!-- /container -->

<div class="container-fluid">
    <div class="row">
        <p class="text-center">
            <img src="img/ajax-loader.gif" class="ajax-yes" id="loader">
        </p>
    </div>
</div>

<!-- IE10 viewport hack for Surface/desktop Windows 8 bug -->
<script src="js/ie10-viewport-bug-workaround.js"></script>

</body>

<script>

    var me = "<?php echo $_SESSION['user']; ?>";

    function drawMessages(messages) {
        var content = '<table class="table table-stripped table-bordered">' +
            '<thead><tr><td>Date</td><td>Message</td></tr></thead><tbody>';
        for (var i = 0; i < messages.length; i++) {
            var message = messages[i];
            content += '<tr class="' + (message.from == me ? "success" : "") + '">' +
                '<td>' + message.date + '</td>' +
                '<td class="text-' + (message.from == me ? "left" : "right") + '">' + message.text + '</td>' +
                '</tr>';
        }
        content += '</tbody></table>';
        $("#content").html(content);
    }
    function drawProfile(user) {
        var content = '<table class="table table-stripped table-bordered">' +
            '<thead><tr><td>Field</td><td>Value</td></tr></thead><tbody>' +
            '<tr><td>id</td><td>' + user.id + '</td>' +
            '<tr><td>flags</td><td>' + user.flags + '</td>' +
            '<tr><td>phone</td><td>' + user.phone + '</td>' +
            '<tr><td>last name</td><td>' + user.last_name + '</td>' +
            '<tr><td>first name</td><td>' + user.first_name + '</td>' +
            '<tr><td>print name</td><td>' + user.print_name + '</td>' +
            '</tr>' +
            '</tbody></table>';
        $("#content").html(content);
    }

    $(function () {

        $("#home").show();
        $("#content").hide();

        $("#send-button").click(function(e){
            e.preventDefault();

            var text = $("#text").val();
            if (!text) {
                alert('warning', 'text is required');
                return false;
            }

            $.ajax({
                url: 'send.php',
                method: 'POST',
                data: {
                    text: text
                },
                success: function(data){
                    if (data.success) {
                        alert('success', 'message sent successfully, check your telegram app');
                    } else {
                        alert('warning', data.reason);
                    }
                },
                error: function () {
                    alert('danger', 'something wrong with the server happened');
                }

            });

            return false;
        });

        $("#check-button").click(function(e){
            e.preventDefault();

            $.ajax({
                url: 'check.php',
                method: 'POST',
                data: {},
                success: function(data){
                    if (data.success) {
                        alert('success', 'message receive and processed, please check you telegram app');
                    } else {
                        alert('warning', data.reason);
                    }
                },
                error: function () {
                    alert('danger', 'something wrong with the server happened');
                }

            });

            return false;
        });

        $(".action").click(function (e) {
            e.preventDefault();
            if (inAjax) return;

            var action = $(this).attr("action");

            $("#main-nav-bar li").removeClass('active');
            $(this).parent().addClass("active");
            if (action == "home.php") {
                $("#content").hide();
                $("#home").show();
                return;
            }

            $("#home").hide();
            $("#content").show().html("");


            $.ajax({
                url: action,
                method: 'POST',
                data: {},
                success: function (data) {
                    if (data.success) {
                        switch (action) {
                            case "messages.php":
                                drawMessages(data.messages);
                                break;
                            case "profile.php":
                                drawProfile(data.user);
                                break;
                        }
                    } else {
                        alert('warning', data.reason);
                    }
                },
                error: function () {
                    alert('danger', 'something wrong with the server happened');
                }
            });

            return false;
        });

    });
</script>
</html>