| <?php
use Lobby\Apps;
use Lobby\Need;
use Lobby\Time;
$page_title = "Lobby Store";
$appID = \Request::get('app');
if($appID !== null){
  $app = \Lobby\Server::store(array(
    "get" => "app",
    "id" => $appID
  ));
  if($app){
    $page_title = $app['name'] . " | Lobby Store";
  }
}
?>
<html>
  <head>
    <?php
    \Assets::css("apps-grid", "/admin/css/apps-grid.css");
    \Assets::css("lobby-store", "/admin/css/lobby-store.css");
    \Assets::js("lobby-store", "/admin/js/lobby-store.js");
    \Hooks::doAction("admin.head.begin");
    \Response::head($page_title);
    ?>
  </head>
  <body>
    <?php
    \Hooks::doAction("admin.body.begin");
    ?>
    <div id="workspace">
      <div class="contents">
        <?php
        if($appID !== null){
          if($app === false){
            echo ser("404 - App Not Found", "App was not found in Lobby Store.");
          }else{
            $appImage = $app['image'] != "" ? $app['image'] : L_URL . "/includes/lib/lobby/image/blank.png";
            $c = $app['category'];
            $sc = $app['sub_category'];
        ?>
            <h1>
              <?php
              echo Lobby::l("/admin/lobby-store.php?id={$app['id']}", $app['name']);
              echo Lobby::l(L_SERVER . "/apps/{$app['id']}?lobby_url=" . urlencode(L_URL), "<i id='open-in-new' class='small'></i>", "target='_blank'");
              ?>
            </h1>
            <div id="appNav">
              <?php echo "<div class='chip'><a href='". L_SERVER ."/apps?c={$c}' target='_blank'>" . ucfirst($c) . "</a> > <a href='". L_SERVER ."/apps?sc={$sc}' target='_blank' >" . ucfirst($sc) . "</a></div>";?>
              <p class="chip"><?php echo $app['short_description'];?></p>
            </div>
            <div class="row">
              <div class="col m3" id="leftpane" style="text-align: center;">
                <img src='image/clear.gif' height="200" width="200" />
                <script>
                  $(window).load(function(){
                    var image = $("#leftpane img");
                    var downloadingImage = new Image();
                    downloadingImage.onload = function(){
                      image.attr("src", this.src);
                    };
                    downloadingImage.src = "<?php echo $appImage;?>";
                  });
                </script>
                <?php
                $App = new Apps($appID);
                $require = $app['require'];
                if(!$App->exists){
                  /**
                   * Check whether Lobby version is compatible
                   */
                  if(Need::checkRequirements($require, true)){
                    echo \Lobby::l("/admin/install-app.php?app={$appID}" . CSRF::getParam(), "Install", "class='btn red'");
                  }else{
                    echo "<a class='btn red disabled' title='The app requirements are not satisfied. See 'Info' tab.'>Install</a>";
                  }
                }else if(version_compare($app['version'], $App->info['version'], ">")){
                  /**
                   * New version of app is available
                   */
                  echo \Lobby::l("/admin/check-updates.php", "Update App", "class='btn red'");
                }else if($App->enabled){
                  echo \Lobby::l($App->info['url'], "Open App", "class='btn green'");
                }else{
                  /**
                   * App is Disabled. Show button to enable it
                   */
                  echo \Lobby::l("/admin/apps.php?action=enable&redirect=1&app=" . $appID . CSRF::getParam(), "Enable App", "class='btn green'");
                }
                ?>
                <div class="chip" clear>Developed By <a href="<?php echo $app['author_page'];?>" target="_blank"><?php echo $app['author'];?></a></div>
                <div class="chip" clear><a href="<?php echo $app['app_page'];?>" target="_blank">App's Webpage</a></div>
              </div>
              <div class="col m9">
                <ul class="tabs">
                  <li class="tab"><a href="#app-info">Info</a></li>
                  <li class="tab"><a href="#app-description">Description</a></li>
                  <li class="tab"><a href="#app-screenshots">Screenshots</a></li>
                  <li class="tab"><a href="#app-stats">Stats</a></li>
                </ul>
                <div id="app-info" class="tab-contents">
                  <div class="chip">Version : <?php echo $app['version'];?></div>
                  <div class="chip">Last updated <?php echo Time::getTimeago($app['updated']);?></div><cl/>
                  <div class="chip"><span>Requirements :</span></div>
                    <ul class="collection" style="margin-left: 20px;">
                      <?php
                      $requirementsInSystemInfo = Need::checkRequirements($require);
                      foreach($require as $k => $v){
                        if($requirementsInSystemInfo[$k]){
                          echo "<li class='collection-item'>$k $v</li>";
                        }else{
                          echo "<li class='collection-item red' title=''>$k $v</li>";
                        }
                      }
                      ?>
                    </ul>
                </div>
                <div id="app-description" class="tab-contents">
                  <div class="card-panel light-green">
                    <span class="white-text"><?php echo $app['description'];?></span>
                  </div>
                </div>
                <div id="app-screenshots" class="tab-contents">
                  <?php
                  $screenshots = explode("\n", $app['screenshots']);
                  if(count($screenshots) > 1){
                    foreach($screenshots as $screenshot){
                      if($screenshot != ""){
                        echo "<a href='$screenshot' target='_blank' clear><img src='image/clear.gif' data-none='' width='100%' /></a>";
                      }
                    }
                    ?>
                    <script>
                      $(window).load(function(){
                        var screenshots = <?php echo json_encode($screenshots);?>;
                        $.each(screenshots, function(i, elem){
                          var image = $("#app-screenshots img[data-none]:first");
                          var downloadingImage = new Image();
                          downloadingImage.onload = function(){
                            image.attr("src", this.src);
                          };
                          downloadingImage.src = elem;
                          image.removeAttr("data-none");
                        });
                      });
                    </script>
                    <?php
                  }else{
                    echo ser("No Screenshots", "This app has no screenshots");
                  }
                  ?>
                </div>
                <div id="app-stats" class="tab-contents">
                  <div class="chip">Downloads : <?php echo $app['downloads'];?></div><cl/>
                  <div class="chip">Rating : <?php echo $app['rating'];?></div>
                </div>
              </div>
            </div>
            <style>
            .tab-contents{
              padding: 10px 0;
            }
            </style>
        <?php
          }
        }else{
          $q = Request::get("q");
          $p = Request::get("p");
          $section = Request::get("section");
        ?>
          <h1>
            <a href="<?php echo Lobby::u("/admin/lobby-store.php");?>">Lobby Store</a>
            <a href="<?php echo L_SERVER . "/apps?lobby_url=" . urlencode(L_URL);?>" target="_blank"><i id="open-in-new" class="small"></i></a>
          </h1>
          <div id="storeNav" class="card">
            <form method="GET" action="<?php echo \Lobby::u("/admin/lobby-store.php");?>">
              <input type="text" placeholder="Search for an app" name="q" value="<?php echo htmlspecialchars($q);?>" />
              <button class="hide"></button>
            </form>
            <?php
            echo Lobby::l("/admin/lobby-store.php", "New", "class='btn ". ($section === null ? "green" : "") ."'");
            echo Lobby::l("/admin/lobby-store.php?section=popular", "Popular", "class='btn ". ($section === "popular" ? "green" : "") ."'");
            ?>
          </div>
          <?php
          if($q !== null)
            $params = array(
              "q" => $_GET['q']
            );
          else
            $params = array(
              "get" => "newApps"
            );
          if($section !== null)
            $params["get"] = "popular";
          if($p !== null)
            $params["p"] = $p;
          $server_response = \Lobby\Server::store($params);
          if($server_response == false){
            echo ser("Nothing Found", "Nothing was found that matches your criteria. Sorry...");
          }else{
            echo "<div class='apps row'>";
              foreach($server_response['apps'] as $app){
                $appImage = $app['image'] != "" ? $app['image'] : L_URL."/includes/lib/lobby/image/blank.png";
                $url = \Lobby::u("/admin/lobby-store.php?app={$app['id']}");
            ?>
                <div class="app card col s12 m6 l6">
                  <div class="app-inner row">
                    <div class="lpane col s4 m5 l4">
                      <a href="<?php echo $url;?>">
                        <img src="<?php echo $appImage;?>" />
                      </a>
                    </div>
                    <div class="rpane col s8 m6 l8">
                      <a href="<?php echo $url;?>" class="name"><?php echo $app['name'];?></a>
                      <p class="description truncate" title="<?php echo $app['short_description'];?>"><?php echo $app['short_description'];?></p>
                      <div class="chip">Version : <?php echo $app['version'];?></div>
                      <div class="chip">By <a href="<?php echo $app['author_page'];?>"><?php echo $app['author'];?></a></div>
                    </div>
                  </div>
                  <div class="bpane row">
                    <div class="lside col s6 l6">
                      <?php
                      echo "<div>Rating: " . $app['rating'] . "</div>";
                      echo "<div class='downloads'>" . $app['downloads'] . " downloads</div>";
                      ?>
                    </div>
                    <div class="rside col s6 l6">
                      <div>Updated <?php echo Time::getTimeago($app['updated']);?></div>
                    </div>
                  </div>
                </div>
            <?php
              }
            echo '</div>';
            $apps_pages = (ceil($server_response['apps_count'] / 6)) + 1;
            $cur_page = \Request::get("p", "1");
            echo "<ul class='pagination'>";
              for($i = 1;$i < $apps_pages;$i++){
                echo "<li class='waves-effect ". ($cur_page == $i ? "active" : "") ."'>";
                  echo "<a href='?p=$i'>$i</a>";
                echo "</li>";
              }
            echo '</div>';
          }
        }
        ?>
      </div>
    </div>
  </body>
</html>
 |