<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>db/gam (copia).sqlite</filename>
    </added>
    <added>
      <filename>db/gam3.sql</filename>
    </added>
    <added>
      <filename>library/Gam/Controller/Router/Route/RequestVars.php</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -5,10 +5,16 @@ var Books = {
     dialogBook: [],
     addDialog: function() {
         if (Books.dialogReading == null) {
+            var href = Apps.createUrl({
+                module: 'default',
+                controller: 'books',
+                action: 'addDialog',
+                params: {}
+                });
             Books.dialogReading = new dijit.Dialog({ 
                 id: 'dialogAdd',
                 title: 'Add Reading book', 
-                href: '/default/books/addDialog',
+                href: href,
                 preventCache: true,
                 parseOnLoad: true
                 });
@@ -17,9 +23,15 @@ var Books = {
     },
     
     saveReading: function(){
+        var href = Apps.createUrl({
+            module: 'default',
+            controller: 'books',
+            action: 'save',
+            params: {}
+            });
         Apps.dialogXhrPost({
             frmName: &quot;frmAddReading&quot;,
-            url: &quot;/default/books/save/&quot;,
+            url: href,
             dialogName: 'dialogAdd',
             cbkOnLoad: function() {
                 Books.refreshAllGrids();
@@ -37,10 +49,16 @@ var Books = {
         if (Books.dialogBook[id]!=undefined) {
             Books.dialogBook[id].destroy();
         }
+        var href = Apps.createUrl({
+            module: 'default',
+            controller: 'books',
+            action: 'book',
+            params: {id: id}
+            });
         Books.dialogBook[id] = new dijit.Dialog({ 
             id: 'book_' + id,
             title: 'Book', 
-            href: '/default/books/book/id/' + id,
+            href: href,
             preventCache: true,
             parseOnLoad: true
             });
@@ -55,8 +73,14 @@ var Books = {
     },
     
     markAs: function(id, status) {
+        var href = Apps.createUrl({
+                module: 'default',
+                controller: 'books',
+                action: 'markas',
+                params: {id: id, status: status}
+                });
         Apps.dialogXhrPost({
-            url: '/default/books/markas/id/' + id + '/status/' + status, 
+            url: href, 
             dialogName: 'book_' + id,
             cbkOnLoad: function(){
                 Books.refreshAllGrids();
@@ -66,10 +90,16 @@ var Books = {
     
     editDialog: function(id) {
         Books.dialogBook[id].destroy();
+        var href = Apps.createUrl({
+            module: 'default',
+            controller: 'books',
+            action: 'editBook',
+            params: {id: id}
+            });
         Books.dialogBook[id] = new dijit.Dialog({ 
             id: 'book_' + id,
             title: 'Book', 
-            href: '/default/books/editBook/id/' + id,
+            href: href,
             preventCache: true,
             parseOnLoad: true
             });
@@ -77,9 +107,15 @@ var Books = {
     },
     
     edit: function(id) {
+        var href = Apps.createUrl({
+            module: 'default',
+            controller: 'books',
+            action: 'doedit',
+            params: {id: id}
+            });
         Apps.dialogXhrPost({
             frmName: 'edit_book_' + id,
-            url: '/default/books/doedit/id/' + id, 
+            url: href, 
             dialogName: Books.dialogBook[id],
             cbkOnLoad: function() {
                 Books.openBookDialog(id);
@@ -89,8 +125,14 @@ var Books = {
     },
     
     delete: function(id) {
+        var href = Apps.createUrl({
+            module: 'default',
+            controller: 'books',
+            action: 'dodelete',
+            params: {id: id}
+            });
         Apps.dialogXhrPost({
-            url: '/default/books/dodelete/id/' + id, 
+            url: href, 
             dialogName: Books.dialogBook[id],
             cbkOnLoad: function() {
                 Books.refreshAllGrids();
@@ -113,13 +155,18 @@ var Books = {
     },
     
     search: function() {
-        query = dojo.formToQuery('books.find');
-        url = &quot;/default/books/search/?&quot; + query;  
+        var href = Apps.createUrl({
+            module: 'default',
+            controller: 'books',
+            action: 'search',
+            params: dojo.formToObject('books.find')
+            });
+                
         if (books.luceneresults.store) {
             books.luceneresults.store.close();
         }
         books.luceneresults.store = new dojo.data.ItemFileReadStore({
-            url: url,
+            url: href,
             urlPreventCache: 1,
             clearOnClose: true,
             });</diff>
      <filename>app/modules/default/controllers/Books/js/Books.js</filename>
    </modified>
    <modified>
      <diff>@@ -1,9 +1,42 @@
 var remoteScriptValue = null;
 var Apps = {
+    createUrl: function(url) {
+        var params = undefined;
+        for(var index in url.params){
+            params = '&amp;' + index + '=' + url.params[index];
+        }
+        var out = '?' + 
+            'module=' + url.module + '&amp;' +
+            'controller=' + url.controller + '&amp;' +
+            'action=' + url.action;
+        if (params != undefined) {
+            out += params; 
+        }
+        return out;
+    }, 
+    
     startAppInTab: function(app, title) 
     {
-        var jsUrl = '/default/' + app + '/js/file/init';
-        var href  = '/default/' + app + '/index';
+        //var jsUrl = '/default/' + app + '/js/file/init';
+        //var href  = '/default/' + app + '/index';
+        
+        var jsUrl = Apps.createUrl({
+            module: 'default',
+            controller: app,
+            action: 'js',
+            params: {
+                file: 'init'
+            }
+        });
+        
+        var href = Apps.createUrl({
+            module: 'default',
+            controller: app,
+            action: 'index',
+            params: {}
+        });
+        
+        
         remoteScriptFlag = undefined;
         dojo.io.script.get({
             url: jsUrl, </diff>
      <filename>app/modules/default/controllers/Index/js/Apps.js</filename>
    </modified>
    <modified>
      <diff>@@ -5,10 +5,16 @@ MenuActions = {
     dialogAbout: null,
     
     _getDialog: function(title, id) {
+        var href = Apps.createUrl({
+            module: 'default',
+            controller: 'info',
+            action: id,
+            params: {}
+        });
         return new dijit.Dialog({ 
             id: 'dlg' + id,
             title: title, 
-            href: '/default/info/' + id,
+            href: href,
             preventCache: false,
             parseOnLoad: true
             });
@@ -36,7 +42,12 @@ MenuActions = {
     },
     
     aboutApp: function(app, title) {
-        var href  = '/default/index/about' + app;
+        var href = Apps.createUrl({
+            module: 'default',
+            controller: 'index',
+            action: 'about' + app,
+            params: {}
+        });
         if (MenuActions.dialogAbout != null) {
             MenuActions.dialogAbout.destroy();
         }</diff>
      <filename>app/modules/default/controllers/Index/js/MenuActions.js</filename>
    </modified>
    <modified>
      <diff>@@ -5,11 +5,17 @@ var Notes = {
     dialogNote: null,
     
     addNoteDialog: function() {
+        var href = Apps.createUrl({
+            module: 'default',
+            controller: 'notes',
+            action: 'addNoteDialog',
+            params: {}
+        });
         if (Notes.dialogAddNote == null) {
             Notes.dialogAddNote = new dijit.Dialog({ 
                 title: 'Add new Mental Note', 
                 id: 'dialogAddNote',
-                href: '/default/notes/addNoteDialog',
+                href: href,
                 preventCache: true,
                 parseOnLoad: true
                 });
@@ -18,21 +24,32 @@ var Notes = {
     },
     
     saveNote: function() {
+        var href = Apps.createUrl({
+            module: 'default',
+            controller: 'notes',
+            action: 'addnote',
+            params: {}
+        });
         Apps.dialogXhrPost({
             frmName: &quot;frmAddNote&quot;,
-            url: &quot;/default/notes/addnote/&quot;,
+            url: addnote,
             dialogName: 'dialogAddNote'
         });
     },
     
     find: function() {
-        query = dojo.formToQuery('form.notes.find');
-        url = &quot;/default/notes/storeGrd/?&quot; + query;    
+        var href = Apps.createUrl({
+            module: 'default',
+            controller: 'notes',
+            action: 'storeGrd',
+            params: dojo.formToObject('form.notes.find')
+        });
+        
         if (notes.findGrd.store) {
             notes.findGrd.store.close();
         }
         notes.findGrd.store = new dojo.data.ItemFileReadStore({
-            url: url,
+            url: href,
             urlPreventCache: 1,
             clearOnClose: true,
             });
@@ -40,7 +57,6 @@ var Notes = {
     },
     
     gridDblClick: function(e) {
-        console.log(e);
         var index = e.rowIndex;
         var id = e.grid._by_idx[index].item.id;
         Notes.openNoteDialog(id);
@@ -50,9 +66,16 @@ var Notes = {
         if (Notes.dialogNote != null) {
             Notes.dialogNote.destroy();
         }
+        var href = Apps.createUrl({
+            module: 'default',
+            controller: 'notes',
+            action: 'note',
+            params: {id: id}
+        });
+        
         Notes.dialogNote = new dijit.Dialog({ 
             title: 'Add new Mental Note', 
-            href: '/default/notes/note/id/' + id,
+            href: href,
             preventCache: true,
             parseOnLoad: true
             });
@@ -60,9 +83,15 @@ var Notes = {
     },
     
     edit: function(id) {
+        var href = Apps.createUrl({
+            module: 'default',
+            controller: 'notes',
+            action: 'doedit',
+            params: {}
+        });
         Apps.dialogXhrPost({
             frmName: 'notes.formNote_' + id,
-            url: '/default/notes/doedit/', 
+            url: href, 
             dialogName: Notes.dialogNote,
             cbkOnLoad: function() {
                 Notes.find();
@@ -85,8 +114,15 @@ var Notes = {
     },
     
     delete: function(id) {
+        var href = Apps.createUrl({
+            module: 'default',
+            controller: 'notes',
+            action: 'dodelete',
+            params: {id: id}
+        });
+        
         Apps.dialogXhrPost({
-            url: '/default/notes/dodelete/id/' + id, 
+            url: href, 
             dialogName: Notes.dialogNote,
             cbkOnLoad: function() {
                 Notes.find();</diff>
      <filename>app/modules/default/controllers/Notes/js/Notes.js</filename>
    </modified>
    <modified>
      <diff>@@ -10,7 +10,13 @@ var Places = {
     
     loadMarks: function() {
         dojo.xhrPost({
-            url: '/default/places/getplaces/', 
+            var href = Apps.createUrl({
+                module: 'default',
+                controller: 'places',
+                action: 'getplaces',
+                params: {}
+            });
+            url: href, 
             load: function(responseObject, ioArgs){
                 dojo.forEach(Places.marks, function(item) {
                     Places.mainMap.removeOverlay(item);
@@ -79,10 +85,18 @@ var Places = {
     
     savePlace: function(){
         var point = Places.addMarker.getPoint();
-        
+        var href = Apps.createUrl({
+                module: 'default',
+                controller: 'places',
+                action: 'save',
+                params: {
+                    lat: point.lat(),
+                    lng: point.lng()
+                }
+            });
         Apps.dialogXhrPost({
             frmName: &quot;frmAddPlace&quot;,
-            url: &quot;/default/places/save/lat/&quot; + point.lat() + &quot;/lng/&quot; + point.lng() + &quot;/&quot;,
+            url: href,
             dialogName: Places.dialogAdd,
             cbkOnLoad: function() {
                 Apps.simpleGridRefresh(places.grd);
@@ -92,10 +106,19 @@ var Places = {
     },
     
     editDialogPlace: function(id) {
+        var href = Apps.createUrl({
+                module: 'default',
+                controller: 'places',
+                action: 'editDialog',
+                params: {
+                    id: id,
+                }
+            });
+            
         if (Places.dialogEdit == null) {
             Places.dialogEdit = new dijit.Dialog({ 
                 title: 'Edit Place',
-                href: '/default/places/editDialog/id/' + id,
+                href: href,
                 preventCache: true,
                 parseOnLoad: true
                 });
@@ -104,8 +127,16 @@ var Places = {
     },
     
     deletePlace: function(id) {
+        var href = Apps.createUrl({
+                module: 'default',
+                controller: 'places',
+                action: 'delete',
+                params: {
+                    id: id,
+                }
+            });
          dojo.xhrPost({
-            url: '/default/places/delete/id/' + id, 
+            url: href, 
             load: function(responseObject, ioArgs){
                 if (responseObject['status'] == 1) {
                     Main.toaster('message', responseObject['txt']);
@@ -138,11 +169,17 @@ var Places = {
         if (Places.addMarker) {
             Places.addMap.removeOverlay(Places.addMarker);
         }
+        var href = Apps.createUrl({
+            module: 'default',
+            controller: 'places',
+            action: 'addDialog',
+            params: {}
+            });
         if (Places.dialogAdd == null) {
             Places.dialogAdd = new dijit.Dialog({ 
                 title: 'Add Place',
                 style: 'width:650px;height:450px',
-                href: '/default/places/addDialog',
+                href: href,
                 preventCache: true,
                 parseOnLoad: true
                 });
@@ -151,9 +188,15 @@ var Places = {
     },
     
     editPlace: function() {
+        var href = Apps.createUrl({
+            module: 'default',
+            controller: 'places',
+            action: 'edit',
+            params: {}
+            });
         Apps.dialogXhrPost({
             frmName: &quot;frmEditPlace&quot;,
-            url: '/default/places/edit/', 
+            url: href, 
             dialogName: Places.dialogEdit,
             cbkOnLoad: function() {
                 Apps.simpleGridRefresh(places.grd);</diff>
      <filename>app/modules/default/controllers/Places/js/Places.js</filename>
    </modified>
    <modified>
      <diff>@@ -47,6 +47,9 @@ class ZfApplication
 			throw new Exception ( 'Please set the environment using ::setEnvironment' );
 		}
 		$frontController = $this-&gt;initialize ();
+		$frontController-&gt;getRouter()-&gt;addRoute('requestVars', new Gam_Controller_Router_Route_RequestVars());
+
+
 		$this-&gt;setupRoutes ( $frontController );
 		$response = $this-&gt;dispatch ( $frontController );
 
@@ -92,6 +95,9 @@ class ZfApplication
 		/* Zend_Acl_Role */
 		require_once 'Zend/Acl/Role.php';
 		
+		/* Ris_Controller_Router_Route_RequestVars */
+		//require_once 'Gam/Controller/Router/Route/RequestVars.php';
+		
 		/*
 		 * Load the given stage from our configuration file,
 		 * and store it into the registry for later usage.</diff>
      <filename>application.php</filename>
    </modified>
    <modified>
      <diff></diff>
      <filename>db/gam.sqlite</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>b4f1be00522380ab9a676cfffc1e7e84cb953964</id>
    </parent>
  </parents>
  <author>
    <name>gonzalo</name>
    <email>gonzalo123@gmail.com</email>
  </author>
  <url>http://github.com/gonzalo123/gam/commit/0b10bd81b05e4f3af14ed4fb51b67d709e1cd643</url>
  <id>0b10bd81b05e4f3af14ed4fb51b67d709e1cd643</id>
  <committed-date>2009-01-04T09:56:45-08:00</committed-date>
  <authored-date>2009-01-04T09:56:45-08:00</authored-date>
  <message>Eliminate fancy url (because of the hosting)</message>
  <tree>8799d99cc2b0353799634aeeace41e103aa8d4a8</tree>
  <committer>
    <name>gonzalo</name>
    <email>gonzalo123@gmail.com</email>
  </committer>
</commit>
