Guest User

Untitled

a guest
Dec 10th, 2017
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.95 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html ng-app="labos5" lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>Title</title>
  6. <script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.6.5/angular.min.js"></script>
  7. <script src="https://cdnjs.cloudflare.com/ajax/libs/angular-ui-router/1.0.3/angular-ui-router.min.js"></script>
  8. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  9. <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
  10. <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
  11.  
  12.  
  13.  
  14. <script>
  15.  
  16.  
  17. let ForumApp = angular.module('labos5', ['ui.router']);
  18.  
  19. ForumApp.config(function($stateProvider, $urlRouterProvider) {
  20.  
  21. $stateProvider.state('main',{
  22. url:'/',
  23. component:'main'
  24. }).state('login',{
  25. url:'/login',
  26. component:'login'
  27. }).state('register',{
  28. url:'/register',
  29. component:'register'
  30. })
  31. .state('profile',{
  32. url:'/:id',
  33. component:'profile'
  34. });
  35.  
  36. $urlRouterProvider.otherwise('/');
  37.  
  38. });
  39.  
  40. ForumApp.component('main', {
  41. template:
  42. ` <span>Welcome, {{c.user.username}} ({{c.user.email}}).</span>
  43. <br/>
  44. <div class="well" style="width:400px;" ng-repeat="dat in c.details">
  45. By {{c.user.username}} at {{dat.timestamp}}<hr>
  46.  
  47. <span>{{dat.comment}}</span>
  48. </div>
  49.  
  50. <button class="btn btn-primary" ng-click="hideShow=(hideShow ? false:true)">New Comment</button>
  51. <div ng-if="hideShow">
  52. New Comment:
  53. <textarea ng-model="c.new.komentar"></textarea><br>
  54. <button ng-class="c.new.komentar.length > 0 ? 'btn btn-success' : 'btn btn-danger'" ng-disabled="!c.new.komentar" ng-click="c.add()">Send</button>
  55. </div>
  56. <a ui-sref="register">Register</a>
  57. `,
  58. controller:function($http, $scope){
  59.  
  60. getInfo();
  61. function getInfo() {
  62. // Sending request to EmpDetails.php files
  63. $http.post('server/data.php').then(function (data) {
  64. // Stored the returned data into scope
  65. $scope.details = data;
  66. });
  67. }
  68.  
  69. /*this.posts=ForumService.getPosts();
  70.  
  71. $scope.$on('init', (event, post)=>{
  72.  
  73. this.posts=ForumService.getPosts();
  74.  
  75. });
  76.  
  77. $scope.$on('modeChange', ()=>{
  78.  
  79. this.mode=''
  80.  
  81. });
  82.  
  83.  
  84. this.changeSelected=function(post){
  85.  
  86. this.selectedPost=$window.angular.copy(post);
  87.  
  88.  
  89. };
  90.  
  91. this.mode='';
  92. this.selectedPost=null;
  93.  
  94. this.doDelete=function(index){
  95.  
  96. ForumService.deletePost(this.posts[index].name, index);
  97.  
  98. };*/
  99.  
  100. },
  101.  
  102. controller:function($http, $state, AuthenticationService){
  103.  
  104.  
  105. if (!AuthenticationService.isAuthenticated()) $state.go('login'); else {
  106.  
  107. this.user=AuthenticationService.getUser();
  108.  
  109. }
  110.  
  111. },
  112. controllerAs:'c'
  113. });
  114.  
  115.  
  116. ForumApp.component('login', {
  117. template:
  118. `
  119. <div id="login-form">
  120.  
  121. <h3>Login</h3>
  122.  
  123. <fieldset class="form-group">
  124.  
  125. <label>Username</label>
  126. <input class="form-control" type="text" ng-model="c.credentials.username" style="width:200px;" placeholder="Username"/>
  127.  
  128. </fieldset>
  129. <fieldset class="form-group">
  130. <label>Password:</label>
  131. <input class="form-control" type="password" ng-model="c.credentials.password" style="width:200px;" placeholder="Password"/>
  132.  
  133. </fieldset>
  134.  
  135. <button class="btn btn-success" ng-click="c.login()">Login!</button>
  136.  
  137. </div>
  138. `,
  139. controller:function(AuthenticationService){
  140.  
  141. this.login=function(){
  142.  
  143. AuthenticationService.login(this.credentials);
  144.  
  145. }
  146. },
  147. controllerAs:'c'
  148. });
  149.  
  150. ForumApp.component('register', {
  151. template:
  152. `
  153. <div class="col-md-6 col-md-offset-3">
  154. <h2>Register</h2>
  155. <form name="form" id="form" ng-submit="register();" role="form">
  156. <div class="form-group" ng-class="{ 'has-error': form.user.$dirty && form.user.$error.required }">
  157. <label for="username">Username</label>
  158. <input type="text" name="user" id="user" class="form-control" ng-model="userInfo.user" required />
  159. <span ng-show="form.user.$dirty && form.user.$error.required" class="help-block">Username is required</span>
  160. </div>
  161. <div class="form-group" ng-class="{ 'has-error': form.pass1.$dirty && form.pass1.$error.required }">
  162. <label for="password1">Password</label>
  163. <input type="password" name="pass1" id="pass1" class="form-control" ng-model="userInfo.pass1" required />
  164. <span ng-show="form.pass1.$dirty && form.pass1.$error.required" class="help-block">Password is required</span>
  165. </div>
  166. <div class="form-group" ng-class="{ 'has-error': form.pass2.$dirty && form.pass2.$error.required }">
  167. <label for="password2">Repeat password</label>
  168. <input type="password" name="pass2" id="pass2" class="form-control" ng-model="userInfo.pass2" required />
  169. <span ng-show="form.pass2.$dirty && form.pass2.$error.required" class="help-block">Passwords don't match</span>
  170. </div>
  171. <div class="form-group" ng-class="{ 'has-error': form.name.$dirty && form.name.$error.required }">
  172. <label for="password">Name</label>
  173. <input type="text" name="name" id="name" class="form-control" ng-model="userInfo.name" required />
  174. <span ng-show="form.name.$dirty && form.name.$error.required" class="help-block">Name is required</span>
  175. </div>
  176. <div class="form-group" ng-class="{ 'has-error': form.name.$dirty && form.name.$error.required }">
  177. <label for="email">Email</label>
  178. <input type="text" name="email" id="email" class="form-control" ng-model="userInfo.email" required />
  179. <span ng-show="form.email.$dirty && form.email.$error.required" class="help-block">Email is required</span>
  180. </div>
  181. <div class="form-actions">
  182. <button type="submit" ng-disabled="form.$invalid || userInfo.dataLoading" class="btn btn-primary">Register</button>
  183. <img ng-if="userInfo.dataLoading" src="data:image/gif;base64,R0lGODlhEAAQAPIAAP///wAAAMLCwkJCQgAAAGJiYoKCgpKSkiH/C05FVFNDQVBFMi4wAwEAAAAh/hpDcmVhdGVkIHdpdGggYWpheGxvYWQuaW5mbwAh+QQJCgAAACwAAAAAEAAQAAADMwi63P4wyklrE2MIOggZnAdOmGYJRbExwroUmcG2LmDEwnHQLVsYOd2mBzkYDAdKa+dIAAAh+QQJCgAAACwAAAAAEAAQAAADNAi63P5OjCEgG4QMu7DmikRxQlFUYDEZIGBMRVsaqHwctXXf7WEYB4Ag1xjihkMZsiUkKhIAIfkECQoAAAAsAAAAABAAEAAAAzYIujIjK8pByJDMlFYvBoVjHA70GU7xSUJhmKtwHPAKzLO9HMaoKwJZ7Rf8AYPDDzKpZBqfvwQAIfkECQoAAAAsAAAAABAAEAAAAzMIumIlK8oyhpHsnFZfhYumCYUhDAQxRIdhHBGqRoKw0R8DYlJd8z0fMDgsGo/IpHI5TAAAIfkECQoAAAAsAAAAABAAEAAAAzIIunInK0rnZBTwGPNMgQwmdsNgXGJUlIWEuR5oWUIpz8pAEAMe6TwfwyYsGo/IpFKSAAAh+QQJCgAAACwAAAAAEAAQAAADMwi6IMKQORfjdOe82p4wGccc4CEuQradylesojEMBgsUc2G7sDX3lQGBMLAJibufbSlKAAAh+QQJCgAAACwAAAAAEAAQAAADMgi63P7wCRHZnFVdmgHu2nFwlWCI3WGc3TSWhUFGxTAUkGCbtgENBMJAEJsxgMLWzpEAACH5BAkKAAAALAAAAAAQABAAAAMyCLrc/jDKSatlQtScKdceCAjDII7HcQ4EMTCpyrCuUBjCYRgHVtqlAiB1YhiCnlsRkAAAOwAAAAAAAAAAAA==" />
  184. <a href="#!/login" class="btn btn-link">Cancel</a>
  185. </div>
  186. </form>
  187. </div>
  188. `,
  189.  
  190. controller:function(AuthenticationService){
  191.  
  192. this.login=function(){
  193.  
  194. AuthenticationService.login(this.credentials);
  195.  
  196. }
  197. },
  198.  
  199. controller:function($http, $scope) {
  200.  
  201. $scope.userInfo={};
  202. $scope.register = function () {
  203. $http.post('server/register.php', {
  204. "name": $scope.userInfo.name,
  205. "email": $scope.userInfo.email,
  206. "username": $scope.userInfo.user,
  207. "password": $scope.userInfo.pass1
  208. }).then(function (response) {
  209. $scope.msg = "Room is inserted into database.";
  210. });
  211.  
  212. }
  213.  
  214. function getInfo() {
  215. $http.post('server/data.php').then(function (data) {
  216. $scope.details = data;
  217. });
  218. }
  219. },
  220.  
  221. controllerAs:'c'
  222. });
  223.  
  224.  
  225.  
  226. </script>
  227.  
  228. <script src="infrastructure/data.service.js"></script>
  229. <script src="infrastructure/auth.service.js"></script>
  230. <script src="infrastructure/forum.service.js"></script>
  231.  
  232. </head>
  233. </head>
  234. <body>
  235. <main ui-view></main>
  236. </body>
  237. </html>
Add Comment
Please, Sign In to add comment