Browse Source

User messages

Nathaniel van Diepen 10 years ago
parent
commit
f4d20c3c78
10 changed files with 61 additions and 3 deletions
  1. 1 0
      .htaccess
  2. 11 1
      api.php
  3. 1 1
      bugs.appcache
  4. 3 0
      css/style.css
  5. 6 0
      data/pages/messages.options
  6. 24 0
      data/pages/messages.template
  7. 8 0
      data/topbars/default.template
  8. 1 1
      data/version
  9. 1 0
      index.php
  10. 5 0
      php/messages.php

+ 1 - 0
.htaccess

@@ -13,6 +13,7 @@
 	RewriteRule ^project-([^/]*)$ /index.php?type=project&id=$1 [QSA,L]
 	RewriteRule ^admin-([^/]*)$ /index.php?type=admin&id=$1 [QSA,L]
 	RewriteRule ^page-([^/]*)$ /index.php?type=page&id=$1 [QSA,L]
+	RewriteRule ^message-([^/]*)$ /index.php?type=message&id=$1 [QSA,L]
 	ErrorDocument 404 /
 </IfModule>
 # File security

+ 11 - 1
api.php

@@ -50,6 +50,9 @@
 					$ret['context'] = $context;
 					retj($ret,'Project - '.$context['title']);
 				break;
+				case 'message':
+					// TODO - handle message requests
+				break;
 				case 'admin':
 					back(true);
 					// TODO - handle admin requests
@@ -57,7 +60,7 @@
 				case 'page':
 					$title = $id;
 					if(file_exists(PATH_DATA.'pages/'.$id.'.template')){
-						if(!isset($_GET['template'])){
+						if(!isset($_GET['template'])||$_GET['template']=='true'){
 							$ret['template'] = file_get_contents(PATH_DATA.'pages/'.$id.'.template');
 						}
 						$context = Array();
@@ -89,6 +92,13 @@
 												}
 											}
 										break;
+										case 'messages':
+											if($LOGGEDIN){
+												$context['messages'] = messages($context['user']['id'],'user');
+											}else{
+												$context['messages'] = Array();
+											}
+										break;
 									}
 								}
 							}

+ 1 - 1
bugs.appcache

@@ -111,4 +111,4 @@ NETWORK:
 *
 
 FALLBACK:
-Version Mon Nov 18 13:37:35 MST 2013
+Version Mon Nov 18 15:44:22 MST 2013

+ 3 - 0
css/style.css

@@ -262,6 +262,9 @@ div#loading{
     zoom: 1.0;
     width: extend-to-zoom;
 }
+@viewport{
+	orientation: portrait;
+}
 @-ms-viewport{
     width: extend-to-zoom;
     zoom: 1.0;

+ 6 - 0
data/pages/messages.options

@@ -0,0 +1,6 @@
+{
+	"secure": true,
+	"context": [
+		"messages"
+	]
+}

+ 24 - 0
data/pages/messages.template

@@ -0,0 +1,24 @@
+<a class="button" href="#page-newmessage">
+	New
+</a>
+<div class="accordion">
+	<span class="icons">
+		{
+			"header": "ui-icon-mail-closed",
+			"activeHeader": "ui-icon-mail-open"
+		}
+	</span>
+	{{#each messages}}
+		<h3>
+			<a class="button" href="#~{{from}}">
+				From: {{from}}
+			</a>
+			<a class="button" href="#~{{to}}">
+				To: {{to}}
+			</a>
+		</h3>
+		<div>
+			{{message}}
+		</div>
+	{{/each}}
+</div>

+ 8 - 0
data/topbars/default.template

@@ -70,6 +70,11 @@
 						Profile
 					</a>
 				</li>
+				<li>
+					<a href="#page-messages">
+						Messages
+					</a>
+				</li>
 				<li>
 					<a href="#page-logout">
 						Logout
@@ -84,6 +89,9 @@
 			<a class="menuitem" href="#~{{user.name}}">
 				Profile
 			</a>
+			<a class="menuitem" href="#page-messages">
+				Messages
+			</a>
 			<a class="menuitem" href="#page-projects">
 				Projects
 			</a>

+ 1 - 1
data/version

@@ -1 +1 @@
-Mon Nov 18 13:37:35 MST 2013
+Mon Nov 18 15:44:22 MST 2013

+ 1 - 0
index.php

@@ -104,6 +104,7 @@
 				window.applicationCache.addEventListener('updateready',function(){
 					location.reload();
 				});
+				window.screen.lockOrientation('portrait');
 			})(window,Modernizr);
 		</script>
 		<script src="js/jquery.min.js"></script>

+ 5 - 0
php/messages.php

@@ -8,6 +8,11 @@
 					return $res->fetch_all(MYSQLI_ASSOC);
 				}
 			break;
+			case 'user':
+				if($res = query("SELECT  m.id, uf.name as \"from\", ut.name as \"to\", m.message, UNIX_TIMESTAMP(m.timestamp) as timestamp FROM `messages` m JOIN `users` uf ON uf.id = m.from_id JOIN `users` ut ON ut.id = m.to_id WHERE (m.from_id='%d' AND m.to_id IS NOT NULL) OR m.to_id='%d'",Array($id,$id))){
+					return $res->fetch_all(MYSQLI_ASSOC);
+				}
+			break;
 		}
 		return Array();
 	}