Browse Source

Activity 'load more' button.

Nathaniel van Diepen 10 years ago
parent
commit
674e684ccd
5 changed files with 44 additions and 7 deletions
  1. 20 3
      api.php
  2. 15 0
      data/pages/activity.template
  3. 4 1
      data/pages/index.template
  4. 4 3
      js/index.js
  5. 1 0
      php/project.php

+ 20 - 3
api.php

@@ -7,6 +7,9 @@
 		if(isset($_GET['id'])){
 			$id = $_GET['id'];
 			switch($_GET['type']){
+				case 'test':
+					echo time()+get('expire');
+				break;
 				case 'user':
 					back(true);
 					$ret['template'] = array(
@@ -326,7 +329,7 @@
 									$ret['error'] = 'Invalid Action';
 								}elseif(is_valid('title')&&is_valid('description')){
 									if(!newProject($_GET['title'],$_GET['description'])){
-										$ret['error'] = 'Unable to create project.';
+										$ret['error'] = 'Unable to create project. '.get_sql()->error;
 									}
 								}else{
 									$ret['error'] = 'Fill in all the details.';
@@ -422,8 +425,22 @@
 										isset($_GET['at'])?$_GET['at']:0,
 										isset($_GET['amount'])?$_GET['amount']:10
 									);
-									$ret['messages'] = messages($_GET['pid'],$_GET['of'],$limit[0],$limit[1]);
-									$ret['params'] = array($_GET['pid'],$_GET['of'],$limit[0],$limit[1]);
+									switch($_GET['of']){
+										case 'latest':
+											$ret['template'] = 'activity';
+											if($res = query("SELECT a.date, a.id FROM `activity` AS a ORDER BY a.date DESC LIMIT %d,%d",array($limit[0],$limit[1]))){
+												$ret['messages'] = fetch_all($res,MYSQLI_ASSOC);
+												foreach($ret['messages'] as $key => $activity){
+													$ret['messages'][$key] = activityObj($activity['id']);
+												}
+											}else{
+												$ret['messages'] = array();
+											}
+										break;
+										default:
+											$ret['messages'] = messages($_GET['pid'],$_GET['of'],$limit[0],$limit[1]);
+											$ret['params'] = array($_GET['pid'],$_GET['of'],$limit[0],$limit[1]);
+									}
 								}else{
 									$ret['error'] = 'Missing comment parameters';
 								}

+ 15 - 0
data/pages/activity.template

@@ -0,0 +1,15 @@
+<li>
+	<aside class="pack-end">
+		<time style="font-size:smaller;" class="timeago">
+			{{timestamp}}
+		</time>
+	</aside>
+	<a href="{{url}}">
+		<p>
+			{{rel.title}}
+		</p>
+		<p>
+			{{action}}
+		</p>
+	</a>
+</li>

+ 4 - 1
data/pages/index.template

@@ -37,7 +37,7 @@
 	<div>
 		<section data-type="list">
 			<header>
-				Latest Issues
+				Latest Activity
 			</header>
 			<ul>
 				{{#each activity}}
@@ -58,6 +58,9 @@
 					</li>
 				{{/each}}
 			</ul>
+			<a class="more">
+				latest
+			</a>
 		</section>
 	</div>
 {{else}}

+ 4 - 3
js/index.js

@@ -282,7 +282,7 @@
 										console.log('No template used');
 									}
 									if(!exists(d.toolbar)){
-										$('#toolbar').hide();
+										$('#toolbar').parent().hide();
 									}
 									$(window).resize();
 									loading(false);
@@ -412,7 +412,8 @@
 						};
 					data.start = t.data('at');
 					apiCall(data,function(d){
-						var tmplt = Handlebars.compile(template('pages','comment')),
+						d.template = exists(d.template)?d.template:'comment';
+						var tmplt = Handlebars.compile(template('pages',d.template)),
 							i;
 						if(d.messages.length < 10){
 							t.hide();
@@ -475,7 +476,7 @@
 											if(!exists(d.error)){
 												diag.dialog('close');
 												flag('ignore_statechange',false);
-												$('.topbar-current').click();
+												stateChange();
 											}
 										});
 									}

+ 1 - 0
php/project.php

@@ -29,6 +29,7 @@
 					}
 				}
 				if(query("INSERT INTO `projects` (title,description,u_id) VALUES ('%s','%s',%d)",array($title,$description,$user))){
+					$id = mysqli_insert_id(get_sql());
 					project_comment($id,'Project created');
 					alog('p',$id,"Project created");
 					return true;