<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta name="viewport" content="width=device-width, target-densitydpi=device-dpi"> <meta name="apple-mobile-web-app-capable" content="yes"> <meta name="apple-mobile-web-app-status-bar-style" content="black-translucent"> <meta name="format-detection" content="telephone=no"> <!-- CodeMirror --> <link rel="stylesheet" href="css/codemirror/codemirror.css" type="text/css"> <link rel="stylesheet" href="css/codemirror/show-hint.css" type="text/css"> <!-- Bootstrap --> <link href="css/bootstrap.min.css" rel="stylesheet"> <link href="css/bootstrap-theme.min.css" rel="stylesheet"> <!-- App --> <link rel="stylesheet" href="css/codeq.css" type="text/css"> <link rel="stylesheet" href="css/codeq/console.css" type="text/css"> <link rel="stylesheet" href="css/codeq/hint.css" type="text/css"> <title>CodeQ</title> </head> <body> <!-- the status bar at the top of each page --> <div class="navbar navbar-inverse navbar-fixed-top" id="topbar"> <div class="container-fluid"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a id="navigation-home" class="navbar-brand" href="#" title="Intelligent tutor system"> <img src="res/CodeQ_logo-sivi.png" class="img-responsive"> </a> <!--a class="navbar-brand" id="title"></a--> </div> <!-- Collect the nav links, forms, and other content for toggling --> <div class="collapse navbar-collapse"> <ul class="nav navbar-nav"> <li style="display: none;" id="navigation-problem_list"><a href="" data-tkey="problem_list">Problems</a></li> <li style="display: none;" id="navigation-python"><a href="" data-tkey="python">Python</a></li> <li style="display: none;" id="navigation-prolog"><a href="" data-tkey="prolog">Prolog</a></li> <li style="display: none;" id="navigation-robot"><a href="" data-tkey="robot">Robot</a></li> </ul> <ul class="nav navbar-nav navbar-right" style="display: none;"> <p class="navbar-text"><span data-tkey="signed_in_as">Signed in as </span><span id="signed-in-title">Janez</span></p> <li class="dropdown"> <a href="#" class="dropdown-toggle" data-toggle="dropdown" aria-expanded="true"> <span class="glyphicon glyphicon glyphicon-user"></span> </a> <ul class="dropdown-menu"> <li id="navigation-logout"><a href="#" data-tkey="logout">Logout</a></li> <li id="navigation-profile"><a href="#" data-tkey="profile">Profile</a></li> <li role="separator" class="divider"></li> <li><a href="#" data-toggle="modal" data-target="#modalChangePassword" data-tkey="change_pass" id="change-password">Change password</a></li> </ul> </li> <li class="dropdown" id="settings_dropdown_menu"> <a href="" class="dropdown-toggle" data-toggle="dropdown" id="settingsTrigger" title="Settings, options..." aria-expanded="true"><span class="glyphicon glyphicon glyphicon-wrench" aria-hidden="true"></span></a> <div class="dropdown-menu" style="background-color: #fff"> <form class="form col-sm-12"> <div class="form-group"> <span class="small" data-tkey="language">Language</span> <a class="text-muted" data-container="body" data-toggle="popover" data-trigger="hover" data-placement="left" data-html="true" data-content="<span class='small'>Select the UI language.</span>" data-original-title="" title=""><i class="glyphicon glyphicon-question-sign"></i></a><br> <select class="form-control" id="gui_lang_select"> <option value="sl">Slovensko</option> <option value="en">English</option> </select> </div> <div class="form-group"> <span class="small" data-tkey="robot_address">Robot’s address</span> <a class="text-muted" data-container="body" data-toggle="popover" data-trigger="hover" data-placement="left" data-html="true" data-content="<span class='small'>Set the robot's IP address.</span>" data-original-title="" title=""><i class="glyphicon glyphicon-question-sign"></i></a><br> <input type="text" class="form-control" id="robot_address_input" data-tkey-placeholder="password_verify_placeholder" placeholder="Repeat the password again" pattern="(((^|\.)((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]?\d))){4}$)|(((^|:)([0-9a-fA-F]{0,4})){1,8}$)" data-tkey-title="ip_title" title="Choose a valid IPv4 address"> </div> <div class="form-group"> <div class="text-right"> <button type="button" class="btn btn-default" data-target="settingsDropdown" data-toggle="dropdown" id="settings_cancel_btn">Close</button> <button type="button" class="btn btn-primary" data-target="settingsDropdown" data-toggle="dropdown" id="settings_save_btn">Save</button> </div> </div> </form> </div> </li> </ul> </div><!--/.nav-collapse --> </div> </div> <!--TODO --> <!-- login screen --> <div class="container" id="screen_login" style="display: none;"> <div class="modal-dialog modal-sm"> <!--div class="modal-content"--> <div class="row"><!--class="modal-header"--> <h3 class="text-center" data-tkey="signin_header">Please sign in</h3> </div> <div class="row"><!--class="modal-body"--> <div class="row"> <div class="col-md-12"> <span data-tkey="signin_via">Login via</span> <div class="ssa-buttons"> <a href="" class="ssa-buttons" role="button" data-dismiss="modal" data-toggle="modal" data-target="#modalAAI" id="aai_login_button"> <img src="res/gumb_aaiprijava.png" style="width: 49%"> </a> </div> <span data-tkey="signin_or">or</span> <form class="form" role="form" method="post" action="login" accept-charset="UTF-8" id="login-nav"> <div class="form-group"> <label class="sr-only" for="username" data-tkey="username">Username</label> <input type="text" class="form-control" id="username" data-tkey-placeholder="username" placeholder="Username" required> </div> <div class="form-group"> <label class="sr-only" for="password" data-tkey="password">Password</label> <input type="password" class="form-control" id="password" data-tkey-placeholder="password" placeholder="Password" required> </div> <div class="form-group"> <button class="btn btn-primary btn-block" type="button" id="submit" data-tkey="signin_button">Sign in</button> </div> <!--div class="checkbox"> <label> <input type="checkbox"> keep me logged-in </label> </div--> </form> </div> </div> </div> <div class="row"><!-- class="modal-footer"--> <div class="text-center"> <span data-tkey="signin_footer">New here ? </span><a href="" role="button" data-dismiss="modal" data-toggle="modal" id="signup_button"> <!--data-target="#modalSignUp"--><b data-tkey="signin_footer_signup">Sign Up</b></a> </div> <br> <div class="text-center small"> <a role="button" onclick="codeq.setLang('sl')">Slovenščina</a> | <a role="button" onclick="codeq.setLang('en')">English</a> </div> </div> <!--/div--> </div> </div> <!-- AAI login --> <div class="container" id="screen_aai_login" style="display: none;"> <div class="container"> <div class="row"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true" data-toggle="modal" data-target="#modalLogIn" id="cancel_aai_login">×</button> <h3 class="text-center">Arnes AAI</h3> </div> </div> <div class="container"> <div class="row" style="padding: 0; padding-top: 5px;"> <iframe width="100%" height="850px" frameborder="0" scrolling="no" allowtransparency="true" src="" id="aai_iframe"></iframe> </div> </div> </div> <!--Sign up screen--> <div class="container" id="screen_signup" style="display: none;"> <div class="modal-dialog modal-sm"> <div class="row"> <h3 class="text-center" data-tkey="signup_header">Sign up</h3> </div> <div class="row"> <form id="formSignUp" class="form"> <div class="form-group"> <label class="control-label small" data-tkey="username">Username</label> <input class="form-control" name="username" id="modalSignUpUsername" type="text" data-tkey-placeholder="username_placeholder" placeholder="Desired username" pattern="^[a-z,A-Z,0-9,_]{5,15}$" data-valid-min="5" data-tkey-title="username_title" title="Choose a alpha-numeric username of 5-15 characters." required=""> </div> <div class="form-group"> <label class="control-label small" data-tkey="name">Display name</label> <input class="form-control" name="name" id="modalSignUpName" type="text" data-tkey-placeholder="name_placeholder" placeholder="Desired display name" data-tkey-title="name_title" title="Choose a display name."> </div> <div class="form-group"> <label class="control-label small" data-tkey="email">E-mail</label> <input class="form-control" name="email" id="modalSignUpEmail" type="email" data-tkey-placeholder="email" placeholder="E-mail" data-tkey-title="email_title" title="Enter a valid email address." required=""> </div> <div class="form-group"> <label class="control-label small" data-tkey="password">Password</label> <input class="form-control" name="password" id="modalSignUpPassword" type="password" data-tkey-placeholder="password" placeholder="Password" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}" data-valid-min="6" data-tkey-title="password_title" title="Choose a password with at least one number, one lowercase and one uppercase letter and at least 6 characters." required=""> </div> <div class="form-group"> <label class="control-label small" data-tkey="password_verify">Verify (repeat password)</label> <input class="form-control" name="verify" id="modalSignUpVerify" type="password" data-tkey-placeholder="password_verify_placeholder" placeholder="Repeat the password again" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}" data-valid-min="6" data-tkey-title="password_title" title="Choose a password with at least one number, one lowercase and one uppercase letter and at least 6 characters." required=""> </div> </form> </div> <div class="row"> <div> <button class="btn btn-default" data-dismiss="modal" aria-hidden="true" data-toggle="modal" data-target="#modalLogIn" data-tkey="cancel" id="exit_signup_btn">Cancel</button> <input form="formSignUp" class="btn btn-primary" id="btnSignUp" type="submit" data-tkey-value="signup_button" value="Sign up"> </div> <br> <div class="text-center small"> <a role="button" onclick="codeq.setLang('sl')">Slovenščina</a> | <a role="button" onclick="codeq.setLang('en')">English</a> </div> </div> </div> </div> <!-- change password screen --> <div class="container" id="screen_change_pass" style="display: none;"> <div class="modal-dialog modal-sm"> <div class="row"> <h3 class="text-center" data-tkey="change_password_header">Change password </h3> </div> <div class="row"> <form id="formChangePassword" class="form"> <div class="form-group"> <label class="control-label small" data-tkey="password_new">New Password</label> <input class="form-control" name="new" id="modalChangePasswordNew" type="password" data-tkey-placeholder="password_new_placeholder" placeholder="Enter a new password" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}" data-valid-min="6" data-tkey-title="password_title" title="Choose a password with at least one number, one lowercase and one uppercase letter and at least 6 characters." required=""> </div> <div class="form-group"> <label class="control-label small" data-tkey="password_verify">Verify Password</label> <input class="form-control" name="verify" id="modalChangePasswordVerify" type="password" data-tkey-placeholder="password_verify_placeholder" placeholder="Repeat the password again" pattern="(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,}" data-valid-min="6" data-tkey-title="password_title" title="Choose a password with at least one number, one lowercase and one uppercase letter and at least 6 characters." required=""> </div> </form> </div> <div class="row"> <button class="btn btn-default" data-dismiss="modal" aria-hidden="true" data-tkey="cancel" id="cancel_change_pass_button">Cancel</button> <input form="formChangePassword" class="btn btn-primary" id="btnPasswdChange" type="submit" data-tkey-value="change_password_button" value="Change password"></button> </div> </div> </div> <!-- main screen: programming language selection, settings, etc. --> <div class="container" id="screen_language" style="text-align: center; display: none;"> <div class="row"> <div class="col-lg-4" id="choose-prolog"> <img class="img-circle" src=res/prolog.png alt="Generic placeholder image" width="140" height="140"> <h2>Prolog</h2> </div><!-- /.col-lg-4 --> <div class="col-lg-4" id="choose-python"> <img class="img-circle" src=res/python.png alt="Generic placeholder image" width="140" height="140"> <h2>Python</h2> </div><!-- /.col-lg-4 --> <div class="col-lg-4" id="choose-robot"> <img class="img-circle" src=res/eve.png alt="Generic placeholder image" width="140" height="140"> <h2>Robot</h2> </div><!-- /.col-lg-4 --> </div><!-- /.row --> </div> <!-- problem selection screen for a specific language: groups of problems, with descriptions --> <div class="container" id="screen_problem_list" style="display: none;"></div> <!-- problem screen: prolog --> <div class="container-fluid quadrants block1" id="screen_prolog" style="display: none;"> <div class="row"> <div class="col-lg-4 col-md-4 col-sm-12 block block-left"> <div class="col-lg-12 col-md-12 col-sm-12 block block1"> <div class="scrollable-content-container"> <div class="description-container"> <h2 class="title" data-dict="prolog" data-tkey="slug"></h2> <div class="description" data-dict="prolog" data-tkey="description"></div> </div> </div> <div class="block-label">Instructions</div> </div> <div class="col-lg-12 col-md-12 col-sm-12 block block4"> <div class="scrollable-content-container"> <div class="hints"></div> </div> <div class="block-label">Hints</div> </div> </div> <div class="col-lg-8 col-md-8 col-sm-12 block block-right "> <div class="col-lg-6 col-md-12 col-sm-12 block block2"> <nav class="navbar navbar-default block-toolbar"> <div class="container-fluid"> <button type="button" class="btn btn-default navbar-btn btn-plan" data-tkey="btn_plan">Plan</button> <button type="button" class="btn btn-default navbar-btn btn-hint" data-tkey="btn_hint">Hint</button> <button type="button" class="btn btn-default navbar-btn btn-test" data-tkey="btn_test">Test</button> </div> </nav> <div class="code_editor"></div> <div class="block-statusbar"></div> <div class="block-label">Code</div> </div> <div class="col-lg-6 col-md-12 col-sm-12 block block3"> <div class="console"></div> <div class="block-label">Console</div> </div> </div> </div><!--/row--> </div><!--container--> <!-- problem screen: python --> <div class="container-fluid quadrants block1" id="screen_python" style="display: none;"> <div class="row"> <div class="col-lg-4 col-md-4 col-sm-12 block block-left"> <div class="col-lg-12 col-md-12 col-sm-12 block block1"> <div class="scrollable-content-container"> <div class="description-container"> <h2 class="title" data-dict="python" data-tkey="slug"></h2> <div class="description" data-dict="python" data-tkey="description"></div> </div> </div> <div class="block-label">Instructions</div> </div> <div class="col-lg-12 col-md-12 col-sm-12 block block4"> <div class="scrollable-content-container"> <div class="hints"></div> </div> <div class="block-label">Hints</div> </div> </div> <div class="col-lg-8 col-md-8 col-sm-12 block block-right "> <div class="col-lg-6 col-md-12 col-sm-12 block block2"> <nav class="navbar navbar-default block-toolbar"> <div class="container-fluid"> <button type="button" class="btn btn-default navbar-btn btn-plan" data-tkey="btn_plan">Plan</button> <button type="button" class="btn btn-default navbar-btn btn-hint" data-tkey="btn_hint">Hint</button> <button type="button" class="btn btn-default navbar-btn btn-test" data-tkey="btn_test">Test</button> <button type="button" class="btn btn-default navbar-btn btn-run" data-tkey="btn_run">Run</button> <button type="button" class="btn btn-default navbar-btn btn-stop" data-tkey="btn_stop">Stop</button> </div> </nav> <div class="code_editor"></div> <div class="block-statusbar"></div> <div class="block-label">Code</div> </div> <div class="col-lg-6 col-md-12 col-sm-12 block block3"> <div class="console"></div> <div class="block-label">Console</div> </div> </div> </div><!--/row--> </div><!--container--> <!-- problem screen: robot --> <div class="container-fluid quadrants block1" id="screen_robot" style="display: none;"> <div class="row"> <div class="col-lg-3 col-md-6 col-sm-12 block block1"> <div class="description-container"> <h2 class="title" data-dict="robot" data-tkey="slug"></h2> <div class="description" data-dict="robot" data-tkey="description"></div> </div> <div class="block-label">Instructions</div> </div> <div class="col-lg-3 col-md-6 col-sm-12 block block2"> <nav class="navbar navbar-default block-toolbar"> <div class="container-fluid"> <button type="button" class="btn btn-default navbar-btn btn-plan">Plan</button> <button type="button" class="btn btn-default navbar-btn btn-hint">Hint</button> <button type="button" class="btn btn-default navbar-btn btn-run">Run</button> <button type="button" class="btn btn-default navbar-btn btn-stop">Stop</button> </div> </nav> <div class="code_editor"></div> <div class="block-statusbar"></div> <div class="block-label">Code</div> </div> <div class="col-lg-3 col-md-6 col-sm-12 block block3"> <div class="console"></div> <div class="block-label">Console</div> </div> <div class="col-lg-3 col-md-6 col-sm-12 block block4"> <div class="scrollable-content-container"> <div class="hints"></div> </div> <div class="block-label">Hints</div> </div> </div><!--/row--> </div><!--container--> <!-- profile screen --> <div class="container" id="screen_profile" style="display: none;"> <h2> <span data-tkey="profile">Profile</span> <div class="btn-group pull-right"> <a href="" data-toggle="modal" data-target="#modalChangePassword" class="btn btn-default" data-tkey="change_pass" id="change_pass_profile">Change Password</a> <a href="#" class="btn btn-default" id="btnProfileGoBack" onclick="history.back()" data-tkey="go_back">Go back</a> </div> </h2> <hr> <div class="row"> <div class="col-lg-12 col-md-12"> <div class="panel panel-default"> <div class="panel-heading"> Overview </div> <ul class="list-group small"> <li class="list-group-item text-right"><span class="pull-left"><strong data-tkey="username">Username</strong></span><span id="profileUsername">janezk</span></li> <li class="list-group-item text-right"><span class="pull-left"><strong data-tkey="name">Display name</strong></span><span id="profileName">Janez Kranjski</span></li> <li class="list-group-item text-right"><span class="pull-left"><strong data-tkey="joined">Joined</strong></span><span id="profileJoined">Sep 29, 2015</span></li> <li class="list-group-item text-right"><span class="pull-left"><strong data-tkey="last_login">Last seen</strong></span><span id="profileLastLogin">1 hour ago</span></li> </ul> </div> <div class="panel panel-default"> <div class="panel-heading" data-tkey="statistics">Statistics</div> <table id="table1" class="table table-bordered table-striped small"></table> </div> </div><!--/col-12--> </div><!--row--> </div><!--container--> <!-- Modals --> <!--div id="modalAAI" class="modal fade in" tabindex="-1" role="dialog" aria-hidden="false" data-keyboard="false" data-backdrop="static" style="display: none;"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <button type="button" class="close" data-dismiss="modal" aria-hidden="true" data-toggle="modal" data-target="#modalLogIn">×</button> <h3 class="text-center">Arnes AAI</h3> </div> <div class="modal-body" style="padding: 0;"> <iframe width="100%" height="500px" frameborder="0" scrolling="no" allowtransparency="true" src="https://codeq.si/Shibboleth.sso/Login?forceAuthn=1"></iframe> </div> </div> </div> </div--> <!-- Covers the whole screen with a semi-transparent block, so no input events can be triggered below. Used as a wait screen; must be the last element in the DOM. It is active after load, javascript turns it off after initialization. --> <div id="disabled" style="position: fixed; left: 0; right: 0; top: 0; bottom: 0; cursor: wait; background-color: rgba(0, 0, 0, 0.7);"></div> <!-- jQuery stuff --> <script src="js/jquery/jquery-1.11.3.js"></script> <script src="js/engine.io.js"></script> <script src="js/jquery/jquery.history.js"></script> <!-- Q promise library --> <script src="js/q.js"></script> <!-- Bootstrap --> <script src="js/bootstrap/bootstrap.min.js"></script> <!-- CodeMirror stuff --> <script src="js/codemirror/codemirror.js"></script> <script src="js/codemirror/matchbrackets.js"></script> <script src="js/codemirror/prolog.js"></script> <script src="js/codemirror/python.js"></script> <script src="js/codemirror/show-hint.js"></script> <!-- codeq app --> <script src="js/codeq/core.js"></script> <!-- Cordova/PhoneGap --> <script type="text/javascript" src="cordova.js"></script> <!-- codeq app cont. --> <script src="js/codeq/init.js"></script> <script src="js/codeq/translation.js"></script> <script src="js/codeq/navigation.js"></script> <script src="js/codeq/comms.js"></script> <script src="js/codeq/console.js"></script> <script src="js/codeq/editor.js"></script> <script src="js/codeq/hint.js"></script> <script src="js/codeq/prolog.js"></script> <script src="js/codeq/python.js"></script> <script src="js/codeq/robot.js"></script> <script src="js/codeq/signup.js"></script> <script src="js/codeq/login.js"></script> <script src="js/codeq/aaiLogin.js"></script> <script src="js/codeq/change_password.js"></script> <script src="js/codeq/profile.js"></script> <script src="js/codeq/language.js"></script> <script src="js/codeq/problem_list.js"></script> <script src="js/codeq/settings.js"></script> </body> </html>