add alimobile as the new default mobile theme
authorgreg gay <ggay@ocad.ca>
Mon, 13 Sep 2010 14:33:31 +0000 (14:33 -0000)
committergreg gay <ggay@ocad.ca>
Mon, 13 Sep 2010 14:33:31 +0000 (14:33 -0000)
65 files changed:
docs/themes/mobile/TeraWurflRemoteClient.php [new file with mode: 0644]
docs/themes/mobile/about.tmpl.php [new file with mode: 0644]
docs/themes/mobile/android.css [new file with mode: 0644]
docs/themes/mobile/content.tmpl.php [new file with mode: 0644]
docs/themes/mobile/forms.css [new file with mode: 0644]
docs/themes/mobile/images/arrow-up.png [new file with mode: 0644]
docs/themes/mobile/images/navbar_normal_button_insetShadow.png [new file with mode: 0644]
docs/themes/mobile/include/TeraWurflRemoteClient.php [new file with mode: 0644]
docs/themes/mobile/include/footer.tmpl.php [new file with mode: 0644]
docs/themes/mobile/include/header.tmpl.php [new file with mode: 0644]
docs/themes/mobile/index.tmpl.php [new file with mode: 0644]
docs/themes/mobile/iphone.css [new file with mode: 0644]
docs/themes/mobile/login.tmpl.php [new file with mode: 0644]
docs/themes/mobile/print.css [new file with mode: 0644]
docs/themes/mobile/readme.txt [new file with mode: 0644]
docs/themes/mobile/rtl.css [new file with mode: 0644]
docs/themes/mobile/screenshot.gif [new file with mode: 0644]
docs/themes/mobile/social/activities.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/admin/delete_applications.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/application_settings.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/applications.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/basic_profile.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/connections.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/edit_profile.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/edit_profile/account_settings.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/edit_profile/edit_additional.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/edit_profile/edit_contact.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/edit_profile/edit_education.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/edit_profile/edit_personal.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/edit_profile/edit_position.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/edit_profile/edit_representation.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/edit_profile/edit_websites.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/friend_list.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/index_public.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/individual_application.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/notifications.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/oauth/authorize.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/oauth/footer.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/oauth/header.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/profile_picture.html.php [new file with mode: 0644]
docs/themes/mobile/social/settings/account_settings.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/settings/application_settings.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/settings/privacy_settings.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/settings/settings_menu.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/sgroup_create.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/sgroup_edit.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/sgroup_invite.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/sgroup_list.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/sgroup_search.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/sgroup_view.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/sgroups.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/sprofile.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/tiny_applications.tmpl.php [new file with mode: 0644]
docs/themes/mobile/social/tiny_sgroups.tmpl.php [new file with mode: 0644]
docs/themes/mobile/test.html [new file with mode: 0644]
docs/themes/mobile/theme.cfg.php [new file with mode: 0644]
docs/themes/mobile/theme_info.xml [new file with mode: 0644]
docs/themes/mobile/users/browse.tmpl.php [new file with mode: 0644]
docs/themes/mobile/users/email_change.tmpl.php [new file with mode: 0644]
docs/themes/mobile/users/index.tmpl.php [new file with mode: 0644]
docs/themes/mobile/users/password_change.tmpl.php [new file with mode: 0644]
docs/themes/mobile/users/pref_wizard/index.tmpl.php [new file with mode: 0644]
docs/themes/mobile/users/pref_wizard/initialize.tmpl.php [new file with mode: 0644]
docs/themes/mobile/users/preferences.tmpl.php [new file with mode: 0644]
docs/themes/mobile/users/profile.tmpl.php [new file with mode: 0644]

diff --git a/docs/themes/mobile/TeraWurflRemoteClient.php b/docs/themes/mobile/TeraWurflRemoteClient.php
new file mode 100644 (file)
index 0000000..92204c3
--- /dev/null
@@ -0,0 +1,245 @@
+<?php\r
+/**\r
+ * Tera_WURFL - PHP MySQL driven WURFL\r
+ * \r
+ * Tera-WURFL was written by Steve Kamerman, and is based on the\r
+ * Java WURFL Evolution package by Luca Passani and WURFL PHP Tools by Andrea Trassati.\r
+ * This version uses a MySQL database to store the entire WURFL file, multiple patch\r
+ * files, and a persistent caching mechanism to provide extreme performance increases.\r
+ * \r
+ * @package TeraWurflRemoteClient\r
+ * @author Steve Kamerman <stevekamerman AT gmail.com>\r
+ * @version Stable 2.1.2 $Date: 2010/05/14 15:53:02\r
+ * @license http://www.mozilla.org/MPL/ MPL Vesion 1.1\r
+ */\r
+/**\r
+ * Tera-WURFL remote webservice client for PHP\r
+ * @package TeraWurflRemoteClient\r
+ */\r
+class TeraWurflRemoteClient {\r
+       \r
+       /**\r
+        * XML Data Format - this should only be used to communicate with Tera-WURFL 2.1.1 and older\r
+        * @var String\r
+        */\r
+       public static $FORMAT_XML = 'xml';\r
+       /**\r
+        * The JSON Data Format is the default transport for Tera-WURFL 2.1.2 and newer due to it's smaller size\r
+        * and better performance with the builtin PHP functions \r
+        * @var String\r
+        */\r
+       public static $FORMAT_JSON = 'json';\r
+       /**\r
+        * If you try to use a capability that has not been retrieved yet and this is set to true,\r
+        * it will generate another request to the webservice and retrieve this capability automatically.\r
+        * @var Bool\r
+        */\r
+       public $autolookup = true;\r
+       /**\r
+        * Flattened version of Tera-WURFL's capabilities array, containing only capability names and values.\r
+        * Since it is 'Flattened', there a no groups in this array, just individual capabilities.\r
+        * @var Array\r
+        */\r
+       public $capabilities;\r
+       /**\r
+        * Array of errors that were encountered while processing the request and/or response.\r
+        * @var Array\r
+        */\r
+       public $errors;\r
+       /**\r
+        * The HTTP Headers that Tera-WURFL will look through to find the best User Agent, if one is not specified\r
+        * @var Array\r
+        */\r
+       public static $userAgentHeaders = array(\r
+               'HTTP_X_DEVICE_USER_AGENT',\r
+               'HTTP_X_ORIGINAL_USER_AGENT',\r
+               'HTTP_X_OPERAMINI_PHONE_UA',\r
+               'HTTP_X_SKYFIRE_PHONE',\r
+               'HTTP_X_BOLT_PHONE_UA',\r
+               'HTTP_USER_AGENT'\r
+       );\r
+       protected $format;\r
+       protected $userAgent;\r
+       protected $webserviceUrl;\r
+       protected $xml;\r
+       protected $json;\r
+       protected $clientVersion = '2.1.2';\r
+       protected $apiVersion;\r
+       \r
+       /**\r
+        * Creates a TeraWurflRemoteClient object.  NOTE: in Tera-WURFL 2.1.2 the default data format is JSON.\r
+        * This format is not supported in Tera-WURFL 2.1.1 or earlier, so if you must use this client with \r
+        * an earlier version of the server, set the second parameter to TeraWurflRemoteClient::$FORMAT_XML\r
+        * @param String URL to the master Tera-WURFL Server's webservice.php\r
+        * @param String TeraWurflRemoteClient::$FORMAT_JSON or TeraWurflRemoteClient::$FORMAT_XML\r
+        */\r
+       public function __construct($TeraWurflWebserviceURL,$data_format='json'){\r
+               $this->format = $data_format;\r
+               if(!self::validURL($TeraWurflWebserviceURL)){\r
+                       throw new Exception("TeraWurflRemoteClient Error: the specified webservice URL is invalid.  Please make sure you pass the full url to Tera-WURFL's webservice.php.");\r
+                       exit(1);\r
+               }\r
+               $this->capabilities = array();\r
+               $this->errors = array();\r
+               $this->webserviceUrl = $TeraWurflWebserviceURL;\r
+       }\r
+       /**\r
+        * Get the requested capabilities from Tera-WURFL for the given user agent\r
+        * @param String HTTP User Agent of the device being detected\r
+        * @param Array Array of capabilities that you would like to retrieve\r
+        * @return bool Success\r
+        */\r
+       public function getCapabilitiesFromAgent($userAgent, Array $capabilities){\r
+               $this->userAgent = (is_null($userAgent))? self::getUserAgent(): $userAgent;\r
+               // build request string\r
+               $uri = $this->webserviceUrl . (strpos($this->webserviceUrl,'?')===false?'?':'&') \r
+               . 'ua=' . urlencode($this->userAgent)\r
+               . '&format=' . $this->format\r
+               . '&search=' . implode('|',$capabilities);\r
+               $this->callTeraWurfl($uri);\r
+               $this->loadCapabilities();\r
+               $this->loadErrors();\r
+               return true;\r
+       }\r
+       /**\r
+        * Returns the value of the requested capability\r
+        * @param String The WURFL capability you are looking for (e.g. "is_wireless_device")\r
+        * @return Mixed String, Numeric, Bool\r
+        */\r
+       public function getDeviceCapability($capability){\r
+               $capability = strtolower($capability);\r
+               if(!array_key_exists($capability, $this->capabilities)){\r
+                       if($this->autolookup){\r
+                               $this->getCapabilitiesFromAgent($this->userAgent, array($capability), array());\r
+                       }\r
+                       return $this->capabilities[$capability];\r
+               }\r
+               return $this->capabilities[$capability];\r
+       }\r
+       /**\r
+        * Get the version of the Tera-WURFL Remote Client (this file)\r
+        * @return String\r
+        */\r
+       public function getClientVersion(){\r
+               return $this->clientVersion;\r
+       }\r
+       /**\r
+        * Get the version of the Tera-WURFL Webservice (webservice.php on server).  This is only available\r
+        * after a query has been made since it is returned in the XML response.\r
+        * @return String\r
+        */\r
+       public function getAPIVersion(){\r
+               return $this->apiVersion;\r
+       }\r
+       /**\r
+        * Make the webservice call to the server using the GET method and load the XML response into $this->xml \r
+        * @param String The URI of the master server\r
+        * @return void\r
+        */\r
+       protected function callTeraWurfl($uri){\r
+               try{\r
+                       switch($this->format){\r
+                               case self::$FORMAT_JSON:\r
+                                       $data = file_get_contents($uri);\r
+                                       $this->json = json_decode($data,true);\r
+                                       if(is_null($this->json)){\r
+                                               // Trigger the catch block\r
+                                               throw new Exception("foo");\r
+                                       }\r
+                                       unset($data);\r
+                                       break;\r
+                               default:\r
+                               case self::$FORMAT_XML:\r
+                                       if(!$this->xml = simplexml_load_file($uri)){\r
+                                               throw new Exception("foo");\r
+                                       }\r
+                                       break;\r
+                       }\r
+               }catch(Exception $ex){\r
+                       // Can't use builtin logging here through Tera-WURFL since it is on the client, not the server\r
+                       throw new Exception("TeraWurflRemoteClient Error: Could not query Tera-WURFL master server.");\r
+                       exit(1);\r
+               }\r
+       }\r
+       /**\r
+        * Parse the response into the capabilities array\r
+        * @return void\r
+        */\r
+       protected function loadCapabilities(){\r
+               switch($this->format){\r
+                       case self::$FORMAT_JSON:\r
+                               $this->apiVersion = $this->json['apiVersion'];\r
+                               $this->capabilities = $this->json['capabilities'];\r
+                               break;\r
+                       default:\r
+                       case self::$FORMAT_XML:\r
+                               $this->apiVersion = $this->xml->device['apiVersion'];\r
+                               foreach($this->xml->device->capability as $cap){\r
+                                       $this->capabilities[(string)$cap['name']] = self::niceCast((string)$cap['value']);\r
+                               }\r
+                               break;\r
+               }\r
+       }\r
+       /**\r
+        * Parse the response's errors into the errors array\r
+        * @return void\r
+        */\r
+       protected function loadErrors(){\r
+               switch($this->format){\r
+                       case self::$FORMAT_JSON:\r
+                               $this->errors &= $this->json['errors'];\r
+                               break;\r
+                       default:\r
+                       case self::$FORMAT_XML:\r
+                               foreach($this->xml->errors->error as $error){\r
+                                       $this->errors[(string)$error['name']]=(string)$error['description'];\r
+                               }\r
+                               break;\r
+               }\r
+       }\r
+       /**\r
+        * Cast strings into proper variable types, i.e. 'true' into true\r
+        * @param $value\r
+        * @return Mixed String, Bool, Float\r
+        */\r
+       protected static function niceCast($value){\r
+               // Clean Boolean values\r
+               if($value === 'true')$value=true;\r
+               if($value === 'false')$value=false;\r
+               if(!is_bool($value)){\r
+                       // Clean Numeric values by loosely comparing the (float) to the (string)\r
+                       $numval = (float)$value;\r
+                       if(strcmp($value,$numval)==0)$value=$numval;\r
+               }\r
+               return $value;\r
+       }\r
+       /**\r
+        * Is the given URL valid\r
+        * @param $url\r
+        * @return Bool\r
+        */\r
+       protected static function validURL($url){\r
+               if(preg_match('/^(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/',$url)) return true;\r
+               return false;\r
+       }       \r
+       /**\r
+        * Return the requesting client's User Agent\r
+        * @param $source\r
+        * @return String\r
+        */\r
+       public static function getUserAgent($source=null){\r
+               if(is_null($source) || !is_array($source))$source = $_SERVER;\r
+               $userAgent = '';\r
+               if(isset($_GET['UA'])){\r
+                       $userAgent = $_GET['UA'];\r
+               }else{\r
+                       foreach(self::$userAgentHeaders as $header){\r
+                               if(array_key_exists($header,$source) && $source[$header]){\r
+                                       $userAgent = $source[$header];\r
+                                       break;\r
+                               }\r
+                       }\r
+               }\r
+               return $userAgent;\r
+       }\r
+}
\ No newline at end of file
diff --git a/docs/themes/mobile/about.tmpl.php b/docs/themes/mobile/about.tmpl.php
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/docs/themes/mobile/android.css b/docs/themes/mobile/android.css
new file mode 100644 (file)
index 0000000..d9e0747
--- /dev/null
@@ -0,0 +1,2210 @@
+/* Style is optimized for Android 2.2, tested on an HTC Dream device. 
+Note that -webkit properties create errors in the CSS validator. 
+Classes beginning with ".fl-" are overriding Mobile FSS, 
+see the API @ http://wiki.fluidproject.org/display/fluid/Mobile+FSS+API 
+for more details. 
+*/
+
+html, body{
+       height: 100%;
+}
+#main{
+       padding-bottom: 
+       2.3em;
+       overflow: auto;
+}
+
+body,ul,li {
+       padding:0;
+       margin:0;
+}
+
+.fl-theme-iphone{
+       background: white;      
+}
+
+#header{
+       width:100%;
+       height:1.063em;
+       line-height:2.813em;
+       padding:0;
+       font-size:1.063em;
+}
+#header-section-title {
+       text-align: center;
+       background-image: -webkit-gradient(linear, left top, left bottom,
+       from(#4b6b90),
+    color-stop(0.5, #6d8cb3),
+    color-stop(0.50, #4b6b90),
+    color-stop(0.5, #6d8cb3),
+    to(#4b6b90)
+    ); 
+       
+       
+}
+.fl-theme-iphone .fl-navbar{
+       border: none;
+       border-top: none;
+}
+.fl-tabs{
+
+}
+.fl-navbar a{
+       font-size: 0.969em;
+       background-image: -webkit-gradient(linear, left top, left bottom,
+       from(#4b6b90),
+    color-stop(0.5, #6d8cb3),
+    color-stop(0.50, #4b6b90),
+    color-stop(0.5, #6d8cb3),
+    to(#4b6b90)
+    ); 
+}
+.fl-navbar .fl-tabs {
+       padding-top: .3em;
+       padding-bottom: .3em;
+       border-top: 1px solid black;
+       border-bottom: .5px solid black;
+       background-color: #4b6b90; 
+    height: 2em;   
+}
+
+#navigation-contentwrapper{
+       position: relative;
+       background-color: #4b6b90;
+       height: 2.5em; 
+}
+#navigation-bar{
+       height: 2.5em; 
+    border-bottom: .5px solid black;
+    padding-bottom: .3em;
+     
+}
+#wrapper{
+       width:100%;
+       overflow:hidden;
+       overflow: auto;
+       min-height: 100%;
+}
+
+#site-name, h1#section-title{
+       display: inline;
+       text-shadow: none;
+       font-size: 90%;
+       color: #4C566C;
+       color: white;
+}
+/*this CSS creates a button that looks exactlty like a Mobile FSS tab.*/
+.navigation-bar-button{
+    border-width:5px;
+    -webkit-border-radius: 5px;
+       font-size: 18px;/*keep this in px*/
+       padding: 0 .3em;
+       color: white;
+       position: relative;
+       top: .69em; 
+       left: 0.188em; 
+    /* Default mobile fss color scheme for tabs not AA compliant. Here is a compliant bg image: */
+    background-image: -webkit-gradient(linear, left top, left bottom,
+       from(#3b5371),
+        color-stop(0.5, #374e6b),
+        color-stop(0.50, #354d68),
+        to(#354d68)
+    );
+       -webkit-border-image: url(images/navbar_normal_button_insetShadow.png) 5 5 5 5 stretch;
+    -webkit-border-left-image: none;
+    -webkit-background-origin: border;
+    -webkit-background-clip: border;
+    /* To mimick the mobile FSS scolor scheme (iphone) uncomment these lines 
+       background-image: -webkit-gradient(linear, left top, left bottom,
+       from(#9aafca),
+        color-stop(0.5, #6d8cb3),
+        color-stop(0.50, #4b6b90),
+        to(#4b6b90)
+    );*/
+}
+
+.fl-theme-iphone .fl-tabs li{
+    /* default mobile fss color scheme for tabs not AA compliant against a white foreground text.therefore its backgroud-image must be overrided */
+    background-image: -webkit-gradient(linear, left top, left bottom,
+       from(#3b5371),
+        color-stop(0.5, #374e6b),
+        color-stop(0.50, #354d68),
+        to(#354d68)
+    ); 
+}
+
+div#content-link-container{
+       background-color:#F5F5F5;
+       padding:.375em;
+       border: #A9ADB0 solid 1px;
+       -webkit-border-radius: 2px;
+}
+#content_link{
+       display: block;
+}
+#home-guide{
+       position: absolute;
+       top: .45em;
+       right: 0.188em; 
+       font-size: 17px;/*keep this in px*/
+       white-space:nowrap;
+       display: inline;
+
+}
+/* main body attributes */
+p {
+    text-align: left;
+    line-height: 150%;
+       font-size: 1em;
+       padding:.75em 0;
+       margin: 0 auto;
+}
+
+p a {
+    text-decoration: underline;
+}
+
+p a:visited {
+       color: #3F2670;
+    background-color: transparent;
+}
+p a:active {
+       color: #A50707;
+    background-color: transparent;
+}
+
+h1, h2, h3, h4, h5, h6 {
+    color: #4C566C;
+    clear: right;
+    font: 100% Verdana, Helvetica, Arial, sans-serif;
+       font-weight: bold;
+    margin: 0;
+       padding: 0;
+}
+
+h1 {
+    font-size: 160%;
+       color: #FFF;
+}
+
+h2 {
+    font-size: 150%;
+}
+h2.sidebox{
+    font-size: 110%;
+}
+h3 {
+    font-size: 130%;
+       padding: 0;
+}
+h3.browse-courses{
+       font-size: 90%;
+       text-decoration: none;
+       clear: none;
+       display: inline;
+}
+h3 a {
+    font-size: 100%;
+}
+h4 {
+    font-size: 120%;
+}
+
+
+h5 {
+    font-size: 100%;
+}
+
+
+
+/* Preferences tabs */
+.etabbed-list-container        {
+       padding:0;
+       margin: 0;
+       font-size:inherit;
+       width:70%;
+       clear: left;
+       height: 3em;
+}
+
+.prefs_buttontab {
+       padding:0;
+       margin: 0;
+       color: #4C566C;
+       white-space: nowrap;
+       background-color: #ffffff;
+       margin-bottom: .5px;
+       border:0;
+       font-weight:500; 
+       text-decoration: underline;
+}
+.prefs_tab{
+       padding:0.7em 0 0;
+       margin: 0;
+       white-space: nowrap;
+    display: inline;
+}
+
+.prefs_tab_selected{  
+       padding:0.9em 0 0;
+       margin: 0;
+       margin: 0px;
+       font-weight:bold;
+       text-align:center;
+       white-space: nowrap;
+    display: inline;
+}
+
+
+/*  Table of content attributes*/
+p.toc{
+       font-family: Verdana, Helevetica, Arial, sans-serif;
+       background-color: #E9F4F3;
+       padding: .6em;
+       margin-bottom: .6em;
+       margin-top: 0em;
+       margin-left: 1em;
+       margin-right: 3em;
+       border: 1px #ACCFCC solid;
+} 
+
+
+/* link attributes */
+a:link, a:visited  {
+       color: #4C566C;
+       text-decoration: underline;
+}
+a:hover {
+       color: #4C566C;
+       text-decoration: underline;
+}
+a:active {
+       color: #ffffff;
+       text-decoration: underline;
+}
+/* align text to the left */
+.left {
+       text-align: left;
+}
+
+a.dropdown-title {
+       color: white;
+       font-weight: normal;
+       text-decoration: none;
+}
+
+
+/* table border */
+.tableborder {
+       border: 1px #595241 solid;
+}
+
+/* main submit button */
+.button {
+       background-color: #808080;
+       font-weight: normal;
+       color: black;
+       text-align: center;
+       -webkit-border-radius:3px;
+       padding-top: 0.313em;
+       padding-bottom: 0.313em;
+
+}
+.button:focus {
+       border:1px solid #A50707;
+       background-color:  #FFDAB9;     
+}
+/* small submit button at top */
+.button2 {
+       font-family: Verdana, Helevetica, Arial, sans-serif;
+       background-color: #E9F4F3;
+
+}
+.button2:focus {
+       background-color: #E9F4F3;
+       border:  #ACCFCC  solid 1px;
+}
+
+/* date attributes */
+small.date {
+       font-family: Verdana, Helevetica, Arial, sans-serif;
+       color: #595241; 
+       margin-bottom: 0; 
+       margin-top: 0;
+       margin-left: 0.313em;
+       margin-right: 0;
+       font-size:1em;
+}
+
+/* page breakline */
+hr {
+       color: #ACCFCC;
+       background-color: white;
+       height: .063em;
+}
+
+/* message box styles */
+
+/* Editor box small */
+.editorsmallbox {
+       font-family: Verdana, Helevetica, Arial, sans-serif;
+       background-color: #E9F4F3;
+       padding: 0.125em;
+       padding-right: .188em;
+       border: 1px #ACCFCC solid;
+}
+
+/* Editor box large */
+.editorlargebox {
+       font-family: Verdana, Helevetica, Arial, sans-serif;
+       background-color: #E9F4F3;
+       margin-left:1em;
+       padding-left: .2em;
+       padding-right: .5em;
+       padding-top: .5em;
+       padding-bottom: .4em;
+       border: 1px #ACCFCC solid;
+}
+
+
+select.dropdown {
+       font-family: Verdana, Helevetica, Arial, sans-serif;
+}
+
+.highlight, a.highlight {
+       background-color: #5B8E88;
+       color: white;
+}
+
+a .highlight{
+       background-color: #5B8E88;
+       color: white;
+}
+
+.center {
+       text-align: center;
+}
+
+
+/* edit content tabs */
+.buttontab {
+       background-color: #E6E6E6;
+       font-weight: 500;
+       border:0;
+       padding-left: .188em;
+       padding-right: .188em;
+       padding-top: .188em;
+
+}
+
+.tab {
+       color: black;
+       background-color: #E6E6E6;
+       border-top: 1px #B8AE9C solid;
+       border-left: 1px #B8AE9C solid;
+       border-right: 1px #B8AE9C solid;
+       text-decoration: none;
+       text-align: center;
+       font-weight: bold;
+
+       
+}
+.buttontab selected {
+       font-family: Helvetica, Arial, Helvetica, sans-serif;
+       background-color: #6F7172;
+       font-weight: 600;
+       border:0;
+       padding-left: .188em;
+       padding-right: .188em;
+       padding-top: .188em;
+
+}
+td.selected{
+       font-family: Helvetica, Arial, Helvetica, sans-serif;
+       font-weight: 600;
+       text-decoration: none;
+       text-align: center;
+       background-color: white;
+       border-top: 1px #B8AE9C solid;
+       border-left: 1px #B8AE9C solid;
+       border-right: 1px #B8AE9C solid;
+}
+.econtainer{
+       background-color: #fffaf0;
+       border:1px #6F7172 solid;
+       margin-left:.5em;
+}
+
+.tab a:link, .etab a:visited {
+       color: black;
+       background-color: white;
+
+}
+.tab a:hover {
+       color: black;
+       background-color: white;
+}
+
+.etabself {
+       background-color: #6F7172;
+
+       text-align: center;
+       font-weight: bold;
+       padding: 0.125em;
+}
+
+
+.unsaved {
+       color: red;
+       background-color: #FFFDE0;
+       font-weight: bold;
+}
+.saved {
+       background-color: #FFFDE0;
+       margin: 0.625em;
+}
+
+
+
+/* the side menu */
+/* the side menu heading */
+td.dropdown-heading {
+       background-color: #DBFDD4;
+       color: #595241;
+       border-left: 1px solid #ECFEEA;
+       border-right: 1px solid #ECFEEA;
+       border-top: 1px solid #ECFEEA;
+       font-weight: bold;
+       padding: 0.125em;
+}
+
+td.dropdown-heading a, td.dropdown-heading a:hover, td.dropdown-heading a:visited {
+       text-decoration: none;
+}
+
+td.dropdown-heading.closed {
+       border-bottom: 1px solid #ECFEEA;
+}
+
+/* the side menu content */
+td.dropdown {
+       padding: 0.125em;
+       background-color: white;
+       color: black;
+       border-left: 1px solid #ECFEEA;
+       border-right: 1px solid #ECFEEA;
+       border-bottom: 1px solid #ECFEEA;
+       font-weight: normal;
+}
+td.dropdown a, td.dropdown a:visited  {
+       color: #595241;
+       text-decoration: none;
+}
+td.dropdown a:hover {
+       color: #595241;
+       text-decoration: underline;
+}
+td.dropdown.cell {
+       border-bottom: 0;
+}
+td.dropdown strong {
+       color: #2A6C28;
+}
+
+/* added for 1.4.2: */
+.results {
+       padding-left: 1.25em;
+}
+
+h5.search-results {
+       padding: 0.063em;
+       margin-bottom: 0.313em;
+       margin-top: 1em;
+       padding-top: 3em;
+       margin-left: 0.313em;
+}
+
+small.search-info {
+       color: #595241;
+}
+
+p.search-description {
+       background-color: #FFFCE5;
+       color: #595241;
+}
+
+.test-box {
+       background-color: #F7F3ED;
+       color: #595241;
+       border-left: 1px solid #595241;
+       border-right: 1px solid #595241;
+       border-top: 1px solid #595241;
+       font-weight: bold;
+       padding: 0.125em;
+}
+
+/* preferences */
+
+.input-form{
+       width: 100%;
+}
+.input-form 
+table.tabbed-table {
+       width: 100%;
+       border:thin black solid;
+}
+table.tabbed-table th#left-empty-tab {
+       background-color: transparent;
+       width: 0.938em;
+       border-bottom: 1px solid #B8AE9C;
+}
+table.tabbed-table th#right-empty-tab {
+       text-align: right;
+       background-color: transparent;
+       border-bottom: 1px solid #B8AE9C;
+       width: 25em;
+       padding-right: 0.313em;
+}
+table.tabbed-table th#right-empty-tab a {
+       text-decoration: underline;
+}
+table.tabbed-table th.tab-spacer {
+       background-color: transparent;
+       width: 0.313em;
+       border-bottom: 1px solid #B8AE9C;
+}
+
+table.tabbed-table th.tab {
+       padding-top: 0.125em;
+       padding-bottom: 0.125em;
+       width: 6.875em;
+       background-color: #E9F4F3;
+       border-bottom: 1px solid #B8AE9C;
+       border-left: 1px solid #B8AE9C;
+       border-top: 1px solid #B8AE9C;
+       border-right: 1px solid #B8AE9C;
+}
+table.tabbed-table th.tab:hover {
+       background-color: #ACCFCC;
+}
+
+table.tabbed-table th.tab a:focus {
+       color: white;
+}
+table.tabbed-table th.selected {
+       padding-top: 0.125em;
+       padding-bottom: 0.125em;
+       width: 6.875em;
+       background-color: #ACCFCC;
+       border-left: 1px solid #B8AE9C;
+       border-top: 1px solid #B8AE9C;
+       border-right: 1px solid #B8AE9C;
+}
+
+table.tabbed-table a, table.tabbed-table a:visited, table.tabbed-table a:hover {
+       color: black;
+       text-decoration: none;
+}
+.preference-buttons-container{
+       background-color: red;
+       height: 2.5em;
+       width: 100%;
+       text-align: center;
+}
+
+div.preference-buttons-container li{
+       display: inline; 
+       float: right;
+}
+
+.etabbed-table{
+       margin: 0 auto;
+}
+#previewText{
+       font-family: monospace;
+       border: 2px solid rgb(0, 0, 0); 
+       padding: 2em;
+       width: 80%; 
+       color: rgb(255, 255, 255);
+       background-color: rgb(0, 0, 0);
+}
+#previewArea{;
+       padding: 0em;
+       border-bottom-width: 0; 
+       margin-left: auto; 
+       margin-right: auto; 
+       font-weight: normal; 
+       width: 70%;
+       float:left;
+       clear:right;
+}
+#display-settings-preview{
+       width:90%;
+       height:20em;
+       margin: 0 auto;
+}
+#feedback{
+       width: 90%;
+}
+#defaultfontsize-wrapper{
+       width:90%; 
+}
+
+/* end of preferences */
+
+a#my-start-page {
+       padding: 0.125em;
+       padding-left:  0.938em;
+       background-repeat: no-repeat;
+       background-position: 0.125em 0.313em;
+}
+
+a#back-to {
+       padding-left: 1.25em;
+       background-image: url(images/back.gif);
+       background-repeat: no-repeat;
+       background-position: 0 0;
+}
+
+.breadcrumbs, .previous-next /*a#guide*/{
+    /* The path bar, including breadcrumbs and add to favorites */
+       clear:both;
+    font-size: 0.85em;
+       padding:0 0.375em;
+       color: #4C566C;
+       background-color: white;
+
+}
+#breadcrumbs-container{
+       background-color: #4d4d4d;
+       position: relative;
+}
+.breadcrumbs{
+       display:none;
+}
+h2.page-title {
+       padding-top: .5em;
+       margin-top: .5em;
+}
+h1 {
+       margin-bottom: 0.313em;
+       
+}
+
+
+div#help {
+       border-left: 1px solid black;
+       border-right: 1px solid black;
+       border-bottom: 1px solid black;
+       padding-left: 0.313em;
+       padding-right: 0.313em;
+       padding-bottom: 0.313em;
+       background-color: #F7F3ED;
+       margin-left: 0.313em;
+       margin-right: 0.313em;
+       font-size: small;
+}
+
+h3#help-title {
+       margin-left: 0.313em;
+       margin-right: 0.313em;
+       border-left: 1px solid black;
+       border-right: 1px solid black;
+       padding: 0.063em;
+       background-color: #F7F3ED;
+}
+.line {
+       border-bottom: 1px solid black;
+}
+div#help p {
+       padding: 0;
+       margin: 0;
+}
+
+div#toctoggle {
+       float: left;
+       padding-left: 0.625em;
+}
+
+h1#section-title {
+       font-size: 90%;
+}
+
+div#top-links {
+       margin: 0 auto;
+       font-size: .938em;
+/* moved inside of #footer for mobile theme */
+}
+#footer{
+       /*width:100%;*/
+       height:2.3em;
+       background-color: #4b6b90;
+       margin-top: -2.3em;
+       position: relative;
+       clear: both;
+       
+}
+
+div#top-links a:link, div#top-links a:visited {
+       text-decoration:none;
+}
+div#top-links a:focus{
+       /*color:black;
+       background-color:#F6EAD6;*/
+}
+
+#jumpmenu:focus{
+       background-color:#F6EAD6;
+}
+#jumpmenu{
+       margin: 0 auto;
+}
+
+a#editor-link {
+       background-color: #F7F3ED;
+       padding-top: 0.063em;
+       padding-bottom: 0.063em;
+       padding-left:  0.938em;
+       padding-right: 0.5em;
+       border: 1px solid #cccccc;
+       font-weight: normal;
+       text-decoration: none;
+}
+
+a#editor-link:hover {
+       background-color: #F7F3ED;
+       border: 1px solid #B8AE9C;
+}
+
+a#editor-link.off {
+       background-image: url(images/pen.gif);
+       background-repeat: no-repeat;
+       background-position: 0 0.125em;
+}
+a#editor-link.on {
+       background-image: url(images/pen2.gif);
+       background-repeat: no-repeat;
+       background-position: 0 0.125em;
+}
+
+
+/* for data tables */
+table.data {
+       width: 95%; 
+       margin: 0 auto;
+       padding: 0;
+       color: black;
+       text-align: left;
+       -webkit-border-radius:5px;
+       border: #6D7B8D 1px solid;
+
+} 
+/* contains the headings */
+table.data th {
+
+       padding: 0.188em;
+}
+
+table.data th a {
+       color: #595241;
+       background-image: url('../default/images/sort.gif');
+       background-repeat: no-repeat;
+       background-position: right;
+}
+
+table.data tbody {
+       border-top: 1px solid #B8AE9C;
+       border-bottom: 1px solid #B8AE9C;
+}
+/*headings text*/
+table.data tbody th {
+       text-align: left;
+
+}
+
+table.data td {
+       padding: 0.188em;
+       color: black;
+       font-size: .875em;
+       font-style: normal;
+}
+table.data td a:link, a:visited{
+       color: black;
+}
+table.data tbody tr:hover {
+       background-color: #efefef;
+       cursor: pointer;
+}
+
+table.data tbody tr.selected {
+       background-color: #E9F4F3;
+       cursor: auto;
+}
+
+table.data tfoot {
+       background-color: #F7F3ED;
+}
+
+table.data tfoot tr:first-child td {
+       padding: 0.313em;
+       background-image: url('images/arrow_ltr.gif');
+       background-repeat: no-repeat;
+       background-position: .25em 0.313em;
+}
+
+table.data.static tfoot td, table.data.static tfoot tr:first-child td {
+       border-top: 1px solid #B8AE9C;
+       padding: 0.313em;
+       background-image: none;
+       padding-left: 0;
+
+}
+/* add borders to row in Required Information, Personal Information*/
+.row{
+       padding:.375em 0;
+       border-bottom: 1px #cccccc solid;
+       font-size: 0.938em;
+}
+#last-row, .row-buttons, #last-row1, .row-blurb{
+       border: none;
+}
+#browse-courses-table{
+       font-size: .875em;
+}
+
+
+/*buttons*/
+table.data tfoot input {
+       background-color: #efefef;
+       font-weight: normal;
+       border:  #AAA  solid 1px;
+}
+table.data tfoot input:focus {
+       background-color: #FFDAB9;
+       border:  #AAA  solid 1px;
+}
+
+
+/* used for static tables with no form elements: */
+table.data.static tbody tr:hover {
+       background-color: transparent;
+       cursor: auto;
+}
+
+
+
+/* course browser: */
+
+div#browse {
+       margin-left: auto; 
+       margin-right: auto; 
+       width: 80%;
+}
+
+div.browse-selected {
+       background-image: url('images/side_arrow.gif'); 
+       background-repeat: no-repeat; 
+       padding-left: 0.563em; 
+       background-position: center left;
+}
+
+div.browse-unselected {
+       padding-left: 0.563em; 
+}
+
+ul.browse-list {
+       list-style: none;
+       padding:0;
+}
+
+/* feedback /errors */
+div#error {
+       width: 89%;
+       margin-left: auto;
+       margin-right: auto;
+       margin-top:  0.938em;
+       margin-bottom:  0.938em;
+       border: 1px solid #DD0000;
+       padding: 0.313em;
+       background-color: #F4DCDC;
+       color: #A50707;
+       background-color: #F4DCDC;
+       padding-left: 1.563em;
+       font-weight: bold;
+       -webkit-border-radius:5px;
+}
+div#error h4 {
+       color: black;
+       margin-left: 0;
+}
+
+div#error ul, div#feedback ul, div#help ul {
+       position: relative;
+       list-style: none;
+       margin-left: 0;
+       padding-left: 0;
+}
+
+div#error ul li{
+       margin-top: 0.313em;
+}
+
+div#feedback, div#info {
+       width: 95%;
+       margin-left: auto;
+       margin-right: auto;
+       margin-top: 0.313em;
+       padding-left: 0.313em;
+       padding-right: 0.313em;
+       font-family: Helvetica, Arial, sans-serif;
+       -webkit-border-radius:5px;
+       border: 1px solid #17B506;
+       background-color: #E7EFD0;
+       color: #3f4559;
+       font-size: 90%;
+       z-index: -1;
+}
+div#feedback li, div#info li, div#error li{
+       color: #4C566C;
+       z-index: -1;
+}
+
+div#help {
+       width: 95%;
+       margin-left: auto;
+       margin-right: auto;
+       margin-top:  0.938em;
+       margin-bottom:  0.938em;
+       border: 1px solid #ACCFCC;
+       padding: 0.313em;
+       background-color: #E9F4F3;
+       color: #024C41;
+}
+/*
+div#info {
+       width: 50%;
+       margin-left: auto;
+       margin-right: auto;
+       margin-top:  0.938em;
+       margin-bottom:  0.938em;
+       border: 1px solid #B8AE9C;
+       padding: 0.313em;
+       background-color: #EFE6FF;
+       color: #595241;
+       font-weight: bold;
+} */
+
+div#warning {
+       width: 95%;
+       margin-left: auto;
+       margin-right: auto;
+       margin-top:  0.938em;
+       margin-bottom:  0.938em;
+       border: 1px solid #FF8400;
+       padding: 0.313em;
+       background-color: #FFF6ED;
+       color: #D95900;
+       font-weight: bold;
+}
+acronym {
+       cursor: help;
+}
+
+div.news p {
+       margin: 0;
+       padding:0;
+}
+div.news span.date {
+       font-family:Helevetica, Arial, sans-serif;
+       color: #4C566C; 
+}
+
+.news{
+       padding: 0;
+}
+/* home page links */
+div.home-link {
+       padding: 0.125em;
+       float: left;
+       text-align: center;
+       margin: 0.125em;
+       width: 7.5em;
+       height: 5.625em;
+}
+div.home-link:hover {
+       padding: 0.063em;
+       background-color: #F7F3ED;
+       border: 1px solid #afafaf;
+       float: left;
+       text-align: center;
+       margin: 0.125em;
+}
+div.home-link a {
+       text-decoration: none;
+       font-weight: bold;
+}
+
+div.home-link img {
+       border: 0;
+}
+
+/* sequence links */
+div#sequence-links {
+       
+       margin-top: 0.625em;
+       padding-right: 0.313em;
+       padding-top:0.438em;
+}
+div#sequence-links a {
+       text-decoration: none;
+       display: block;
+}
+
+.previous-next{
+       display: block;
+}
+div.dropdown {
+       width: 12.5em;
+       padding: 0.125em;
+       background-color: white;
+       color: black;
+       border-left: 1px solid #ECFEEA;
+       border-right: 1px solid #ECFEEA;
+       border-bottom: 1px solid #ECFEEA;
+       font-weight: normal;
+}
+
+div.dropdown-heading {
+       background-color: #ACCFCC;
+       color: #595241;
+       border-left: 1px solid #ECFEEA;
+       border-right: 1px solid #ECFEEA;
+       border-top: 1px solid #ECFEEA;
+       font-weight: bold;
+       padding: 0.125em;
+}
+
+div.required {
+       font-weight: bold;
+       color: red;
+       font-size: large;
+       float: left;
+       position: relative;
+       margin-top: -0.313em;
+       height:  0.938em;
+       padding-right: 0.125em;
+}
+
+div#content_text {
+       margin-left: 0.313em;
+}
+/*needs to be set to display: none so drawer can open */
+#content{
+       display: none;
+       padding-top:.5em;
+       margin-top: .5em;
+       background-color: #F5F5F5;
+}
+form {
+       display:inline;
+       max-width: 100%;
+}
+
+
+optgroup {
+       /*font-size: small;*/
+}
+
+/* paging*/
+div.paging {
+
+}
+div.paging ul {
+    list-style: none;
+    display: inline;
+    padding: 0;
+       max-width: 10%;
+       margin-bottom: 1em;
+}
+div.paging li { 
+       float: left;
+       display: inline; 
+       padding-left: 0.125em; 
+       padding-right: 0.125em;
+       padding-top: 0;
+       padding-bottom: 0;
+       width: 10%;
+}
+
+div.paging li a {
+       text-decoration: none;
+       padding-left: 0.25em;
+       padding-right: 0.25em;
+       border-left: 1px solid white;
+       border-right: 1px solid white;
+}
+
+div.paging li a:hover, div.paging li a.current {
+   background-color: #5B8E88;
+   border-left: 1px solid #000;
+   border-right: 1px solid #000;
+   color: white;
+}
+
+#tl_corner{
+
+       background-image:url(images/tl_corner.gif);
+       background-position: top left;
+       background-repeat: no-repeat;
+       padding:0;
+}
+div.top {
+    /* Top space
+    background-color: #595241;
+       color: #FFF;
+    margin: 0;
+    padding: 0;
+       padding-top:0.563em; */
+}
+div.tabs {
+       /* Navigational Plone Tabs */
+    background-color: transparent;
+       border-collapse: collapse;
+       border-bottom: 1px solid #B8AE9C;
+       padding: 0.5em 0em 0em 2em;
+       white-space: nowrap;
+}
+
+div.tabs a {
+    /* The normal, unselected tabs. They are all links */
+    background-color: transparent;
+    border-color: #B8AE9C;
+    border-width: 1px; 
+    border-style: solid solid none solid;
+    color: #595241;
+    height: 1.2em;
+    margin-right: 0.5em;
+    padding: 0em 2em 0em;
+    
+}
+
+div.tabs a.selected {
+    /* The selected tab. There's only one of this */
+    background-color: white;
+    border-bottom: #B8AE9C 1px solid;
+    color: #595241;
+    font-weight: normal;
+}
+
+div.tabs a:hover, div.tabs a.active {
+    background-color: #B8AE9C;
+    border-bottom: 1px solid #B8AE9C;
+    color: white;
+}
+
+.headingbox a{
+       color: #4C566C;
+       text-decoration:underline;
+}
+div.box {
+}
+h4.box {
+       background-color: #F5F5F5;
+       padding: .313em; 
+}
+h4.box a {
+       display: block;
+       color: #4C566C;
+       background-color: #F5F5F5;
+       text-decoration: none;
+}
+.content-expand {
+       background-image:url("images/content-arrow-down.png");
+       background-position: top right;
+       background-repeat: no-repeat;
+}
+.content-closed{
+       background-image:url("images/content-arrow-up.png");
+       background-position: center right;
+       background-repeat: no-repeat;
+}
+
+div.box {
+       padding: 0.313em;
+       background-color: #F5F5F5;
+       color: black;
+       border: 1px solid #B8AE9C;
+       font-size:0.85em;
+       font-weight: normal;
+       padding:0.125em;
+}
+
+h5.box { 
+    background-color: #6F7172;
+    border: 1px solid #B8AE9C;
+    border-style: solid solid none solid;
+    color: Black;
+    padding: 0em 1em 0em 1em;
+    display: inline;
+       font-size:  1em;
+    height: 1em;
+}
+
+div.box a:link {
+       text-decoration: none;
+}
+
+div.box a:visited {
+       color: #2A6C28;
+       text-decoration: none;
+}
+
+div.box a:hover {
+       text-decoration: underline;
+}
+
+.boxDetails {
+    text-align: right;
+}
+
+div.box .content {
+    padding: 1em;
+       font-size:  1em;
+}
+
+div.box a.close {
+    float: right;
+    text-transform: none;
+    border-left: 1pt solid #B8AE9C;
+    padding: 0em 0.2em;
+}
+
+div.box h1, 
+div.box h2, 
+div.box h3, 
+div.box h4 {
+    margin: 0;
+    padding: 0;
+}
+
+div.box .even {
+    background-color: #F7F3ED;
+}
+
+div.box .odd {
+    background-color: transparent;
+}
+
+
+/* users/index.php */
+
+div.course {
+       position: relative;
+       width: 12.5em;
+       height: 10.5em;
+       border: rgb(204, 204, 204) 1px solid;
+       background-color: #F7F7F7;
+       float: left;
+       margin: 0.188em;
+       padding: 0.313em;
+}
+
+div.course.break {
+       clear: left;
+}
+
+div.course h2 {
+       border: 0;
+       font-weight: normal;
+       font-size: large;
+
+}
+
+div.course:hover {
+       background-color:#FBF4E9;
+       border: #B8AE9C 1px solid;
+}
+
+
+table.data .odd img.headicon{
+       width: 2.469em;
+       height: 2.469em; 
+       -webkit-border-radius:5px;
+}
+
+.icon{
+       -webkit-border-radius:10px;
+       border-color: white;
+       width: 2.5em;
+       height: 2.5em;
+       float: left;
+}
+div.course div.shortcuts {
+       text-align: right;
+       clear: left;
+       vertical-align: middle;
+       width: 12.5em;
+}
+
+fieldset#shortcuts {
+       float: right;
+       background-color: #FEFDEF;
+       border: 1pt solid #B8AE9C;
+       margin: -5pt 5pt 5pt 5pt;
+       padding-right: 10pt;
+       padding-bottom: 5pt;
+       padding-left: 10pt;
+}
+
+.shortcuts{
+
+}
+
+fieldset {
+       margin-bottom: 10pt;
+       -webkit-border-radius:5px;
+       padding: 0 0.375em;
+       width: 90%;
+       margin: 0 auto; 
+       width:95%;
+       margin:0 auto;
+       border:thin #6D7B8D solid;
+       margin-bottom: 1em;
+}
+#shortcuts legend {
+}
+#shortcuts ul {
+       position: relative;
+       margin-top: 0pt;
+       margin-bottom: 0pt;
+       margin-left: 0pt;
+       list-style-type:  none;
+       padding-left: 0pt; 
+}
+
+/*a#guide,*/ a#my-courses-link {
+       background-color: #6D84A2;
+}
+
+#guide img{
+       border:none;
+}
+
+#guide a:hover{
+       
+}
+div#content-text {
+       padding-right: 5pt;
+       line-height:150%;
+}
+
+div#content-text li {
+       margin-left: 15pt;
+}
+
+div#content-test {     
+       float: left;
+       margin-top: 2em;
+       padding-right: 5pt;
+       width: 80%;
+}
+div#content-test ol{   
+       margin-right: 5pt;;     
+}
+
+div#content-test ol ul li{
+       list-style: none;
+       padding: 0 0.125em 0  0.938em;
+       margin-bottom: 0.063em; 
+       line-height: 200%; 
+       background-color: #fdfdfd; 
+       border-bottom: 1px solid #efefef; 
+       border: 1px solid #eeeeff;
+}
+
+div#content-info {
+       margin: 5pt;
+       font-size: small;
+       color: #b8ae9c;
+       clear: both;
+}
+
+div#container {
+       text-align: left;
+       margin: 0 auto;
+       padding: 0;
+       border:0;
+       width: 95%;
+}
+
+div#menutoggle{
+       text-align: right; 
+       padding-bottom: 0.625em; 
+       padding-right: 0.625em; 
+       float: left; 
+       margin-top: 0.625em; 
+       padding-right: 0.313em; 
+       font-size:0.95em;
+}
+
+
+/* login page */
+div.column {
+       float: left;
+       width: 45%;
+       margin: 0.313em;
+       min-width: 10.625em;
+}
+
+div.column h3 {
+       background-color: #F6EAD6;
+       border-bottom: .05em solid #6F7172;
+       font-size: small;
+       display:block;
+       color:black;
+       font-weight:600;        
+       padding-left:0.5em;
+}
+
+div.insidecol {
+   min-height: 10.625em;
+   height: 10.625em;
+   padding:0.313em;
+}
+
+
+/* index page */
+ul#home-links, ul#home-detail-links {
+       list-style: none;
+}
+ul#home-links li {
+       
+       display: inline;
+       float: left;
+       padding: 0.8em;
+       text-align: center;
+       margin: 0.1em;
+       width: 8.5em;
+       height: 7.0em;
+       padding-left:0;
+
+}
+ul#home-links li a {
+       text-decoration: none;
+       border: 1px transparent;
+       font-weight: bold;
+}
+ul#home-links li a img {
+       border: 0;
+       display: block;
+       padding-left:1.563em;
+}
+
+/*my start page */
+#my_courses_container{
+       text-align: left;
+       margin: 0 auto;
+       border:0;       
+       min-width: 100%;
+}
+#my-courses-navlist{
+}
+.my-courses-list{
+       border: solid 1px #A9ADB0;
+       -webkit-border-radius:5px;
+       padding: .375em;
+       color: #4C566C;
+       margin: .375em;
+       padding: .375em;
+}
+.my-courses-list-ul{
+       margin: 0 auto;
+       padding-left: 0;
+       width: 100%;
+}
+.my-courses-links{
+       font-size: 80%;
+       padding-top: .75em;
+}
+.my-courses-resume{
+       float: right;
+}
+.fl-link-summary{
+       padding-left: 0.875em;
+       padding-bottom: 0.875em;
+       display: inline;
+}
+.fl-list-menu li a {
+}
+.fl-theme-iphone [class*="fl-list"]:not(.fl-list):not(.fl-grid) a {
+}
+.fl-theme-iphone [class*="fl-list"] > li .fl-link-summary{
+       color: #4C566C;
+}
+.current_head{
+       padding-top: .5em;
+}
+.fl-list-menu {
+
+}
+
+.current_box{
+       max-width: 100%;
+}
+.current_list{
+       width: 95%;
+       padding: 0 0.375em;
+}
+.current_list li{
+       list-style-type: none;
+       padding:0;
+       margin:0;
+
+}
+.current_list img{
+
+}
+
+#show-all{
+       text-align: center;
+}
+/* enrollment tabs */
+#navlist {
+       padding: 0;
+       margin-left: 0;
+       margin-right: auto;
+       margin-left: auto;
+       margin-bottom: .25em;
+       margin-top: 0.938em;
+       white-space: nowrap;
+}
+
+#navlist li {
+       list-style: none;
+       display: inline;
+       margin: 0;
+}
+
+#navlist li a {
+       padding: 0.188em 0.563em;
+       border: 1px solid #F7F3ED;
+       border-bottom: none;
+       background-color: #F7F3ED;
+       text-decoration: none;
+       margin-left: .25em;
+       white-space: nowrap;
+}
+
+#navlist li a:hover, #navlist li a:active {
+       color: #000;
+       background-color: #fff;
+}
+
+/* tree */
+.img-size-tree {
+       vertical-align: middle;
+       margin-top: 0;
+    padding:0;
+       height:1.45em;
+       width:1.5em;
+}
+/* profile page */
+
+dl#public-profile {
+       width: 100%;
+       
+}
+
+dl#public-profile {
+       width: 100%;
+       
+}
+dl#public-profile dt {
+       float: left;
+       width: 90%;
+       border-right: 1px solid #F7F3ED;
+       padding: 0.313em 0.313em 0.313em 0;
+
+       margin-right: 0.313em;
+}
+dl#public-profile dd {
+       margin: 0;
+}
+
+div.social-right{
+       margin-left:.5em;
+       margin-top: 1em;
+}
+div.social-left{
+       margin-left:.5em;
+}
+h4.profile{
+       float: left;
+}
+.social-wrapper h3{  
+       padding-top: .5em;
+}
+.my-contacts h3{
+       padding-bottom: .375em;
+}
+img#profile{
+       border: 1px #cccccc solid;
+       margin-left: 1em;
+}
+dd{
+    margin: 0;
+}
+
+
+/** forum stuff **/
+#forum-thread li {border:1px solid #eee; border-bottom: 1px solid #F7F3ED; float:left; width: 97%; list-style: none; }
+#forum-thread li.even { background-color: #F7F3ED; border-top: none; }
+#forum-thread li.odd { background-color: #fff; }
+div.forum-post-author { float:left; width:19.375em; padding:0.5em 0.625em; }
+div.forum-post-author a.title {font-size: 1.1em; line-height: 1.2em; font-weight: bold; text-decoration:none; }        
+div.forum-post-author img.profile-picture { border: 2px solid #F7F3ED; text-align:right;}
+div.forum-post-content { margin-left: 19.375em; padding: 0.313em 0 1.125em 1.125em;}
+div.forum-post-content h3 { font-weight: 500; float:left;clear:right; }
+div.forum-post-ctrl { float: right; padding-right: 0.313em; color: #a1a1a1;}
+div.forum-post-ctrl a { text-decoration: none; }
+div.forum-post-ctrl span { color: black; background-color: #fefdc2; padding: 0.188em; }
+div.forum-post-content p.date { color: #a1a1a1; border-bottom: 1px solid #F7F3ED; }
+div.forum-post-content div.body p { margin-bottom:1em; }
+div.forum-paginator{border:thin #cccccc solid; padding:.3em; width:95%;margin:auto;background-color:#F7F3ED;}
+span.forum-paginator-active{font-weight:700;text-decoration:underline; height:2em;}
+
+
+
+/** inbox stuff - reuses some of the forum layout **/
+#inbox-msg li {border:1px solid #eee; border-bottom: 1px solid #F7F3ED; width: 95%; list-style: none; min-height: 11em;}
+       
+/*  tool list on admin home and manage screens  */
+ li.top-tool { 
+       list-style: none;
+       padding: 0.125em 0.125em 0.125em  0.938em;
+       margin-bottom: 0.313em; 
+       line-height: 200%; 
+       border: solid 1px #A9ADB0;
+       -webkit-border-radius:5px;
+}
+
+li.top-tool a {  font-weight: bold; } /* ol#tools>li>a */ 
+
+li.child-tool a { 
+       font-size: x-small;
+       font-weight: normal; 
+}
+
+/* ol#tools>li>ul, */ 
+ul.child-top-tool {
+       margin-top: -0.313em;
+       padding-left: 0;
+       margin-left: 0;
+       display: inline;
+}
+ul.child-top-tool:before {
+       content: " : ";
+}
+
+/* ol#tools>li>ul>li, */ 
+li.child-tool {
+       display: inline;
+       margin-right: 0.313em;
+       font-size: x-small;
+}
+
+.img-size-home {
+       height:3.85em;
+       width:3.9em;
+}
+
+/* browse courses */
+div.browse-course {
+       width: 28em;
+       padding-bottom: 0.625em;
+       background-color: #fffaf0;
+       border:1px #6F7172 solid;
+       font-size:9pt;
+       min-height:18em;
+       margin:auto;
+       margin-left:1em;
+       margin-top:1em;
+}
+
+dl.browse-course {
+       width: 90%;
+       padding-bottom: 0.625em;
+       background-color: #fffaf0;
+
+       margin:auto;
+       margin-left:1em;
+}
+dl.browse-course dt {
+       float: left;
+       font-weight: bold;
+       width: 25%;
+       text-align: right;
+       clear: left;
+       padding: 0.313em 0.625em 0.313em 0;
+       vertical-align: middle;
+
+}
+dl.browse-course dd {
+       margin-bottom: 0.313em;
+       clear: right;
+       padding: 0.313em 0 0.313em 0.625em;
+       margin-left: 26%;
+
+}
+.row .buttons{
+       border: none;
+}
+
+/*  form fields grouping for WCAG 2.0 conformance*/
+
+.group_form{
+
+}
+fieldset.group_form{
+       
+       margin:0 auto;
+       margin-bottom: 1em;
+       border: 1px #6D7B8D solid;
+       -webkit-border-radius:5px;
+}
+
+legend.group_form{
+       background-color:white;
+       font-weight: 600;
+       color: #4c566c;
+       padding:.5em;
+       border: 1px #6D7B8D solid;
+       -webkit-border-radius:5px;
+}
+/* file storage */
+
+#fsfloat1{
+       float:right;
+}
+#fsfloat2{
+       float:right;
+       width:48%;
+}
+
+
+/* highlight active links for WCAG 2.0 conformance */
+a:active,a:hover,a:focus{
+       background-color:#F6EAD6;
+       color:#000000;
+}
+
+
+/*Added by Silvia */
+div.column_primary {
+       float: left;
+       width: 42%;
+       margin: 0.313em;
+       padding: 0;
+       min-width: 10.625em;
+/*     position: relative;*/
+}
+
+div.column_equivalent{
+       float: left;
+       width: 52%;
+       margin-left:  0.938em;
+       margin-top: 0.313em;
+       margin-right: 0.313em;
+       margin-bottom: 0.313em;
+       min-width: 10.625em;
+       padding: 0.313em;
+       border: 1px solid #EEE;
+       background-color: #FFF;
+/*     position: relative;*/
+
+}
+
+div.resource_box{
+       border: 1px solid #aaa;
+       width: 95%;
+       margin: 0.313em;
+       padding: 0.313em;
+       min-width: 9.375em;
+       background-color: #eee;
+/*     position: relative;*/
+}
+
+h2.alternatives_to{
+       margin-top: 0.75em;
+       font-size: 90%;
+       color: #A50707;
+
+/*     position: relative;*/
+}
+
+div.alternative_box{
+       border: 1px solid #ddd;
+       /*width: 90%;*/
+       margin: 0.313em;
+       padding: 0.313em;
+       min-width: 9.375em;
+       background-color: #fff;
+/*     position: relative;*/
+}
+
+div.alternative_box legend {
+       color: #000;
+}
+
+div.resource_box legend {
+       color: #000;
+}
+
+label.primary a{
+       color: #A50707;
+       font-weight: bolder;
+       background-color: white;
+}
+
+/* format of "table of contents" on content page */
+#toc a                 { display:block; margin:0.188em; }
+#toc .h2, #toc .h3, #toc .h4, #toc .h5, #toc .h6{ 
+       padding:0 0 0 0;
+}
+
+
+fieldset#toc {
+       background-color: #FEFDEF;
+       border: 1pt solid #B8AE9C;
+       width:89%;
+}
+
+#side-menu{
+       overflow:hidden;
+}
+
+/* cleans up glossary question mark line spacing*/
+sup{
+       border: 1pt solid #B8AE9C;
+       vertical-align:bottom;
+       margin-top: 1em;
+}
+
+/* jQuery tooltip styles */
+#tooltip{
+       position:absolute;
+       z-index:3000;
+       border:3px solid #111;
+       background-color:#eeeeee;
+       padding:0.313em;
+}
+#tooltip h3,#tooltip div{
+       margin:0;
+}
+
+/* style for home page modules "detail view" */
+div.home_box {
+       padding: .75em 0;
+       margin: 0 auto;
+}
+
+.outside_box{
+       background:#e0e0e0;
+       width: 17em;
+       margin: .375em;
+       padding: 0;
+       height:9.8em;
+}
+
+
+.inside_box{
+       width:100%;
+       margin:auto;
+       height:52%;
+       margin-bottom:.2em;
+       background:#eeeeee;
+
+}
+.details_or{
+       width:28.8em;
+       height:9.8em;
+       margin:0;
+       background-image:url(images/details_r.png);
+       background-position: top right;
+       background-repeat:no-repeat;
+}
+.details_ol{
+       height:9.8em;
+       margin:0;
+       width:.45em;
+       background-image:url(images/details_l.png);
+       background-position: top left;
+       background-repeat:no-repeat;
+}
+.details_ir{
+       width:.5em;
+       height:100%;
+       float:right;
+       background-image:url(images/details_ir.png);
+       background-position: top right;
+       background-repeat:no-repeat;
+}
+.details_il{
+       height:100%;
+       float:left;
+       background-image:url(images/details_il.png);
+       background-position: top left;
+       background-repeat:no-repeat;
+}
+.home-title{
+       font-size:12pt;
+}
+.buttonbox{
+       float:right;
+}
+.details_text{
+       margin-left:1em;
+}
+.draggable_selected {
+       background-color: transparent;
+       cursor: move;
+}
+
+div.menuedit{
+       float:right;
+       margin-top:-1.2em; 
+       border:1px solid #cccccc;
+}
+li.folders {
+       list-style: disc url(../../images/folder.gif) outside;
+       font-family: Verdana, Helevetica, Arial, sans-serif;
+       margin-bottom: 0;
+       margin-top: 0;
+       margin-right: 0;
+}
+
+li.folders .disabled {
+       color: #B8AE9C;
+}
+
+ul.folder{
+       list-style-image:none;
+       list-style-position:outside;
+       list-style-type:none;
+       margin:0em;
+       padding:0em;
+}
+
+/*     Top navlist */
+
+#topnavlist-link {
+       color: white;
+       text-decoration: none;
+       font-weight: bold;
+}
+
+ul#topnavlist {
+       display: none;
+       position: relative;
+       top: 1.2em;
+       z-index: 1;
+       background-color: white;
+}
+
+ul#topnavlist li {
+       padding: 0;
+       margin: 0;
+}
+ul#topnavlist li a.active {
+       color: black;
+       font-style: italic;
+       }
+ul#topnavlist li a:hover, ul#topnavlist li a:focus {
+       color: black;
+}
+
+ul#topnavlist li a  {
+       color: #4C566C;
+       text-decoration: none;
+}
+
+
+/*     Sub naviaation list */
+
+div.toolcontainer{
+       width:90%;
+       margin:auto;
+       border:thin solid #e8e8e8;
+       padding-top:1em;
+       padding-bottom:1em;
+}
+
+ul#subnavlist {
+       padding: 0;
+       padding-bottom: 0.313em;
+       margin: 0;
+       font-size: 90%;
+}
+
+
+ul#subnavlist li {
+       display: inline;
+}
+
+ul#subnavlist li#test{
+       display: none;
+}
+
+ul#subnavlist li a, ul#subnavlist li a:visited {
+       color: #4C566C;
+}
+
+
+/* List attributes */
+ul {
+       list-style: none;
+}
+li {
+       color: black;
+       list-style: none;
+}
+ol#tools>li:hover, ol#tools>li:hover a {
+       border: 1px solid #e0e0e0;
+       background-color: #e6e6e6;
+       color: black;   
+}
+#subnavigation, #subnavigation a:link, #subnavigation a:visited{
+}
+
+#contentwrapper{
+       background-color: white;
+       overflow:auto;
+       padding-bottom: 1em;
+}
+
+#leftcolumn{
+       float: left;
+       width: 17em;
+       margin-left: 0.313em;
+       margin-top:-0.625em;
+}
+
+#copyright{
+       font-size: 0.5em;
+}
+
+#gototop{
+       text-align: center;
+       color: #4B6B90;
+}
+
+ #tools{
+       margin: 0 auto;
+       padding: 0.375em;
+}
+
+
+/* ATutor Social Styles */
+
+div .profile_container {
+       background-color:#eee; 
+       border: 1px solid #8e8e8e; 
+       width:80%; 
+       padding:0.5em; 
+       margin-bottom: 0.5em;
+}
+
+div .profile_container .top_right {
+       float: right;
+}
+
+dl.public-profile dd{
+       margin-left:0;
+}
+dl.public-profile dt {
+       float: left;
+       font-weight: bold;
+       min-width:12em;
+}
+
+/* Search form */
+div .search_form {
+       margin-bottom: 1em;
+}
+
+div .search_form .row{
+       background-color: #DEDEC0;
+       padding: 0.5em;
+}
+div .button {
+       background-color: #eee;
+       border: 1px solid #aaa;
+}
+div .button:hover{
+       background-color: #cccccc;
+       color: #ffffff;
+}
+
+/* Side menu */
+
+
+ul.social_side_menu {
+       padding-left: 2em;
+}
+ul.social_side_menu li {
+       padding-bottom: 0.2em;
+       list-style: circle;
+}
+
+div .divider {
+       border-bottom:1px solid #C1C157; 
+       padding-bottom:0.5em; 
+       margin-bottom:0.5em;
+}
+
+.activity{
+       line-height:18pt;
+       font-size:.8em;
+}
+
+
+div.contentbox, input-form{
+
+       background-color: #ffffff;
+    overflow:hidden;
+    border: #A9ADB0 solid 1px;
+       -webkit-border-radius: 5px;
+}
+
+div.suggestions{
+       border:1px solid #a50707;
+       margin-left:0.625em; 
+       width:50%;
+}
+li.inlinelist{
+       display: inline; 
+       padding-right: 1em;
+}
+ul.social_inline_menu{
+       background-color: #eeeeee;
+       border:thin #cccccc solid;
+       padding:.5em;
+       width:90%;
+       margin:auto;
+}
+div.social-wrapper{ 
+       width: 100%;
+}
+
+.contentbox-a{
+    width: 100%;
+}
+.contentbox-b{
+    padding-bottom:0.2em;
+}
+div.logo{
+float:left;
+clear:right;
+margin-left:2em;}
+
diff --git a/docs/themes/mobile/content.tmpl.php b/docs/themes/mobile/content.tmpl.php
new file mode 100644 (file)
index 0000000..44d4121
--- /dev/null
@@ -0,0 +1,102 @@
+<?php\r
+/****************************************************************/\r
+/* ATutor                                                                                                              */\r
+/****************************************************************/\r
+/* Copyright (c) 2002-2009                                                                             */\r
+/* Adaptive Technology Resource Centre / University of Toronto  */\r
+/* http://atutor.ca                                                                                            */\r
+/*                                                              */\r
+/* This program is free software. You can redistribute it and/or*/\r
+/* modify it under the terms of the GNU General Public License  */\r
+/* as published by the Free Software Foundation.                               */\r
+/****************************************************************/\r
+if (!defined('AT_INCLUDE_PATH')) { exit; } ?>\r
+\r
+<?php if ($this->has_text_alternative || $this->has_audio_alternative || $this->has_visual_alternative || $this->has_sign_lang_alternative): ?>\r
+<div id="alternatives_shortcuts">\r
+<?php if ($this->has_text_alternative) :?>\r
+  <a href="<?php echo $_SERVER['PHP_SELF'].'?cid='.$this->cid.(($_GET['alternative'] == 3) ? '' : SEP.'alternative=3'); ?>">\r
+    <img src="<?php echo AT_BASE_HREF; ?>images/<?php echo (($_GET['alternative'] == 3) ? 'pause.png' : 'text_alternative.png'); ?>" \r
+      alt="<?php echo (($_GET['alternative'] == 3) ? _AT('stop_apply_text_alternatives') : _AT('apply_text_alternatives')); ?>" \r
+      title="<?php echo (($_GET['alternative'] == 3) ? _AT('stop_apply_text_alternatives') : _AT('apply_text_alternatives')); ?>" \r
+      border="0" />\r
+  </a>\r
+<?php endif; // END OF has text alternative?>\r
+<?php if ($this->has_audio_alternative) :?>\r
+  <a href="<?php echo $_SERVER['PHP_SELF'].'?cid='.$this->cid.(($_GET['alternative'] == 1) ? '' : SEP.'alternative=1'); ?>">\r
+    <img src="<?php echo AT_BASE_HREF; ?>images/<?php echo (($_GET['alternative'] == 1) ? 'pause.png' : 'audio_alternative.png'); ?>" \r
+      alt="<?php echo (($_GET['alternative'] == 1) ? _AT('stop_apply_audio_alternatives') : _AT('apply_audio_alternatives')); ?>" \r
+      title="<?php echo (($_GET['alternative'] == 1) ? _AT('stop_apply_audio_alternatives') : _AT('apply_audio_alternatives')); ?>" \r
+      border="0" />\r
+  </a>\r
+<?php endif; // END OF has audio alternative?>\r
+<?php if ($this->has_visual_alternative) :?>\r
+  <a href="<?php echo $_SERVER['PHP_SELF'].'?cid='.$this->cid.(($_GET['alternative'] == 4) ? '' : SEP.'alternative=4'); ?>">\r
+    <img src="<?php echo AT_BASE_HREF; ?>images/<?php echo (($_GET['alternative'] == 4) ? 'pause.png' : 'visual_alternative.png'); ?>" \r
+      alt="<?php echo (($_GET['alternative'] == 4) ? _AT('stop_apply_visual_alternatives') : _AT('apply_visual_alternatives')); ?>" \r
+      title="<?php echo (($_GET['alternative'] == 4) ? _AT('stop_apply_visual_alternatives') : _AT('apply_visual_alternatives')); ?>" \r
+      border="0" />\r
+  </a>\r
+<?php endif; // END OF has visual alternative?>\r
+<?php if ($this->has_sign_lang_alternative) :?>\r
+  <a href="<?php echo $_SERVER['PHP_SELF'].'?cid='.$this->cid.(($_GET['alternative'] == 2) ? '' : SEP.'alternative=2'); ?>">\r
+    <img src="<?php echo AT_BASE_HREF; ?>images/<?php echo (($_GET['alternative'] == 2) ? 'pause.png' : 'sign_lang_alternative.png'); ?>" \r
+      alt="<?php echo (($_GET['alternative'] == 2) ? _AT('stop_apply_sign_lang_alternatives') : _AT('apply_sign_lang_alternatives')); ?>" \r
+      title="<?php echo (($_GET['alternative'] == 2) ? _AT('stop_apply_sign_lang_alternatives') : _AT('apply_sign_lang_alternatives')); ?>" \r
+      border="0" />\r
+  </a>\r
+<?php endif; // END OF has sign language alternative?>\r
+</div>\r
+<?php endif; // END OF displaying alternative shortcut icons?>\r
+\r
+<?php \r
+if ($_SESSION["prefs"]["PREF_SHOW_CONTENTS"] && $this->content_table <> "") \r
+       echo $this->content_table;\r
+?>\r
+\r
+<div id="content-text">\r
+       <?php echo $this->body; ?>\r
+</div>\r
+\r
+<?php if (!empty($this->test_ids)): ?>\r
+<div id="content-test" class="input-form">\r
+       <ol>\r
+               <strong><?php echo _AT('tests') . ':' ; ?></strong>\r
+               <li class="top-tool"><?php echo $this->test_message; ?></li>\r
+               <ul class="tools">\r
+               <?php \r
+                       foreach ($this->test_ids as $id => $test_obj){\r
+                               echo '<li><a href="'.url_rewrite('mods/_standard/tests/test_intro.php?tid='.$test_obj['test_id'], AT_PRETTY_URL_IS_HEADER).'">'.\r
+                                       AT_print($test_obj['title'], 'tests.title').'</a><br /></li>';\r
+                       }\r
+               ?>\r
+               </ul>\r
+       </li></ol>\r
+</div>\r
+<?php endif; ?>\r
+\r
+<?php\r
+\r
+if (!empty($this->forum_ids)): ?>\r
+<div id="content-test" class="input-form">\r
+    <ol>\r
+        <strong><?php echo _AT('forums') . ':' ; ?></strong>\r
+        <li class="top-tool"><?php echo $this->forum_message; ?></li>\r
+            <ul class="tools">\r
+                <?php\r
+                foreach ($this->forum_ids as $id => $forum_obj) {\r
+                    echo '<li><a href="'.url_rewrite('mods/_standard/forums/forum/index.php?fid='.$forum_obj['forum_id'], AT_PRETTY_URL_IS_HEADER).'">'.\r
+                        AT_print($forum_obj['title'], 'forums.title').'</a><br /></li>';\r
+                }\r
+                ?>\r
+            </ul>\r
+        </li>\r
+    </ol>\r
+</div>\r
+<?php endif; ?>\r
+\r
+\r
+<div id="content-info">\r
+       <?php echo $this->content_info; ?>\r
+\r
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/forms.css b/docs/themes/mobile/forms.css
new file mode 100644 (file)
index 0000000..2e2ea5f
--- /dev/null
@@ -0,0 +1,152 @@
+
+
+/* login page */
+div.container{
+       width:100%;
+       text-align: center;
+       margin: 0 auto;
+}
+
+div.container p {
+       text-align: left;
+       padding: .5em;
+}
+
+div.column-login{
+}
+div.column-new-user{
+width: 100%;
+
+/* end of login page */
+
+
+/*
+#contentcolumn{
+       width: 90%;
+}
+*/
+
+
+
+fieldset{
+       border: none;
+}
+
+fieldset.group_form{
+       border: none;
+       text-align: center;
+       width:80%;
+       margin:0 auto;
+       border:thin #ffffff solid;
+       padding-bottom: 0em;
+}
+
+/* on registration page, group form fields to the left */
+fieldset.group_form .row{
+text-align: left}
+
+legend.group_form{
+       border:none;
+        font-size: 150%;
+       background-color: #4D4D4D;
+       color: #F7941E;
+       padding:.5em;
+}
+       
+div.input-form {
+       width: 110%; 
+    margin:0 auto;
+       margin-bottom: 20px;
+       padding: 0 6px;
+    line-height:150%;
+       border: none;
+       background-color: #4D4D4D;
+
+}
+
+div.input-form div.row h3 {
+       margin-left: 0px;
+}
+
+div.input-form div.row {
+       background-color: #4d4d4d;
+       padding:8px;
+}
+
+
+/*<img> and <a> tags: on mouse hover the color of the background will keep the same!*/
+div.input-form div.row img,a:hover{
+    background-color:#F8F8F8;
+}
+
+div.input-form .footer {
+       border-top: 1px solid #F9F6F2;
+}
+
+div.input-form p {
+       margin-left: 0px;
+}
+
+div.input-form input {
+       z-index: 2;
+}
+div.input-form textarea {
+       border: 1px solid #595241;
+       width: 98%;
+       padding: 2px;
+       margin-right: 2px;
+}
+
+div.input-form input[type=text], div.input-form input[type=password] {
+       border: 1px solid #595241;
+       padding: 2px;
+       max-width: 60%;
+       background-color:white;
+}
+
+div.input-form textarea:focus, div.input-form  input[type=password]:focus, div.input-form  input[type=text]:focus{
+       border:1px solid #4D4D4D;
+       
+       padding: 2px;
+}
+
+input[type=checkbox]{
+
+       background-color: #FFDAB9;
+}
+
+div.input-form div.buttons {
+       text-align: center;
+padding: 0; 
+margin: 0;
+}
+div.input-form div.buttons input {
+       background-color: #efefef;
+       font-weight: normal;
+       border:  #AAA  solid 1px;
+}
+.formfield:focus{
+       background-color: #FFDAB9;
+}
+
+#ot:focus{
+       background-color: #FFDAB9;
+}
+
+/*Added by Silvia*/
+div.input-form div.row_alternatives {
+       background-color: #F8F8F8;
+       padding: 5px;
+/*     width: 70%;
+       float: left;
+       width: 100%;
+       float: left;*/
+       /*clear: both;*/
+}
+
+#radio_alt{
+       /*width: auto;*/
+       /*border-bottom: 1px #CCCCCC solid;*/
+
+}
+
diff --git a/docs/themes/mobile/images/arrow-up.png b/docs/themes/mobile/images/arrow-up.png
new file mode 100644 (file)
index 0000000..b1e8419
Binary files /dev/null and b/docs/themes/mobile/images/arrow-up.png differ
diff --git a/docs/themes/mobile/images/navbar_normal_button_insetShadow.png b/docs/themes/mobile/images/navbar_normal_button_insetShadow.png
new file mode 100644 (file)
index 0000000..305ea1b
Binary files /dev/null and b/docs/themes/mobile/images/navbar_normal_button_insetShadow.png differ
diff --git a/docs/themes/mobile/include/TeraWurflRemoteClient.php b/docs/themes/mobile/include/TeraWurflRemoteClient.php
new file mode 100644 (file)
index 0000000..92204c3
--- /dev/null
@@ -0,0 +1,245 @@
+<?php\r
+/**\r
+ * Tera_WURFL - PHP MySQL driven WURFL\r
+ * \r
+ * Tera-WURFL was written by Steve Kamerman, and is based on the\r
+ * Java WURFL Evolution package by Luca Passani and WURFL PHP Tools by Andrea Trassati.\r
+ * This version uses a MySQL database to store the entire WURFL file, multiple patch\r
+ * files, and a persistent caching mechanism to provide extreme performance increases.\r
+ * \r
+ * @package TeraWurflRemoteClient\r
+ * @author Steve Kamerman <stevekamerman AT gmail.com>\r
+ * @version Stable 2.1.2 $Date: 2010/05/14 15:53:02\r
+ * @license http://www.mozilla.org/MPL/ MPL Vesion 1.1\r
+ */\r
+/**\r
+ * Tera-WURFL remote webservice client for PHP\r
+ * @package TeraWurflRemoteClient\r
+ */\r
+class TeraWurflRemoteClient {\r
+       \r
+       /**\r
+        * XML Data Format - this should only be used to communicate with Tera-WURFL 2.1.1 and older\r
+        * @var String\r
+        */\r
+       public static $FORMAT_XML = 'xml';\r
+       /**\r
+        * The JSON Data Format is the default transport for Tera-WURFL 2.1.2 and newer due to it's smaller size\r
+        * and better performance with the builtin PHP functions \r
+        * @var String\r
+        */\r
+       public static $FORMAT_JSON = 'json';\r
+       /**\r
+        * If you try to use a capability that has not been retrieved yet and this is set to true,\r
+        * it will generate another request to the webservice and retrieve this capability automatically.\r
+        * @var Bool\r
+        */\r
+       public $autolookup = true;\r
+       /**\r
+        * Flattened version of Tera-WURFL's capabilities array, containing only capability names and values.\r
+        * Since it is 'Flattened', there a no groups in this array, just individual capabilities.\r
+        * @var Array\r
+        */\r
+       public $capabilities;\r
+       /**\r
+        * Array of errors that were encountered while processing the request and/or response.\r
+        * @var Array\r
+        */\r
+       public $errors;\r
+       /**\r
+        * The HTTP Headers that Tera-WURFL will look through to find the best User Agent, if one is not specified\r
+        * @var Array\r
+        */\r
+       public static $userAgentHeaders = array(\r
+               'HTTP_X_DEVICE_USER_AGENT',\r
+               'HTTP_X_ORIGINAL_USER_AGENT',\r
+               'HTTP_X_OPERAMINI_PHONE_UA',\r
+               'HTTP_X_SKYFIRE_PHONE',\r
+               'HTTP_X_BOLT_PHONE_UA',\r
+               'HTTP_USER_AGENT'\r
+       );\r
+       protected $format;\r
+       protected $userAgent;\r
+       protected $webserviceUrl;\r
+       protected $xml;\r
+       protected $json;\r
+       protected $clientVersion = '2.1.2';\r
+       protected $apiVersion;\r
+       \r
+       /**\r
+        * Creates a TeraWurflRemoteClient object.  NOTE: in Tera-WURFL 2.1.2 the default data format is JSON.\r
+        * This format is not supported in Tera-WURFL 2.1.1 or earlier, so if you must use this client with \r
+        * an earlier version of the server, set the second parameter to TeraWurflRemoteClient::$FORMAT_XML\r
+        * @param String URL to the master Tera-WURFL Server's webservice.php\r
+        * @param String TeraWurflRemoteClient::$FORMAT_JSON or TeraWurflRemoteClient::$FORMAT_XML\r
+        */\r
+       public function __construct($TeraWurflWebserviceURL,$data_format='json'){\r
+               $this->format = $data_format;\r
+               if(!self::validURL($TeraWurflWebserviceURL)){\r
+                       throw new Exception("TeraWurflRemoteClient Error: the specified webservice URL is invalid.  Please make sure you pass the full url to Tera-WURFL's webservice.php.");\r
+                       exit(1);\r
+               }\r
+               $this->capabilities = array();\r
+               $this->errors = array();\r
+               $this->webserviceUrl = $TeraWurflWebserviceURL;\r
+       }\r
+       /**\r
+        * Get the requested capabilities from Tera-WURFL for the given user agent\r
+        * @param String HTTP User Agent of the device being detected\r
+        * @param Array Array of capabilities that you would like to retrieve\r
+        * @return bool Success\r
+        */\r
+       public function getCapabilitiesFromAgent($userAgent, Array $capabilities){\r
+               $this->userAgent = (is_null($userAgent))? self::getUserAgent(): $userAgent;\r
+               // build request string\r
+               $uri = $this->webserviceUrl . (strpos($this->webserviceUrl,'?')===false?'?':'&') \r
+               . 'ua=' . urlencode($this->userAgent)\r
+               . '&format=' . $this->format\r
+               . '&search=' . implode('|',$capabilities);\r
+               $this->callTeraWurfl($uri);\r
+               $this->loadCapabilities();\r
+               $this->loadErrors();\r
+               return true;\r
+       }\r
+       /**\r
+        * Returns the value of the requested capability\r
+        * @param String The WURFL capability you are looking for (e.g. "is_wireless_device")\r
+        * @return Mixed String, Numeric, Bool\r
+        */\r
+       public function getDeviceCapability($capability){\r
+               $capability = strtolower($capability);\r
+               if(!array_key_exists($capability, $this->capabilities)){\r
+                       if($this->autolookup){\r
+                               $this->getCapabilitiesFromAgent($this->userAgent, array($capability), array());\r
+                       }\r
+                       return $this->capabilities[$capability];\r
+               }\r
+               return $this->capabilities[$capability];\r
+       }\r
+       /**\r
+        * Get the version of the Tera-WURFL Remote Client (this file)\r
+        * @return String\r
+        */\r
+       public function getClientVersion(){\r
+               return $this->clientVersion;\r
+       }\r
+       /**\r
+        * Get the version of the Tera-WURFL Webservice (webservice.php on server).  This is only available\r
+        * after a query has been made since it is returned in the XML response.\r
+        * @return String\r
+        */\r
+       public function getAPIVersion(){\r
+               return $this->apiVersion;\r
+       }\r
+       /**\r
+        * Make the webservice call to the server using the GET method and load the XML response into $this->xml \r
+        * @param String The URI of the master server\r
+        * @return void\r
+        */\r
+       protected function callTeraWurfl($uri){\r
+               try{\r
+                       switch($this->format){\r
+                               case self::$FORMAT_JSON:\r
+                                       $data = file_get_contents($uri);\r
+                                       $this->json = json_decode($data,true);\r
+                                       if(is_null($this->json)){\r
+                                               // Trigger the catch block\r
+                                               throw new Exception("foo");\r
+                                       }\r
+                                       unset($data);\r
+                                       break;\r
+                               default:\r
+                               case self::$FORMAT_XML:\r
+                                       if(!$this->xml = simplexml_load_file($uri)){\r
+                                               throw new Exception("foo");\r
+                                       }\r
+                                       break;\r
+                       }\r
+               }catch(Exception $ex){\r
+                       // Can't use builtin logging here through Tera-WURFL since it is on the client, not the server\r
+                       throw new Exception("TeraWurflRemoteClient Error: Could not query Tera-WURFL master server.");\r
+                       exit(1);\r
+               }\r
+       }\r
+       /**\r
+        * Parse the response into the capabilities array\r
+        * @return void\r
+        */\r
+       protected function loadCapabilities(){\r
+               switch($this->format){\r
+                       case self::$FORMAT_JSON:\r
+                               $this->apiVersion = $this->json['apiVersion'];\r
+                               $this->capabilities = $this->json['capabilities'];\r
+                               break;\r
+                       default:\r
+                       case self::$FORMAT_XML:\r
+                               $this->apiVersion = $this->xml->device['apiVersion'];\r
+                               foreach($this->xml->device->capability as $cap){\r
+                                       $this->capabilities[(string)$cap['name']] = self::niceCast((string)$cap['value']);\r
+                               }\r
+                               break;\r
+               }\r
+       }\r
+       /**\r
+        * Parse the response's errors into the errors array\r
+        * @return void\r
+        */\r
+       protected function loadErrors(){\r
+               switch($this->format){\r
+                       case self::$FORMAT_JSON:\r
+                               $this->errors &= $this->json['errors'];\r
+                               break;\r
+                       default:\r
+                       case self::$FORMAT_XML:\r
+                               foreach($this->xml->errors->error as $error){\r
+                                       $this->errors[(string)$error['name']]=(string)$error['description'];\r
+                               }\r
+                               break;\r
+               }\r
+       }\r
+       /**\r
+        * Cast strings into proper variable types, i.e. 'true' into true\r
+        * @param $value\r
+        * @return Mixed String, Bool, Float\r
+        */\r
+       protected static function niceCast($value){\r
+               // Clean Boolean values\r
+               if($value === 'true')$value=true;\r
+               if($value === 'false')$value=false;\r
+               if(!is_bool($value)){\r
+                       // Clean Numeric values by loosely comparing the (float) to the (string)\r
+                       $numval = (float)$value;\r
+                       if(strcmp($value,$numval)==0)$value=$numval;\r
+               }\r
+               return $value;\r
+       }\r
+       /**\r
+        * Is the given URL valid\r
+        * @param $url\r
+        * @return Bool\r
+        */\r
+       protected static function validURL($url){\r
+               if(preg_match('/^(http|https):\/\/(\w+:{0,1}\w*@)?(\S+)(:[0-9]+)?(\/|\/([\w#!:.?+=&%@!\-\/]))?/',$url)) return true;\r
+               return false;\r
+       }       \r
+       /**\r
+        * Return the requesting client's User Agent\r
+        * @param $source\r
+        * @return String\r
+        */\r
+       public static function getUserAgent($source=null){\r
+               if(is_null($source) || !is_array($source))$source = $_SERVER;\r
+               $userAgent = '';\r
+               if(isset($_GET['UA'])){\r
+                       $userAgent = $_GET['UA'];\r
+               }else{\r
+                       foreach(self::$userAgentHeaders as $header){\r
+                               if(array_key_exists($header,$source) && $source[$header]){\r
+                                       $userAgent = $source[$header];\r
+                                       break;\r
+                               }\r
+                       }\r
+               }\r
+               return $userAgent;\r
+       }\r
+}
\ No newline at end of file
diff --git a/docs/themes/mobile/include/footer.tmpl.php b/docs/themes/mobile/include/footer.tmpl.php
new file mode 100644 (file)
index 0000000..a83aec5
--- /dev/null
@@ -0,0 +1,60 @@
+<?php if (!defined('AT_INCLUDE_PATH')) { exit; } ?>
+       <?php if (isset($_SESSION['course_id']) && $_SESSION['course_id'] > 0): ?>
+                       <div id="gototop">              
+                               <br />
+                               <a href="<?php echo htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES); ?>#navigation-contentwrapper" title="<?php echo _AT('goto_content'); ?> Alt-c" ><?php echo _AT('goto_top'); ?>
+                               <img src="<?php echo $this->base_path; ?>themes/mobile/images/arrow-up.png" alt="<?php echo _AT('goto_top'); ?> Alt-c" border="0"/> 
+                               
+                               </a>
+                       </div>  
+               <?php endif; ?> 
+</div> <!-- end innner-contentwrapper -->      
+</div> <!-- end contentcolumn? -->
+</div> <!-- end contentwrapper -->
+</div> <!-- end main -->
+</div> <!-- end wrapper -->
+
+
+<div id="footer" class="fl-navbar fl-table">
+<div id="top-links"> <!-- top help/search/login links -->
+       <ul class="fl-tabs flc-themer">  
+               <?php if (isset($_SESSION['member_id']) && $_SESSION['member_id'] > 0): ?>
+                       <?php if(!$this->just_social): ?>                                       
+                               <?php if ($_SESSION['is_super_admin']): ?>
+                               <li>    <a  href="<?php echo $this->base_path; ?>bounce.php?admin"><?php echo _AT('return_to_admin_area'); ?></a> </li>
+                               <?php endif; ?>
+       
+                               <?php if ($this->course_id > -1): ?>
+                                       <?php if (get_num_new_messages()): ?>
+                               <li>            <a  href="<?php echo $this->base_path; ?>inbox/index.php"><?php echo _AT('inbox'); ?> (<?php echo get_num_new_messages(); ?>)</a> </li>
+                                       <?php else: ?>
+                               <li>            <a href="<?php echo $this->base_path; ?>inbox/index.php"><?php echo _AT('inbox'); ?></a></li>
+                                       <?php endif; ?>
+                               <?php endif; ?>
+                       <?php endif; ?>
+               <?php endif; ?>
+
+               <?php if(!$this->just_social): ?>
+                       <li><a href="<?php echo $this->base_path; ?>search.php"><?php echo _AT('search'); ?></a> </li>
+               <?php endif; ?> 
+               <li><a href="<?php echo $this->base_path; ?>help/index.php"><?php echo _AT('help'); ?></a></li>
+
+               <?php if (isset($_SESSION['valid_user']) && $_SESSION['valid_user']): ?>                                         
+                       <li><a href="<?php echo $this->base_path; ?>logout.php"><?php echo _AT('logout'); ?></a></li>
+               <?php else: ?>
+                       <!-- <li><a href="<?php echo $this->base_path; ?>login.php?course=<?php echo $this->course_id; ?>"><?php echo _AT('login'); ?></a></li> -->
+               <?php endif; ?>
+
+
+               
+
+</ul>                  
+</div>                 
+</div>
+       <script language="javascript" type="text/javascript">
+//<!--
+    <?php require_once(AT_INCLUDE_PATH.'../jscripts/ATutor_js.php'); ?>
+//-->
+</script>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/themes/mobile/include/header.tmpl.php b/docs/themes/mobile/include/header.tmpl.php
new file mode 100644 (file)
index 0000000..7560ad2
--- /dev/null
@@ -0,0 +1,284 @@
+<?php
+/************************************************************************/
+/* ATutor                                                                                                                              */
+/************************************************************************/
+/* Copyright (c) 2002-2008 by Greg Gay, Joel Kronenberg & Heidi Hazelton*/
+/* Adaptive Technology Resource Centre / University of Toronto                 */
+/* http://atutor.ca                                                                                                            */
+/*                                                                                                                                             */
+/* This program is free software. You can redistribute it and/or               */
+/* modify it under the terms of the GNU General Public License                 */
+/* as published by the Free Software Foundation.                                               */
+/************************************************************************/
+// $Id: header.tmpl.php 3825 2005-03-11 15:35:51 joel $
+if (!defined('AT_INCLUDE_PATH')) { exit; }
+/* available header.tmpl.php variables:
+ * $this->lang_code                    the ISO language code
+ * SITE_NAME                           the site name from the config file
+ * $this->page_title           the name of this page to use in the <title>
+ * $this->lang_charset         the ISO language character set
+ * $this->content_base_href    the <base href> to use for this page
+ * $this->base_path                    the absolute path to this atutor installation
+ * $this->rtl_css                      if set, the path to the RTL style sheet
+ * $this->icon                 the path to a course icon
+ * $this->banner_style         -deprecated-
+ * $this->theme                                the directory name of the current theme
+ * $this->base_href                    the full url to this atutor installation
+ * $this->onload                       javascript onload() calls
+ * $this->img                          the absolute path to this theme's images/ directory
+ * $this->sequence_links       associative array of 'previous', 'next', and/or 'resume' links
+ * $this->path                         associative array of path to this page: aka bread crumbs
+ * $this->rel_url                      the relative url from the installation root to this page
+ * $this->nav_courses          associative array of this user's enrolled courses
+ * $this->section_title                the title of this section (course, public, admin, my start page)
+ * $this->current_top_level_page       the full path to the current top level page with file name
+ * $this->sub_level_pages                      associate array of sub level navigation
+ * $this->back_to_page                         if set, the path and file name to the part of this page (if parent is not a top level nav)
+ * $this->current_sub_level_page       the full path to the current sub level page with file name
+ * $this->guide                                the full path and file name to the guide page
+ * ======================================
+ * top_level_pages           array(array('url', 'title'))     the top level pages. ATutor default creates tabs.
+ * section_title             string                           the name of the current section. either name of the course, administration, my start page, etc.
+ * page_title                string                           the title of the current page.
+ * path                      array(array('url', 'title'))     the path to the current page.
+ * back_to_page              array('url', 'title')            the link back to the part of the current page, if needed.
+ * current_top_level_page    string                           full url to the current top level page in "top_leve_pages"
+ * current_sub_level_page    string                           full url to the current sub level page in the "sub_level_pages"
+ * sub_level_pages           array(array('url', 'title'))     the sub level pages.
+ * is_mobile_device          true or false                    the request is from a mobile device or a desktop device
+ * mobile_device_type        One of the constants: IPOD_DEVICE, BLACKBERRY_DEVICE, ANDROID_DEVICE, UNKNOWN_DEVICE (@see include/lib/constants.inc.php)
+ */
+
+// will have to be moved to the header.inc.php
+global $system_courses, $_custom_css, $db, $_base_path, $contentManager;
+
+// 1. any click on the page closes the content menu but the link "content_link" itself
+// 2. the click on link "content_link" opens the content menu
+
+
+require ('TeraWurflRemoteClient.php');
+$wurflObj = new TeraWurflRemoteClient('http://wurfl.thesedays.com/webservice.php');
+$capabilities = array("product_info");
+$data_format = TeraWurflRemoteClient::$FORMAT_JSON;
+$wurflObj->getCapabilitiesFromAgent(null, $capabilities, $data_format);
+
+// open/close content menu
+$this->onload .= "
+jQuery('#content_link').click(function(e) {
+  e.stopPropagation();
+  jQuery('#content').slideToggle();";
+$this->onload .= "});
+";
+
+// open/close navigational menu 
+$this->onload .= "
+jQuery(document).click(function () {
+jQuery('#topnavlist').hide();}); 
+jQuery('#topnavlist-link').click(function(e) {
+  e.stopPropagation();
+  jQuery('#topnavlist').slideToggle();
+});
+";
+
+// Hide the addressbar
+$this->onload .= "
+setTimeout(function() { window.scrollTo(0, 1) }, 100);
+";
+
+?>
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="<?php echo $this->lang_code; ?>"> 
+
+<head>
+       <title><?php echo SITE_NAME; ?> : <?php echo $this->page_title; ?></title>
+       <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $this->lang_charset; ?>" />
+       <meta name="Generator" content="ATutor - Copyright 2005 by http://atutor.ca" />
+       <meta name="viewport" content="user-scalable=no, width=device-width" />
+       <base href="<?php echo $this->content_base_href; ?>" />
+       <link rel="shortcut icon" href="<?php echo $this->base_path; ?>favicon.ico" type="image/x-icon" /> 
+       <link rel="stylesheet" href="<?php echo $this->base_path.'themes/'.$this->theme; ?>/print.css" type="text/css" media="print" />
+       <!-- mobile FSS -->
+       <link rel="stylesheet" href="<?php echo $this->base_path; ?>jscripts/infusion/framework/fss/css/fss-mobile-layout.css" type="text/css"/>
+       <link rel="stylesheet" href="<?php echo $this->base_path; ?>jscripts/infusion/framework/fss/css/fss-mobile-theme-iphone.css" type="text/css"/>  
+       
+
+
+<?php if ($this->is_mobile_device == true): ?>
+       <?php if ($this->mobile_device_type == ANDROID_DEVICE): ?>
+       <link rel="stylesheet" href="<?php echo $this->base_path.'themes/'.$this->theme; ?>/android.css" type="text/css"/>
+       <?php endif; ?>
+       <?php if ($this->mobile_device_type == IPOD_DEVICE): ?>
+       <link rel="stylesheet" href="<?php echo $this->base_path.'themes/'.$this->theme; ?>/iphone.css" type="text/css"/>
+       <?php endif; ?>
+<?php endif; ?>
+
+       <!--[if IE]>
+         <link rel="stylesheet" href="<?php echo $this->base_path.'themes/'.$this->theme; ?>/ie_styles.css" type="text/css" />
+       <![endif]-->
+       <link rel="stylesheet" href="<?php echo $this->base_path.'themes/'.$this->theme; ?>/forms.css" type="text/css" />
+               
+
+       <script src="<?php echo $this->base_path; ?>jscripts/infusion/InfusionAll.js" type="text/javascript"></script>
+       <script src="<?php echo $this->base_path; ?>jscripts/infusion/jquery.autoHeight.js" type="text/javascript"></script>
+       <script src="<?php echo $this->base_path; ?>jscripts/ATutor.js" type="text/javascript"></script>   
+       <script src="<?php echo $this->base_path; ?>jscripts/ATutorCourse.js" type="text/javascript"></script>   
+       <script language="javascript" type="text/javascript">
+       //<!--
+       jQuery.noConflict();
+       //-->
+       </script>
+<?php if (($wurflObj->getDeviceCapability("mobile_browser")=="Safari")): ?>    
+
+<?php endif; ?>
+       
+<?php echo $this->rtl_css; ?>
+<?php if (isset($this->course_id) && $system_courses[$this->course_id]['rss']): ?>
+       <link rel="alternate" type="application/rss+xml" title="<?php echo SITE_NAME; ?> - RSS 2.0" href="<?php echo $this->base_href; ?>get_rss.php?<?php echo $this->course_id; ?>-2" />
+       <link rel="alternate" type="application/rss+xml" title="<?php echo SITE_NAME; ?> - RSS 1.0" href="<?php echo $this->base_href; ?>get_rss.php?<?php echo $this->course_id; ?>-1" />
+<?php endif; ?>
+
+
+<?php echo $this->custom_css; ?>
+</head>
+<body onload="<?php echo $this->onload; ?>" class="fl-theme-iphone">
+
+<div id="wrapper">
+<div id="main">
+<div id="header">
+
+       <a href="<?php echo htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES); ?>#content">
+       <img src="<?php echo $this->base_path; ?>images/clr.gif" height="1" width="1" border="0" alt="<?php echo _AT('goto_content'); ?> ALT+c" /></a>          
+
+       <div id="header-section-title">
+               <!-- <?php if (isset($_SESSION['valid_user']) && $_SESSION['valid_user']): 
+                               echo '<div id="site-name">'.stripslashes(SITE_NAME).'</div>'; 
+                       endif; ?> --> 
+                       <h1 id="section-title"><?php echo $this->section_title; ?>
+                       <?php if ((isset($this->course_id) && $this->course_id > 0) && ($_SESSION['enroll'] == AT_ENROLL_NO)) : ?> 
+                               <!-- <small><a href="<?php echo $this->base_path; ?>enroll.php?course=<?php echo $this->course_id; ?>"><?php echo _AT('enroll_me'); ?></a></small>-->
+                       <?php endif; ?>
+                       </h1>
+       </div>
+</div> <!--  END HEADER -->
+
+
+<div id="contentwrapper">
+
+<!--  Note: ARIA roles cause XHTML validation errors because the XHTML DTD does not yet support ARIA. Use ARIA anyway -->
+<div id="navigation-contentwrapper">
+       <div id="navigation-bar">
+       <!--  this should be a button on its own  -->
+               <?php if ($this->current_sub_level_page): ?>
+               <div id="topnavlistcontainer" role="navigation" aria-live="assertive" >
+               <a class="navigation-bar-button" id="topnavlist-link" href="javascript:void(0);" tabindex="1">Navigation</a>
+                       <ul id="topnavlist"  class="fl-list-menu">
+                               <?php $accesscounter = 0; //initialize ?>
+                               <?php foreach ($this->top_level_pages as $page): ?>
+                                       <?php ++$accesscounter; $accesscounter = ($accesscounter == 10 ? 0 : $accesscounter); ?>
+                                       <?php $accesskey_text = ($accesscounter < 10 ? 'accesskey="'.$accesscounter.'"' : ''); ?>
+                                       <?php $accesskey_title = ($accesscounter < 10 ? ' Alt+'.$accesscounter : ''); ?>
+                                       <?php if ($page['url'] == $this->current_top_level_page): ?>
+                                               <li role="menuitem"><a  href="<?php echo $page['url']; ?>" <?php echo $accesskey_text; ?> title="<?php echo $page['title'];?>" class="flc-screenNavigator-backButton"><?php echo $page['title']; ?></a>  </li>
+                                       <?php else: ?>
+                                               <li role="menuitem"><a  href="<?php echo $page['url']; ?>" <?php echo $accesskey_text; ?> title="<?php echo $page['title']; ?>" class="flc-screenNavigator-backButton"><?php echo $page['title']; ?></a></li>
+                                       <?php endif; ?>
+                               
+                                       <?php $accesscounter = ($accesscounter == 0 ? 11 : $accesscounter); ?>
+                               <?php endforeach; ?>
+                       </ul>
+               </div>
+               <?php endif; ?>
+       </div>
+
+
+       <ul class="fl-tabs" id="home-guide">
+
+               <li><a href="<?php echo $this->base_path; ?>users/index.php">Home</a></li>
+               <?php if (isset($this->guide) && isset($_SESSION["course_id"]) && $this->guide && ($_SESSION["prefs"]["PREF_SHOW_GUIDE"] || $_SESSION["course_id"] == "-1")) : ?>
+               <li>
+               <div id="guide_box">
+                               <!--    <a href="<?php echo $this->guide; ?>" id="guide" onclick="ATutor.poptastic('<?php echo $this->guide; ?>'); return false;" target="_new"><img src="<?php echo $this->img; ?>guide-icon.png" width="30" height="30" title="guide: <?php echo $this->page_title; ?>"alt="guide: <?php echo $this->page_title; ?>"></img></a> -->
+               
+                         <a href="<?php echo $this->guide; ?>" id="guide" onclick="ATutor.poptastic('<?php echo $this->guide; ?>'); return false;" target="_new">Guide</a> 
+               </div>
+               </li>
+               <?php endif; ?>
+       </ul>
+</div><!--  END navigation-contentwrapper -->
+
+<div id="inner-contentwrapper" class="fl-container">
+       <!-- ENSURE "content_link" DOESN'T APPEAR IF NOT LOGGED IN -->
+       
+       
+       <?php if(isset($_SESSION['course_id']) && $_SESSION['course_id'] > 0): ?> 
+               <div id="content-link-container" role="navigation" aria-live="assertive">
+               <a id="content_link" href="javascript:void(0);">Content Navigation</a>
+               <div id="content" style=" display: none; position: relative; z-index: 1;">
+               <?php $contentManager->printMainMenu(); ?>
+                               <script language="javascript" type="text/javascript">
+                       
+                               </script>
+               </div>
+               </div>
+       <?php endif; ?>
+       
+
+
+       <div id="contentcolumn">        
+               <?php if ((isset($this->course_id) && $this->course_id <= 0)): ?>
+                       <!-- style="margin-left:0.5em;width:99%;" -->
+               <?php endif; ?>
+               <?php if (isset($this->course_id) && $this->course_id > 0): ?>
+               <div class="sequence-links">
+               <?php if ($_SESSION["prefs"]["PREF_SHOW_NEXT_PREVIOUS_BUTTONS"]) { ?>
+                       <?php if ($this->sequence_links['resume']): ?>
+                                       <a href="<?php echo $this->sequence_links['resume']['url']; ?>" class="previous-next" title="<?php echo _AT('resume').': '.$this->sequence_links['resume']['title']; ?>"><?php echo $this->sequence_links['resume']['title']; ?></a>
+                       <?php else:
+                               if ($this->sequence_links['previous']): ?>
+                                       <a href="<?php echo $this->sequence_links['previous']['url']; ?>" class="previous-next" title="<?php echo _AT('previous_topic').': '. $this->sequence_links['previous']['title']; ?>"> <?php echo _AT('previous_topic').': '. $this->sequence_links['previous']['title']; ?> </a>
+                               <?php endif;
+                               if ($this->sequence_links['next']): ?>
+                                       <a href="<?php echo $this->sequence_links['next']['url']; ?>" class="previous-next"  title="<?php echo _AT('next_topic').': '.$this->sequence_links['next']['title']; ?>"> <?php echo _AT('next_topic').': '.$this->sequence_links['next']['title']; ?></a>
+                               <?php endif; ?>
+                       <?php endif; ?>
+               <?php } ?>
+                       &nbsp;
+               </div> <!-- end sequence-links -->
+               <?php endif; ?>
+
+       <!-- the page title -->
+       <a name="content" title="<?php echo _AT('content'); ?>"></a>
+       <h2 class="page-title"><?php echo $this->page_title; ?></h2>
+       
+       <?php global $msg; $msg->printAll(); $_base_href;?>
+       
+       <!-- the sub navigation -->
+       <?php if (count($this->sub_level_pages) > 0): ?>
+                       <div id="subnavlistcontainer">
+                               <div id="subnavbacktopage">
+                               <?php if (isset($this->back_to_page)): ?>
+                                       <a href="<?php echo $this->back_to_page['url']; ?>">
+                                       <img border="0" width="10" height="11" alt="<?php echo _AT('back_to').' '.$this->back_to_page['title']; ?>" src="<?php echo $this->base_href; ?>images/arrowicon.gif" style="float:left;"/></a>&nbsp;
+                               <?php endif; ?>
+                               </div>
+
+                               <ul id="subnavlist">
+                               <?php $num_pages = count($this->sub_level_pages); ?>
+                               <?php for ($i=0; $i<$num_pages; $i++): ?>                               
+                                       <?php if ($this->sub_level_pages[$i]['url'] == $this->current_sub_level_page): ?>
+                                               <li id="test" ><?php echo $this->sub_level_pages[$i]['title']; ?></li>
+                                       <?php else: ?>
+                                               <li><a href="<?php echo $this->sub_level_pages[$i]['url']; ?>"><?php echo $this->sub_level_pages[$i]['title']; ?></a></li>
+                                       <?php endif; ?>
+                               <?php if ($i < $num_pages-1): 
+                                       echo " ";?>
+                               <?php endif; ?>
+                               <?php endfor; ?>
+                               </ul>
+                       </div>
+       <?php endif; ?>
+
+
+
diff --git a/docs/themes/mobile/index.tmpl.php b/docs/themes/mobile/index.tmpl.php
new file mode 100644 (file)
index 0000000..17738de
--- /dev/null
@@ -0,0 +1,170 @@
+<?php
+/************************************************************************/
+/* ATutor                                                               */
+/************************************************************************/
+/* Copyright (c) 2002 - 2009                                            */
+/* Adaptive Technology Resource Centre / University of Toronto          */
+/*                                                                      */
+/* This program is free software. You can redistribute it and/or        */
+/* modify it under the terms of the GNU General Public License          */
+/* as published by the Free Software Foundation.                        */
+/************************************************************************/
+
+if (!defined('AT_INCLUDE_PATH')) { exit; }
+global $_base_path;
+
+if ($this->banner): ?><?php echo $this->banner; ?><br /><?php endif;
+
+// positioning switch of home ONLY FOR INSTRUCTORS. two icons will be used for identification to distinguish the two different views of the home.
+if(authenticate(AT_PRIV_ADMIN,AT_PRIV_RETURN) && count($this->home_links) > 0){
+       if($this->view_mode==0)
+               echo '<a href ="'.AT_BASE_HREF.'switch_view.php?swid='.$this->view_mode.'" ><img src="'.AT_BASE_HREF.'images/detail_view.png" title ="'._AT('detail_view').'"  alt ="'._AT('detail_view').'" /></a><br />';
+       else
+               echo '<a href ="'.AT_BASE_HREF.'switch_view.php?swid='.$this->view_mode.'" ><img src="'.AT_BASE_HREF.'images/icon_view.png"  title ="'._AT('icon_view').'" alt ="'._AT('icon_view').'" /></a><br        />';
+}      
+
+// Icon View, $this->view_mode = 0. course will be made changes to the icons to restore the classic icons.
+if($this->view_mode==0){
+?>
+       <div id="home-links-container">
+               <ul id="home-links">
+               <?php if (is_array($this->home_links)): ?>
+               <?php foreach ($this->home_links as $link): ?>
+                       <li><a href="<?php echo $link['url']; ?>"><img src="<?php echo $link['img']; ?>" alt="" class="img-size-home" border="0" /><?php echo $link['title']; ?></a></li>
+               <?php endforeach; ?>
+               <?php endif; ?>
+               </ul>
+       </div> <?php
+} else { ?>
+       
+       <div id="details_view" class="fluid-horizontal-order">
+<?php                          // create table container divided into two columns for the placement of modules
+       if(authenticate(AT_PRIV_ADMIN,AT_PRIV_RETURN) && is_array($this->home_links)){          // display enabled course tool
+               foreach ($this->home_links as $link){ 
+?>
+               <div class="home_box" id="<?php echo str_replace('/', '-', substr($link['url'], strlen($_base_path))); ?>"> 
+<?php print_sublinks($link);                                           // display each module ?>
+               </div>
+<?php
+               } // end of foreach 
+       }  // end of inner if 
+       else {
+               if (is_array($this->home_links)) {
+                       foreach ($this->home_links as $link){?>
+               <div class="home_box">
+<?php print_sublinks($link); ?>
+               </div>
+<?php                  }  // end of foreach
+               }// end of inner inner if
+       } ?>
+       </div> 
+<?php
+} // end of if
+
+if ($this->announcements): ?>
+<h2 class="page-title"><?php echo _AT('announcements'); ?></h2>
+       <?php foreach ($this->announcements as $item): ?>
+               <div class="news">
+                       <h3><?php echo $item['title']; ?></h3>
+                       <p><span class="date"><?php echo $item['date'] .' '. _AT('by').' ' . $item['author']; ?></span></p> <?php echo $item['body']; ?>
+               </div>
+       <?php endforeach; ?>
+
+       <?php if ($this->num_pages > 1): ?>
+               <?php echo _AT('page'); ?>: | 
+               <?php for ($i=1; $i<=$this->num_pages; $i++): ?>
+                       <?php if ($i == $this->current_page): ?>
+                               <strong><?php echo $i; ?></strong>
+                       <?php else: ?>
+                               <a href="<?php echo $_SERVER['PHP_SELF']; ?>?p=<?php echo $i; ?>"><?php echo $i; ?></a>
+                       <?php endif; ?>
+                        | 
+               <?php endfor; ?>
+       <?php endif; ?>
+<?php endif;
+
+// Generate HTML for modules at "detail view"
+function print_sublinks($link){
+       global $_base_path;
+?>
+<div class="details_ol">
+       <div class="details_or">
+               <div class="outside_box">
+<?php if (authenticate(AT_PRIV_ADMIN,AT_PRIV_RETURN)) {?>
+                       <div class="buttonbox">
+                       <a href="#" onclick="javascript: remove_module('<?php echo htmlentities(substr($link['url'], strlen($_base_path))); ?>'); return false;"><img src="<?php echo AT_BASE_HREF; ?>images/x.gif" border="0" alt="<?php echo _AT('close'); ?>"/></a>
+                       </div>
+<?php }?>
+                       <img src="<?php echo $link['img']; ?>" alt="" border="0" height="45" width="45"/>
+                       <span class="home-title"><a href="<?php echo $link['url']; ?>"><?php echo $link['title']; ?></a></span>
+                       <div class="inside_box">
+
+<?php
+       // if $link['sub_file'] is defined, print the text array returned from sub_file, otherwise, print the text defined in $link['text']
+       if($link['sub_file']!=""){
+               $array = require(AT_INCLUDE_PATH.'../'.$link['sub_file']);
+               if(!is_array($array)){ 
+?>
+                               <div class="details-text">
+                               <i><?php echo _AT('none_found'); ?></i>
+                               </div>
+<?php } else { ?>
+                               <div class="details-text">
+<?php  foreach($array as $sublink){ ?>
+                                       <img src="<?php echo $link['icon']; ?>" border="0" alt=""/> 
+<?php          if ($sublink <> '') echo $sublink."<br />"; } ?>
+                               </div> 
+<?php 
+               } // end of else                                                
+       } else { ?>
+                               <div class="details_text"><?php echo $link['text']; ?></div>
+<?php } ?>
+                       </div>
+               </div>
+       </div>
+</div>
+
+
+
+
+<!--
+<div class="details_ol">
+       <div class="details_or">
+               <div class="outside_box">
+<?php if (authenticate(AT_PRIV_ADMIN,AT_PRIV_RETURN)) {?>
+                       <div class="buttonbox">
+                       <a href="#" onclick="javascript: remove_module('<?php echo htmlentities(substr($link['url'], strlen($_base_path))); ?>'); return false;"><img src="<?php echo AT_BASE_HREF; ?>images/x.gif" border="0" alt="<?php echo _AT('close'); ?>"/></a>
+                       </div>
+<?php }?>
+                       <img src="<?php echo $link['img']; ?>" alt="" border="0" height="51" width="51"/>
+                       <span class="home-title"><a href="<?php echo $link['url']; ?>"><?php echo $link['title']; ?></a></span>
+                       <div class="inside_box">
+                               <div class="details_il">&nbsp;</div>
+                               <div class="details_ir"></div>
+<?php
+       // if $link['sub_file'] is defined, print the text array returned from sub_file, otherwise, print the text defined in $link['text']
+       if($link['sub_file']!=""){
+               //$array = require(AT_INCLUDE_PATH.'../'.$link['sub_file']);
+               if(!is_array($array)){ 
+?>
+                               <div class="details-text">
+                               <i><?php echo _AT('none_found'); ?></i>
+                               </div>
+<?php } else { ?>
+                               <div class="details-text">
+<?php  foreach($array as $sublink){ ?>
+                                       <img src="<?php echo $link['icon']; ?>" border="0" alt="" /> 
+<?php          if ($sublink <> '') echo $sublink."<br />"; } ?>
+                               </div> 
+<?php 
+               } // end of else                                                
+       } else { ?>
+                               <div class="details_text"><?php echo $link['text']; ?></div>
+<?php } ?>
+                       </div>
+               </div>
+       </div>
+</div>
+-->
+<?php } ?>
+
diff --git a/docs/themes/mobile/iphone.css b/docs/themes/mobile/iphone.css
new file mode 100644 (file)
index 0000000..af741fe
--- /dev/null
@@ -0,0 +1,2184 @@
+/* Style is optimized for iphone. Note that -webkit properties 
+create errors in the CSS validator. 
+Classes beginning with ".fl-" are overriding Mobile FSS, 
+see the API @ http://wiki.fluidproject.org/display/fluid/Mobile+FSS+API 
+for more details. 
+*/
+html, body{
+       height: 100%;
+}
+#main{
+       padding-bottom: 2.3em;
+       overflow: auto;
+}
+
+body,ul,li {
+       padding:0;
+       margin:0;
+}
+
+.fl-theme-iphone{
+       background: white;      
+}
+
+#header{
+       width:100%;
+       height:1.063em;
+       line-height:2.813em;
+       padding:0;
+       font-size:1.063em;
+}
+
+#header-section-title {
+       text-align: center;
+       background-image: -webkit-gradient(linear, left top, left bottom,
+       from(#4b6b90),
+    color-stop(0.5, #6d8cb3),
+    color-stop(0.50, #4b6b90),
+    color-stop(0.5, #6d8cb3),
+    to(#4b6b90)
+    ); 
+}
+
+.fl-theme-iphone .fl-navbar{
+       border: none;
+       border-top: none;
+}
+
+.fl-navbar a{
+       font-size: 0.969em;
+       background-image: -webkit-gradient(linear, left top, left bottom,
+       from(#4b6b90),
+    color-stop(0.5, #6d8cb3),
+    color-stop(0.50, #4b6b90),
+    color-stop(0.5, #6d8cb3),
+    to(#4b6b90)
+    ); 
+}
+
+.fl-navbar .fl-tabs {
+       padding-top: .3em;
+       padding-bottom: .3em;
+       border-top: 1px solid black;
+       border-bottom: .5px solid black;
+       background-color: #4b6b90; 
+    height: 2em;   
+}
+
+#navigation-contentwrapper{
+       position: relative;
+       background-color: #4b6b90;
+       height: 2.5em; 
+}
+
+#navigation-bar{
+       height: 2.5em; 
+    border-bottom: .5px solid black;
+    padding-bottom: .3em;
+     
+}
+
+#wrapper{
+       width:100%;
+       overflow:hidden;
+       overflow: auto;
+       min-height: 100%;
+}
+
+#site-name, h1#section-title{
+       display: inline;
+       text-shadow: none;
+       font-size: 90%;
+       color: #4C566C;
+       color: white;
+}
+
+/*this CSS creates a button that looks exactly like a Mobile FSS tab.*/
+.navigation-bar-button{
+    border-width:5px;
+    -webkit-border-radius: 5px;
+       font-size: 18px;/*keep this in px*/
+       padding: 0 .3em;
+       color: white;
+       position: relative;
+       top: .69em; 
+       left: 0.188em; 
+    /* default mobile fss color scheme for tabs not AA compliant. Here is a compliant bg image: */
+    background-image: -webkit-gradient(linear, left top, left bottom,
+       from(#3b5371),
+        color-stop(0.5, #374e6b),
+        color-stop(0.50, #354d68),
+        to(#354d68)
+    );
+       -webkit-border-image: url(images/navbar_normal_button_insetShadow.png) 5 5 5 5 stretch;
+    -webkit-border-left-image: none;
+    -webkit-background-origin: border;
+    -webkit-background-clip: border;
+    /* to mimick the mobile FSS scolor scheme (iphone) uncomment these lines 
+       background-image: -webkit-gradient(linear, left top, left bottom,
+       from(#9aafca),
+        color-stop(0.5, #6d8cb3),
+        color-stop(0.50, #4b6b90),
+        to(#4b6b90)
+    );*/
+}
+
+.fl-theme-iphone .fl-tabs li{
+    /* default mobile fss color scheme for tabs not AA compliant against a white foreground text.therefore its backgroud-image must be overrided */
+    background-image: -webkit-gradient(linear, left top, left bottom,
+       from(#3b5371),
+        color-stop(0.5, #374e6b),
+        color-stop(0.50, #354d68),
+        to(#354d68)
+    ); 
+}
+
+div#content-link-container{
+       background-color:#F5F5F5;
+       padding:.375em;
+       border: #A9ADB0 solid 1px;
+       -webkit-border-radius: 2px;
+}
+#content_link{
+       display: block;
+}
+#home-guide{
+       position: absolute;
+       top: .45em;
+       right: 0.188em; 
+       font-size: 17px;/*keep this in px*/
+       white-space:nowrap;
+       display: inline;
+
+}
+
+/* main body attributes */
+p {
+    text-align: left;
+    line-height: 150%;
+       font-size: 1em;
+       padding:.75em 0;
+       margin: 0 auto;
+}
+
+p a {
+    text-decoration: underline;
+}
+
+p a:visited {
+       color: #3F2670;
+    background-color: transparent;
+}
+p a:active {
+       color: #A50707;
+    background-color: transparent;
+}
+
+h1, h2, h3, h4, h5, h6 {
+    color: #4C566C;
+    clear: right;
+    font: 100% Verdana, Helvetica, Arial, sans-serif;
+       font-weight: bold;
+    margin: 0;
+       padding: 0;
+}
+
+h1 {
+    font-size: 160%;
+       color: #FFF;
+}
+
+h2 {
+    font-size: 150%;
+}
+h2.sidebox{
+    font-size: 110%;
+}
+h3 {
+    font-size: 130%;
+       padding: 0;
+}
+h3.browse-courses{
+       font-size: 90%;
+       text-decoration: none;
+       clear: none;
+       display: inline;
+}
+h3 a {
+    font-size: 100%;
+}
+h4 {
+    font-size: 120%;
+}
+
+
+h5 {
+    font-size: 100%;
+}
+
+
+/* Preferences tabs */
+.etabbed-list-container        {
+       padding:0;
+       margin: 0;
+       width:70%;
+       clear: left;
+       height: 3em;
+}
+
+.prefs_buttontab {
+       padding:0;
+       margin: 0;
+       white-space: nowrap;
+}
+.prefs_tab{
+       padding:0.5em 0.3em 0;
+       margin: 0;
+       white-space: nowrap;
+    display: inline;
+}
+
+.prefs_tab_selected{  
+       padding:0.7em 0.3em 0;
+       margin: 0;
+       margin: 0px;
+       font-weight:bold;
+       text-align:center;
+       white-space: nowrap;
+    display: inline;
+}
+
+
+
+/*  Table of content attributes*/
+p.toc{
+       font-family: Verdana, Helevetica, Arial, sans-serif;
+       background-color: #E9F4F3;
+       padding: .6em;
+       margin-bottom: .6em;
+       margin-top: 0em;
+       margin-left: 1em;
+       margin-right: 3em;
+       border: 1px #ACCFCC solid;
+} 
+
+
+/* link attributes */
+a:link, a:visited  {
+       color: #4C566C;
+       text-decoration: underline;
+}
+a:hover {
+       color: #4C566C;
+       text-decoration: underline;
+}
+a:active {
+       color: #ffffff;
+       text-decoration: underline;
+}
+/* align text to the left */
+.left {
+       text-align: left;
+}
+
+a.dropdown-title {
+       color: white;
+       font-weight: normal;
+       text-decoration: none;
+}
+
+
+/* table border */
+.tableborder {
+       border: 1px #595241 solid;
+}
+
+/* main submit button */
+.button {
+       background-color: #808080;
+       font-weight: normal;
+       color: black;
+       text-align: center;
+       -webkit-border-radius:3px;
+       padding-top: 0.313em;
+       padding-bottom: 0.313em;
+
+}
+.button:focus {
+       border:1px solid #A50707;
+       background-color:  #FFDAB9;     
+}
+/* small submit button at top */
+.button2 {
+       font-family: Verdana, Helevetica, Arial, sans-serif;
+       background-color: #E9F4F3;
+
+}
+.button2:focus {
+       background-color: #E9F4F3;
+       border:  #ACCFCC  solid 1px;
+}
+
+/* date attributes */
+small.date {
+       font-family: Verdana, Helevetica, Arial, sans-serif;
+       color: #595241; 
+       margin-bottom: 0; 
+       margin-top: 0;
+       margin-left: 0.313em;
+       margin-right: 0;
+       font-size:1em;
+}
+
+/* page breakline */
+hr {
+       color: #ACCFCC;
+       background-color: white;
+       height: .063em;
+}
+
+/* message box styles */
+
+/* Editor box small */
+.editorsmallbox {
+       font-family: Verdana, Helevetica, Arial, sans-serif;
+       background-color: #E9F4F3;
+       padding: 0.125em;
+       padding-right: .188em;
+       border: 1px #ACCFCC solid;
+}
+
+/* Editor box large */
+.editorlargebox {
+       font-family: Verdana, Helevetica, Arial, sans-serif;
+       background-color: #E9F4F3;
+       margin-left:1em;
+       padding-left: .2em;
+       padding-right: .5em;
+       padding-top: .5em;
+       padding-bottom: .4em;
+       border: 1px #ACCFCC solid;
+}
+
+
+select.dropdown {
+       font-family: Verdana, Helevetica, Arial, sans-serif;
+}
+
+.highlight, a.highlight {
+       background-color: #5B8E88;
+       color: white;
+}
+
+a .highlight{
+       background-color: #5B8E88;
+       color: white;
+}
+
+.center {
+       text-align: center;
+}
+
+
+/* edit content tabs */
+.buttontab {
+       background-color: #E6E6E6;
+       font-weight: 500;
+       border:0;
+       padding-left: .188em;
+       padding-right: .188em;
+       padding-top: .188em;
+
+}
+
+.tab {
+       color: black;
+       background-color: #E6E6E6;
+       border-top: 1px #B8AE9C solid;
+       border-left: 1px #B8AE9C solid;
+       border-right: 1px #B8AE9C solid;
+       text-decoration: none;
+       text-align: center;
+       font-weight: bold;
+
+       
+}
+.buttontab selected {
+       font-family: Helvetica, Arial, Helvetica, sans-serif;
+       background-color: #6F7172;
+       font-weight: 600;
+       border:0;
+       padding-left: .188em;
+       padding-right: .188em;
+       padding-top: .188em;
+
+}
+td.selected{
+       font-family: Helvetica, Arial, Helvetica, sans-serif;
+       font-weight: 600;
+       text-decoration: none;
+       text-align: center;
+       background-color: white;
+       border-top: 1px #B8AE9C solid;
+       border-left: 1px #B8AE9C solid;
+       border-right: 1px #B8AE9C solid;
+}
+.econtainer{
+       background-color: #fffaf0;
+       border:1px #6F7172 solid;
+       margin-left:.5em;
+}
+
+.tab a:link, .etab a:visited {
+       color: black;
+       background-color: white;
+
+}
+.tab a:hover {
+       color: black;
+       background-color: white;
+}
+
+.etabself {
+       background-color: #6F7172;
+
+       text-align: center;
+       font-weight: bold;
+       padding: 0.125em;
+}
+
+
+.unsaved {
+       color: red;
+       background-color: #FFFDE0;
+       font-weight: bold;
+}
+.saved {
+       background-color: #FFFDE0;
+       margin: 0.625em;
+}
+
+
+/* the side menu */
+td.dropdown-heading {
+       background-color: #DBFDD4;
+       color: #595241;
+       border-left: 1px solid #ECFEEA;
+       border-right: 1px solid #ECFEEA;
+       border-top: 1px solid #ECFEEA;
+       font-weight: bold;
+       padding: 0.125em;
+}
+
+td.dropdown-heading a, td.dropdown-heading a:hover, td.dropdown-heading a:visited {
+       text-decoration: none;
+}
+
+td.dropdown-heading.closed {
+       border-bottom: 1px solid #ECFEEA;
+}
+
+/* the side menu content */
+td.dropdown {
+       padding: 0.125em;
+       background-color: white;
+       color: black;
+       border-left: 1px solid #ECFEEA;
+       border-right: 1px solid #ECFEEA;
+       border-bottom: 1px solid #ECFEEA;
+       font-weight: normal;
+}
+td.dropdown a, td.dropdown a:visited  {
+       color: #595241;
+       text-decoration: none;
+}
+td.dropdown a:hover {
+       color: #595241;
+       text-decoration: underline;
+}
+td.dropdown.cell {
+       border-bottom: 0;
+}
+td.dropdown strong {
+       color: #2A6C28;
+}
+
+/* added for 1.4.2: */
+.results {
+       padding-left: 1.25em;
+}
+
+h5.search-results {
+       padding: 0.063em;
+       margin-bottom: 0.313em;
+       margin-top: 1em;
+       padding-top: 3em;
+       margin-left: 0.313em;
+}
+
+small.search-info {
+       color: #595241;
+}
+
+p.search-description {
+       background-color: #FFFCE5;
+       color: #595241;
+}
+
+.test-box {
+       background-color: #F7F3ED;
+       color: #595241;
+       border-left: 1px solid #595241;
+       border-right: 1px solid #595241;
+       border-top: 1px solid #595241;
+       font-weight: bold;
+       padding: 0.125em;
+}
+
+/*preferences*/
+
+.input-form 
+table.tabbed-table {
+       width: 100%;
+       border:thin black solid;
+}
+table.tabbed-table th#left-empty-tab {
+       background-color: transparent;
+       width: 0.938em;
+       border-bottom: 1px solid #B8AE9C;
+}
+table.tabbed-table th#right-empty-tab {
+       text-align: right;
+       background-color: transparent;
+       border-bottom: 1px solid #B8AE9C;
+       width: 25em;
+       padding-right: 0.313em;
+}
+table.tabbed-table th#right-empty-tab a {
+       text-decoration: underline;
+}
+table.tabbed-table th.tab-spacer {
+       background-color: transparent;
+       width: 0.313em;
+       border-bottom: 1px solid #B8AE9C;
+}
+
+table.tabbed-table th.tab {
+       padding-top: 0.125em;
+       padding-bottom: 0.125em;
+       width: 6.875em;
+       background-color: #E9F4F3;
+       border-bottom: 1px solid #B8AE9C;
+       border-left: 1px solid #B8AE9C;
+       border-top: 1px solid #B8AE9C;
+       border-right: 1px solid #B8AE9C;
+}
+table.tabbed-table th.tab:hover {
+       background-color: #ACCFCC;
+}
+
+table.tabbed-table th.tab a:focus {
+       color: white;
+}
+table.tabbed-table th.selected {
+       padding-top: 0.125em;
+       padding-bottom: 0.125em;
+       width: 6.875em;
+       background-color: #ACCFCC;
+       border-left: 1px solid #B8AE9C;
+       border-top: 1px solid #B8AE9C;
+       border-right: 1px solid #B8AE9C;
+}
+
+table.tabbed-table a, table.tabbed-table a:visited, table.tabbed-table a:hover {
+       color: black;
+       text-decoration: none;
+}
+
+
+.preference-buttons-container{
+       background-color: red;
+       height: 2.5em;
+       width: 100%;
+       text-align: center;
+}
+
+div.preference-buttons-container li{
+       display: inline; 
+       float: right;
+}
+
+.prefs_tab_selected{
+       font-style: italic;
+       width: 10%;
+}
+.prefs_tab{
+       width: 10%;
+}
+
+.etabbed-table{
+       margin: 0 auto;
+}
+#previewText{
+       font-family: monospace;
+       border: 2px solid rgb(0, 0, 0); 
+       padding: 2em;
+       width: 80%; 
+       color: rgb(255, 255, 255);
+       background-color: rgb(0, 0, 0);
+}
+#previewArea{;
+       padding: 0em;
+       border-bottom-width: 0; 
+       margin-left: auto; 
+       margin-right: auto; 
+       font-weight: normal; 
+       width: 70%;
+       float:left;
+       clear:right;
+}
+#display-settings-preview{
+       width:90%;
+       height:20em; 
+       margin: 0 auto;
+}
+#feedback{
+       width: 90%;
+}
+#defaultfontsize-wrapper{
+       width:90%; 
+}
+
+/* end of preferences */
+
+a#my-start-page {
+       padding: 0.125em;
+       padding-left:  0.938em;
+       background-repeat: no-repeat;
+       background-position: 0.125em 0.313em;
+}
+
+a#back-to {
+       padding-left: 1.25em;
+       background-image: url(images/back.gif);
+       background-repeat: no-repeat;
+       background-position: 0 0;
+}
+
+.breadcrumbs, .previous-next /*a#guide*/{
+    /* The path bar, including breadcrumbs and add to favorites */
+       clear:both;
+    font-size: 0.85em;
+       padding:0 0.375em;
+       color: #4C566C;
+       background-color: white;
+
+}
+#breadcrumbs-container{
+       background-color: #4d4d4d;
+       position: relative;
+}
+.breadcrumbs{
+       display:none;
+}
+h2.page-title {
+       padding-top: .5em;
+       margin-top: .5em;
+}
+h1 {
+       margin-bottom: 0.313em;
+       
+}
+
+
+div#help {
+       border-left: 1px solid black;
+       border-right: 1px solid black;
+       border-bottom: 1px solid black;
+       padding-left: 0.313em;
+       padding-right: 0.313em;
+       padding-bottom: 0.313em;
+       background-color: #F7F3ED;
+       margin-left: 0.313em;
+       margin-right: 0.313em;
+       font-size: small;
+}
+
+h3#help-title {
+       margin-left: 0.313em;
+       margin-right: 0.313em;
+       border-left: 1px solid black;
+       border-right: 1px solid black;
+       padding: 0.063em;
+       background-color: #F7F3ED;
+}
+.line {
+       border-bottom: 1px solid black;
+}
+div#help p {
+       padding: 0;
+       margin: 0;
+}
+
+div#toctoggle {
+       float: left;
+       padding-left: 0.625em;
+}
+
+h1#section-title {
+       font-size: 90%;
+}
+
+div#top-links {
+       margin: 0 auto;
+       font-size: .938em;
+/* moved inside of #footer for mobile theme */
+}
+#footer{
+       /*width:100%;*/
+       height:2.3em;
+       background-color: #4b6b90;
+       margin-top: -2.3em;
+       position: relative;
+       clear: both;
+       
+}
+
+div#top-links a:link, div#top-links a:visited {
+       text-decoration:none;
+}
+
+#jumpmenu:focus{
+       background-color:#F6EAD6;
+}
+#jumpmenu{
+       margin: 0 auto;
+}
+
+a#editor-link {
+       background-color: #F7F3ED;
+       padding-top: 0.063em;
+       padding-bottom: 0.063em;
+       padding-left:  0.938em;
+       padding-right: 0.5em;
+       border: 1px solid #cccccc;
+       font-weight: normal;
+       text-decoration: none;
+}
+
+a#editor-link:hover {
+       background-color: #F7F3ED;
+       border: 1px solid #B8AE9C;
+}
+
+a#editor-link.off {
+       background-image: url(images/pen.gif);
+       background-repeat: no-repeat;
+       background-position: 0 0.125em;
+}
+a#editor-link.on {
+       background-image: url(images/pen2.gif);
+       background-repeat: no-repeat;
+       background-position: 0 0.125em;
+}
+
+
+/* for data tables */
+table.data {
+       width: 95%; 
+       margin: 0 auto;
+       padding: 0;
+       color: black;
+       text-align: left;
+       -webkit-border-radius:5px;
+       border: #6D7B8D 1px solid;
+
+} 
+/* contains the headings */
+table.data th {
+
+       padding: 0.188em;
+}
+
+table.data th a {
+       color: #595241;
+       background-image: url('../default/images/sort.gif');
+       background-repeat: no-repeat;
+       background-position: right;
+}
+
+table.data tbody {
+       border-top: 1px solid #B8AE9C;
+       border-bottom: 1px solid #B8AE9C;
+}
+/*headings text*/
+table.data tbody th {
+       text-align: left;
+
+}
+
+table.data td {
+       padding: 0.188em;
+       color: black;
+       font-size: .875em;
+       font-style: normal;
+}
+table.data td a:link, a:visited{
+       color: black;
+}
+table.data tbody tr:hover {
+       background-color: #efefef;
+       cursor: pointer;
+}
+
+table.data tbody tr.selected {
+       background-color: #E9F4F3;
+       cursor: auto;
+}
+
+table.data tfoot {
+       background-color: #F7F3ED;
+}
+
+table.data tfoot tr:first-child td {
+       padding: 0.313em;
+       background-image: url('images/arrow_ltr.gif');
+       background-repeat: no-repeat;
+       background-position: .25em 0.313em;
+}
+
+table.data.static tfoot td, table.data.static tfoot tr:first-child td {
+       border-top: 1px solid #B8AE9C;
+       padding: 0.313em;
+       background-image: none;
+       padding-left: 0;
+
+}
+/* add borders to row in Required Information, Personal Information*/
+.row{
+       padding:.375em 0;
+       border-bottom: 1px #cccccc solid;
+       font-size: 0.938em;
+}
+#last-row, .row-buttons, #last-row1, .row-blurb{
+       border: none;
+}
+#browse-courses-table{
+       font-size: .875em;
+}
+
+
+/*buttons*/
+table.data tfoot input {
+       background-color: #efefef;
+       font-weight: normal;
+       border:  #AAA  solid 1px;
+}
+table.data tfoot input:focus {
+       background-color: #FFDAB9;
+       border:  #AAA  solid 1px;
+}
+
+
+/* used for static tables with no form elements: */
+table.data.static tbody tr:hover {
+       background-color: transparent;
+       cursor: auto;
+}
+
+
+
+/* course browser: */
+
+div#browse {
+       margin-left: auto; 
+       margin-right: auto; 
+       width: 80%;
+}
+
+div.browse-selected {
+       background-image: url('images/side_arrow.gif'); 
+       background-repeat: no-repeat; 
+       padding-left: 0.563em; 
+       background-position: center left;
+}
+
+div.browse-unselected {
+       padding-left: 0.563em; 
+}
+
+ul.browse-list {
+       list-style: none;
+       padding:0;
+}
+
+/* feedback /errors */
+div#error {
+       width: 89%;
+       margin-left: auto;
+       margin-right: auto;
+       margin-top:  0.938em;
+       margin-bottom:  0.938em;
+       border: 1px solid #DD0000;
+       padding: 0.313em;
+       background-color: #F4DCDC;
+       color: #A50707;
+       background-color: #F4DCDC;
+       padding-left: 1.563em;
+       font-weight: bold;
+       -webkit-border-radius:5px;
+}
+div#error h4 {
+       color: black;
+       margin-left: 0;
+}
+
+div#error ul, div#feedback ul, div#help ul {
+       position: relative;
+       list-style: none;
+       margin-left: 0;
+       padding-left: 0;
+}
+
+div#error ul li{
+       margin-top: 0.313em;
+}
+
+div#feedback, div#info {
+       width: 95%;
+       margin-left: auto;
+       margin-right: auto;
+       margin-top: 0.313em;
+       padding-left: 0.313em;
+       padding-right: 0.313em;
+       font-family: Helvetica, Arial, sans-serif;
+       -webkit-border-radius:5px;
+       border: 1px solid #17B506;
+       background-color: #E7EFD0;
+       color: #3f4559;
+       font-size: 90%;
+       z-index: -1;
+}
+div#feedback li, div#info li, div#error li{
+       color: #4C566C;
+       z-index: -1;
+}
+
+div#help {
+       width: 95%;
+       margin-left: auto;
+       margin-right: auto;
+       margin-top:  0.938em;
+       margin-bottom:  0.938em;
+       border: 1px solid #ACCFCC;
+       padding: 0.313em;
+       background-color: #E9F4F3;
+       color: #024C41;
+}
+
+
+div#warning {
+       width: 95%;
+       margin-left: auto;
+       margin-right: auto;
+       margin-top:  0.938em;
+       margin-bottom:  0.938em;
+       border: 1px solid #FF8400;
+       padding: 0.313em;
+       background-color: #FFF6ED;
+       color: #D95900;
+       font-weight: bold;
+}
+acronym {
+       cursor: help;
+}
+
+div.news p {
+       margin: 0;
+       padding:0;
+}
+div.news span.date {
+       font-family:Helevetica, Arial, sans-serif;
+       color: #4C566C; 
+}
+
+.news{
+       padding: 0;
+}
+/* home page links */
+div.home-link {
+       padding: 0.125em;
+       float: left;
+       text-align: center;
+       margin: 0.125em;
+       width: 7.5em;
+       height: 5.625em;
+}
+div.home-link:hover {
+       padding: 0.063em;
+       background-color: #F7F3ED;
+       border: 1px solid #afafaf;
+       float: left;
+       text-align: center;
+       margin: 0.125em;
+}
+div.home-link a {
+       text-decoration: none;
+       font-weight: bold;
+}
+
+div.home-link img {
+       border: 0;
+}
+
+/* sequence links */
+div#sequence-links {
+       
+       margin-top: 0.625em;
+       padding-right: 0.313em;
+       padding-top:0.438em;
+}
+div#sequence-links a {
+       text-decoration: none;
+       display: block;
+}
+
+.previous-next{
+       display: block;
+}
+div.dropdown {
+       width: 12.5em;
+       padding: 0.125em;
+       background-color: white;
+       color: black;
+       border-left: 1px solid #ECFEEA;
+       border-right: 1px solid #ECFEEA;
+       border-bottom: 1px solid #ECFEEA;
+       font-weight: normal;
+}
+
+div.dropdown-heading {
+       background-color: #ACCFCC;
+       color: #595241;
+       border-left: 1px solid #ECFEEA;
+       border-right: 1px solid #ECFEEA;
+       border-top: 1px solid #ECFEEA;
+       font-weight: bold;
+       padding: 0.125em;
+}
+
+div.required {
+       font-weight: bold;
+       color: red;
+       font-size: large;
+       float: left;
+       position: relative;
+       margin-top: -0.313em;
+       height:  0.938em;
+       padding-right: 0.125em;
+}
+
+div#content_text {
+       margin-left: 0.313em;
+}
+/*needs to be set to display: none so drawer can open */
+#content{
+
+       padding-top:.5em;
+       margin-top: .5em;
+       background-color: #F5F5F5;
+}
+form {
+       display:inline;
+       max-width: 100%;
+}
+
+
+optgroup {
+       /*font-size: small;*/
+}
+
+/* paging*/
+div.paging {
+
+}
+div.paging ul {
+    list-style: none;
+    display: inline;
+    padding: 0;
+       max-width: 10%;
+       margin-bottom: 1em;
+}
+div.paging li { 
+       float: left;
+       display: inline; 
+       padding-left: 0.125em; 
+       padding-right: 0.125em;
+       padding-top: 0;
+       padding-bottom: 0;
+       width: 10%;
+}
+
+div.paging li a {
+       text-decoration: none;
+       padding-left: 0.25em;
+       padding-right: 0.25em;
+       border-left: 1px solid white;
+       border-right: 1px solid white;
+}
+
+div.paging li a:hover, div.paging li a.current {
+   background-color: #5B8E88;
+   border-left: 1px solid #000;
+   border-right: 1px solid #000;
+   color: white;
+}
+
+#tl_corner{
+
+       background-image:url(images/tl_corner.gif);
+       background-position: top left;
+       background-repeat: no-repeat;
+       padding:0;
+}
+
+div.tabs {
+       /* Navigational Plone Tabs(tm), implemented by customizing the a tag - they are surprisingly elegant. The power of CSS runs strong in these :) */
+    background-color: transparent;
+       border-collapse: collapse;
+       border-bottom: 1px solid #B8AE9C;
+       padding: 0.5em 0em 0em 2em;
+       white-space: nowrap;
+}
+
+div.tabs a {
+    /* The normal, unselected tabs. They are all links */
+    background-color: transparent;
+    border-color: #B8AE9C;
+    border-width: 1px; 
+    border-style: solid solid none solid;
+    color: #595241;
+    height: 1.2em;
+    margin-right: 0.5em;
+    padding: 0em 2em 0em;
+    
+}
+
+div.tabs a.selected {
+    /* The selected tab. There's only one of this */
+    background-color: white;
+    border-bottom: #B8AE9C 1px solid;
+    color: #595241;
+    font-weight: normal;
+}
+
+div.tabs a:hover, div.tabs a.active {
+    background-color: #B8AE9C;
+    border-bottom: 1px solid #B8AE9C;
+    color: white;
+}
+
+.headingbox a{
+       color: #4C566C;
+       text-decoration:underline;
+}
+div.box {
+}
+h4.box {
+       background-color: #F5F5F5;
+       padding: .313em; 
+}
+h4.box a {
+       display: block;
+       color: #4C566C;
+       background-color: #F5F5F5;
+       text-decoration: none;
+}
+.content-expand {
+       background-image:url("images/content-arrow-down.png");
+       background-position: top right;
+       background-repeat: no-repeat;
+}
+.content-closed{
+       background-image:url("images/content-arrow-up.png");
+       background-position: center right;
+       background-repeat: no-repeat;
+}
+
+div.box {
+       padding: 0.313em;
+       background-color: #F5F5F5;
+       color: black;
+       border: 1px solid #B8AE9C;
+       font-size:0.85em;
+       font-weight: normal;
+       padding:0.125em;
+}
+
+h5.box { 
+    background-color: #6F7172;
+    border: 1px solid #B8AE9C;
+    border-style: solid solid none solid;
+    color: Black;
+    padding: 0em 1em 0em 1em;
+    display: inline;
+       font-size:  1em;
+    height: 1em;
+}
+
+div.box a:link {
+       text-decoration: none;
+}
+
+div.box a:visited {
+       color: #2A6C28;
+       text-decoration: none;
+}
+
+div.box a:hover {
+       text-decoration: underline;
+}
+
+.boxDetails {
+    text-align: right;
+}
+
+div.box .content {
+    padding: 1em;
+       font-size:  1em;
+}
+
+div.box a.close {
+    float: right;
+    text-transform: none;
+    border-left: 1pt solid #B8AE9C;
+    padding: 0em 0.2em;
+}
+
+div.box h1, 
+div.box h2, 
+div.box h3, 
+div.box h4 {
+    margin: 0;
+    padding: 0;
+}
+
+div.box .even {
+    background-color: #F7F3ED;
+}
+
+div.box .odd {
+    background-color: transparent;
+}
+
+
+/* users/index.php */
+
+div.course {
+       position: relative;
+       width: 12.5em;
+       height: 10.5em;
+       border: rgb(204, 204, 204) 1px solid;
+       background-color: #F7F7F7;
+       float: left;
+       margin: 0.188em;
+       padding: 0.313em;
+}
+
+div.course.break {
+       clear: left;
+}
+
+div.course h2 {
+       border: 0;
+       font-weight: normal;
+       font-size: large;
+
+}
+
+div.course:hover {
+       background-color:#FBF4E9;
+       border: #B8AE9C 1px solid;
+}
+
+
+table.data .odd img.headicon{
+       width: 2.469em;
+       height: 2.469em; 
+       -webkit-border-radius:5px;
+}
+
+.icon{
+       -webkit-border-radius:10px;
+       border-color: white;
+       width: 2.5em;
+       height: 2.5em;
+       float: left;
+}
+div.course div.shortcuts {
+       text-align: right;
+       clear: left;
+       vertical-align: middle;
+       width: 12.5em;
+}
+
+fieldset#shortcuts {
+       float: right;
+       background-color: #FEFDEF;
+       border: 1pt solid #B8AE9C;
+       margin: -5pt 5pt 5pt 5pt;
+       padding-right: 10pt;
+       padding-bottom: 5pt;
+       padding-left: 10pt;
+}
+
+.shortcuts{
+
+}
+
+fieldset {
+       margin-bottom: 10pt;
+       -webkit-border-radius:5px;
+       padding: 0 0.375em;
+       width: 90%;
+       margin: 0 auto; 
+       width:95%;
+       margin:0 auto;
+       border:thin #6D7B8D solid;
+       margin-bottom: 1em;
+}
+#shortcuts legend {
+}
+#shortcuts ul {
+       position: relative;
+       margin-top: 0pt;
+       margin-bottom: 0pt;
+       margin-left: 0pt;
+       list-style-type:  none;
+       padding-left: 0pt; 
+}
+
+/*a#guide,*/ a#my-courses-link {
+       background-color: #6D84A2;
+}
+
+#guide img{
+       border:none;
+}
+
+#guide a:hover{
+       
+}
+div#content-text {
+       padding-right: 5pt;
+       line-height:150%;
+}
+
+div#content-text li {
+       margin-left: 15pt;
+}
+
+div#content-test {     
+       float: left;
+       margin-top: 2em;
+       padding-right: 5pt;
+       width: 80%;
+}
+div#content-test ol{   
+       margin-right: 5pt;;     
+}
+
+div#content-test ol ul li{
+       list-style: none;
+       padding: 0 0.125em 0  0.938em;
+       margin-bottom: 0.063em; 
+       line-height: 200%; 
+       background-color: #fdfdfd; 
+       border-bottom: 1px solid #efefef; 
+       border: 1px solid #eeeeff;
+}
+
+div#content-info {
+       margin: 5pt;
+       font-size: small;
+       color: #b8ae9c;
+       clear: both;
+}
+
+div#container {
+       text-align: left;
+       margin: 0 auto;
+       padding: 0;
+       border:0;
+       width: 95%;
+}
+
+div#menutoggle{
+       text-align: right; 
+       padding-bottom: 0.625em; 
+       padding-right: 0.625em; 
+       float: left; 
+       margin-top: 0.625em; 
+       padding-right: 0.313em; 
+       font-size:0.95em;
+}
+
+
+/* login page */
+div.column {
+       float: left;
+       width: 45%;
+       margin: 0.313em;
+       min-width: 10.625em;
+}
+
+div.column h3 {
+       background-color: #F6EAD6;
+       border-bottom: .05em solid #6F7172;
+       font-size: small;
+       display:block;
+       color:black;
+       font-weight:600;        
+       padding-left:0.5em;
+}
+
+div.insidecol {
+   min-height: 10.625em;
+   height: 10.625em;
+   padding:0.313em;
+}
+
+
+/* index page */
+ul#home-links, ul#home-detail-links {
+       list-style: none;
+}
+ul#home-links li {
+       
+       display: inline;
+       float: left;
+       padding: 0.8em;
+       text-align: center;
+       margin: 0.1em;
+       width: 8.5em;
+       height: 7.0em;
+       padding-left:0;
+
+}
+ul#home-links li a {
+       text-decoration: none;
+       border: 1px transparent;
+       font-weight: bold;
+}
+ul#home-links li a img {
+       border: 0;
+       display: block;
+       padding-left:1.563em;
+}
+
+/*my start page */
+#my_courses_container{
+       text-align: left;
+       margin: 0 auto;
+       border:0;       
+       min-width: 100%;
+}
+#my-courses-navlist{
+}
+.my-courses-list{
+       border: solid 1px #A9ADB0;
+       -webkit-border-radius:5px;
+       padding: .375em;
+       color: #4C566C;
+       margin: .375em;
+       padding: .375em;
+}
+.my-courses-list-ul{
+       margin: 0 auto;
+       padding-left: 0;
+       width: 100%;
+}
+.my-courses-links{
+       font-size: 80%;
+       padding-top: .75em;
+}
+.my-courses-resume{
+       float: right;
+}
+.fl-link-summary{
+       padding-left: 0.875em;
+       padding-bottom: 0.875em;
+       display: inline;
+}
+.fl-list-menu li a {
+}
+.fl-theme-iphone [class*="fl-list"]:not(.fl-list):not(.fl-grid) a {
+}
+.fl-theme-iphone [class*="fl-list"] > li .fl-link-summary{
+       color: #4C566C;
+}
+.current_head{
+       padding-top: .5em;
+}
+.fl-list-menu {
+
+}
+
+.current_box{
+       max-width: 100%;
+}
+.current_list{
+       width: 95%;
+       padding: 0 0.375em;
+}
+.current_list li{
+       list-style-type: none;
+       padding:0;
+       margin:0;
+
+}
+.current_list img{
+
+}
+
+#show-all{
+       text-align: center;
+}
+/* enrollment tabs */
+#navlist {
+       padding: 0;
+       margin-left: 0;
+       margin-right: auto;
+       margin-left: auto;
+       margin-bottom: .25em;
+       margin-top: 0.938em;
+       white-space: nowrap;
+}
+
+#navlist li {
+       list-style: none;
+       display: inline;
+       margin: 0;
+}
+
+#navlist li a {
+       padding: 0.188em 0.563em;
+       border: 1px solid #F7F3ED;
+       border-bottom: none;
+       background-color: #F7F3ED;
+       text-decoration: none;
+       margin-left: .25em;
+       white-space: nowrap;
+}
+
+#navlist li a:hover, #navlist li a:active {
+       color: #000;
+       background-color: #fff;
+}
+
+/* tree */
+.img-size-tree {
+       vertical-align: middle;
+       margin-top: 0;
+    padding:0;
+       height:1.45em;
+       width:1.5em;
+}
+/* profile page */
+
+dl#public-profile {
+       width: 100%;
+       
+}
+
+dl#public-profile {
+       width: 100%;
+       
+}
+dl#public-profile dt {
+       float: left;
+       width: 90%;
+       border-right: 1px solid #F7F3ED;
+       padding: 0.313em 0.313em 0.313em 0;
+
+       margin-right: 0.313em;
+}
+dl#public-profile dd {
+       margin: 0;
+}
+
+div.social-right{
+       margin-left:.5em;
+       margin-top: 1em;
+}
+div.social-left{
+       margin-left:.5em;
+}
+h4.profile{
+       float: left;
+}
+.social-wrapper h3{  
+       padding-top: .5em;
+}
+.my-contacts h3{
+       padding-bottom: .375em;
+}
+img#profile{
+       border: 1px #cccccc solid;
+       margin-left: 1em;
+}
+dd{
+    margin: 0;
+}
+
+
+/** forum stuff **/
+#forum-thread li {border:1px solid #eee; border-bottom: 1px solid #F7F3ED; float:left; width: 97%; list-style: none; }
+#forum-thread li.even { background-color: #F7F3ED; border-top: none; }
+#forum-thread li.odd { background-color: #fff; }
+div.forum-post-author { float:left; width:19.375em; padding:0.5em 0.625em; }
+div.forum-post-author a.title {font-size: 1.1em; line-height: 1.2em; font-weight: bold; text-decoration:none; }        
+div.forum-post-author img.profile-picture { border: 2px solid #F7F3ED; text-align:right;}
+div.forum-post-content { margin-left: 19.375em; padding: 0.313em 0 1.125em 1.125em;}
+div.forum-post-content h3 { font-weight: 500; float:left;clear:right; }
+div.forum-post-ctrl { float: right; padding-right: 0.313em; color: #a1a1a1;}
+div.forum-post-ctrl a { text-decoration: none; }
+div.forum-post-ctrl span { color: black; background-color: #fefdc2; padding: 0.188em; }
+div.forum-post-content p.date { color: #a1a1a1; border-bottom: 1px solid #F7F3ED; }
+div.forum-post-content div.body p { margin-bottom:1em; }
+div.forum-paginator{border:thin #cccccc solid; padding:.3em; width:95%;margin:auto;background-color:#F7F3ED;}
+span.forum-paginator-active{font-weight:700;text-decoration:underline; height:2em;}
+
+
+
+/** inbox stuff - reuses some of the forum layout **/
+#inbox-msg li {border:1px solid #eee; border-bottom: 1px solid #F7F3ED; width: 95%; list-style: none; min-height: 11em;}
+       
+/*  tool list on admin home and manage screens  */
+ li.top-tool { 
+       list-style: none;
+       padding: 0.125em 0.125em 0.125em  0.938em;
+       margin-bottom: 0.313em; 
+       line-height: 200%; 
+       border: solid 1px #A9ADB0;
+       -webkit-border-radius:5px;
+}
+li.top-tool a {  font-weight: bold; } /* ol#tools>li>a */ 
+
+li.child-tool a { 
+       font-size: x-small;
+       font-weight: normal; 
+}
+
+/* ol#tools>li>ul, */ 
+ul.child-top-tool {
+       margin-top: -0.313em;
+       padding-left: 0;
+       margin-left: 0;
+       display: inline;
+}
+ul.child-top-tool:before {
+       content: " : ";
+}
+
+li.child-tool {
+       display: inline;
+       margin-right: 0.313em;
+       font-size: x-small;
+}
+
+.img-size-home {
+       height:3.85em;
+       width:3.9em;
+}
+
+/* browse courses */
+div.browse-course {
+       width: 28em;
+       padding-bottom: 0.625em;
+       background-color: #fffaf0;
+       border:1px #6F7172 solid;
+       font-size:9pt;
+       min-height:18em;
+       margin:auto;
+       margin-left:1em;
+       margin-top:1em;
+}
+
+dl.browse-course {
+       width: 90%;
+       padding-bottom: 0.625em;
+       background-color: #fffaf0;
+
+       margin:auto;
+       margin-left:1em;
+}
+dl.browse-course dt {
+       float: left;
+       font-weight: bold;
+       width: 25%;
+       text-align: right;
+       clear: left;
+       padding: 0.313em 0.625em 0.313em 0;
+       vertical-align: middle;
+
+}
+dl.browse-course dd {
+       margin-bottom: 0.313em;
+       clear: right;
+       padding: 0.313em 0 0.313em 0.625em;
+       margin-left: 26%;
+
+}
+.row .buttons{
+       border: none;
+}
+
+/*  form fields grouping for WCAG 2.0 conformance*/
+
+fieldset.group_form{
+       width:95%;
+       margin:0 auto;
+       margin-bottom: 1em;
+       border: 1px #6D7B8D solid;
+       -webkit-border-radius:5px;
+}
+
+legend.group_form{
+       background-color:white;
+       font-weight: 600;
+       color: #4c566c;
+       padding:.5em;
+       border: 1px #6D7B8D solid;
+       -webkit-border-radius:5px;
+}
+/* file storage */
+
+#fsfloat1{
+       float:right;
+}
+#fsfloat2{
+       float:right;
+       width:48%;
+}
+
+
+/* highlight active links for WCAG 2.0 conformance */
+a:active,a:hover,a:focus{
+       background-color:#F6EAD6;
+       color:#000000;
+}
+
+
+/*Added by Silvia */
+div.column_primary {
+       float: left;
+       width: 42%;
+       margin: 0.313em;
+       padding: 0;
+       min-width: 10.625em;
+/*     position: relative;*/
+}
+
+div.column_equivalent{
+       float: left;
+       width: 52%;
+       margin-left:  0.938em;
+       margin-top: 0.313em;
+       margin-right: 0.313em;
+       margin-bottom: 0.313em;
+       min-width: 10.625em;
+       padding: 0.313em;
+       border: 1px solid #EEE;
+       background-color: #FFF;
+/*     position: relative;*/
+
+}
+
+div.resource_box{
+       border: 1px solid #aaa;
+       width: 95%;
+       margin: 0.313em;
+       padding: 0.313em;
+       min-width: 9.375em;
+       background-color: #eee;
+/*     position: relative;*/
+}
+
+h2.alternatives_to{
+       margin-top: 0.75em;
+       font-size: 90%;
+       color: #A50707;
+}
+
+div.alternative_box{
+       border: 1px solid #ddd;
+       /*width: 90%;*/
+       margin: 0.313em;
+       padding: 0.313em;
+       min-width: 9.375em;
+       background-color: #fff;
+}
+
+div.alternative_box legend {
+       color: #000;
+}
+
+div.resource_box legend {
+       color: #000;
+}
+
+label.primary a{
+       color: #A50707;
+       font-weight: bolder;
+       background-color: white;
+}
+
+/* format of "table of contents" on content page */
+#toc a                 { display:block; margin:0.188em; }
+#toc .h2, #toc .h3, #toc .h4, #toc .h5, #toc .h6{ 
+       padding:0 0 0 0;
+}
+
+
+fieldset#toc {
+       background-color: #FEFDEF;
+       border: 1pt solid #B8AE9C;
+       width:89%;
+}
+
+#side-menu{
+       overflow:hidden;
+}
+
+/* cleans up glossary question mark line spacing*/
+sup{
+       border: 1pt solid #B8AE9C;
+       vertical-align:bottom;
+       margin-top: 1em;
+}
+
+/* jQuery tooltip styles */
+#tooltip{
+       position:absolute;
+       z-index:3000;
+       border:3px solid #111;
+       background-color:#eeeeee;
+       padding:0.313em;
+}
+#tooltip h3,#tooltip div{
+       margin:0;
+}
+
+/* style for home page modules "detail view" */
+div.home_box {
+       padding: .75em 0;
+       margin: 0 auto;
+}
+
+.outside_box{
+       background:#e0e0e0;
+       width: 17em;
+       margin: .375em;
+       padding: 0;
+       height:9.8em;
+}
+
+.inside_box{
+       width:100%;
+       margin:auto;
+       height:52%;
+       margin-bottom:.2em;
+       background:#eeeeee;
+
+}
+.details_or{
+       width:28.8em;
+       height:9.8em;
+       margin:0;
+       background-image:url(images/details_r.png);
+       background-position: top right;
+       background-repeat:no-repeat;
+}
+.details_ol{
+       height:9.8em;
+       margin:0;
+       width:.45em;
+       background-image:url(images/details_l.png);
+       background-position: top left;
+       background-repeat:no-repeat;
+}
+.details_ir{
+       width:.5em;
+       height:100%;
+       float:right;
+       background-image:url(images/details_ir.png);
+       background-position: top right;
+       background-repeat:no-repeat;
+}
+.details_il{
+       height:100%;
+       float:left;
+       background-image:url(images/details_il.png);
+       background-position: top left;
+       background-repeat:no-repeat;
+}
+.home-title{
+       font-size:12pt;
+}
+.buttonbox{
+       float:right;
+}
+.details_text{
+       margin-left:1em;
+}
+.draggable_selected {
+       background-color: transparent;
+       cursor: move;
+}
+
+div.menuedit{
+       float:right;
+       margin-top:-1.2em; 
+       border:1px solid #cccccc;
+}
+li.folders {
+       list-style: disc url(../../images/folder.gif) outside;
+       font-family: Verdana, Helevetica, Arial, sans-serif;
+       margin-bottom: 0;
+       margin-top: 0;
+       margin-right: 0;
+}
+
+li.folders .disabled {
+       color: #B8AE9C;
+}
+
+ul.folder{
+       list-style-image:none;
+       list-style-position:outside;
+       list-style-type:none;
+       margin:0em;
+       padding:0em;
+}
+
+
+/*     top navigation */
+
+#topnavlist-link {
+       color: white;
+       text-decoration: none;
+       font-weight: bold;
+}
+
+ul#topnavlist {
+       display: none;
+       position: relative;
+       top: 1.2em;
+       z-index: 1;
+       background-color: white;
+}
+
+ul#topnavlist li {
+       padding: 0;
+       margin: 0;
+}
+ul#topnavlist li a.active {
+       color: black;
+       font-style: italic;
+       }
+ul#topnavlist li a:hover, ul#topnavlist li a:focus {
+       color: black;
+}
+
+ul#topnavlist li a  {
+       color: #4C566C;
+       text-decoration: none;
+}
+
+
+div.toolcontainer{
+       width:90%;
+       margin:auto;
+       border:thin solid #e8e8e8;
+       padding-top:1em;
+       padding-bottom:1em;
+}
+
+ul#subnavlist {
+       padding: 0;
+       padding-bottom: 0.313em;
+       margin: 0;
+       font-size: 90%;
+}
+
+
+ul#subnavlist li {
+       display: inline;
+}
+
+ul#subnavlist li#test{
+       display: none;
+}
+ul#subnavlist li a:hover, ul#subnavlist li a:focus, ul#subnavlist li a.active{ /*
+       color: black;
+       text-decoration:none;*/
+}
+
+ul#subnavlist li a, ul#subnavlist li a:visited {
+       color: #4C566C;
+}
+
+
+/* list attributes */
+ul {
+       list-style: none;
+}
+li {
+       color: black;
+       list-style: none;
+}
+
+ol#tools>li:hover, ol#tools>li:hover a {
+       border: 1px solid #e0e0e0;
+       background-color: #e6e6e6;
+       color: black;   
+}
+
+
+#content-contentwrapper{
+       height:100%;
+    position:relative; 
+       z-index:1000;                   
+       width:100%;
+       overflow:hidden;
+}
+
+#leftcolumn{
+       float: left;
+       width: 17em;
+       margin-left: 0.313em;
+       margin-top:-0.625em;
+}
+
+#copyright{
+       font-size: 0.5em;
+}
+#gototop{
+       text-align: center;
+       color: #4B6B90;
+}
+
+ #tools{
+       margin: 0 auto;
+       padding: 0.375em;
+}
+
+
+/* ATutor Social Styles */
+
+div .profile_container {
+       background-color:#eee; 
+       border: 1px solid #8e8e8e; 
+       width:80%; 
+       padding:0.5em; 
+       margin-bottom: 0.5em;
+}
+
+div .profile_container .top_right {
+       float: right;
+}
+
+dl.public-profile dd{
+       margin-left:0;
+}
+dl.public-profile dt {
+       float: left;
+       font-weight: bold;
+       min-width:12em;
+}
+
+/* Search form */
+div .search_form {
+       margin-bottom: 1em;
+}
+
+div .search_form .row{
+       background-color: #DEDEC0;
+       padding: 0.5em;
+}
+div .button {
+       background-color: #eee;
+       border: 1px solid #aaa;
+}
+div .button:hover{
+       background-color: #cccccc;
+       color: #ffffff;
+}
+
+/* Side menu */
+
+
+ul.social_side_menu {
+       padding-left: 2em;
+}
+ul.social_side_menu li {
+       padding-bottom: 0.2em;
+       list-style: circle;
+}
+
+div .divider {
+       border-bottom:1px solid #C1C157; 
+       padding-bottom:0.5em; 
+       margin-bottom:0.5em;
+}
+
+.activity{
+       line-height:18pt;
+       font-size:.8em;
+}
+
+div.contentbox, input-form{
+
+       padding:.5em;
+       background-color: #ffffff;
+    overflow:hidden;
+    border: #A9ADB0 solid 1px;
+       -webkit-border-radius: 5px;
+}
+
+div.suggestions{
+       border:1px solid #a50707;
+       margin-left:0.625em; 
+       width:50%;
+}
+li.inlinelist{
+       display: inline; 
+       padding-right: 1em;
+}
+ul.social_inline_menu{
+       background-color: #eeeeee;
+       border:thin #cccccc solid;
+       padding:.5em;
+       width:90%;
+       margin:auto;
+}
+div.social-wrapper{ 
+       width: 100%;
+}
+
+
+.contentbox-a{
+    width: 100%;
+}
+.contentbox-b{
+    padding-bottom:0.2em;
+}
+div.logo{
+float:left;
+clear:right;
+margin-left:2em;}
+
+
+
diff --git a/docs/themes/mobile/login.tmpl.php b/docs/themes/mobile/login.tmpl.php
new file mode 100644 (file)
index 0000000..f59fb97
--- /dev/null
@@ -0,0 +1,62 @@
+<?php require(AT_INCLUDE_PATH.'header.inc.php'); 
+
+
+?>
+
+<script language="JavaScript" src="sha-1factory.js" type="text/javascript"></script>
+
+<script type="text/javascript">
+/* 
+ * Encrypt login password with sha1
+ */
+function encrypt_password() {
+       document.form.form_password_hidden.value = hex_sha1(hex_sha1(document.form.form_password.value) + "<?php echo $_SESSION['token']; ?>");
+       document.form.form_password.value = "";
+       return true;
+}
+
+</script>
+<div class="container">
+       <div class="column-login">
+               <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form">
+               <input type="hidden" name="form_login_action" value="true" />
+               <input type="hidden" name="form_course_id" value="<?php echo $this->course_id; ?>" />
+               <input type="hidden" name="form_password_hidden" value="" />
+               <div class="input-form">
+                       <fieldset class="group_form"><legend class="group_form"><?php echo _AT('login') ;?></legend>
+                       
+                               <?php if ($_GET['course']): ?>
+                                       <div class="row">
+                                               <h3><?php echo _AT('login'). ' ' . $this->title; ?></h3>
+                                       </div>
+                               <?php endif;?>
+
+                               <label for="login"><?php echo _AT('login_name_or_email'); ?></label><br />
+                               <input type="text" name="form_login" size="50" style="max-width: 80%; width: 80%;" id="login" /><br />
+
+                               <label for="pass"><?php echo _AT('password'); ?></label><br />
+                               <input type="password" class="formfield" name="form_password" style="max-width: 80%; width: 80%;" id="pass" />
+                               <br /><br />
+                               <input type="submit" name="submit" value="<?php echo _AT('login'); ?>" class="button" onclick="return encrypt_password();" /> 
+                               <br /><br />
+                       </form>
+                       <?php
+                       if($_config['allow_registration'] ==1){
+                       ?>
+                       Don't have an account? 
+                       <form action="registration.php" method="get">
+                       <?php if (defined('AT_EMAIL_CONFIRMATION') && AT_EMAIL_CONFIRMATION): ?>
+                               <p><?php echo _AT('confirm_account_text'); ?></p>
+                       <?php endif; ?>
+                       <input type="submit" name="register" value="<?php echo _AT('register'); ?>" class="button" />
+                       <br /><br />
+                       </form>
+                       <?php } ?>
+                       
+                       </fieldset>                     
+               </div>
+               
+       </div>
+</div>
+
+<?php require(AT_INCLUDE_PATH.'footer.inc.php'); ?>
\ No newline at end of file
diff --git a/docs/themes/mobile/print.css b/docs/themes/mobile/print.css
new file mode 100644 (file)
index 0000000..c83c763
--- /dev/null
@@ -0,0 +1,13 @@
+body {
+       background-color: White;
+       font-family: Helvetica, arial, sans serif;
+       margin: 0px;
+       margin-top: 0px;
+       color: black;
+       border: 0px;
+}
+
+div#side-menu, div#member-links, span#side-menushowlink, div#rightcolumn, div#suv-nav-logout, div#top-links, span#side-menuhidelink, div.sequence-links, select#jumpmenu, a#guide, div#gototop, input#jump-button, div#topnavlistcontainer, a#guide, div#breadcrumbs, div#jump-area, table.tabbed-table, div#sub-navigation, div#sequence-links, div#language, div#toc, fieldset#shortcuts {
+       display: none;
+}
+
diff --git a/docs/themes/mobile/readme.txt b/docs/themes/mobile/readme.txt
new file mode 100644 (file)
index 0000000..ce930cc
--- /dev/null
@@ -0,0 +1,9 @@
+\r
+Theme:         1.6.4 Mobile Theme\r
+Date:          December 2009\r
+\r
+\r
+Installing:     See section "Installing a New Theme" in the themes_readme.txt file located in the themes/ top directory.\r
+\r
+Licence:       Falls under the GPL agreement.  See http://www.gnu.org/copyleft/gpl.html.\r
+       
\ No newline at end of file
diff --git a/docs/themes/mobile/rtl.css b/docs/themes/mobile/rtl.css
new file mode 100644 (file)
index 0000000..4e06fdf
--- /dev/null
@@ -0,0 +1,16 @@
+/* for right to left languages */
+html, body {
+       direction: rtl;
+}
+
+.img-size-tree {
+       vertical-align: middle;
+       margin-top: 0px;
+       height:1.45em;
+       width:1.45em;
+       float: right;
+}
+
+div.box {
+       line-height:150%;
+}
\ No newline at end of file
diff --git a/docs/themes/mobile/screenshot.gif b/docs/themes/mobile/screenshot.gif
new file mode 100644 (file)
index 0000000..3b01840
Binary files /dev/null and b/docs/themes/mobile/screenshot.gif differ
diff --git a/docs/themes/mobile/social/activities.tmpl.php b/docs/themes/mobile/social/activities.tmpl.php
new file mode 100644 (file)
index 0000000..cee24c3
--- /dev/null
@@ -0,0 +1,32 @@
+
+<div class="">
+       <div class="headingbox">
+               <h3><?php echo _AT('network_updates'); ?></h3>
+               <?php
+                       $user = new Member($_SESSION['member_id']); 
+                       $count = $user->getVisitors();
+                       echo _AT('visitor_counts').': '.$count['total'];
+               ?>
+       </div>
+
+
+       <div class="contentbox">
+       <?php
+       /**
+        * Loop through all the friends and print out a list.  
+        */
+       if (!empty($this->activities)): ?>
+                       <ul>
+                               <?php foreach ($this->activities as $id=>$array): ?>
+                               <li class="activity"><?php echo $array['created_date']. ' - '. printSocialName($array['member_id']).' '. $array['title']; ?></li>
+                               <?php endforeach; ?>
+                       </ul>
+                       <?php //little hack, show_all will only be displayed when the flag is used.
+                       if (sizeof($this->activities)==SOCIAL_FRIEND_ACTIVITIES_MAX): ?>
+                       <a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'activities.php', AT_PRETTY_URL_IS_HEADER); ?>"><?php echo _AT('show_all');?></a>
+                       <?php endif; ?> 
+       <?php else: ?>
+       <?php echo _AT('no_activities'); ?>
+       <?php endif; ?>
+       </div><br />
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/admin/delete_applications.tmpl.php b/docs/themes/mobile/social/admin/delete_applications.tmpl.php
new file mode 100644 (file)
index 0000000..fd60368
--- /dev/null
@@ -0,0 +1,42 @@
+<form class="input-form" action="<?php echo AT_SOCIAL_BASENAME;?>admin/delete_applications.php" method="post">
+<div class="gadget_wrapper">
+<div class="headingbox"><h3><?php echo _AT('available_applications'); ?></h3></div>
+<div class="contentbox" style="padding:1em;">
+       
+<?php if (!empty($this->all_apps)): ?>
+<?php
+       foreach ($this->all_apps as $id=>$app_obj): 
+       //skip the ones that are installed already
+       if ($this->list_of_my_apps[$id]!=null){
+               continue;
+       }
+       $author = ($app_obj->getAuthor()!='')?$app_obj->getAuthor():_AT('unknown');     
+?>
+       <div>
+               <div style="float:left; ">
+                       <?php echo $app_obj->getAppLink($app_obj->getTitle(), $id); ?><br/>
+                       <?php echo $app_obj->getAppLink('<img src="'.$app_obj->getThumbnail().'" alt=""/>', $id); ?><br/>
+                       <?php echo _AT('by'); ?> 
+                       <?php if ($app_obj->getAuthorEmail()!=''): ?>
+                               <a href="<?php echo $app_obj->getAuthorEmail(); ?>"><?php echo $author; ?></a>
+                       <?php else: echo $author; ?>
+                       <?php endif; ?>                 
+               </div>
+
+               <div style="float: right;">
+                       <label for="app_<?php echo $id;?>"><?php echo _AT('delete');?></label>
+                       <input type="checkbox" id="app_<?php echo $id;?>" name="apps[]" value="<?php echo $id; ?>" />
+               </div>
+               <div style="width:60%; margin-left:10em; padding-top:1.5em;">
+                       <?php echo $app_obj->getDescription(); ?><br/><br/>
+                       <?php echo $app_obj->getUrl(); ?><br/>
+               </div>
+               <div style="clear:both;"><hr/></div>
+       </div>
+<?php endforeach; ?>
+<?php else: ?>
+<?php echo _AT('no_gadgets_installed'); ?>
+<?php endif; ?>
+</div></div>
+<div class="row" style="float: right;"><input class="button" type="submit" name="delete" value="<?php echo _AT('delete');?>"/></div>
+</form>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/application_settings.tmpl.php b/docs/themes/mobile/social/application_settings.tmpl.php
new file mode 100644 (file)
index 0000000..7c6ea39
--- /dev/null
@@ -0,0 +1,66 @@
+<div class="social-wrapper">
+<form method="post" action="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'applications.php');?>">
+<?php 
+  $html = '<div>';
+  if (! empty($this->settings)) {
+    $settings = $this->settings;
+    foreach ($settings as $key => $setting) {
+      $name = ! empty($setting->displayName) ? $setting->displayName : $key;
+      $default = isset($setting->default) ? $setting->default : '';
+//      $value = isset($vars['application']['user_prefs'][$key]) ? $vars['application']['user_prefs'][$key] : $default;
+      $html .= "<div class=\"settings_label\">$name</div>";
+      switch ($setting->type) {
+        case 'ENUM':
+          $html .= "<select name=\"$key\">\n";
+          foreach ($setting->enumValues as $k => $v) {
+            $sel = ($k == $value) ? ' SELECTED' : '';
+            $html .= "<option value=\"$k\" $sel>$v</option>\n";
+          }
+          $html .= "</select>\n";
+          break;
+        case 'STRING':
+                       if (isset($this->user_settings[$key]) && $this->user_settings[$key]!=''){
+                               $default=$this->user_settings[$key];
+                       }
+                       $html .= "<input type=\"text\" name=\"$key\" value=\"$default\" />\n";
+                       break;
+               case 'HIDDEN':
+                       //hide these for now so that they don't get saved?
+                       //echo "<input type=\"hidden\" name=\"$key\" value=\"$default\" />\n";
+                       $html = '';     //do not display anything
+                       break;
+        case 'BOOL':
+                       //TODO add radio boxes here, should they be yes / no?
+                       $yes = '';
+                       $no = '';
+                       if ($default=='true'){
+                               $yes = ' checked="checked"';
+                       } else {
+                               $no = ' checked="checked"';
+                       }
+                       $html .= '<label for="'.$key.'_yes">'._AT('yes').'</label>';
+                       $html .= '<input id="'.$key.'_yes" type="radio" name="'.$key.'" value="true" '.$yes.' />';
+                       $html .= '<label for="'.$key.'_no">'._AT('no').'</label>';
+                       $html .= '<input id="'.$key.'_no" type="radio" name="'.$key.'" value="false" '.$no.' />';                       
+                       break;
+        case 'LIST':
+                       //TODO not sure what to do with this one yet
+                       break;
+        case 'NUMBER':
+                       $html .= "<input type=\"text\" name=\"$key\" value=\"$default\" />\n";
+                       break;
+      }
+    }
+  }
+  if ($html != '') : 
+         echo $html . "</div>"; 
+  ?>
+  <input type="hidden" name="app_id" value="<?php echo $this->app_id; ?>" />
+  <input type="hidden" name="app_settings" value="1" />
+  <input type="submit" value="<?php echo _AT('save');?>"/>
+  <?php else: ?>
+  <?php echo _AT('no_settings'); ?>
+  <?php endif; ?>
+</form>
+<div style="clear:both;"></div>
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/applications.tmpl.php b/docs/themes/mobile/social/applications.tmpl.php
new file mode 100644 (file)
index 0000000..6f5bf97
--- /dev/null
@@ -0,0 +1,108 @@
+<!--  compressed with java -jar {$path}/yuicompressor-2.3.5.jar -o {$file}-min.js {$file}.js -->
+<script type="text/javascript"
+       src="<?php echo AT_SHINDIG_URL; ?>/gadgets/js/rpc.js?c=1"></script>
+<!-- header.inc.php has jscript/InfusionAll.js imported.  Jquery should be there with it
+<script type="text/javascript" src="<?php echo AT_SOCIAL_BASENAME; ?>lib/js/jquery-1.3.2.js"></script>
+-->
+<script type="text/javascript"
+       src="<?php echo AT_SOCIAL_BASENAME; ?>lib/js/prototype.js"></script>
+<script type="text/javascript" src="<?php echo AT_SOCIAL_BASENAME; ?>lib/js/container.js"></script>
+<div class="social-wrapper">
+<div class="search_form">      
+               <div class="headingbox"><h3><?php echo _AT('add_application'); ?></h3></div>
+               <div class="contentbox">
+                       <form method="POST" action="<?php echo url_rewrite(AT_SOCIAL_BASENAME."applications.php"); ?>">
+                       <label for="app_url"><?php echo _AT('add_application_url'); ?>: </label>
+                       <input id="app_url" name="app_url" type="text" />
+                       <input type="hidden" name="add_application" value="1" />
+                       <input type="submit" value="<?php echo _AT('add_application'); ?>" class="button" />
+                       </form>
+
+                       <form method="POST" action="<?php echo url_rewrite(AT_SOCIAL_BASENAME."applications.php"); ?>">
+                       <?php if (!isset($this->list_of_all_apps)): ?>
+                       <input type="hidden" name="show_applications" value="1" />
+                       <input type="submit" value="<?php echo _AT('show_available_applications'); ?>" class="button" />
+                       <?php else: ?>
+                       <input type="submit" value="<?php echo _AT('show_your_applications'); ?>" class="button" />     
+                       <?php endif; ?>
+                       </form>
+                       <button type="button"  onclick="ATutor.poptastic('http://atutor.ca/get_gadgets.php')" class="button" /><?php echo _AT('find_gadgets'); ?></button>
+               </div>
+</div>
+
+<?php if (isset($this->list_of_all_apps) && !empty($this->list_of_all_apps)): ?>
+<div class="gadget_wrapper">
+<div class="headingbox"><h3><?php echo _AT('available_applications'); ?></h3></div>
+<?php  
+       foreach ($this->list_of_all_apps as $id=>$app_obj): 
+       //skip the ones that are installed already
+       if ($this->list_of_my_apps[$id]!=null){
+               continue;
+       }
+       $author = ($app_obj->getAuthor()!='')?$app_obj->getAuthor():_AT('unknown');     
+?>
+<div class="contentbox">       
+       <div class="contentbox-a">
+               <?php echo $app_obj->getAppLink($app_obj->getTitle(), $id); ?><br/>
+               <?php echo $app_obj->getAppLink('<img src="'.$app_obj->getThumbnail().'"/>', $id); ?><br/>
+               <?php echo _AT('by'); ?> 
+               <?php if ($app_obj->getAuthorEmail()!=''): ?>
+                       <a href="mailto:<?php echo $app_obj->getAuthorEmail(); ?>"><?php echo $author; ?></a>
+               <?php else: echo $author; ?>
+               <?php endif; ?>                 
+       </div>
+
+       <div class="contentbox-b">
+       <!--
+               <a href="<?php echo  'mods/social/applications.php?app_id='.$id.SEP.'settings=1'; ?>"><img src="<?php echo $_base_href;?>mods/social/images/icon-settings.png" alt="<?php echo _AT('settings');?>" title="<?php echo _AT('settings');?>" border="0"/></a>
+       -->
+               <a href="<?php echo AT_SOCIAL_BASENAME.'applications.php?app_id='.$id.SEP.'add=1'; ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME;?>images/plus_icon.gif" alt="<?php echo _AT('add_to_mygadgets');?>" title="<?php echo _AT('add_to_mygadgets');?>" border="0"/></a>
+       </div>
+       <div class="contentbox-c">
+               <?php echo $app_obj->getDescription(); ?><br/><br/>
+               <?php echo $app_obj->getUrl(); ?><br/>
+       </div>
+       <br/>
+</div>
+<?php endforeach; ?>
+</div>
+<?php else: ?>
+<div class="gadget_wrapper">
+<div class="headingbox"><h3><?php echo _AT('your_applications'); ?></h3></div>
+<?php  
+       foreach ($this->list_of_my_apps as $id=>$app_obj): 
+       $author = ($app_obj->getAuthor()!='')?$app_obj->getAuthor():_AT('unknown');     
+?>
+<div class="contentbox">       
+       <div class="contentbox-d">
+               <?php echo $app_obj->getAppLink($app_obj->getTitle(), $id); ?><br/>
+               <?php echo $app_obj->getAppLink('<img src="'.$app_obj->getThumbnail().'"/>', $id); ?><br/>
+               <?php echo _AT('by'); ?> 
+               <?php if ($app_obj->getAuthorEmail()!=''): ?>
+                       <a href="mailto:<?php echo $app_obj->getAuthorEmail(); ?>"><?php echo $author; ?></a>
+               <?php else: echo $author; ?>
+               <?php endif; ?>                 
+       </div>
+
+       <div class="contentbox-e">
+               <a href="<?php echo AT_SOCIAL_BASENAME.'applications.php?app_id='.$id.SEP.'settings=1'; ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME;?>images/icon-settings.png" alt="<?php echo _AT('settings');?>" title="<?php echo _AT('settings');?>" border="0"/></a>
+       
+               <a href="<?php echo AT_SOCIAL_BASENAME.'applications.php?app_id='.$id.SEP.'delete=1'; ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME;?>images/b_drop.png" alt="<?php echo _AT('delete');?>" title="<?php echo _AT('delete');?>" border="0"/></a>
+       </div>
+       <div class="contentbox-f">
+               <?php echo $app_obj->getDescription(); ?><br/><br/>
+               <?php echo $app_obj->getUrl(); ?><br/>
+       </div>
+       
+</div>
+<?php endforeach; ?>
+</div>
+<?php if(empty($id)){
+echo '<div class="contentbox">';
+echo _AT('no_gadgets_installed');
+echo '</div>';
+}
+?>
+<?php endif; ?>
+<div style="clear:both;"></div>
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/basic_profile.tmpl.php b/docs/themes/mobile/social/basic_profile.tmpl.php
new file mode 100644 (file)
index 0000000..76a04b8
--- /dev/null
@@ -0,0 +1,135 @@
+<div class="social-wrapper">
+<?php
+include('lib/profile_menu.inc.php');
+?>
+<br />
+<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="form">
+<?php global $languageManager, $_config; ?>
+<div class="input-form">
+       <fieldset class="group_form"><legend class="group_form"><?php echo _AT('required_information'); ?></legend>
+       <div class="row">
+               <h3><?php echo _AT('required_information'); ?></h3>
+       </div>
+
+       <div class="row">
+               <label for="login"><?php echo _AT('login_name'); ?></label><br />
+                               <span id="login"><?php echo stripslashes(htmlspecialchars($_POST['login'])); ?></span>
+                               <input name="member_id" type="hidden" value="<?php echo intval($_POST['member_id']); ?>" />
+                               <input name="login" type="hidden" value="<?php echo stripslashes(htmlspecialchars($_POST['login'])); ?>" />
+       </div>
+       <div class="row">
+               <?php echo _AT('email_address'); ?><br />
+               <?php echo stripslashes(htmlspecialchars($_POST['email'])); ?>
+               <input type="checkbox" id="priv" name="private_email" value="1" <?php if ($_POST['private_email']) { echo 'checked="checked"'; } ?> /><label for="priv"><?php echo _AT('keep_email_private');?></label>
+       </div>
+       <div class="row">
+               <span class="required" title="<?php echo _AT('required_field'); ?>">*</span><label for="first_name"><?php echo _AT('first_name'); ?></label><br />
+               <input id="first_name" name="first_name" type="text" value="<?php echo stripslashes(htmlspecialchars($_POST['first_name'])); ?>" />
+       </div>
+
+       <div class="row">
+               <label for="second_name"><?php echo _AT('second_name'); ?></label><br />
+               <input id="second_name" name="second_name" type="text" value="<?php echo stripslashes(htmlspecialchars($_POST['second_name'])); ?>" />
+       </div>
+
+       <div class="row">
+               <span class="required" title="<?php echo _AT('required_field'); ?>">*</span><label for="last_name"><?php echo _AT('last_name'); ?></label><br />
+               <input id="last_name" name="last_name" type="text" value="<?php echo stripslashes(htmlspecialchars($_POST['last_name'])); ?>" />
+       </div>
+       
+       <?php if (admin_authenticate(AT_ADMIN_PRIV_USERS, TRUE)): 
+                       if ($_POST['status'] == AT_STATUS_INSTRUCTOR) {
+                               $inst = ' checked="checked"';
+                       } else if ($_POST['status'] == AT_STATUS_STUDENT) {
+                               $stud = ' checked="checked"';
+                       }  else if ($_POST['status'] == AT_STATUS_DISABLED) {
+                               $disa = ' checked="checked"';
+                       } else {
+                               $uncon = ' checked="checked"';
+                       }?>
+                       <input type="hidden" name="id" value="<?php echo $_POST['member_id']; ?>" >
+                       <div class="row">
+                               <span class="required" title="<?php echo _AT('required_field'); ?>">*</span><?php echo _AT('account_status'); ?><br />
+
+                               <input type="radio" name="status" value="0" id="disa" <?php echo $disa; ?> /><label for="disa"><?php echo _AT('disabled'); ?></label>
+                               <?php if (defined('AT_EMAIL_CONFIRMATION') && AT_EMAIL_CONFIRMATION): ?>
+                                       <input type="radio" name="status" value="1" id="uncon" <?php echo $uncon; ?> /><label for="uncon"><?php echo _AT('unconfirmed'); ?></label>
+                               <?php endif; ?>
+
+                               <input type="radio" name="status" value="2" id="stud" <?php echo $stud; ?> /><label for="stud"><?php echo _AT('student'); ?></label>
+
+                               <input type="radio" name="status" value="3" id="inst" <?php echo $inst; ?> /><label for="inst"><?php echo _AT('instructor'); ?></label>
+
+                               <input type="hidden" name="old_status" value="<?php echo $_POST['old_status']; ?>" />
+                       </div>
+       <?php endif; ?>
+       </fieldset>
+       <fieldset class="group_form"><legend class="group_form"><?php echo _AT('personal_information'); ?></legend>
+       <div class="row">
+               <h3><?php echo _AT('personal_information').' ('._AT('optional').')'; ?></h3>
+       </div>
+
+       <?php if (admin_authenticate(AT_ADMIN_PRIV_USERS, TRUE) && defined('AT_MASTER_LIST') && AT_MASTER_LIST): ?>
+               <div class="row">
+                       <label for="student_id"><?php echo _AT('student_id'); ?></label><br />
+                               <input type="text" name="student_id" value="<?php echo $_POST['student_id']; ?>" size="20" /><br />
+               </div>
+               <div class="row">
+                       <label for="student_pin"><?php echo _AT('student_pin'); ?></label><br />
+                       <input id="student_pin" name="student_pin" type="password" size="15" maxlength="15" value="<?php echo stripslashes(htmlspecialchars($_POST['student_pin'])); ?>" /><br />
+               </div>
+       <?php endif; ?>
+
+       <div class="row">
+               <?php echo _AT('date_of_birth'); ?><br />
+               <label for="year"><?php echo _AT('year'); ?>: </label><input id="year" class="formfield" name="year" type="text" size="4" maxlength="4" value="<?php echo $_POST['year']; ?>" />  <label for="month"><?php echo _AT('month'); ?>: </label><input id="month" class="formfield" name="month" type="text" size="2" maxlength="2" value="<?php echo $_POST['month']; ?>" /> <label for="day"><?php echo _AT('day'); ?>: </label><input id="day" class="formfield" name="day" type="text" size="2" maxlength="2" value="<?php echo $_POST['day']; ?>" />
+       </div>
+
+       <div class="row">
+               <?php echo _AT('gender'); ?><br />
+               <input type="radio" name="gender" id="m" value="m" <?php if ($_POST['gender'] == 'm') { echo 'checked="checked"'; } ?> /><label for="m"><?php echo _AT('male'); ?></label> <input type="radio" value="f" name="gender" id="f" <?php if ($_POST['gender'] == 'f') { echo 'checked="checked"'; } ?> /><label for="f"><?php echo _AT('female'); ?></label>  <input type="radio" value="n" name="gender" id="ns" <?php if (($_POST['gender'] == 'n') || ($_POST['gender'] == '')) { echo 'checked="checked"'; } ?> /><label for="ns"><?php echo _AT('not_specified'); ?></label>
+       </div>
+
+       <div class="row">
+               <label for="address"><?php echo _AT('street_address'); ?></label><br />
+               <input id="address" name="address" size="30" type="text" value="<?php echo stripslashes(htmlspecialchars($_POST['address'])); ?>" />
+       </div>
+
+       <div class="row">
+               <label for="postal"><?php echo _AT('postal_code'); ?></label><br />
+               <input id="postal" name="postal" size="7" type="text" value="<?php echo stripslashes(htmlspecialchars($_POST['postal'])); ?>" />
+       </div>
+
+       <div class="row">
+               <label for="city"><?php echo _AT('city'); ?></label><br />
+               <input id="city" name="city" type="text" value="<?php echo stripslashes(htmlspecialchars($_POST['city'])); ?>" />
+       </div>
+
+       <div class="row">
+               <label for="province"><?php echo _AT('province'); ?></label><br />
+               <input id="province" name="province" type="text" value="<?php echo stripslashes(htmlspecialchars($_POST['province'])); ?>" />
+       </div>
+
+       <div class="row">
+               <label for="country"><?php echo _AT('country'); ?></label><br />
+               <input id="country" name="country" type="text" value="<?php echo stripslashes(htmlspecialchars($_POST['country'])); ?>" />
+       </div>
+
+       <div class="row">
+               <label for="phone"><?php echo _AT('phone'); ?></label><br />
+               <input size="11" name="phone" type="text" value="<?php echo stripslashes(htmlspecialchars($_POST['phone'])); ?>" id="phone" />
+       </div>
+
+       <div class="row">
+               <label for="website"><?php echo _AT('web_site'); ?></label><br />
+               <input id="website" name="website" size="30" type="text" value="<?php if ($_POST['website'] == '') { echo 'http://'; } else { echo stripslashes(htmlspecialchars($_POST['website'])); } ?>" />
+       </div>
+       </fieldset>
+       <div class="row buttons">
+               <input type="submit" name="submit" value=" <?php echo _AT('save'); ?> " accesskey="s" />
+               <input type="submit" name="cancel" value=" <?php echo _AT('cancel'); ?> " />
+       </div>
+</div>
+</form>
+<div style="clear:both;"></div>
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/connections.tmpl.php b/docs/themes/mobile/social/connections.tmpl.php
new file mode 100644 (file)
index 0000000..d3918bd
--- /dev/null
@@ -0,0 +1,109 @@
+<script src="<?php echo AT_SOCIAL_BASENAME; ?>lib/js/livesearch.js" type="text/javascript"></script>
+<?php 
+       //Add Friends Template
+       //Generate a random number for the search input name fields, so that the browser will not remember any previous entries.
+       $rand = md5(rand(0, time())); 
+       if ($this->rand_key != ''){
+               $last_search = $_POST['search_friends_'.$this->rand_key];
+       } elseif(isset($_GET['search_friends'])) {
+               $last_search = htmlentities_utf8($_GET['search_friends']);
+       } else {
+               $last_search = html_entity_decode($_POST['search_friends_'.$rand]);
+       }
+       //take out double quotes until there is a way to escape XSS from the ajax script.
+       $last_search = preg_replace('/\"/', '', $last_search);
+?>
+<div class="social-wrapper">
+<?php print_paginator($this->page, $this->num_pages, 'search_friends='.$this->search_field, 1);  ?>
+<div class="input-form">
+       <div class="contentrow">
+               <h3><?php echo _AT('search_for_friends'); ?></h3>
+               <form action="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'connections.php');?>" method="POST" id="search_friends_form">
+                       <label for="search_friends" style="display:none;"><?php echo _AT('search'); ?></label>
+                       <input type="text" size="45" name="search_friends_<?php echo $rand;?>" id="search_friends" value="<?php echo $last_search; ?>" onkeyup="showResults(this.value, 'livesearch', '<?php echo AT_SOCIAL_BASENAME; ?>connections.php')"/>
+                       <input type="submit" name="search" value="<?php echo _AT('search'); ?>">
+                       <?php 
+                       if (isset($_POST['myFriendsOnly'])){
+                               $mfo_checked = ' checked="checked"';
+                       }
+                       ?>
+                       <br/> <div class="social-wrapper-myFriendsOnly"><input type="checkbox" name="myFriendsOnly" id="myFriendsOnly" value="<?php echo _AT('yes'); ?>" <?php echo $mfo_checked; ?> />
+                       <label for ="myFriendsOnly"><?php echo _AT('my_friends_only'); ?></label></div>
+                       <input type="hidden" name="rand_key" value="<?php echo $rand; ?>" />
+                       
+                       <div id="livesearch"></div>
+               </form>
+       </div>
+</div>
+<div class="headingbox-contentbox">
+       <div class="headingbox"><h3><?php echo _AT('connections'); ?></h3></div>
+       <div class="contentbox">
+       <?php 
+       if (!empty($this->friends)):
+               $privacy_controller = new PrivacyController();
+               echo "<h4>"._AT('there_are_entries', sizeof($this->friends))."</h4>";
+               foreach ($this->friends as $id=>$person): 
+                       $privacy_obj = $privacy_controller->getPrivacyObject($id);
+//                     debug($privacy_obj->getSearch(), 'search'.$id);
+                       $relationship = $privacy_controller->getRelationship($id);
+
+                       if ((!isset($person['added']) || $person['added']!=1) && !PrivacyController::validatePrivacy(AT_SOCIAL_SEARCH_VISIBILITY, $relationship, $privacy_obj->getSearch())){
+                               //if this user doesn't want to be searched.
+                               continue;
+                       }
+       ?>
+       <div class="contact_mini" >
+               <?php if (isset($person['added']) && $person['added']==1): ?>                   
+                       <div>
+                               <div style="float:left;"><?php echo printSocialProfileImg($id); ?></div>
+                               <div style="padding-left:0.5em; float:left;">
+                                       <?php 
+                                               $member_obj = new Member($id);
+                                               $address = $member_obj->getAddress();
+                                               echo printSocialName($id) . '<br/>';
+                                               echo $address['province'] . ' ' . $address['country'] . '<br/>';
+                                       ?>
+                               </div>
+                               <div style="float:right;"><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.AT_SOCIAL_INDEX);?>?remove=yes<?php echo SEP;?>id=<?php echo $id;?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/b_drop.png" alt="<?php echo _AT('delete'); ?>" title="<?php echo _AT('delete'); ?>" border="0"/></a></div>
+                               <div style="clear:both;"></div><br/>
+                       </div>
+
+               <?php else: ?>
+                       <?php if (!isset($_POST['myFriendsOnly'])): ?>
+                       <div>
+                               <div style="float:left;"><?php echo printSocialProfileImg($id); ?></div>
+                               <div style="padding-left:0.5em; float:left;">
+                                       <?php 
+                                               $member_obj = new Member($id);
+                                               $address = $member_obj->getAddress();
+                                               echo printSocialName($id) . '<br/>';
+                                               echo $address['country'] . ' ' . $address['province'] . '<br/>';
+                                       ?>
+                               </div>
+                               <?php if ($person['pending']==1): ?>    
+                       <div style="float:right;"><?php echo _AT('pending'); ?></div>
+                       <?php else: ?>
+                       <div style="float:right;"><a href="<?php echo AT_SOCIAL_BASENAME; ?>connections.php?id=<?php echo $id; ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/plus_icon.gif" alt="<?php echo _AT('add_to_friends'); ?>" title="<?php echo _AT('add_to_friends'); ?>" border="0"/></a> </div>
+                       <?php endif; ?>
+                               <div style="clear:both;"></div><br/>
+                       </div>
+                       <?php endif; ?>
+               <?php endif; ?>
+       </div>
+       <?php 
+               endforeach; 
+       else:
+               echo _AT('none_found');
+       endif;
+       ?>
+       </div>
+       <!--
+       <div style="float:right;">
+               TODO: Paginator 
+       </div>
+       -->
+</div>
+<div style="clear:both;"></div>
+
+<?php print_paginator($this->page, $this->num_pages, 'search_friends='.$this->search_field, 1);  ?>
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/edit_profile.tmpl.php b/docs/themes/mobile/social/edit_profile.tmpl.php
new file mode 100644 (file)
index 0000000..5a3ee3d
--- /dev/null
@@ -0,0 +1,166 @@
+<div class="social-wrapper">
+
+<?php include(AT_SOCIAL_INCLUDE."profile_menu.inc.php")  ?>
+<h2><?php echo $this->profile['first_name'].' '.$this->profile['last_name']; ?></h2>
+<ul>
+       <li>
+               <div>
+               <strong><?php echo _AT('position'); ?></strong> <br/>
+               <?php 
+               if (!empty($this->position)):
+                       //note: $id is just a array holder, it does not represent $row[id]
+                       foreach ($this->position as $id=>$row): ?>
+               <div class="profile_container">
+                       <div class="top_right" style="border:thin #cccccc solid;"><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?edit=position'.SEP.'id='.$row['id']); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/edit_profile.gif" alt="<?php echo _AT('edit'); ?>" title="<?php echo _AT('edit'); ?>" border="0" /></a>  <a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?delete=position'.SEP.'id='.$row['id']); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/b_drop.png" alt="<?php echo _AT('remove'); ?>" title="<?php echo _AT('remove'); ?>" border="0" /></a></div>
+                       <div><?php echo _AT('company') . ': ' . htmlentities_utf8($row['company']); ?></div>
+                       <div><?php echo _AT('position') . ': ' . htmlentities_utf8($row['title']); ?></div>
+                       <div><?php echo _AT('from') . ': ' . htmlentities_utf8($row['from']);?></div>
+                       <div><?php echo _AT('to') . ': ' . htmlentities_utf8($row['to']); ?></div>
+                       <div><?php echo _AT('description') . ': ' . htmlentities_utf8($row['description']); ?></div>
+               </div>
+               <?php
+                       endforeach;
+               endif; ?>
+                       <p><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?add=position'); ?>"><?php echo _AT('add_new_position'); ?></a></p>
+               </div>
+       </li>
+       <li>
+               <strong><?php echo _AT('education'); ?></strong><br/>
+               <?php   
+               if (!empty($this->education)):
+                       foreach ($this->education as $id=>$row): ?>
+               <div class="profile_container">
+                       <div class="top_right" style="border:thin #cccccc solid;"><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?edit=education'.SEP.'id='.$row['id']); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/edit_profile.gif" alt="<?php echo _AT('edit'); ?>" title="<?php echo _AT('edit'); ?>" border="0" /></a>  <a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?delete=education'.SEP.'id='.$row['id']); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/b_drop.png" alt="<?php echo _AT('remove'); ?> ?>" title="<?php echo _AT('remove'); ?>" border="0" /></a></div>
+                       <div><?php echo _AT('university') . ': ' . htmlentities_utf8($row['university']); ?></div>
+                       <div><?php echo _AT('location') . ': ' . htmlentities_utf8($row['country']) . ', ' . htmlentities_utf8($row['province']); ?></div>
+                       <div><?php echo _AT('degree') . ': ' . htmlentities_utf8($row['degree']); ?></div>
+                       <div><?php echo _AT('field') . ': ' . htmlentities_utf8($row['field']); ?></div>
+                       <div><?php echo _AT('from') . ': ' . htmlentities_utf8($row['from']);?></div>
+                       <div><?php echo _AT('to') . ': ' . htmlentities_utf8($row['to']); ?></div>
+                       <div><?php echo _AT('description') . ': ' . htmlentities_utf8($row['description']); ?></div>
+               </div>
+               <?php 
+                       endforeach; 
+               endif; ?>
+                       <p><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?add=education'); ?>"><?php echo _AT('add_new_education'); ?></a></p>
+       </li>
+       <li>
+               <strong><?php echo _AT('websites'); ?></strong><br/>
+               <?php   
+               if (!empty($this->websites)):
+                       foreach ($this->websites as $id=>$row): ?>
+               <div class="profile_container">
+                       <div class="top_right" style="border:thin #cccccc solid;"><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?edit=websites'.SEP.'id='.$row['id']); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/edit_profile.gif" alt="<?php echo _AT('edit'); ?>" title="<?php echo _AT('edit'); ?>" border="0" /></a>  <a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?delete=websites'.SEP.'id='.$row['id']); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/b_drop.png" alt="<?php echo _AT('remove'); ?> ?>" title="<?php echo _AT('remove'); ?>" border="0" /></a></div>
+                       <div><?php echo _AT('site_name') . ': ' . htmlentities_utf8($row['site_name']); ?></div>
+                       <div><?php echo _AT('url') . ': ' . $row['url']; ?></div>
+               </div>
+               <?php 
+                       endforeach; 
+               endif; ?>
+               <p><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?add=websites'); ?>"><?php echo _AT('add_new_website'); ?></a></p>
+       </li>
+
+       <li>
+               <strong><?php echo _AT('interests'); ?></strong><br/>
+               <?php if (!empty($this->profile['interests'])): ?>
+               <div class="profile_container">
+                       <div class="top_right" style="border:thin #cccccc solid;"><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?edit=interests'.SEP.'id='.$_SESSION['member_id']); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/edit_profile.gif" alt="<?php echo _AT('edit'); ?>" title="<?php echo _AT('edit'); ?>" border="0" /></a>  <a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?delete=interests'); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/b_drop.png" alt="<?php echo _AT('remove'); ?> ?>" title="<?php echo _AT('remove'); ?>" border="0" /></a></div>
+                       <div><?php echo htmlentities_utf8($this->profile['interests']); ?></div>
+               </div>
+               <?php else: ?>
+               <p><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?add=interests'); ?>"><?php echo _AT('add_new_interest'); ?></a></p>
+               <?php endif; ?>
+       </li>
+
+       <li>
+               <strong><?php echo _AT('associations'); ?></strong><br/>
+               <?php if (!empty($this->profile['associations'])): ?>
+               <div class="profile_container">
+                       <div class="top_right" style="border:thin #cccccc solid;"><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?edit=associations'.SEP.'id='.$_SESSION['member_id']); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/edit_profile.gif" alt="<?php echo _AT('edit'); ?>" title="<?php echo _AT('edit'); ?>" border="0" /></a>  <a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?delete=associations'); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/b_drop.png" alt="<?php echo _AT('remove'); ?> ?>" title="<?php echo _AT('remove'); ?>" border="0" /></a></div>
+                       <div><?php echo htmlentities_utf8($this->profile['associations']); ?></div>
+               </div>
+               <?php else: ?>
+               <p><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?add=associations'); ?>"><?php echo _AT('add_new_association'); ?></a></p>
+               <?php endif; ?>
+       </li>
+
+       <li>
+               <strong><?php echo _AT('awards'); ?></strong><br/>
+               <?php if (!empty($this->profile['awards'])): ?>
+               <div class="profile_container">
+                       <div class="top_right" style="border:thin #cccccc solid;"><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?edit=awards'.SEP.'id='.$_SESSION['member_id']); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/edit_profile.gif" alt="<?php echo _AT('edit'); ?>" title="<?php echo _AT('edit'); ?>" border="0" /></a>  <a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?delete=awards'); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/b_drop.png" alt="<?php echo _AT('remove'); ?> ?>" title="<?php echo _AT('remove'); ?>" border="0" /></a></div>
+                       <div><?php echo htmlentities_utf8($this->profile['awards']); ?></div>
+               </div>
+               <?php else: ?>
+               <p><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?add=awards'); ?>"><?php echo _AT('add_new_award'); ?></a></p>
+               <?php endif; ?>
+       </li>
+       <li>
+               <strong><?php echo _AT('representation'); ?></strong><br/>
+               <?php if (!empty($this->representation)): ?>
+               <div class="profile_container">
+                       <div class="top_right" style="border:thin #cccccc solid;">
+                       <?php foreach($this->representation as $row=>$value){  ?>
+                       <a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?edit=representation'.SEP.'id='.$value['rep_id']); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/edit_profile.gif" alt="<?php echo _AT('edit'); ?>" title="<?php echo _AT('edit'); ?>" border="0" /></a>  <a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?delete=representation'); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/b_drop.png" alt="<?php echo _AT('remove'); ?> ?>" title="<?php echo _AT('remove'); ?>" border="0" /></a></div>
+
+                               <dl class="public-profile">
+                               <dt><?php echo _AT('name') . ':' ?></dt> <dd>  &nbsp;<?php echo htmlentities_utf8($value['rep_name']); ?></dd>
+                               <dt><?php echo _AT('title') . ': ' ?></dt> <dd>  &nbsp;<?php echo htmlentities_utf8($value['rep_title']); ?></dd>
+                               <dt><?php echo _AT('phone') . ':' ?></dt> <dd>  &nbsp;<?php echo htmlentities_utf8($value['rep_phone']);?></dd>
+                               <dt><?php echo _AT('email') . ': ' ?></dt> <dd>  &nbsp;<?php echo  htmlentities_utf8($value['rep_email']); ?></dd>
+                               <dt><?php echo _AT('street_address') . ': ' ?></dt> <dd>  &nbsp;<?php echo htmlentities_utf8($value['rep_address']); ?></dd>
+                               </dl>
+                       <?php } ?>
+               </div>
+               <?php else: ?>
+               <p><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?add=representation'); ?>"><?php echo _AT('add_new_representation'); ?></a></p>
+               <?php endif; ?>
+
+       </li>
+       <li>
+               <strong><?php echo _AT('alt_contact'); ?></strong><br/>
+               <?php if (!empty($this->contact)): ?>
+               <div class="profile_container">
+                       <div class="top_right" style="border:thin #cccccc solid;">
+                       <?php foreach($this->contact as $row=>$value){  ?>
+
+                       <a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?edit=contact'.SEP.'id='.$value['contact_id']); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/edit_profile.gif" alt="<?php echo _AT('edit'); ?>" title="<?php echo _AT('edit'); ?>" border="0" /></a>  <a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?delete=contact'); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/b_drop.png" alt="<?php echo _AT('remove'); ?> ?>" title="<?php echo _AT('remove'); ?>" border="0" /></a></div>
+
+                               <dl class="public-profile">
+                               <dt><?php echo _AT('name') . ':' ?></dt> <dd>  &nbsp;<?php echo htmlentities_utf8($value['con_name']); ?></dd>
+                               <dt><?php echo _AT('phone') . ':' ?></dt> <dd> &nbsp; <?php echo htmlentities_utf8($value['con_phone']);?></dd>
+                               <dt><?php echo _AT('email') . ': ' ?></dt> <dd> &nbsp; <?php echo  htmlentities_utf8($value['con_email']); ?></dd>
+                               <dt><?php echo _AT('street_address') . ': ' ?></dt> <dd> &nbsp; <?php echo htmlentities_utf8($value['con_address']); ?></dd>
+                               </dl>
+                       <?php } ?>
+               </div>
+               <?php else: ?>
+               <p><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?add=contact'); ?>"><?php echo _AT('add_new_contact'); ?></a></p>
+               <?php endif; ?>
+       </li>
+       <li>
+               <strong><?php echo _AT('personal'); ?></strong><br/>
+               <?php if (!empty($this->personal)): ?>
+               <div class="profile_container">
+                       <div class="top_right" style="border:thin #cccccc solid;">
+                       <a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?edit=personal'.SEP.'id='.$this->personal['per_id']); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/edit_profile.gif" alt="<?php echo _AT('edit'); ?>" title="<?php echo _AT('edit'); ?>" border="0" /></a>  <a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?delete=personal'); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/b_drop.png" alt="<?php echo _AT('remove'); ?> ?>" title="<?php echo _AT('remove'); ?>" border="0" /></a></div>
+
+                               <dl class="public-profile">
+                               <dt><?php echo _AT('per_weight') . ':' ?></dt> <dd> &nbsp;<?php echo htmlentities_utf8($this->personal['per_weight']);?></dd>
+                               <dt><?php echo _AT('per_height') . ': ' ?></dt> <dd> &nbsp; <?php echo  htmlentities_utf8($this->personal['per_height']); ?></dd>
+                               <dt><?php echo _AT('per_hair') . ': ' ?></dt> <dd> &nbsp; <?php echo htmlentities_utf8($this->personal['per_hair']); ?></dd>
+                               <dt><?php echo _AT('per_eyes') . ':' ?></dt> <dd> &nbsp; <?php echo htmlentities_utf8($this->personal['per_eyes']);?></dd>
+                               <dt><?php echo _AT('per_ethnicity') . ': ' ?></dt> <dd> &nbsp; <?php echo  htmlentities_utf8($this->personal['per_ethnicity']); ?></dd>
+                               <dt><?php echo _AT('per_languages') . ': ' ?></dt> <dd> &nbsp; <?php echo htmlentities_utf8($this->personal['per_languages']); ?></dd>
+                               <dt><?php echo _AT('per_disabilities') . ': ' ?></dt> <dd>  &nbsp;<?php echo htmlentities_utf8($this->personal['per_disabilities']); ?></dd>
+                               </dl>
+               </div>
+               <?php else: ?>
+               <p><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php?add=personal'); ?>"><?php echo _AT('add_new_personal'); ?></a></p>
+               <?php endif; ?>
+       </li>
+
+
+</ul>
+<div style="clear:both;"></div>
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/edit_profile/account_settings.tmpl.php b/docs/themes/mobile/social/edit_profile/account_settings.tmpl.php
new file mode 100644 (file)
index 0000000..7e16ea8
--- /dev/null
@@ -0,0 +1,10 @@
+<form action="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'settings.php');?>" method="POST">
+<div class="input-form">
+       <h4><?php echo _AT('account_settings'); ?></h4>
+       <div class="row"><?php echo _AT('account_control_blurb'); ?> </div>
+       <div class="row">
+               <input type="hidden" name="n" value="account_settings" />
+               <input class="button" type="submit" name="submit" value="<?php echo _AT('save'); ?>"/>
+       </div>
+</div>
+</form>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/edit_profile/edit_additional.tmpl.php b/docs/themes/mobile/social/edit_profile/edit_additional.tmpl.php
new file mode 100644 (file)
index 0000000..09e85ac
--- /dev/null
@@ -0,0 +1,29 @@
+<?php
+       global $addslashes;
+       //escape all strings
+       $title                  = htmlentities_utf8($this->title);
+       $interests              = htmlentities_utf8($this->interests, false);
+       $associations   = htmlentities_utf8($this->associations, false);
+       $awards                 = htmlentities_utf8($this->awards, false);
+?>
+<form method="post" action="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php'); ?>">
+
+<div class="headingbox"><h3><?php if($_GET['id']){ echo _AT($title);}else{echo  _AT($title);}?></h3></div>
+<div class="contentbox">
+       <div>   
+                       <label for="<?php echo $title;?>"><?php echo _AT($title); ?></label>
+               <div>
+                       <textarea rows="4" cols="40" id="<?php echo $title;?>" name="<?php echo $title;?>"><?php echo $$title; ?></textarea>
+               </div>
+               
+               <?php if (isset($this->id)): ?>
+               <input type="hidden" name="id" value="<?php echo $this->id; ?>" />
+               <input type="hidden" name="edit" value="<?php echo $title; ?>" />
+               <?php else: ?>  
+               <input type="hidden" name="add" value="<?php echo $title; ?>" />
+               <?php endif; ?>
+               <input type="submit" name="submit" value="<?php echo _AT('save'); ?>" class="button"/>
+               <input type="submit" name="cancel" value="<?php echo _AT('cancel'); ?>" class="button"/>
+       </div>
+</div>
+</form>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/edit_profile/edit_contact.tmpl.php b/docs/themes/mobile/social/edit_profile/edit_contact.tmpl.php
new file mode 100644 (file)
index 0000000..cd6ad03
--- /dev/null
@@ -0,0 +1,42 @@
+<?php
+       global $addslashes;
+
+       //escape all strings
+       $con_name        = htmlentities_utf8($this->con_name);
+       $con_phone       = htmlentities_utf8($this->con_phone);
+       $con_email       = htmlentities_utf8($this->con_email);
+       $con_address     = htmlentities_utf8($this->con_address);
+
+?>
+
+<div class="headingbox"><h3><?php if($_GET['id']){echo _AT('edit_contact');}else{echo  _AT('add_new_contact');}?></h3></div>
+<div class="contentbox">
+<form method="post" action="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php'); ?>">
+       <dl id="public-profile">
+               <div class="row">
+               <dt><label for="con_name"><?php echo _AT('name'); ?></label></dt>
+               <dd><input type="text" id="con_name" name="con_name" value="<?php echo $con_name; ?>" /></dd>
+               </div>
+               <div class="row">
+               <dt><label for="con_phone"><?php echo _AT('phone'); ?></label></dt>
+               <dd><input type="text" id="con_phone"  name="con_phone" value="<?php echo $con_phone; ?>" /></dd>
+               </div>
+               <div class="row">
+               <dt><label for="con_email"><?php echo _AT('email'); ?></label></dt>
+               <dd><input type="text" id="con_email"  name="con_email" value="<?php echo $con_email; ?>" /></dd>
+               </div>
+               <dt><label for="con_address"><?php echo _AT('street_address'); ?></label></dt>  
+               <dd><textarea name="con_address" id="con_address" cols="40" rows="5"><?php echo $con_address; ?></textarea></dd>
+               </dl>
+               <input type="hidden" name="id" value="<?php echo $this->id; ?>" />
+               <?php if($_GET['id']){ ?>
+               <input type="hidden" name="edit" value="contact" />
+               <?php }else { ?>
+               <input type="hidden" name="add" value="contact" />
+               <?php } ?>
+       
+               <input type="submit" name="submit" class="button" value="<?php echo _AT('save'); ?>" />
+               <input type="submit" name="cancel" class="button" value="<?php echo _AT('cancel'); ?>" />
+       
+</form>
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/edit_profile/edit_education.tmpl.php b/docs/themes/mobile/social/edit_profile/edit_education.tmpl.php
new file mode 100644 (file)
index 0000000..defa569
--- /dev/null
@@ -0,0 +1,70 @@
+<?php
+       global $addslashes;
+
+       //escape all strings
+       $university  = htmlentities_utf8($this->university);
+       $country         = htmlentities_utf8($this->country);
+       $province        = htmlentities_utf8($this->province);
+       $degree          = htmlentities_utf8($this->degree);
+       $field           = htmlentities_utf8($this->field);
+       $from            = htmlentities_utf8($this->from);
+       $to                      = htmlentities_utf8($this->to);
+       $description = htmlentities_utf8($this->description, false);
+?>
+<script type='text/javascript' src='jscripts/calendar.js'></script>
+<script type="text/javascript"> 
+<!--
+       //overwrite calendar dates range settings.
+       scwBaseYear                     = scwDateNow.getFullYear()-50; 
+       scwDropDownYears        = 70; 
+-->
+</script>
+<div class="headingbox"><h3><?php if($_GET['id']){echo _AT('edit_education');}else{echo  _AT('add_new_education');}?></h3></div>
+<div class="contentbox">
+<form method="post" action="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php'); ?>">
+       <dl id="public-profile">
+               <div class="row">
+               <dt><label for="university"><?php echo _AT('university'); ?></label></dt><br />
+               <dd><input type="text" id="university" name="university" value="<?php echo $university; ?>" /></dd>
+               </div>
+               <div class="row">
+               <dt><label for="province"><?php echo _AT('province'); ?></label></dt><br />
+               <dd><input type="text" id="province"  name="province" value="<?php echo $province; ?>" /></dd>
+               </div>
+               <div class="row">
+               <dt><label for="country"><?php echo _AT('country'); ?></label></dt><br />
+               <dd><input type="text" id="country"  name="country" value="<?php echo $country; ?>" /></dd>
+               </div>
+               <div class="row">
+               <dt><label for="degree"><?php echo _AT('degree'); ?></label></dt><br />
+               <dd><input type="text" id="degree"  name="degree" value="<?php echo $degree; ?>" /></dd>
+               </div>
+               <div class="row">
+               <dt><label for="field"><?php echo _AT('field'); ?></label></dt><br />
+               <dd><input type="text" id="field"  name="field" value="<?php echo $field; ?>" /></dd>
+               </div>
+               <div class="row">
+               <dt><label for="from"><?php echo _AT('from'); ?></label></dt><br />
+               <dd><input type="text" id="from"  name="from" value="<?php echo $from; ?>" />
+               <img src='images/calendar.gif' style="vertical-align: middle; cursor: pointer;" onclick="scwShow(scwID('from'),event);"  alt="<?php echo _AT('date'); ?>"/></dd>
+               </div>
+               <div class="row">
+               <dt><label for="to"><?php echo _AT('to'); ?></label></dt>       <br />
+               <dd><input type="text" id="to"  name="to" value="<?php echo $to; ?>" />
+               <img src='images/calendar.gif' style="vertical-align: middle; cursor: pointer;" onclick="scwShow(scwID('to'),event);" alt="<?php echo _AT('date'); ?>" /></dd>
+               </div>
+               <dt><label for="description"><?php echo _AT('description'); ?></label></dt>     
+               <dd><textarea name="description" id="description" cols="35" rows="5"><?php echo $description; ?></textarea></dd>
+               </dl>
+               <input type="hidden" name="id" value="<?php echo $this->id; ?>" />
+               <?php if($_GET['id']){ ?>
+               <input type="hidden" name="edit" value="education" />
+               <?php }else { ?>
+               <input type="hidden" name="add" value="education" />
+               <?php } ?>
+       
+               <input type="submit" name="submit" class="button" value="<?php echo _AT('save'); ?>" />
+               <input type="submit" name="cancel" class="button" value="<?php echo _AT('cancel'); ?>" />
+       
+</form>
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/edit_profile/edit_personal.tmpl.php b/docs/themes/mobile/social/edit_profile/edit_personal.tmpl.php
new file mode 100644 (file)
index 0000000..4482652
--- /dev/null
@@ -0,0 +1,66 @@
+<?php
+       global $addslashes;
+
+       //escape all strings
+       $per_weight      = htmlentities_utf8($this->per_weight);
+       $per_height      = htmlentities_utf8($this->per_height);
+       $per_hair        = htmlentities_utf8($this->per_hair);
+       $per_eyes        = htmlentities_utf8($this->per_eyes);
+       $per_ethnicity   = htmlentities_utf8($this->per_ethnicity);
+       $per_languages   = htmlentities_utf8($this->per_languages);
+       $per_disabilities = htmlentities_utf8($this->per_disabilities);
+
+?>
+
+<div class="headingbox"><h3><?php if($_GET['id']){echo _AT('edit_personal');}else{echo  _AT('add_new_personal');}?></h3></div>
+<div class="contentbox">
+<form method="post" action="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php'); ?>">
+       <dl id="public-profile">
+               <div class="row"> 
+               <dt><label for="per_weight"><?php echo _AT('per_weight'); ?></label></dt>
+               <dd><input type="text" id="per_weight"  name="per_weight" value="<?php echo $per_weight; ?>" /></dd>
+               </div>  
+               
+               <div class="row">
+               <dt><label for="per_height"><?php echo _AT('per_height'); ?></label></dt>
+               <dd><input type="text" id="per_height"  name="per_height" value="<?php echo $per_height; ?>" /></dd>
+               </div>          
+               
+               <div class="row">
+               <dt><label for="per_hair"><?php echo _AT('per_hair'); ?></label></dt>
+               <dd><input type="text" id="per_hair"  name="per_hair" value="<?php echo $per_hair; ?>" /></dd>
+               </div>
+
+               <div class="row">
+               <dt><label for="per_eyes"><?php echo _AT('per_eyes'); ?></label></dt>
+               <dd><input type="text" id="per_eyes"  name="per_eyes" value="<?php echo $per_eyes; ?>" /></dd>
+               </div>
+       
+               <div class="row">
+               <dt><label for="per_ethnicity"><?php echo _AT('per_ethnicity'); ?></label></dt>
+               <dd><input type="text" id="per_ethnicity"  name="per_ethnicity" value="<?php echo $per_ethnicity; ?>" /></dd>
+               </div>
+
+               <div class="row">
+               <dt><label for="per_languages"><?php echo _AT('per_languages'); ?></label></dt>
+               <dd><input type="text" id="per_languages"  name="per_languages" value="<?php echo $per_languages; ?>" /></dd>
+               </div>
+
+               <div class="row">
+               <dt><label for="per_disabilities"><?php echo _AT('per_disabilities'); ?></label></dt>
+               <dd><input type="text" id="per_disabilities"  name="per_disabilities" value="<?php echo $per_disabilities; ?>" /></dd>
+               </div>
+
+               </dl>
+               <input type="hidden" name="id" value="<?php echo $this->id; ?>" />
+               <?php if($_GET['id']){ ?>
+               <input type="hidden" name="edit" value="personal" />
+               <?php }else { ?>
+               <input type="hidden" name="add" value="personal" />
+               <?php } ?>
+       
+               <input type="submit" name="submit" class="button" value="<?php echo _AT('save'); ?>" />
+               <input type="submit" name="cancel" class="button" value="<?php echo _AT('cancel'); ?>" />
+       
+</form>
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/edit_profile/edit_position.tmpl.php b/docs/themes/mobile/social/edit_profile/edit_position.tmpl.php
new file mode 100644 (file)
index 0000000..1e2a1a2
--- /dev/null
@@ -0,0 +1,54 @@
+<?php
+       global $addslashes;
+       //escape all strings
+       $company                = htmlentities_utf8($this->company);
+       $title                  = htmlentities_utf8($this->profile_title);
+       $description    = htmlentities_utf8($this->description, false);
+       $from                   = htmlentities_utf8($this->from);
+       $to                             = htmlentities_utf8($this->to);
+?>
+<script type="text/javascript" src="jscripts/calendar.js"></script>
+<script type="text/javascript"> 
+<!--
+       //overwrite calendar dates range settings.
+       scwBaseYear                     = scwDateNow.getFullYear()-50; 
+       scwDropDownYears        = 70; 
+-->
+</script>
+<div class="headingbox"><h3><?php if($_GET['id']){echo _AT('edit_position');}else{echo  _AT('add_new_position');}?></h3></div>
+<div class="contentbox">
+<form method="post" action="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php'); ?>">
+       <dl id="public-profile">
+               <div class="row">
+               <dt><label for="company"><?php echo _AT('company'); ?></label></dt>
+               <dd><input type="text" id="company" name="company" value="<?php echo $company; ?>" /></dd>
+               </div>
+               <div class="row">
+               <dt><label for="title"><?php echo _AT('position'); ?></label></dt>
+               <dd><input type="text" id="title" name="title" value="<?php echo $title; ?>" /></dd>
+               </div>
+               <div class="row">
+               <dt><label for="from"><?php echo _AT('from'); ?></label></dt>
+               <dd><input type="text" id="from" name="from" value="<?php echo $from; ?>" />
+               <img src='images/calendar.gif' style="vertical-align: middle; cursor: pointer;" onclick="scwShow(scwID('from'),event);"  alt="<?php echo _AT('date'); ?>"/></dd>
+               </div>
+               <div class="row">
+               <dt><label for="to"><?php echo _AT('to'); ?></label></dt>
+               <dd><input type="text" id="to" name="to" value="<?php echo $to; ?>" />
+               <img src='images/calendar.gif' style="vertical-align: middle; cursor: pointer;" onclick="scwShow(scwID('to'),event);"  alt="<?php echo _AT('date'); ?>"/></dd>
+               </div>
+               <dt><label for="description"><?php echo _AT('description'); ?></label>  </dt>
+               <dd><textarea name="description" id="description" cols="40" rows="5"><?php echo $description; ?></textarea></dd>
+       </dl>
+       <input type="hidden" name="id" value="<?php echo $this->id; ?>" />
+       
+               <input type="hidden" name="id" value="<?php echo $this->id; ?>" />
+               <?php if($_GET['id']){ ?>
+               <input type="hidden" name="edit" value="position" />
+               <?php } else { ?>
+               <input type="hidden" name="add" value="position" />
+               <?php } ?>
+       <input type="submit" class="button" name="submit" value="<?php echo _AT('save'); ?>" />
+       <input type="submit" class="button" name="cancel" value="<?php echo _AT('cancel'); ?>" />
+</form>
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/edit_profile/edit_representation.tmpl.php b/docs/themes/mobile/social/edit_profile/edit_representation.tmpl.php
new file mode 100644 (file)
index 0000000..bc97d10
--- /dev/null
@@ -0,0 +1,49 @@
+<?php
+       global $addslashes;
+
+       //escape all strings
+       $rep_name        = htmlentities_utf8($this->rep_name);
+       $rep_title       = htmlentities_utf8($this->rep_title);
+       $rep_phone       = htmlentities_utf8($this->rep_phone);
+       $rep_email       = htmlentities_utf8($this->rep_email);
+       $rep_address     = htmlentities_utf8($this->rep_address);
+
+?>
+
+<div class="headingbox"><h3><?php if($_GET['id']){echo _AT('edit_representation');}else{echo  _AT('add_new_representation');}?></h3></div>
+<div class="contentbox">
+<form method="post" action="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php'); ?>">
+       <dl id="public-profile">
+               <div class="row">
+               <dt><label for="rep_name"><?php echo _AT('name'); ?></label></dt>
+               <dd><input type="text" id="rep_name" name="rep_name" value="<?php echo $rep_name; ?>" /></dd>
+               </div>
+               <div class="row">
+               <dt><label for="rep_title"><?php echo _AT('title'); ?></label></dt>
+               <dd><input type="text" id="rep_title"  name="rep_title" value="<?php echo $rep_title; ?>" /></dd>
+               </div>
+               <div class="row">
+               <dt><label for="rep_phone"><?php echo _AT('phone'); ?></label></dt>
+               <dd><input type="text" id="rep_phone"  name="rep_phone" value="<?php echo $rep_phone; ?>" /></dd>
+               </div>
+               <div class="row">
+               <dt><label for="rep_email"><?php echo _AT('email'); ?></label></dt>
+               <dd><input type="text" id="rep_email"  name="rep_email" value="<?php echo $rep_email; ?>" /></dd>
+               </div>
+               
+               <dt><label for="rep_address"><?php echo _AT('street_address'); ?></label></dt>  
+               <dd><textarea name="rep_address" id="rep_address" cols="40" rows="5"><?php echo $rep_address; ?></textarea></dd>
+               </dl>
+               
+               <input type="hidden" name="id" value="<?php echo $this->id; ?>" />
+               <?php if($_GET['id']){ ?>
+               <input type="hidden" name="edit" value="representation" />
+               <?php }else { ?>
+               <input type="hidden" name="add" value="representation" />
+               <?php } ?>
+       
+               <input type="submit" name="submit" class="button" value="<?php echo _AT('save'); ?>" />
+               <input type="submit" name="cancel" class="button" value="<?php echo _AT('cancel'); ?>" />
+       
+</form>
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/edit_profile/edit_websites.tmpl.php b/docs/themes/mobile/social/edit_profile/edit_websites.tmpl.php
new file mode 100644 (file)
index 0000000..e604da6
--- /dev/null
@@ -0,0 +1,32 @@
+<?php
+       global $addslashes;
+
+       //escape all strings
+       $url            = htmlentities_utf8($this->url);
+       $site_name      = htmlentities_utf8($this->site_name);
+?>
+<div class="headingbox"><h3><?php if($_GET['id']){echo _AT('edit_websites');}else{echo  _AT('add_new_website');}?></h3></div>
+<div class="contentbox">
+<form method="POST" action="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'edit_profile.php'); ?>">
+       <dl id="public-profile">
+       <div class="row">
+       <dt><label for="url"><?php echo _AT('url'); ?></label></dt>
+       <dd><input type="text" id="url" name="url" value="<?php echo $url; ?>" /></dd>
+       </div>
+       <div class="row">
+       <dt><label for="site_name"><?php echo _AT('site_name'); ?></label></dt>
+       <dd><input type="text" id="site_name" name="site_name" value="<?php echo $site_name; ?>" /></dd>
+       </div>
+       <br />
+       <input type="hidden" name="id" value="<?php echo $this->id; ?>" />
+               <input type="hidden" name="id" value="<?php echo $this->id; ?>" />
+               <?php if($_GET['id']){ ?>
+               <input type="hidden" name="edit" value="websites" />
+               <?php }else { ?>
+               <input type="hidden" name="add" value="websites" />
+               <?php } ?>
+       <input type="submit" name="submit" class="button" value="<?php echo _AT('save'); ?>" />
+       <input type="submit" name="cancel" class="button" value="<?php echo _AT('cancel'); ?>" />
+       </dl>
+</div>
+</form>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/friend_list.tmpl.php b/docs/themes/mobile/social/friend_list.tmpl.php
new file mode 100644 (file)
index 0000000..edb78d8
--- /dev/null
@@ -0,0 +1,35 @@
+<div style="float:right;width:100%;">
+<?php require('notifications.tmpl.php'); ?>
+</div>
+<div style="float:right;min-width:100%;">
+       <div class="headingbox">
+       <h3><a href="<?php echo AT_SOCIAL_BASENAME; ?>connections.php"><?php echo _AT('connections'); ?></a></h3></div>
+       <div class="contentbox">
+       <?php
+       /**
+        * Loop through all the friends and print out a list.  
+        */
+       if (!empty($this->friends)): ?>
+               <?php foreach ($this->friends as $id=>$m_obj): 
+                       if (is_array($m_obj) && $m_obj['added']!=1){
+                               //skip over members that are not "my" friends
+                               continue;
+                       } ?>
+                       <div style="width:100%;">
+                               <!-- don't want delete on the front page
+                               <div style="float:right;">
+                                       <a style="vertical-align:top;" href="<?php echo url_rewrite('mods/social/index.php');?>?remove=yes<?php echo SEP;?>id=<?php echo $id;?>"><img src="<?php echo $_base_href; ?>mods/social/images/b_drop.png" alt="<?php echo _AT('delete'); ?>" title="<?php echo _AT('delete'); ?>" border="0"/></a>
+                               </div>
+                               -->
+                               <div style="width:110px; float:left; padding-bottom:0.2em;">
+                                       <?php echo printSocialProfileImg($id); ?><br />
+                                       <?php echo printSocialName($id); ?>
+                               </div>
+                       </div>
+               <?php endforeach; ?>
+               <div style="clear:both;"><a href="<?php echo AT_SOCIAL_BASENAME; ?>connections.php"><?php echo _AT('show_all');?></a></div>
+       <?php else: ?>
+       <?php echo _AT('no_friends'); ?>
+       <?php endif; ?>
+       </div>
+</div>
diff --git a/docs/themes/mobile/social/index_public.tmpl.php b/docs/themes/mobile/social/index_public.tmpl.php
new file mode 100644 (file)
index 0000000..a492d79
--- /dev/null
@@ -0,0 +1,73 @@
+<script src="<?php echo AT_SOCIAL_BASENAME; ?>lib/js/livesearch.js" type="text/javascript"></script>
+<?php 
+       //Add Friends Template
+       //Generate a random number for the search input name fields, so that the browser will not remember any previous entries.
+       $rand = md5(rand(0, time())); 
+       if ($this->rand_key != ''){
+               $last_search = $_POST['search_friends_'.$this->rand_key];
+       } else {
+               $last_search = $_POST['search_friends_'.$rand]; 
+       }
+?>
+<?php print_paginator($this->page, $this->num_pages, 'search_friends='.$this->search_field, 1);  ?>
+
+<div class="input-form" style="float:right; width:34%;padding:1em;min-height:4.5em;">
+       <div class="contentrow">
+               <h3><?php echo _AT('search_for_friends'); ?></h3>
+               <form action="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'index_public.php');?>" method="POST" id="search_friends_form">
+                       <label for="searchFriends" style="display:none;"><?php echo _AT('search'); ?></label>
+                       <input type="text" size="60" name="search_friends_<?php echo $rand;?>" id="search_friends" value="<?php echo $last_search; ?>" onkeyup="showResults(this.value, 'livesearch', '<?php echo AT_SOCIAL_BASENAME; ?>index_public.php')"/>
+                       <input type="submit" name="search" value="<?php echo _AT('search'); ?>">
+                       <input type="hidden" name="rand_key" value="<?php echo $rand; ?>" />
+                       
+                       <div id="livesearch"></div>
+               </form>
+       </div>
+</div>
+<div class="" style="float:left; width:59%">
+       <div class="headingbox"><h3><?php echo _AT('search_results'); ?></h3></div>
+       <div class="contentbox">
+       <?php 
+       if (!empty($this->friends)):
+               $privacy_controller = new PrivacyController();
+               echo "<h4>"._AT('there_are_entries', sizeof($this->friends))."</h4>";
+               foreach ($this->friends as $id=>$person): 
+                       $privacy_obj = $privacy_controller->getPrivacyObject($id);
+//                     debug($privacy_obj->getSearch(), 'search'.$id);
+                       $relationship = $privacy_controller->getRelationship($id);
+
+                       if ((!isset($person['added']) || $person['added']!=1) && !PrivacyController::validatePrivacy(AT_SOCIAL_SEARCH_VISIBILITY, $relationship, $privacy_obj->getSearch())){
+                               //if this user doesn't want to be searched.
+                               continue;
+                       }
+       ?>
+       <div class="contact_mini" >
+               <div>
+                       <div style="float:left;"><?php echo printSocialProfileImg($id); ?></div>
+                       <div style="padding-left:0.5em; float:left;">
+                               <?php 
+                                       $member_obj = new Member($id);
+                                       $profile = $member_obj->getAddress();
+                                       echo printSocialName($id) . '<br/>';
+                                       echo $profile['country'] . ' ' . $profile['province'] . '<br/>';
+                               ?>
+                       </div>
+                       <div style="clear:both;"></div><br/>
+               </div>  
+       </div>
+       <?php 
+               endforeach; 
+               else: 
+                       echo _AT('none_found');
+       endif;
+       ?>
+       </div>
+       <!--
+       <div style="float:right;">
+               [-- TODO: Paginator --]
+       </div>
+       -->
+</div>
+
+<div style="clear:both;"></div>
+<?php print_paginator($this->page, $this->num_pages, 'search_friends='.$this->search_field, 1);  ?>
diff --git a/docs/themes/mobile/social/individual_application.tmpl.php b/docs/themes/mobile/social/individual_application.tmpl.php
new file mode 100644 (file)
index 0000000..54d6455
--- /dev/null
@@ -0,0 +1,20 @@
+<!--  compressed with java -jar {$path}/yuicompressor-2.3.5.jar -o {$file}-min.js {$file}.js -->
+<script type="text/javascript"
+       src="<?php echo AT_SHINDIG_URL; ?>/gadgets/js/rpc.js?c=1"></script>
+<!-- header.inc.php has jscript/InfusionAll.js imported.  Jquery should be there with it
+<script type="text/javascript" src="<?php echo AT_SOCIAL_BASENAME; ?>lib/js/jquery-1.3.2.js"></script>
+-->
+<script type="text/javascript"
+       src="<?php echo AT_SOCIAL_BASENAME; ?>lib/js/prototype.js"></script>
+<script type="text/javascript" src="<?php echo AT_SOCIAL_BASENAME; ?>lib/js/container.js"></script>
+<div class="social-wrapper">
+<h3><?php echo $this->app->getTitle(); ?></h3>
+<div class="gadgets-gadget-content"><iframe width="95%"
+       scrolling="<?php echo $this->app->getScrolling(); ?>"
+       height="<?php $app=$this->app; echo $app->getHeight();?>px"
+       frameborder="0" src="<?php echo $this->iframe_url;?>" class="gadgets-gadget"
+       name="remote_iframe_<?php echo $this->app->getId();?>"
+       id="remote_iframe_<?php echo $this->app->getId();?>"></iframe>
+</div>
+<div style="clear:both;"></div>
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/notifications.tmpl.php b/docs/themes/mobile/social/notifications.tmpl.php
new file mode 100644 (file)
index 0000000..7196606
--- /dev/null
@@ -0,0 +1,72 @@
+<?php 
+//Friend request
+if(!empty($this->pending_requests)): 
+?>
+
+<div class="headingbox"><h3><?php echo _AT('pending_friend_requests'); ?></h3></div>
+<div class="contentbox">
+<?php foreach ($this->pending_requests as $id=>$r_obj): ?>
+       <div class="box" style="border:thin solid black;">
+               <div style="float:right;">
+                       <a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.AT_SOCIAL_INDEX);?>?approval=y<?php echo SEP;?>id=<?php echo $r_obj->id;?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/check_icon.gif" alt="<?php echo _AT('accept_request'); ?>" title="<?php echo _AT('accept_request'); ?>" border="0"/></a><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'index.php');?>?approval=n<?php echo SEP;?>id=<?php echo $r_obj->id;?>"> <img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/b_drop.png" alt="<?php echo _AT('reject_request'); ?>" title="<?php echo _AT('reject_request'); ?>" border="0"/></a>
+               </div>
+               <ul style="list-style:none;">
+                       <li style="display:inline;"><?php echo printSocialProfileImg($id);?></li>
+                       <li style="display:inline;"><?php echo printSocialName($id) ?></li>
+               </ul>
+       </div><br />
+<?php endforeach; ?>
+</div><br />
+<?php endif; ?>
+
+<?php 
+//Group invitations requests
+if(!empty($this->group_invitations)): ?>
+<div class="headingbox"><h3><?php echo _AT('new_group_invitations'); ?></h3></div>
+<?php
+       foreach ($this->group_invitations as $id=>$sender_ids): 
+       $gobj = new SocialGroup($id);
+       $name = '';
+               foreach($sender_ids as $index=>$sender_id){
+                       $name .= printSocialName($sender_id).', ';
+               }
+       $name = substr($name, 0, -2);
+?>
+<div class="contentbox">
+       <div style="float:right;">
+               <a href="<?php echo AT_SOCIAL_BASENAME; ?>groups/invitation_handler.php?invitation=accept<?php echo SEP;?>id=<?php echo $gobj->getID();?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/check_icon.gif" alt="<?php echo _AT('accept_request'); ?>" title="<?php echo _AT('accept_request'); ?>" border="0"/></a> <a href="<?php echo AT_SOCIAL_BASENAME;?>groups/invitation_handler.php?invitation=reject<?php echo SEP;?>id=<?php echo $gobj->getID();?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/b_drop.png" alt="<?php echo _AT('reject_request'); ?>" title="<?php echo _AT('reject_request'); ?>" border="0"/></a>
+       </div>
+       <ul>
+               <li class="activity"><?php echo _AT('has_invited_join', $name, '<a href="'.url_rewrite(AT_SOCIAL_BASENAME . 'groups/view.php?id='.$gobj->getID()).'">'.$gobj->getName().'</a>'); ?></li>
+       </ul>
+</div>
+<?php endforeach; ?><br />
+
+<?php endif; ?>
+
+<?php
+//Group requests
+if (!empty($this->group_requests)): 
+?>
+
+<div class="headingbox"><h3><?php echo _AT('new_group_requests'); ?></h3></div>
+<div class="contentbox">
+<?php
+foreach ($this->group_requests as $id=>$senders):
+       $gobj = new SocialGroup($id);
+       foreach($senders as $index=>$sender_id):
+       $name = printSocialName($sender_id);?>
+       <div class="box" style="border:thin solid black;">
+               <div style="float:right;">
+                       <a href="<?php echo AT_SOCIAL_BASENAME; ?>groups/invitation_handler.php?request=accept<?php echo SEP;?>id=<?php echo $gobj->getID().SEP;?>sender_id=<?php echo $sender_id;?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/check_icon.gif" alt="<?php echo _AT('accept_request'); ?>" title="<?php echo _AT('accept_request'); ?>" border="0"/></a> <a href="<?php echo AT_SOCIAL_BASENAME; ?>groups/invitation_handler.php?request=reject<?php echo SEP;?>id=<?php echo $gobj->getID().SEP;?>sender_id=<?php echo $sender_id;?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/b_drop.png" alt="<?php echo _AT('reject_request'); ?>" title="<?php echo _AT('reject_request'); ?>" border="0"/></a>
+               </div>
+               <ul>
+                       <li id="activity"><?php echo _AT('has_requested_to', $name, '<a href="'.url_rewrite(AT_SOCIAL_BASENAME . 'groups/view.php?id='.$gobj->getID()).'">'.$gobj->getName().'</a>'); ?></li>
+               </ul>
+       </div>
+       <?php endforeach;?>
+       
+<?php endforeach; ?>
+</div><br />
+
+<?php endif; ?>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/oauth/authorize.tmpl.php b/docs/themes/mobile/social/oauth/authorize.tmpl.php
new file mode 100644 (file)
index 0000000..ea70040
--- /dev/null
@@ -0,0 +1,15 @@
+<div>
+<h1>Grant access to your private information?</h1>
+
+<form class="input-form" action="approve_authorization.php" method="post">
+       <div class="row">
+               An application is requesting access to your information. You should
+               only approve this request if you trust the application.
+       </div>
+       <input type="hidden" name="oauth_token" value="<?php echo htmlspecialchars($this->token); ?>" /> 
+       <input type="hidden" name="oauth_callback" value="<?php echo htmlspecialchars($this->callback); ?>" />
+       <input class="button" type="submit" value="Approve" />
+       <input class="button" type="button" value="Decline" onclick="location.href='/'" />
+</form>
+<div style="clear: both"></div>
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/oauth/footer.tmpl.php b/docs/themes/mobile/social/oauth/footer.tmpl.php
new file mode 100644 (file)
index 0000000..5bb3374
--- /dev/null
@@ -0,0 +1,10 @@
+</div>
+
+<div id="footer">
+       <br /><br />
+       <?php require(AT_INCLUDE_PATH.'html/languages.inc.php'); ?>
+       <?php require(AT_INCLUDE_PATH.'html/copyright.inc.php'); ?>
+</div>
+
+</div></body>
+</html>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/oauth/header.tmpl.php b/docs/themes/mobile/social/oauth/header.tmpl.php
new file mode 100644 (file)
index 0000000..3aa0f38
--- /dev/null
@@ -0,0 +1,70 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="<?php echo $this->lang_code; ?>"> 
+<head>
+       <title><?php echo SITE_NAME; ?> : <?php echo $this->page_title; ?></title>
+       <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $this->lang_charset; ?>" />
+       <meta name="Generator" content="ATutor - Copyright 2005 by http://atutor.ca" />
+       <base href="<?php echo $this->content_base_href; ?>" />
+       <link rel="shortcut icon" href="<?php echo $this->base_path; ?>favicon.ico" type="image/x-icon" />
+       <link rel="stylesheet" href="<?php echo $this->base_path.'themes/'.$this->theme; ?>/print.css" type="text/css" media="print" />
+       <link rel="stylesheet" href="<?php echo $this->base_path.'themes/'.$this->theme; ?>/styles.css" type="text/css" />
+       <!--[if IE]>
+         <link rel="stylesheet" href="<?php echo $this->base_path.'themes/'.$this->theme; ?>/ie_styles.css" type="text/css" />
+       <![endif]-->
+    <link rel="stylesheet" href="<?php echo $this->base_path.'themes/'.$this->theme; ?>/forms.css" type="text/css" />
+    <link rel="stylesheet" href="<?php echo $this->base_path; ?>jscripts/jquery-ui-1.7.2/css/smoothness/jquery-ui-1.7.2.custom.css" type="text/css" />
+<?php echo $this->rtl_css; ?>
+<?php if (isset($this->course_id) && $system_courses[$this->course_id]['rss']): ?>
+       <link rel="alternate" type="application/rss+xml" title="<?php echo SITE_NAME; ?> - RSS 2.0" href="<?php echo $this->base_href; ?>get_rss.php?<?php echo $this->course_id; ?>-2" />
+       <link rel="alternate" type="application/rss+xml" title="<?php echo SITE_NAME; ?> - RSS 1.0" href="<?php echo $this->base_href; ?>get_rss.php?<?php echo $this->course_id; ?>-1" />
+<?php endif; ?>
+       <script src="<?php echo $this->base_path; ?>jscripts/infusion/InfusionAll.js" type="text/javascript"></script>
+    <script src="<?php echo $this->base_path; ?>jscripts/infusion/jquery.autoHeight.js" type="text/javascript"></script>
+    <script src="<?php echo $this->base_path; ?>jscripts/jquery-ui-1.7.2/development-bundle/ui/ui.resizable.js" type="text/javascript"></script>
+       <script language="javascript" type="text/javascript">
+       //<!--
+       jQuery.noConflict();
+       //-->
+       </script>
+    <script src="<?php echo $this->base_path; ?>jscripts/ATutor.js" type="text/javascript"></script>   
+<?php echo $this->custom_css; ?>
+    <style id="pref_style" type="text/css"></style> 
+</head>
+
+<body>
+<div class="page_wrapper">
+<div id="header">
+       <a href="<?php echo htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES); ?>#content" accesskey="c">
+       <img src="<?php echo $this->base_path; ?>images/clr.gif" height="1" width="1" border="0" alt="<?php echo _AT('goto_content'); ?> ALT+c" /></a>  
+       <a href="<?php echo htmlspecialchars($_SERVER['REQUEST_URI'], ENT_QUOTES); ?>#menu<?php echo $_REQUEST['cid']  ?>"  accesskey="m"><img src="<?php echo $this->base_path; ?>images/clr.gif" height="1" width="1" border="0" alt="<?php echo _AT('goto_menu'); ?> ALT+m" /></a>
+
+       <?php if (!empty($this->icon)) { // if a course icon is available, display it here.  ?>
+               <a href="<?php echo $this->base_path.url_rewrite('index.php'); ?>"><img src="<?php echo $this->icon; ?>" class="headicon" alt="<?php echo  _AT('home'); ?>" /></a>      
+       <?php } ?>
+
+
+
+       <?php
+       // If there is a custom course banner in the file manager called banner.html, display it here
+       @readfile(AT_CONTENT_DIR . $this->course_id.'/banner.txt'); 
+
+       /*
+       and example banner.html file might look like:
+       <div style="width: 760px; height: 42px; background: white;"><img src="http://[mysite]/atutor15rc3/banners/kart-camb.jpg"></div>
+       */
+
+       ?>
+       <!-- section title -->
+       <?php if (isset($_SESSION['valid_user']) && $_SESSION['valid_user']): 
+               echo '<div class="site-name">'.stripslashes(SITE_NAME).'</div>'; 
+       else:
+               echo '<br />';  
+       endif; ?>
+       <h1 id="section-title"><?php echo $this->section_title; ?>
+               <?php if ((isset($this->course_id) && $this->course_id > 0) && ($_SESSION['enroll'] == AT_ENROLL_NO)) : ?> 
+                       - <small><a href="<?php echo $this->base_path; ?>enroll.php?course=<?php echo $this->course_id; ?>"><?php echo _AT('enroll_me'); ?></a></small>
+               <?php endif; ?>
+       </h1>
+</div>
+<div class="contentwrapper">
diff --git a/docs/themes/mobile/social/profile_picture.html.php b/docs/themes/mobile/social/profile_picture.html.php
new file mode 100644 (file)
index 0000000..f5126d2
--- /dev/null
@@ -0,0 +1,216 @@
+<?php\r
+/************************************************************************/\r
+/* ATutor                                                                                                                              */\r
+/************************************************************************/\r
+/* Copyright (c) 2002-2008 by Greg Gay, Joel Kronenberg & Heidi Hazelton*/\r
+/* Adaptive Technology Resource Centre / University of Toronto                 */\r
+/* http://atutor.ca                                                                                                            */\r
+/*                                                                                                                                             */\r
+/* This program is free software. You can redistribute it and/or               */\r
+/* modify it under the terms of the GNU General Public License                 */\r
+/* as published by the Free Software Foundation.                                               */\r
+/************************************************************************/\r
+// $Id: profile_picture.html.php 9418 2010-03-03 16:39:24Z greg $\r
+if (!defined('AT_INCLUDE_PATH')) { exit; }\r
+\r
+function resize_image($src, $dest, $src_h, $src_w, $dest_h, $dest_w, $type, $src_x=0, $src_y=0) {\r
+       $thumbnail_img = imagecreatetruecolor($dest_w, $dest_h);\r
+\r
+       if ($type == 'gif') {\r
+               $source = imagecreatefromgif($src);\r
+       } else if ($type == 'jpg') {\r
+               $source = imagecreatefromjpeg($src);\r
+       } else {\r
+               $source = imagecreatefrompng($src);\r
+       }\r
+       \r
+       if ($src_x > 0 || $src_y > 0){\r
+               imagecopyresized($thumbnail_img, $source, 0, 0, $src_x, $src_y, $dest_w, $dest_h, $src_w, $src_h);\r
+       } else {\r
+               imagecopyresampled($thumbnail_img, $source, $src_x, $src_y, 0, 0, $dest_w, $dest_h, $src_w, $src_h);\r
+       }\r
+\r
+       if ($type == 'gif') {\r
+               imagegif($thumbnail_img, $dest);\r
+       } else if ($type == 'jpg') {\r
+               imagejpeg($thumbnail_img, $dest, 75);\r
+       } else {\r
+               imagepng($thumbnail_img, $dest, 7);\r
+       }\r
+}\r
+\r
+// check if GD is installed\r
+if (!extension_loaded('gd')) {\r
+       require(AT_INCLUDE_PATH.'header.inc.php');\r
+       $msg->printInfos('FEATURE_NOT_AVAILABLE');\r
+       require(AT_INCLUDE_PATH.'footer.inc.php');\r
+       exit;\r
+}\r
+\r
+// check if folder exists, if not, create it\r
+if (!is_dir(AT_CONTENT_DIR.'/profile_pictures/profile')) {\r
+       mkdir(AT_CONTENT_DIR.'/profile_pictures/profile');\r
+}\r
+\r
+$gd_info = gd_info();\r
+$supported_images = array();\r
+if ($gd_info['GIF Create Support']) {\r
+       $supported_images[] = 'gif';\r
+}\r
+if ($gd_info['JPG Support']) {\r
+       $supported_images[] = 'jpg';\r
+}\r
+if ($gd_info['PNG Support']) {\r
+       $supported_images[] = 'png';\r
+}\r
+\r
+if (!$supported_images) {\r
+       require(AT_INCLUDE_PATH.'header.inc.php');\r
+       $msg->printInfos('FEATURE_NOT_AVAILABLE');\r
+       require(AT_INCLUDE_PATH.'footer.inc.php');\r
+       exit;\r
+}\r
+\r
+if (isset($_POST['cancel'])) {\r
+       $msg->addFeedback('CANCELLED');\r
+       header('Location: '.$_SERVER['PHP_SELF'].'?member_id='.$member_id);\r
+       exit;\r
+} else if (isset($_POST['submit'])) {\r
+       if (isset($_POST['delete']) && !$_FILES['file']['size']) {\r
+               profile_image_delete($member_id);\r
+\r
+               $msg->addFeedback('PROFILE_UPDATED');\r
+\r
+               header('Location: '.$_SERVER['PHP_SELF'].'?member_id='.$member_id);\r
+               exit;\r
+       } else if ($_FILES['file']['error'] == UPLOAD_ERR_FORM_SIZE) {\r
+               $msg->addError(array('FILE_MAX_SIZE', $_config['prof_pic_max_file_size'] . ' ' . _AT('bytes')));\r
+               header('Location: '.$_SERVER['PHP_SELF'].'?member_id='.$member_id);\r
+               exit;\r
+       } else if (!$_FILES['file']['size']) {\r
+               header('Location: '.$_SERVER['PHP_SELF'].'?member_id='.$member_id);\r
+               exit;\r
+       }\r
+\r
+       // check if this is a supported file type\r
+       $filename   = $stripslashes($_FILES['file']['name']);\r
+       $path_parts = pathinfo($filename);\r
+       $extension  = strtolower($path_parts['extension']);\r
+       $image_attributes = getimagesize($_FILES['file']['tmp_name']);\r
+\r
+       if ($extension == 'jpeg') {\r
+               $extension = 'jpg';\r
+       }\r
+\r
+       if (!in_array($extension, $supported_images)) {\r
+               $msg->addError(array('FILE_ILLEGAL', $extension));\r
+               header('Location: '.$_SERVER['PHP_SELF'].'?member_id='.$member_id);\r
+               exit;\r
+       } else if ($image_attributes[2] > IMAGETYPE_PNG) {\r
+               $msg->addError(array('FILE_ILLEGAL', $extension));\r
+               header('Location: '.$_SERVER['PHP_SELF'].'?member_id='.$member_id);\r
+               exit;\r
+       }\r
+\r
+       // make sure under max file size\r
+       if ($_FILES['file']['size'] > $_config['prof_pic_max_file_size']) {\r
+               $msg->addError('FILE_MAX_SIZE');\r
+               header('Location: '.$_SERVER['PHP_SELF'].'?member_id='.$member_id);\r
+               exit;\r
+       }\r
+\r
+       // delete the old images (if any)\r
+       profile_image_delete($member_id);\r
+\r
+       $new_filename   = $member_id . '.' . $extension;\r
+       $original_img  = AT_CONTENT_DIR.'profile_pictures/originals/'. $new_filename;\r
+       $profile_img   = AT_CONTENT_DIR.'profile_pictures/profile/'. $new_filename;\r
+       $thumbnail_img = AT_CONTENT_DIR.'profile_pictures/thumbs/'. $new_filename;\r
+\r
+       // save original\r
+       if (!move_uploaded_file($_FILES['file']['tmp_name'], $original_img)) {\r
+               $msg->addError('CANNOT_OVERWRITE_FILE');\r
+               header('Location: '.$_SERVER['PHP_SELF'].'?member_id='.$member_id);\r
+               exit;\r
+       }\r
+\r
+       // resize the original and save it at $thumbnail_file\r
+       $width  = $image_attributes[0];\r
+       $height = $image_attributes[1];\r
+\r
+       $thumbnail_fixed_height = 60; \r
+       $thumbnail_fixed_width = 60; \r
+\r
+       if ($width > $height && $height > $thumbnail_fixed_height) {\r
+               $thumbnail_height= $thumbnail_fixed_height;\r
+               $thumbnail_width = intval($thumbnail_fixed_height * $width / $height);\r
+               resize_image($original_img, $thumbnail_img, $height, $width, $thumbnail_height, $thumbnail_width, $extension);\r
+               //cropping\r
+               resize_image($thumbnail_img, $thumbnail_img, $thumbnail_fixed_height, $thumbnail_fixed_width, $thumbnail_fixed_height, $thumbnail_fixed_width, $extension, ($thumbnail_width-$thumbnail_fixed_width)/2);\r
+       } else if ($width <= $height && $width>$thumbnail_fixed_width) {\r
+               $thumbnail_height = intval($thumbnail_fixed_width * $height / $width);\r
+               $thumbnail_width  = $thumbnail_fixed_width;\r
+               resize_image($original_img, $thumbnail_img, $height, $width, $thumbnail_height, $thumbnail_width, $extension);\r
+               //cropping\r
+               resize_image($thumbnail_img, $thumbnail_img, $thumbnail_fixed_height, $thumbnail_fixed_width, $thumbnail_fixed_height, $thumbnail_fixed_width, $extension, 0, ($thumbnail_height-$thumbnail_fixed_height)/2);\r
+       } else {\r
+               // no resizing, just copy the image.\r
+               // it's too small to resize.\r
+               copy($original_img, $thumbnail_img);\r
+       }\r
+\r
+       // resize the original and save it to profile\r
+       $profile_fixed_height = 320;\r
+       $profile_fixed_width = 240;\r
+       if ($width > $height && $height>$profile_fixed_height) {\r
+               $profile_width = intval($profile_fixed_height * $width / $height);\r
+               $profile_height  = $profile_fixed_height;\r
+               resize_image($original_img, $profile_img, $height, $width, $profile_height, $profile_width, $extension);\r
+               //cropping\r
+               resize_image($profile_img, $profile_img, $profile_fixed_height, $profile_fixed_width, $profile_fixed_height, $profile_fixed_width, $extension, ($profile_width-$profile_fixed_width)/2);\r
+       } else if ($width <= $height && $width > $profile_fixed_width) {\r
+               $profile_width = $profile_fixed_width;\r
+               $profile_height = intval($profile_fixed_width * $height / $width);\r
+               resize_image($original_img, $profile_img, $height, $width, $profile_height, $profile_width, $extension);\r
+               //cropping\r
+               resize_image($profile_img, $profile_img, $profile_fixed_height, $profile_fixed_width, $profile_fixed_height, $profile_fixed_width, $extension, 0, ($profile_height-$profile_fixed_height)/2);\r
+       } else {\r
+               // no resizing, just copy the image.\r
+               // it's too small to resize.\r
+               copy($original_img, $profile_img);\r
+       }\r
+\r
+       $msg->addFeedback('PROFILE_UPDATED');\r
+\r
+       header('Location: '.$_SERVER['PHP_SELF'].'?member_id='.$member_id);\r
+       exit;\r
+}\r
+\r
+require(AT_INCLUDE_PATH.'header.inc.php');\r
+\r
+?>\r
+<div class="social-wrapper">\r
+<?php include("lib/profile_menu.inc.php")  ?>\r
+<br />\r
+<form method="post" enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>?member_id=<?php echo $member_id; ?>" name="form">\r
+<input type="hidden" name="MAX_FILE_SIZE" value="<?php echo $_config['prof_pic_max_file_size']; ?>" />\r
+<div class="input-form">\r
+<?php if (profile_image_exists($member_id)): ?>\r
+       <div class="row">\r
+               <a href="get_profile_img.php?id=<?php echo $member_id.SEP.'size=o'; ?>"><img src="get_profile_img.php?id=<?php echo $member_id; ?>" alt="" /></a>\r
+               <input type="checkbox" name="delete" value="1" id="del"/><label for="del"><?php echo _AT('delete'); ?></label>\r
+       </div>\r
+<?php endif; ?>\r
+       <div class="row">\r
+               <h3><label for="upload_picture"><?php echo _AT('upload_new_picture'); ?></label></h3>\r
+               <input type="file" name="file" id="upload_picture"/> (<?php echo implode(', ', $supported_images); ?>)</div>\r
+\r
+       <div class="row buttons">\r
+               <input type="submit" name="submit" value="<?php echo _AT('save'); ?>" />\r
+               <input type="submit" name="cancel" value="<?php echo _AT('cancel'); ?>" />\r
+       </div>\r
+</div>\r
+</form>\r
+<div style="clear:both;"></div>\r
+</div>\r
+<?php require(AT_INCLUDE_PATH.'footer.inc.php'); ?>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/settings/account_settings.tmpl.php b/docs/themes/mobile/social/settings/account_settings.tmpl.php
new file mode 100644 (file)
index 0000000..7e16ea8
--- /dev/null
@@ -0,0 +1,10 @@
+<form action="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'settings.php');?>" method="POST">
+<div class="input-form">
+       <h4><?php echo _AT('account_settings'); ?></h4>
+       <div class="row"><?php echo _AT('account_control_blurb'); ?> </div>
+       <div class="row">
+               <input type="hidden" name="n" value="account_settings" />
+               <input class="button" type="submit" name="submit" value="<?php echo _AT('save'); ?>"/>
+       </div>
+</div>
+</form>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/settings/application_settings.tmpl.php b/docs/themes/mobile/social/settings/application_settings.tmpl.php
new file mode 100644 (file)
index 0000000..a2f0b31
--- /dev/null
@@ -0,0 +1,27 @@
+<?php 
+if (empty($this->my_apps)):
+       echo _AT('no_gadgets_installed'); 
+else: ?>
+<br />
+<form action="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'settings.php');?>" method="POST">
+<div class="input-form"  style="padding:1em;">
+       <h4><?php echo _AT('application_settings'); ?></h4>
+       <div class="row"><?php echo _AT('application_control_blurb'); ?></div>
+       <?php foreach($this->my_apps as $id=>$app_obj): ?>
+       <div class="row" style="width:60%; border-bottom:1px solid #bbb;">
+               <div style="float:left;"><?php echo $app_obj->getTitle(); ?></div>
+               <div style="float:right;">
+                       <label for="app_<?php echo $app_obj->getID();?>"><?php echo _AT('show_on_home_page'); ?></label>
+                       <?php (isset($this->home_display[$id]))? $checked = ' checked="checked"': $checked = ''; ?>
+                       <input type="checkbox" id="app_<?php echo $app_obj->getID();?>" name="app[<?php echo $app_obj->getID();?>]" value="1" <?php echo $checked; ?>/>
+               </div>
+               <div><br/></div>
+       </div>
+       <?php endforeach;?>
+       <div class="row">
+               <input type="hidden" name="n" value="application_settings" />
+               <input class="button" type="submit" name="submit" value="<?php echo _AT('save'); ?>"/>
+       </div>
+</div>
+</form>
+<?php endif; ?>
diff --git a/docs/themes/mobile/social/settings/privacy_settings.tmpl.php b/docs/themes/mobile/social/settings/privacy_settings.tmpl.php
new file mode 100644 (file)
index 0000000..83082a1
--- /dev/null
@@ -0,0 +1,145 @@
+<br /><form action="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'settings.php');?>" method="POST">
+<div class="input-form">
+<h4><?php echo _AT('privacy_settings'); ?></h4>
+<div class="row-blurb"><?php echo _AT('privacy_control_blurb'); ?> </div>
+<br />
+<fieldset class="group_form"><legend class="group_form"><?php echo _AT('profile_control'); ?></legend>
+<div class="row">
+       <label for="basic_profile"><?php echo _AT('basic_profile'); ?></label>
+               <div>
+               <?php foreach ($this->controller->getPermissionLevels() as $control_id=>$control_string): 
+                       (isset($this->profile_prefs[AT_SOCIAL_PROFILE_BASIC][$control_id]))?$checked=' checked="checked"':$checked='';  ?>              
+               <label for="boxes_profile_<?php echo AT_SOCIAL_PROFILE_BASIC.'_'.$control_id; ?>"><?php echo $control_string; ?></label>
+               <input type="checkbox" id="boxes_profile_<?php echo AT_SOCIAL_PROFILE_BASIC.'_'.$control_id; ?>" name="profile_prefs[<?php echo AT_SOCIAL_PROFILE_BASIC;?>][<?php echo $control_id; ?>]" value="1"  <?php echo $checked; ?>>
+               <?php endforeach; ?>
+               </div>
+</div>
+<div class="row">
+       <label for="detailed_profile"><?php echo _AT('detailed_profile'); ?></label>
+       <div>
+               <?php foreach ($this->controller->getPermissionLevels() as $control_id=>$control_string): 
+                       (isset($this->profile_prefs[AT_SOCIAL_PROFILE_PROFILE][$control_id]))?$checked=' checked="checked"':$checked='';        ?>              
+               <label for="boxes_profile_<?php echo AT_SOCIAL_PROFILE_PROFILE.'_'.$control_id; ?>"><?php echo $control_string; ?></label>
+               <input type="checkbox" id="boxes_profile_<?php echo AT_SOCIAL_PROFILE_PROFILE.'_'.$control_id; ?>" name="profile_prefs[<?php echo AT_SOCIAL_PROFILE_PROFILE;?>][<?php echo $control_id; ?>]" value="1"  <?php echo $checked; ?>>
+               <?php endforeach; ?>
+       </div>
+</div>
+<div class="row">
+       <label for="status_update"><?php echo _AT('activities'); ?></label>
+       <div>
+               <?php foreach ($this->controller->getPermissionLevels() as $control_id=>$control_string): 
+                       (isset($this->profile_prefs[AT_SOCIAL_PROFILE_STATUS_UPDATE][$control_id]))?$checked=' checked="checked"':$checked='';  ?>              
+               <label for="boxes_profile_<?php echo AT_SOCIAL_PROFILE_STATUS_UPDATE.'_'.$control_id; ?>"><?php echo $control_string; ?></label>
+               <input type="checkbox" id="boxes_profile_<?php echo AT_SOCIAL_PROFILE_STATUS_UPDATE.'_'.$control_id; ?>" name="profile_prefs[<?php echo AT_SOCIAL_PROFILE_STATUS_UPDATE;?>][<?php echo $control_id; ?>]" value="1"  <?php echo $checked; ?>>
+               <?php endforeach; ?>
+       </div>
+</div>
+<!-- 
+  -- Not implemented yet.
+  --
+<div class="row">
+       <label for="media"><?php echo _AT('media'); ?></label>
+       <div>
+               <?php foreach ($this->controller->getPermissionLevels() as $control_id=>$control_string): 
+                       (isset($this->profile_prefs[AT_SOCIAL_PROFILE_MEDIA][$control_id]))?$checked=' checked="checked"':$checked='';  ?>              
+               <label for="boxes_profile_<?php echo AT_SOCIAL_PROFILE_MEDIA.'_'.$control_id; ?>"><?php echo $control_string; ?></label>
+               <input type="checkbox" id="boxes_profile_<?php echo AT_SOCIAL_PROFILE_MEDIA.'_'.$control_id; ?>" name="profile_prefs[<?php echo AT_SOCIAL_PROFILE_MEDIA;?>][<?php echo $control_id; ?>]" value="1"  <?php echo $checked; ?>>
+               <?php endforeach; ?>
+       </div>
+</div>
+  -->
+<div class="row">
+       <label for="connection"><?php echo _AT('connections'); ?></label>
+       <div>
+               <?php foreach ($this->controller->getPermissionLevels() as $control_id=>$control_string): 
+                       (isset($this->profile_prefs[AT_SOCIAL_PROFILE_CONNECTION][$control_id]))?$checked=' checked="checked"':$checked='';     ?>              
+               <label for="boxes_profile_<?php echo AT_SOCIAL_PROFILE_CONNECTION.'_'.$control_id; ?>"><?php echo $control_string; ?></label>
+               <input type="checkbox" id="boxes_profile_<?php echo AT_SOCIAL_PROFILE_CONNECTION.'_'.$control_id; ?>" name="profile_prefs[<?php echo AT_SOCIAL_PROFILE_CONNECTION;?>][<?php echo $control_id; ?>]" value="1"  <?php echo $checked; ?>>
+               <?php endforeach; ?>
+       </div>
+</div>
+<div class="row">
+       <label for="education"><?php echo _AT('education'); ?></label>
+       <div>
+               <?php foreach ($this->controller->getPermissionLevels() as $control_id=>$control_string): 
+                       (isset($this->profile_prefs[AT_SOCIAL_PROFILE_EDUCATION][$control_id]))?$checked=' checked="checked"':$checked='';      ?>              
+               <label for="boxes_profile_<?php echo AT_SOCIAL_PROFILE_EDUCATION.'_'.$control_id; ?>"><?php echo $control_string; ?></label>
+               <input type="checkbox" id="boxes_profile_<?php echo AT_SOCIAL_PROFILE_EDUCATION.'_'.$control_id; ?>" name="profile_prefs[<?php echo AT_SOCIAL_PROFILE_EDUCATION;?>][<?php echo $control_id; ?>]" value="1"  <?php echo $checked; ?>>
+               <?php endforeach; ?>
+       </div>
+</div>
+<div class="row">
+       <label for="position"><?php echo _AT('position'); ?></label>
+       <div>
+               <?php foreach ($this->controller->getPermissionLevels() as $control_id=>$control_string): 
+                       (isset($this->profile_prefs[AT_SOCIAL_PROFILE_POSITION][$control_id]))?$checked=' checked="checked"':$checked='';       ?>              
+               <label for="boxes_profile_<?php echo AT_SOCIAL_PROFILE_POSITION.'_'.$control_id; ?>"><?php echo $control_string; ?></label>
+               <input type="checkbox" id="boxes_profile_<?php echo AT_SOCIAL_PROFILE_POSITION.'_'.$control_id; ?>" name="profile_prefs[<?php echo AT_SOCIAL_PROFILE_POSITION;?>][<?php echo $control_id; ?>]" value="1"  <?php echo $checked; ?>>
+               <?php endforeach; ?>
+       </div>
+</div>
+</fieldset>
+
+<fieldset class="group_form"><legend class="group_form"><?php echo _AT('search_control'); ?></legend>
+<div class="row">
+       <label for="search_visibility"><?php echo _AT('search_visibility'); ?></label>
+               <div>
+               <?php foreach ($this->controller->getPermissionLevels() as $control_id=>$control_string): 
+                       (isset($this->search_prefs[AT_SOCIAL_SEARCH_VISIBILITY][$control_id]))?$checked=' checked="checked"':$checked='';       ?>              
+               <label for="boxes_search_<?php echo AT_SOCIAL_SEARCH_VISIBILITY.'_'.$control_id; ?>"><?php echo $control_string; ?></label>
+               <input type="checkbox" id="boxes_search_<?php echo AT_SOCIAL_SEARCH_VISIBILITY.'_'.$control_id; ?>" name="search_prefs[<?php echo AT_SOCIAL_SEARCH_VISIBILITY;?>][<?php echo $control_id; ?>]" value="1"  <?php echo $checked; ?>>
+               <?php endforeach; ?>
+               </div>
+</div>
+<!-- These settings will be implemented after
+[[[Following are to be implemented...]]]
+<div class="row">
+       <label for="search_profile"><?php echo _AT('search_profile'); ?></label>
+               <div>
+               <?php foreach ($this->controller->getPermissionLevels() as $control_id=>$control_string): 
+                       (isset($this->search_prefs[AT_SOCIAL_SEARCH_PROFILE][$control_id]))?$checked=' checked="checked"':$checked='';  ?>              
+               <label for="boxes_search_<?php echo AT_SOCIAL_SEARCH_PROFILE.'_'.$control_id; ?>"><?php echo $control_string; ?></label>
+               <input type="checkbox" id="boxes_search_<?php echo AT_SOCIAL_SEARCH_PROFILE.'_'.$control_id; ?>" name="search_prefs[<?php echo AT_SOCIAL_SEARCH_PROFILE;?>][<?php echo $control_id; ?>]" value="1"  <?php echo $checked; ?>>
+               <?php endforeach; ?>
+               </div>
+</div>
+<div class="row">
+       <label for="search_connection"><?php echo _AT('search_connections'); ?></label>
+               <div>
+               <?php foreach ($this->controller->getPermissionLevels() as $control_id=>$control_string): 
+                       (isset($this->search_prefs[AT_SOCIAL_SEARCH_CONNECTION][$control_id]))?$checked=' checked="checked"':$checked='';       ?>              
+               <label for="boxes_search_<?php echo AT_SOCIAL_SEARCH_CONNECTION.'_'.$control_id; ?>"><?php echo $control_string; ?></label>
+               <input type="checkbox" id="boxes_search_<?php echo AT_SOCIAL_SEARCH_CONNECTION.'_'.$control_id; ?>" name="search_prefs[<?php echo AT_SOCIAL_SEARCH_CONNECTION;?>][<?php echo $control_id; ?>]" value="1"  <?php echo $checked; ?>>
+               <?php endforeach; ?>
+               </div>
+</div>
+<div class="row">
+       <label for="search_education"><?php echo _AT('search_education'); ?></label>
+               <div>
+               <?php foreach ($this->controller->getPermissionLevels() as $control_id=>$control_string): 
+                       (isset($this->search_prefs[AT_SOCIAL_SEARCH_EDUCATION][$control_id]))?$checked=' checked="checked"':$checked='';        ?>              
+               <label for="boxes_search_<?php echo AT_SOCIAL_SEARCH_EDUCATION.'_'.$control_id; ?>"><?php echo $control_string; ?></label>
+               <input type="checkbox" id="boxes_search_<?php echo AT_SOCIAL_SEARCH_EDUCATION.'_'.$control_id; ?>" name="search_prefs[<?php echo AT_SOCIAL_SEARCH_EDUCATION;?>][<?php echo $control_id; ?>]" value="1"  <?php echo $checked; ?>>
+               <?php endforeach; ?>
+               </div>
+</div>
+<div class="row">
+       <label for="search_position"><?php echo _AT('search_position'); ?></label>
+               <div>
+               <?php foreach ($this->controller->getPermissionLevels() as $control_id=>$control_string): 
+                       (isset($this->search_prefs[AT_SOCIAL_SEARCH_POSITION][$control_id]))?$checked=' checked="checked"':$checked=''; ?>              
+               <label for="boxes_search_<?php echo AT_SOCIAL_SEARCH_POSITION.'_'.$control_id; ?>"><?php echo $control_string; ?></label>
+               <input type="checkbox" id="boxes_search_<?php echo AT_SOCIAL_SEARCH_POSITION.'_'.$control_id; ?>" name="search_prefs[<?php echo AT_SOCIAL_SEARCH_POSITION;?>][<?php echo $control_id; ?>]" value="1"  <?php echo $checked; ?>>
+               <?php endforeach; ?>
+               </div>
+</div>
+-->
+</fieldset>
+
+
+<div class="row" id="last-row">
+       <input type="hidden" name="n" value="privacy_settings" />
+       <input class="button" type="submit" name="submit" value="<?php echo _AT('save'); ?>"/>
+</div>
+</div>
+</form>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/settings/settings_menu.tmpl.php b/docs/themes/mobile/social/settings/settings_menu.tmpl.php
new file mode 100644 (file)
index 0000000..117d277
--- /dev/null
@@ -0,0 +1,6 @@
+<?php //include this file in all the settings template under the html/settings/ directory ?>
+<ul class="social_inline_menu">
+<!--   <li class="inlinelist"><a href="<?php echo 'mods/social/settings.php?n=account_settings'; ?>"><?php echo _AT('account_settings'); ?></a></li> -->
+       <li class="inlinelist"><a href="<?php echo AT_SOCIAL_BASENAME.'settings.php?n=privacy_settings'; ?>"><?php echo _AT('privacy_settings'); ?></a></li>
+       <li class="inlinelist"><a href="<?php echo AT_SOCIAL_BASENAME.'settings.php?n=application_settings'; ?>"><?php echo _AT('application_settings'); ?></a></li>
+</ul>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/sgroup_create.tmpl.php b/docs/themes/mobile/social/sgroup_create.tmpl.php
new file mode 100644 (file)
index 0000000..b4766c8
--- /dev/null
@@ -0,0 +1,38 @@
+<?php
+//Deprecated
+//Use sgroup_edit.tmpl.php instead.
+//keeping this just as a record
+//@harris
+?>
+
+<div class="input-form">       
+       <form action="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'groups/create.php'); ?>" method="POST" >
+               <div class="row">
+                       <label for="group_name"><?php echo _AT('group_name'); ?></label>
+                       <input type="text" size="45" name="group_name" id="group_name" value="<?php echo $_POST['group_name']; ?>"/>
+               </div>
+
+               <div class="row">
+                       <label for="group_type"><?php echo _AT('group_type'); ?></label>
+                       <select name="group_type" id="group_type">
+                       <?php foreach ($this->group_types as $type_id=>$type): ?>
+                               <option value="<?php echo $type_id;?>"><?php echo _AT($type);?></option>
+                       <?php endforeach; ?>
+                       </select>
+               </div>
+
+               <div class="row">
+                       <label for="logo"><?php echo _AT('group_logo'); ?></label>
+                       <input type="text" size="45" name="logo" id="logo" value="<?php echo $_POST['logo']; ?>"/>
+               </diV>
+
+               <div class="row">
+                       <label for="description"><?php echo _AT('description'); ?></label>
+                       <textarea cols="40" rows="5" name="description" id="description"><?php echo $_POST['description']; ?></textarea>
+               </div>
+
+               <div class="row">
+                       <input class="button" type="submit" name="create" value="<?php echo _AT('create'); ?>" />       
+               </div>
+       </form>
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/sgroup_edit.tmpl.php b/docs/themes/mobile/social/sgroup_edit.tmpl.php
new file mode 100644 (file)
index 0000000..681dbf8
--- /dev/null
@@ -0,0 +1,93 @@
+<?php 
+if (isset($this->group_obj)){
+       //edit
+       $form_url = AT_SOCIAL_BASENAME.'groups/edit.php';
+       $button_name = 'save';
+       $name = $this->group_obj->getName();
+       $logo = $this->group_obj->getLogo();
+       $privacy = $this->group_obj->getPrivacy();
+       $description = $this->group_obj->getDescription(false);
+       $id = $this->group_obj->getID();
+} else {
+       //create new one
+       $form_url = AT_SOCIAL_BASENAME.'groups/create.php';
+       $button_name = 'create';
+}
+?>
+
+<div class="input-form">       
+       <form action="<?php echo $form_url; ?>" method="POST" enctype="multipart/form-data">
+               <div class="row">
+                       <label for="group_name"><?php echo _AT('group_name'); ?></label>
+                       <input type="text" size="45" name="group_name" id="group_name" value="<?php echo $name; ?>"/>
+               </div>
+
+               <?php if (isset($this->group_obj)): ?>
+               <div class="row">
+                       <label for="group_admin"><?php echo _AT('group_admin'); ?></label>
+                       <select name="group_admin" id="group_admin">
+                       <?php 
+                               foreach($this->group_obj->getGroupMembers() as $garbage=>$member_obj):
+                                       $selected = '';
+                                       if ($this->group_obj->getUser()==$member_obj->getID()){
+                                               $selected = ' selected="selected"';
+                                       } 
+                       ?>
+                               <option value="<?php echo $member_obj->getID();?>" <?php echo $selected;?>><?php echo printSocialName($member_obj->getID());?></option>
+                       <?php endforeach; ?>
+                       </select>
+               </div>
+               <?php endif; ?>
+
+               <div class="row">
+                       <label for="group_type"><?php echo _AT('group_type'); ?></label>
+                       <select name="group_type" id="group_type">
+                       <?php 
+                               foreach ($this->group_types as $type_id=>$type): 
+                                       $selected = '';
+                                       if ($this->group_obj->type_id==$type_id){
+                                               $selected = ' selected="selected"';
+                                       } 
+                       ?>
+                               <option value="<?php echo $type_id;?>" <?php echo $selected;?>><?php echo _AT($type);?></option>
+                       <?php endforeach; ?>
+                       </select>
+               </div>
+
+               <div class="row">
+                       <?php
+                               if ($privacy==1){
+                                       $private_selected = ' checked="checked"';
+                               }  else {
+                                       $public_selected = ' checked="checked"';
+                               }
+                       ?>
+                       <label><?php echo _AT('access');?></label><br/>
+                       <input type="radio" name="group_privacy" id="group_about_public" value="public" <?php echo $public_selected; ?>/>
+                       <label for="group_about_public"><?php echo _AT('public').': '._AT('group_about_public'); ?></label><br/>
+                       <input type="radio" name="group_privacy" id="group_about_private" value="private" <?php echo $private_selected; ?>/>
+                       <label for="group_about_private"><?php echo _AT('private').': '._AT('group_about_private'); ?></label>
+               </div>
+
+               <div class="row">
+                       <?php 
+                               if ($logo!='') {
+                                       echo $logo;
+                               } 
+                       ?>
+                       <label for="logo"><?php echo _AT('group_logo'); ?></label>
+                       <input type="file" size="30" name="logo" id="logo" />
+               </diV>
+
+               <div class="row">
+                       <label for="description"><?php echo _AT('description'); ?></label>
+                       <textarea cols="30" rows="5" name="description" id="description"><?php echo $description; ?></textarea>
+               </div>
+
+               <div class="row">
+                       <input type="hidden" name="id" value="<?php echo $id;?>" /?>
+                       <input class="button" type="submit" name="<?php echo $button_name; ?>" value="<?php echo _AT($button_name); ?>" />      
+                       <input class="button" type="submit" name="cancel" value="<?php echo _AT('cancel'); ?>" />       
+               </div>
+       </form>
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/sgroup_invite.tmpl.php b/docs/themes/mobile/social/sgroup_invite.tmpl.php
new file mode 100644 (file)
index 0000000..79c6c5d
--- /dev/null
@@ -0,0 +1,46 @@
+<?php //debug($this->group_obj); ?>
+<div style="width:90%">
+       <div style="float:left;width:47%; clear:right;">
+               <div class="headingbox"><h3><?php echo _AT('added_members'); ?></h3></div>
+               <div class="contentbox">
+                       <ul>
+                       <?php foreach ($this->group_obj->getGroupMembers() as $k=>$person_obj): ?>
+                               <li><?php echo printSocialName($person_obj->getID()); ?></li>
+                       <?php endforeach; ?>
+                       </ul>
+               </div>
+       </div>
+       <div style="float:right;width:47%;">
+               <form class="input-form" method="POST" action="<?php echo AT_SOCIAL_BASENAME; ?>groups/invite.php">
+                       <div class="headingbox"><h3><?php echo _AT('not_added_members'); ?></h3></div>
+                       <div class="contentbox">
+                       <!-- 
+                         -- To be implemented 
+                         --
+                       <label for="search_not_added_members"><?php echo _AT('search');?></label>
+                       <input type="text" name="search_not_added_members" id="search_not_added_members">
+                         -->
+                       <div style="height:300px;overflow:scroll;">
+                               <?php 
+                               $all_friends = getFriends($_SESSION['member_id']);
+                               foreach ($all_friends as $k=>$member_id): 
+                                       if(in_array(new Member($member_id), $this->group_obj->getGroupMembers())){
+                                               $extra = ' disabled="disabled"';
+                                       } else {
+                                               $extra = '';
+                                       }
+
+                                       if(isset($_POST['new_members'][$member_id])){
+                                               $extra .= ' checked="checked"';
+                                       }
+                               ?>
+                                       <input type="checkbox" name="new_members[<?php echo $member_id;?>]" id="member_<?php echo $member_id; ?>" <?php echo $extra;?>/>
+                                       <label for="member_<?php echo $member_id; ?>"><?php echo printSocialName($member_id, false); ?></label><br/>
+                               <?php endforeach; ?>
+                       </div>
+                       <input type="hidden" name="id" value="<?php echo $_REQUEST['id']; ?>" />
+                       <input class="button" type="submit" name="inviteMember" value="<?php echo _AT('invite');?>" />
+                       </div>
+               </form>
+       </div>
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/sgroup_list.tmpl.php b/docs/themes/mobile/social/sgroup_list.tmpl.php
new file mode 100644 (file)
index 0000000..bed3e39
--- /dev/null
@@ -0,0 +1,61 @@
+<script src="<?php echo AT_SOCIAL_BASENAME; ?>lib/js/livesearch.js" type="text/javascript"></script>
+<?php 
+       //Add Friends Template
+       //Generate a random number for the search input name fields, so that the browser will not remember any previous entries.
+       $rand = md5(rand(0, time())); 
+       if ($this->rand_key != ''){
+               $last_search = $_POST['search_friends_'.$this->rand_key];
+       } else {
+               $last_search = $_POST['search_friends_'.$rand]; 
+       }
+?>
+
+<div class="input-form" style="float:right; width:34%;padding:1em;min-height:4.5em;">
+       <div class="contentrow">
+               <h3><?php echo _AT('search_for_friends'); ?></h3>
+               <form action="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'groups/list.php');?>" method="POST" id="search_friends_form">
+                       <label for="searchFriends" style="display:none;"><?php echo _AT('search'); ?></label>
+                       <input type="text" size="60" name="search_friends_<?php echo $rand;?>" id="search_friends" value="<?php echo $last_search; ?>" onkeyup="showResults(this.value, 'livesearch', '<?php echo AT_SOCIAL_BASENAME; ?>groups/list.php')"/>
+                       <input type="submit" name="search" value="<?php echo _AT('search'); ?>">
+                       <input type="hidden" name="rand_key" value="<?php echo $rand; ?>" />
+                       <input type="hidden" name="id" value="<?php echo $this->grp_obj->getID(); ?>" />                        
+                       <div id="livesearch"></div>
+               </form>
+       </div>
+</div>
+<div class="" style="float:left; width:59%">
+       <div class="headingbox"><h3><?php echo _AT('connections'); ?></h3></div>
+       <div class="contentbox">
+       <?php 
+       if (!empty($this->grp_members)):
+               echo "<h4>"._AT('there_are_entries', sizeof($this->grp_members))."</h4>";
+               foreach ($this->grp_members as $id=>$person_obj): 
+       ?>
+       <div class="contact_mini" >
+               <?php if($_SESSION['member_id']==$this->grp_obj->getUser()): ?>
+               <div style="float:right;"><a href="<?php echo AT_SOCIAL_BASENAME;?>groups/list.php?remove=yes<?php echo SEP;?>id=<?php echo $this->grp_obj->getID(); ?><?php echo SEP;?>member_id=<?php echo $person_obj->getID(); ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/b_drop.png" alt="<?php echo _AT('remove_group_member'); ?>" title="<?php echo _AT('remove_group_member'); ?>" border="0"/></a> </div>
+               <?php endif; ?>
+               <div>
+                       <div style="float:left;"><?php echo printSocialProfileImg($person_obj->getID()); ?></div>
+                       <div style="padding-left:0.5em; float:left;">
+                               <?php 
+                                       $profile = $person_obj->getDetails();
+                                       echo printSocialName($person_obj->getID()) . '<br/>';
+                                       echo $profile['country'] . ' ' . $profile['province'] . '<br/>';
+                               ?>
+                       </div>
+                       <div style="clear:both;"></div><br/>
+               </div>
+       </div>
+       <?php 
+               endforeach; 
+       endif;
+       ?>
+       </div>
+       <!--
+       <div style="float:right;">
+               [-- TODO: Paginator --]
+       </div>
+       -->
+</div>
+
diff --git a/docs/themes/mobile/social/sgroup_search.tmpl.php b/docs/themes/mobile/social/sgroup_search.tmpl.php
new file mode 100644 (file)
index 0000000..4e09da9
--- /dev/null
@@ -0,0 +1,42 @@
+<script src="<?php echo AT_SOCIAL_BASENAME; ?>lib/js/livesearch.js" type="text/javascript"></script>
+
+<div class="social-wrapper">
+<div class="input-form">
+       <h3><?php echo _AT('search_for_groups'); ?></h3>
+       <form action="<?php echo AT_SOCIAL_BASENAME.'groups/search.php'; ?>" method="POST" id="search_group_form">
+               <div class="row">
+                       <label for="search_groups"><?php echo _AT('search'); ?></label>
+                               <input type="text" size="60" name="search_groups_<?php echo $this->rand_key;?>" id="search_groups" value="<?php echo $this->last_search; ?>" onkeyup="showResults(this.value, 'livesearch', '<?php echo AT_SOCIAL_BASENAME; ?>groups/search.php')"/>
+                       <input type="hidden" name="rand_key" value="<?php echo $this->rand_key;?>"/>
+                       <input class="button" type="submit" name="search" value="<?php echo _AT('search'); ?>" />
+                       <span><a href="<?php echo AT_SOCIAL_BASENAME; ?>groups/create.php"><?php echo _AT('create_group'); ?></a></span><br />
+                       <div id="livesearch"></div>
+               </div>
+       </form>
+</div>
+
+<div class="headingbox"><h3><?php echo _AT('search_results'); ?></h3></div>
+<div class="contentbox">
+       <?php if (!empty($this->search_result)):
+       foreach($this->search_result as $group_id=>$group_array): 
+       $grp_obj = $group_array['obj'];
+       ?>
+       <div class="box">
+               <div>
+               <?php echo $grp_obj->getLogo(); ?>                      
+               </div>
+               <div>
+                       <a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'groups/view.php?id='.$grp_obj->getId());?>"><h4><?php echo $grp_obj->getName(); ?></h4></a><br/>
+                       <?php echo _AT('type') .': '. $grp_obj->getGroupType();?><br/>
+                       <?php echo _AT('description') .': <br/>'. $grp_obj->getDescription();?><br/>
+               </div>
+               <div style="clear:both;"></div>
+       </div>
+       <?php endforeach; 
+       else: 
+               echo _AT('none_found');
+       endif;?>
+</div>
+
+<div style="clear:both;"></div>
+</div>
diff --git a/docs/themes/mobile/social/sgroup_view.tmpl.php b/docs/themes/mobile/social/sgroup_view.tmpl.php
new file mode 100644 (file)
index 0000000..9631e99
--- /dev/null
@@ -0,0 +1,135 @@
+<?php global $msg; $msg->printConfirm(); ?>
+<div class="box">
+       <?php //existing members ?>
+       <?php if (in_array(new Member($_SESSION['member_id']), $this->group_obj->group_members)): ?>
+       | <a href="<?php echo AT_SOCIAL_BASENAME; ?>groups/invite.php?id=<?php echo $this->group_obj->getID();?>"><?php echo _AT('invite'); ?></a> |
+
+       <?php //group admin ?>
+       <?php if ($this->group_obj->getUser() == $_SESSION['member_id']): ?>
+       <a href="<?php echo AT_SOCIAL_BASENAME; ?>groups/edit.php?id=<?php echo $this->group_obj->getID();?>"><?php echo _AT('edit_group'); ?></a> |
+       <a href="<?php echo AT_SOCIAL_BASENAME; ?>groups/view.php?id=<?php echo $this->group_obj->getID().SEP;?>delete=confirm"><?php echo _AT('disband_group'); ?></a> |
+       <?php //existing members ?>
+       <?php else: ?>
+       <a href="<?php echo AT_SOCIAL_BASENAME; ?>groups/view.php?id=<?php echo $this->group_obj->getID().SEP;?>remove=1"><?php echo _AT('leave_group'); ?></a> |
+       <?php endif; ?>
+
+       <?php //new members ?>
+       <?php else: ?>
+       <a href="<?php echo AT_SOCIAL_BASENAME; ?>groups/join.php?id=<?php echo $this->group_obj->getID();?>"><?php echo _AT('join_group'); ?></a> |
+       <?php endif; ?>
+
+       <?php //everyone ?>
+       <a href="<?php echo AT_SOCIAL_BASENAME; ?>groups/list.php?id=<?php echo $this->group_obj->getID();?>"><?php echo _AT('group_members'); ?></a> |
+
+       <?php include('notifications.tmpl.php'); ?>
+</div>
+<div>
+       <?php 
+               foreach ($this->group_obj->getGroupActivities() as $activity_id=>$activity_title){
+                       echo $activity_title;
+               }                               
+       ?>
+</div>
+<br/>
+
+<?php if (in_array(new Member($_SESSION['member_id']), $this->group_obj->group_members)): ?>
+<div style="width:59%; float:left;">
+       <div class="headingbox" style="margin-right:1em;">
+               <h3><?php echo _AT('message_board'); ?></h3></div>
+       <div class="contentbox" style="margin-right:1em;">      
+               <form method="POST" action="">
+                       <label for="message"></label>
+                       <textarea name="msg_body" id="message" cols="40" rows="5"></textarea><br />
+                       <input class="button" type="submit" name="submit" value="<?php echo _AT('post');?>" />
+               </form><hr/>
+               
+               <!-- handles sliding -->
+               <script type="text/javascript">
+                 jQuery(document).ready(function(){            
+                       var h = jQuery("#messages").height();
+                       var line_of_height = 250;
+
+                       if (h>=500){
+                               jQuery('#buttonList').show();
+                               jQuery('#message_board').css({'height':'500px'});
+                       } else {
+                               jQuery('#buttonList').hide();
+                       }
+
+                       jQuery("#prevButton").click(function(event){
+                         if (h < jQuery("#messages").height()){
+                                 jQuery("#messages").animate({"marginTop": "+="+line_of_height+"px"}, "slow");
+                                 h += line_of_height;
+                                 jQuery("#temp").html(h);
+                         }
+                         event.preventDefault();
+                       });
+
+                       jQuery("#nextButton").click(function(event){
+                         if ( h >= line_of_height) {
+                                 jQuery("#messages").animate({"marginTop": "-="+line_of_height +"px"}, "slow");
+                                 h -= line_of_height ;
+                                 jQuery("#temp").html(h);
+                         }
+                         event.preventDefault();
+                       });
+
+                 });
+                 </script>
+
+               <div id="message_board" style="max-height:500px; overflow:hidden;">
+               <div id="messages">
+               <?php 
+                       $counter=0;
+                       foreach ($this->group_obj->getMessages() as $id=>$message_array): ?>
+                       <div class="content">
+                               <?php echo $message_array['created_date'].' - '.printSocialName($message_array['member_id']); ?>
+                               <?php 
+                               if ($message_array['member_id']==$_SESSION['member_id'] || $this->group_obj->getUser()==$_SESSION['member_id']){
+                                       echo '<a href="'.url_rewrite(AT_SOCIAL_BASENAME.'groups/delete_message.php?gid='.$this->group_obj->getID().SEP.'delete='.$id).'"><img src="'.$_base_href.AT_SOCIAL_BASENAME.'images/b_drop.png" alt="'._AT('remove').'" title="'._AT('remove').'" border="0" /></a>';
+                               }
+                               ?>
+                               <p><?php echo $message_array['body']; ?></p>
+                       </div>
+               <?php 
+                       $counter++;
+                       endforeach;
+               ?>              
+               </div></div>
+               <div id="buttonList">
+                       <a id="prevButton" href="#">&lt;&lt;<?php echo _AT('previous'); ?></a>
+                       <a id="nextButton" href="#"><?php echo _AT('next'); ?>&gt;&gt;</a>
+               </div>
+               <div id="temp"></div>
+       </div>
+</div>
+<?php endif; ?>
+
+<div style="width:39%;float:left;">
+       <div class="headingbox"><h3><?php echo _AT('group_info'); ?></h3></div>
+       <div class="contentbox">
+               <div><?php echo $this->group_obj->getLogo();?></div>
+               <dl  id="public-profile">
+                       <dt><?php echo _AT('group_name'); ?></dt>
+                       <dd><?php echo $this->group_obj->getName();?></dd>
+
+                       <dt><?php echo _AT('group_type'); ?></dt>
+                       <dd><?php echo $this->group_obj->getGroupType();?></dd>
+
+                       <dt><?php echo _AT('access'); ?></dt>
+                       <dd><?php echo ($this->group_obj->getPrivacy()?_AT('private'):_AT('public'))?><br/></dd>                        
+
+                       <dt><?php echo _AT('created_by'); ?></dt>
+                       <dd><?php echo printSocialName($this->group_obj->getUser());?></dd>
+
+                       <dt><?php echo _AT('created_date'); ?></dt>
+                       <dd><?php echo AT_DATE(_AT('startend_date_long_format'), $this->group_obj->getCreatedDate(), AT_DATE_MYSQL_DATETIME);?></dd>
+
+                       <dt><?php echo _AT('group_last_updated'); ?></dt>
+                       <dd><?php echo AT_DATE(_AT('startend_date_long_format'), $this->group_obj->getLastUpdated(), AT_DATE_MYSQL_DATETIME);?></dd>
+
+                       <dt><?php echo _AT('number_of_members');?></dt>
+                       <dd><?php echo count($this->group_obj->group_members);?></dd>
+               </dl>
+       </div><br />
+</div>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/sgroups.tmpl.php b/docs/themes/mobile/social/sgroups.tmpl.php
new file mode 100644 (file)
index 0000000..80f35dd
--- /dev/null
@@ -0,0 +1,40 @@
+<script src="<?php echo AT_SOCIAL_BASENAME; ?>lib/js/livesearch.js" type="text/javascript"></script>
+<?php 
+       //Generate a random number for the search input name fields, so that the browser will not remember any previous entries.
+       $rand = md5(rand(0, time())); 
+       if ($this->rand_key != ''){
+               $last_search = $_POST['search_groups_'.$this->rand_key];
+       } else {
+               $last_search = $_POST['search_groups_'.$rand];  
+       }
+?>
+<div class="social-wrapper">
+<div>
+<?php include('tiny_sgroups.tmpl.php'); ?>
+</div>
+<div>
+       <div class="input-form">
+               <div class="contentrow">
+                       <h3><?php echo _AT('search_for_groups'); ?></h3>
+                       <form action="<?php echo AT_SOCIAL_BASENAME.'groups/search.php'; ?>" method="POST" id="search_group_form">
+                               <div class="row">
+                                       <label for="search_groups"><?php echo _AT('search'); ?></label>
+                                       <input type="text" size="45" name="search_groups_<?php echo $rand;?>" id="search_groups" value="<?php echo $last_search; ?>" onkeyup="showResults(this.value, 'livesearch', '<?php echo AT_SOCIAL_BASENAME; ?>groups/search.php')"/>
+                                       <input type="hidden" name="rand_key" value="<?php echo $rand;?>"/>
+                                       <input class="button" type="submit" name="search" value="<?php echo _AT('search'); ?>" />
+                                       <div id="livesearch"></div>
+                               </div>
+                               <div class="row"><a href="<?php echo AT_SOCIAL_BASENAME.'groups/search.php?search_groups_'.$rand.'='.$last_search.SEP.'rand_key='.$rand; ?>"><?php echo _AT('browse_all');?></a></div>
+                       </form>         
+               </div>          
+       </div>
+</div>
+<div>
+       <div>
+       <h3><?php echo _AT('create_group'); ?></h3>
+               <p><?php echo _AT('create_group_blurb');  ?></p>
+               <span><a href="<?php echo AT_SOCIAL_BASENAME; ?>groups/create.php"><?php echo _AT('create_group'); ?></a></span><br />
+       </div>
+</div>
+<div style="clear:both;"></div>
+</div>
diff --git a/docs/themes/mobile/social/sprofile.tmpl.php b/docs/themes/mobile/social/sprofile.tmpl.php
new file mode 100644 (file)
index 0000000..1940e2c
--- /dev/null
@@ -0,0 +1,320 @@
+<?php
+//Profile template for social
+?>
+
+<div  class="social-wrapper">
+       <div><h3><?php echo printSocialName($this->profile['member_id'], false); ?></h3></div>
+       <div class="social-left">               
+               <div class="row">
+                       <h4 class="profile"><?php echo _AT('profile'); ?></h4>
+                               <?php if ($this->scope=='owner'): ?>
+                               <a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME."edit_profile.php");?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME;?>images/edit_profile.gif" alt="<?php echo _AT('edit_profile'); ?>" id="profile" title="<?php echo _AT('edit_profile'); ?>" border="0"/></a>
+                               <?php endif; ?>
+               </div>
+               <div class="contentbox">
+               <div class="row">
+               <?php 
+               //TODO: include this in the printSocialProfileImg function itself
+               if (profile_image_exists($this->profile['member_id'])): ?>
+                       <a href="get_profile_img.php?id=<?php echo $this->profile['member_id'].SEP ;?>size=o"><?php echo printSocialProfileImg($this->profile['member_id'], 2, false); ?>
+               <?php else: ?>
+                       <?php echo printSocialProfileImg($this->profile['member_id'], 2, false); ?>
+               <?php endif; ?>
+               <a href="inbox/send_message.php?id=<?php echo $this->profile['member_id']; ?>"><?php echo _AT('send_message'); ?></a>
+               
+               </div>
+
+               <?php         if($this->profile['occupation']){ ?>
+                       
+                       <dt><?php echo _AT('occupation'); ?></dt>
+                       <dd><?php echo htmlentities_utf8($this->profile['occupation']); ?></dd>
+                       <?php }?>
+       
+                       
+                       <?php if($this->profile['expertise']){ ?>
+                       <dt><?php echo _AT('expertise'); ?></dt>
+                       <dd><?php echo htmlentities_utf8($this->profile['expertise']); ?></dd>
+                       <?php }?>
+                       
+                       
+                       <?php if ($this->relationship==AT_SOCIAL_FRIENDS_VISIBILITY || $this->relationship==AT_SOCIAL_OWNER_VISIBILITY): ?>
+                       <?php if($this->profile['email']): ?>
+                       <dl>
+                       <dt><?php echo _AT('email'); ?></dt>
+                       <dd><?php echo htmlentities_utf8($this->profile['email']); ?></dd>
+                       <?php endif; ?>
+                       <?php endif; ?>
+               
+                       <?php if($this->profile['gender']!='n'){ ?>
+                       <dt><?php echo _AT('gender'); ?></dt>
+                       <dd><?php echo $this->profile['gender']; ?></dd>
+                       <?php }?>
+               
+                       <?php if($this->profile['dob']!='0000-00-00'){ ?>
+                       <dt><?php echo _AT('dob'); ?></dt>
+                       <dd><?php echo $this->profile['dob']; ?></dd>
+                       <?php }?>
+               
+                       <?php if($this->profile['phone']){ ?>
+                       <dt><?php echo _AT('phone'); ?></dt>
+                       <dd><?php echo htmlentities_utf8($this->profile['phone']); ?></dd>
+                       <?php }?>
+                       
+                       <?php if($this->profile['country']){ ?>
+                       <dt><?php echo _AT('country'); ?></dt>
+                       <dd><?php echo htmlentities_utf8($this->profile['country']); ?></dd>
+                       <?php }?>
+                       
+                       <?php if($this->profile['postal']){ ?>
+                       <dt><?php echo _AT('street_address'); ?></dt>
+                       <dd><?php echo htmlentities_utf8($this->profile['postal']); ?></dd>
+                       <?php }?>
+               
+                       <?php if($this->profile['interests']){ ?>
+                       <dt><?php echo _AT('interests'); ?></dt>
+                       <dd><?php echo htmlentities_utf8($this->profile['interests']); ?></dd>
+                       <?php }?>
+                       
+                       <?php if($this->profile['associations']){ ?>
+                       <dt><?php echo _AT('associations'); ?></dt>
+                       <dd><?php echo htmlentities_utf8($this->profile['associations']); ?></dd>
+                       <?php }?>
+               
+                       <?php if($this->profile['awards']){ ?>
+                       <dt><?php echo _AT('awards'); ?></dt>
+                       <dd><?php echo htmlentities_utf8($this->profile['awards']); ?></dd>
+                       <?php }?>
+               
+                       <?php if($this->profile['others']){ ?>
+                       <dt><?php echo _AT('others'); ?></dt>
+                       <dd><?php echo htmlentities_utf8($this->profile['others']); ?></dd>
+                       <?php }?>
+               
+                       <?php if($this->personal['per_weight']){ ?>
+                       <dt><?php echo _AT('per_weight'); ?></dt>
+                       <dd><?php echo htmlentities_utf8($this->personal['per_weight']); ?></dd>
+                       <?php }?>
+               
+                       <?php if($this->personal['per_height']){ ?>
+                       <dt><?php echo _AT('per_height'); ?></dt>
+                       <dd><?php echo htmlentities_utf8($this->personal['per_height']); ?></dd>
+                       <?php }?>
+               
+                       <?php if($this->personal['per_hair']){ ?>
+                       <dt><?php echo _AT('per_hair'); ?></dt>
+                       <dd><?php echo htmlentities_utf8($this->personal['per_hair']); ?></dd>
+                       <?php }?>
+               
+                       <?php if($this->personal['per_eyes']){ ?>
+                       <dt><?php echo _AT('per_eyes'); ?></dt>
+                       <dd><?php echo htmlentities_utf8($this->personal['per_eyes']); ?></dd>
+                       <?php }?>
+               
+                       <?php if($this->personal['per_ethnicity']){ ?>
+                       <dt><?php echo _AT('per_ethnicity'); ?></dt>
+                       <dd><?php echo htmlentities_utf8($this->personal['per_ethnicity']); ?></dd>
+                       <?php }?>
+               
+                       <?php if($this->personal['per_languages']){ ?>
+                       <dt><?php echo _AT('per_languages'); ?></dt>
+                       <dd><?php echo htmlentities_utf8($this->personal['per_languages']); ?></dd>
+                       <?php }?>
+               
+                       <?php if($this->personal['per_disabilities']){ ?>
+                       <dt><?php echo _AT('per_disabilities'); ?></dt>
+                       <dd><?php echo htmlentities_utf8($this->personal['per_disabilities']); ?></dd>
+                       <?php }?>
+               
+
+
+                       </dl>
+               </div>
+               <?php if (!empty($this->representation)){ ?>
+                       <br /><div  class="headingbox"><h4><?php echo _AT('representation'); ?></h4></div>
+                       <div class="contentbox" >
+
+                               <?php   foreach($this->representation as $row=>$value){  ?>
+                               <dl class="public-profile">
+                               <dt><?php echo _AT('name') . ':' ?></dt> <br /><dd> <?php echo htmlentities_utf8($value['rep_name']); ?></dd>
+
+                               <dt><?php echo _AT('title') . ': ' ?></dt> <br /><dd> <?php echo htmlentities_utf8($value['rep_title']); ?></dd>
+                               <dt><?php echo _AT('phone') . ':' ?></dt><br /> <dd> <?php echo htmlentities_utf8($value['rep_phone']);?></dd>
+                               <dt><?php echo _AT('email') . ': ' ?></dt><br /> <dd> <?php echo  htmlentities_utf8($value['rep_email']); ?></dd>       
+                               <dt><?php echo _AT('street_address') . ': ' ?></dt> <br /><dd> <?php echo htmlentities_utf8($value['rep_address']); ?></dd>
+                               </dl>
+                       
+                       <?php } ?>
+                       </div>
+                       <?php } ?>
+
+               <?php if (!empty($this->contact)){ ?>
+                       <br /><div  class="headingbox"><h4><?php echo _AT('alt_contact'); ?></h4></div>
+                       <div class="contentbox" >
+
+                               <?php   foreach($this->contact as $row=>$value){  ?>
+                               <dl class="public-profile">
+                               <dt><?php echo _AT('name') . ':' ?></dt> <br /><dd> <?php echo htmlentities_utf8($value['con_name']); ?></dd>
+                               <dt><?php echo _AT('phone') . ':' ?></dt> <br /><dd> <?php echo htmlentities_utf8($value['con_phone']);?></dd>
+                               <dt><?php echo _AT('email') . ': ' ?></dt><br /> <dd> <?php echo  htmlentities_utf8($value['con_email']); ?></dd>
+                               <dt><?php echo _AT('street_address') . ': ' ?></dt><br /> <dd> <?php echo htmlentities_utf8($value['con_address']); ?></dd>
+                               </dl>
+                       
+                       <?php } ?>
+                       </div>
+                       <br/>
+                       <?php } ?>
+
+
+
+       </div>
+
+       <div class="social-right">      
+               <?php if (PrivacyController::validatePrivacy(AT_SOCIAL_PROFILE_EDUCATION, $this->relationship, $this->prefs)): ?>
+                       <?php if (!empty($this->education)){ ?>
+                       <div>
+                               <div class="headingbox"><h5><?php echo _AT('training_and_education'); ?></h5></div>
+                               <div class="contentbox">
+                               <table class="data static">     
+                                       <thead><tr>
+                                               <th> <?php echo _AT('institution'); ?></th>
+                                               <th> <?php echo _AT('degrees'); ?></th>
+                                               <th> <?php echo _AT('year'); ?></th>
+                                       </tr></thead>
+                                       <tbody>
+                                       <?php
+                                               foreach($this->education as $edu){
+                                                       echo '<tr><td>'.htmlentities_utf8($edu['university']).'</td>';
+                                                       echo '<td>'.htmlentities_utf8($edu['degree'].'/'.$edu['field']).'</td>';
+                                                       echo '<td>'.htmlentities_utf8($edu['from'].'-'.$edu['to']).'</td></tr>';
+                                               }                                                       
+                                       ?>
+                                       </tbody>
+                               </table>
+                               </div>
+                       </div><br/>
+                       <?php } ?>
+               <?php endif; ?>
+
+               <?php if (PrivacyController::validatePrivacy(AT_SOCIAL_PROFILE_POSITION, $this->relationship, $this->prefs)): ?>
+               
+                       <?php if (!empty($this->position)){ ?>
+                       <div>
+                               <div class="headingbox"><h5><?php echo _AT('credits_and_work_experience'); ?></h5></div>
+                               <div class="contentbox">
+                               <table class="data static">     
+                                       <thead><tr>
+                                               <th><?php echo _AT('company'); ?></th>
+                                               <th><?php echo _AT('position'); ?></th>
+                                               <th><?php echo _AT('year'); ?></th>
+                                       </tr></thead>
+                                       <tbody>
+                                       <?php
+                                               foreach($this->position as $pos){
+                                                       echo '<tr><td>'.htmlentities_utf8($pos['company']).'</td>';
+                                                       echo '<td>'.htmlentities_utf8($pos['title']).'</td>';
+                                                       echo '<td>'.htmlentities_utf8($pos['from'].'-'.$pos['to']).'</td></tr>';
+                                               }                                                       
+                                       ?>
+                                       </tbody>
+                               </table></div>
+                       </div><br/>
+                       <?php } ?>              
+               <?php endif; ?>
+
+               <?php if (PrivacyController::validatePrivacy(AT_SOCIAL_PROFILE_MEDIA, $this->relationship, $this->prefs)): ?>
+               <div>
+                       <?php if (!empty($this->websites)): ?>
+                       <div class="headingbox"><h5><?php echo _AT('websites'); ?></h5></div>
+                       <div class="contentbox">
+                       <table class="data static">     
+                               <thead><tr>
+                                       <th><?php echo _AT('site_name'); ?></th>
+                                       <th><?php echo _AT('url'); ?></th>
+                               </tr></thead>
+                               <tbody>
+                               <?php
+                                       foreach($this->websites as $sites){
+                                               $is_http = preg_match("/^http/", $sites['url']);
+                                               if ($is_http==0){
+                                                       $sites['url'] = 'http://' . $sites['url'];
+                                               }
+                                               echo '<tr><td>'.htmlentities_utf8($sites['site_name']).'</td>';
+                                               echo '<td><a href="'.$sites['url'].'" target="user_profile_site">'.$sites['url'].'</a></td></tr>';
+                                       }                                                       
+                               ?>
+                               </tbody>
+                       </table>
+                       </div><br/>
+                       <?php endif; ?>
+               </div>
+               <?php endif; ?>
+
+               <?php if (PrivacyController::validatePrivacy(AT_SOCIAL_PROFILE_STATUS_UPDATE, $this->relationship, $this->prefs)): ?>
+               <div class="headingbox">
+                       <h5><?php echo _AT('activities'); ?></h5></div>
+               <div class="contentbox" id="activity">
+                       <?php if(!empty($this->activities)): ?>
+                       <ul>
+                               <?php
+                                       foreach($this->activities as $id=>$activity):
+                                               /*
+                                                * harris @may 26, 2009
+                                                * Would be nice to use this, but we will have to change "has" to "have" for _AT('you')
+                                                *
+                                               if ($_SESSION['member_id']== $this->profile['member_id']){
+                                                       echo '<li>'._AT('you');
+                                                       echo ' '.$activity.' ';
+                                                       echo '<a href="'.url_rewrite(AT_SOCIAL_BASENAME.'sprofile.php?delete='.$id).'"><img src="'.$_base_href.AT_SOCIAL_BASENAME.'images/b_drop.png" alt="'._AT('remove').'" title="'._AT('remove').'" border="0" /></a></li>';
+                                               } else {
+                                                       echo '<li>'.printSocialName($this->profile['member_id']).' '.$activity.'</li>';
+                                               }
+                                               */
+                                ?>
+                                <li><?php echo $activity['created_date']. ' - '. printSocialName($activity['member_id']).' '. $activity['title']; ?></li>
+                               <?php endforeach; ?>
+                       </ul>
+                       <?php else: ?>
+                       <?php echo _AT('no_activities'); ?>
+                       <?php endif; ?>
+               </div><br />
+               <?php endif; ?>
+
+               <?php if (PrivacyController::validatePrivacy(AT_SOCIAL_PROFILE_CONNECTION, $this->relationship, $this->prefs)): ?>
+               <div class="headingbox">
+                       <h5><?php echo _AT('connections'); ?></h5>
+               </div>
+               <div class="contentbox">
+                       <?php if (sizeof($this->friends)>0):
+                                       foreach($this->friends as $friend_id): ?>                                                                                                       
+                               <div>
+                               <?php echo printSocialProfileImg($friend_id); ?><br/>
+                               <?php echo printSocialName($friend_id); ?>
+                               </div>
+                       <?php   endforeach;
+                               else: 
+                                       echo _AT('no_friends');
+                               endif; ?>
+               </div><br/>
+
+               <?php if (isset($this->mutual_friends)): ?>
+               <div class="headingbox">
+                       <h5><?php echo _AT('mutual_connections'); ?></h5>
+               </div>
+               <div class="contentbox">
+                       <?php foreach($this->mutual_friends as $friend_id): ?>
+                               <div>
+                               <?php echo printSocialProfileImg($friend_id); ?><br/>
+                               <?php echo printSocialName($friend_id); ?>
+                               </div>
+                       <?php endforeach; ?>
+               </div>
+               <?php endif; //this->mutual_friends != empty ?>
+       
+       <?php endif; ?>
+
+
+                       
+       </div>
+<div style="clear:both;"></div>
+</div>
+
diff --git a/docs/themes/mobile/social/tiny_applications.tmpl.php b/docs/themes/mobile/social/tiny_applications.tmpl.php
new file mode 100644 (file)
index 0000000..17472bb
--- /dev/null
@@ -0,0 +1,37 @@
+<!--  compressed with java -jar {$path}/yuicompressor-2.3.5.jar -o {$file}-min.js {$file}.js -->
+<script type="text/javascript"
+       src="<?php echo AT_SHINDIG_URL; ?>/gadgets/js/rpc.js?c=1"></script>
+<!-- header.inc.php has jscript/InfusionAll.js imported.  Jquery should be there with it
+<script type="text/javascript" src="<?php echo AT_SOCIAL_BASENAME; ?>lib/js/jquery-1.3.2.js"></script>
+-->
+<script type="text/javascript"
+       src="<?php echo AT_SOCIAL_BASENAME; ?>lib/js/prototype.js"></script>
+<script type="text/javascript" src="<?php echo AT_SOCIAL_BASENAME; ?>lib/js/container.js"></script>
+
+<?php  
+       foreach ($this->list_of_my_apps as $id=>$app_obj): 
+?>
+<div class="gadget_wrapper">
+<div class="headingbox">
+       <div style="float:right">
+               <a href="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>applications.php?app_id=<?php echo $app_obj->getId().SEP;?>delete=1"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/b_drop.png" border="0" alt="<?php echo _AT('delete'); ?>" title="<?php echo _AT('delete'); ?>" style="float:right;" /></a>
+
+               <a href="<?php echo AT_SOCIAL_BASENAME.'applications.php?app_id='.$id.SEP.'settings=1'; ?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME;?>images/icon-settings.png" alt="<?php echo _AT('settings');?>" title="<?php echo _AT('settings');?>" border="0" style="float:right;" /></a>
+       </div>  
+       <h3><?php echo $app_obj->getAppLink($app_obj->getTitle(), $id); ?></h3>
+</div>
+<div class="contentbox" style="padding:0.5em;">
+<?php
+       //the name and id here in the iframe is used by the container.js to identify the caller.
+       //Simply, the id is used here to generate the $(this.f)
+       //Originally it was using the ModID, I changed it to appId.
+       //@harris
+?>
+       <iframe 
+       scrolling="<?php echo $app_obj->getScrolling(); ?>"
+       height="<?php echo $app_obj->getHeight();?>px" width="100%"
+       frameborder="0" src="<?php echo $app_obj->getIframeUrl($_REQUEST['id'], 'default', $_GET['appParams']);?>" class="gadgets-gadget"
+       name="remote_iframe_<?php echo $app_obj->getId(); ?>"
+       id="remote_iframe_<?php echo $app_obj->getId(); ?>"></iframe>   
+</div></div><br />
+<?php endforeach; ?>
\ No newline at end of file
diff --git a/docs/themes/mobile/social/tiny_sgroups.tmpl.php b/docs/themes/mobile/social/tiny_sgroups.tmpl.php
new file mode 100644 (file)
index 0000000..ec712db
--- /dev/null
@@ -0,0 +1,36 @@
+       <div class="headingbox"><h3><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'groups/index.php'); ?>"><?php echo _AT('my_groups'); ?></a></h3></div>
+       <div class="contentbox">
+               <?php foreach ($this->my_groups as $i=>$grp): 
+                       $grp_obj = new SocialGroup($grp);
+
+               ?>
+               <div class="contact_mini">
+                       <?php if ($grp_obj->getUser() == $_SESSION['member_id']): ?>
+                               <div style="float:right;margin:1em;"><a href="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>groups/edit.php?id=<?php echo $grp;?>"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/icon-settings.png" alt="<?php echo _AT('settings'); ?>" title="<?php echo _AT('settings'); ?>" border="0"/></a></div>
+                       <?php endif; ?>
+                       <?php if ($grp_obj->getUser() != $_SESSION['member_id']): ?>
+                               <div style="float:right;margin:1em;"><a href="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>groups/view.php?id=<?php echo $grp.SEP;?>remove=1"><img src="<?php echo $_base_href.AT_SOCIAL_BASENAME; ?>images/b_drop.png" alt="<?php echo _AT('delete'); ?>" title="<?php echo _AT('leave_group'); ?>" border="0"/></a></div>
+                       <?php endif; ?>
+
+
+
+                       <div class="box">
+                               <div style="float:left;">
+                               <?php echo $grp_obj->getLogo(); ?>
+                               
+                               </div>
+                               <div style="float:left; padding-left:0.5em;">
+                               <h4><a href="<?php echo url_rewrite(AT_SOCIAL_BASENAME.'groups/view.php?id='.$grp);?>"><?php echo $grp_obj->getName(); ?></a></h4><br/>
+                                       <?php echo _AT('group_type') .': '. $grp_obj->getGroupType();?><br/>
+                                       <?php echo _AT('access') .': '. ($grp_obj->getPrivacy()?_AT('private'):_AT('public'))?><br/>
+                                       <?php echo _AT('description') .': <br/>'. $grp_obj->getDescription();?><br/>
+                               </div>
+                               <div style="clear:both;"></div>
+                       </div><br />
+               </div>
+               <?php endforeach; ?>
+               <?php           
+               if(!$grp){ 
+                       echo _AT('no_groups_yet');
+                } ?>
+       </div>
diff --git a/docs/themes/mobile/test.html b/docs/themes/mobile/test.html
new file mode 100644 (file)
index 0000000..f91ff97
--- /dev/null
@@ -0,0 +1,109 @@
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="<?php echo $this->lang_code; ?>"> 
+
+<head>
+       <title><?php echo SITE_NAME; ?> : <?php echo $this->page_title; ?></title>
+       <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $this->lang_charset; ?>" />
+       <meta name="Generator" content="ATutor - Copyright 2005 by http://atutor.ca" />
+       <meta name="viewport" content="user-scalable=no, width=device-width, initial-scale=1.0, maximum-scale=1.0," />
+       <meta name="apple-mobile-web-app-capable" content="yes"/>
+       <base href="<?php echo $this->content_base_href; ?>" />
+       <link rel="shortcut icon" href="<?php echo $this->base_path; ?>favicon.ico" type="image/x-icon" /> 
+       <link rel="stylesheet" href="<?php echo $this->base_path.'themes/'.$this->theme; ?>/print.css" type="text/css" media="print" />
+       <!-- mobile FSS -->
+       <link rel="stylesheet" href="<?php echo $this->base_path; ?>jscripts/infusion/framework/fss/css/fss-mobile-layout.css" type="text/css"/>
+       <link rel="stylesheet" href="<?php echo $this->base_path; ?>jscripts/infusion/framework/fss/css/fss-mobile-theme-iphone.css" type="text/css"/>  
+       <link rel="stylesheet" href="<?php echo $this->base_path.'themes/'.$this->theme; ?>/styles.css" type="text/css"/>
+
+       
+       <!--[if IE]>
+         <link rel="stylesheet" href="<?php echo $this->base_path.'themes/'.$this->theme; ?>/ie_styles.css" type="text/css" />
+       <![endif]-->
+       <link rel="stylesheet" href="<?php echo $this->base_path.'themes/'.$this->theme; ?>/forms.css" type="text/css" />
+               
+<?php echo $this->rtl_css; ?>
+<?php if (isset($this->course_id) && $system_courses[$this->course_id]['rss']): ?>
+       <link rel="alternate" type="application/rss+xml" title="<?php echo SITE_NAME; ?> - RSS 2.0" href="<?php echo $this->base_href; ?>get_rss.php?<?php echo $this->course_id; ?>-2" />
+       <link rel="alternate" type="application/rss+xml" title="<?php echo SITE_NAME; ?> - RSS 1.0" href="<?php echo $this->base_href; ?>get_rss.php?<?php echo $this->course_id; ?>-1" />
+<?php endif; ?>
+       <script src="<?php echo $this->base_path; ?>jscripts/infusion/InfusionAll.js" type="text/javascript"></script>
+       <script src="<?php echo $this->base_path; ?>jscripts/infusion/jquery.autoHeight.js" type="text/javascript"></script>
+       <script src="<?php echo $this->base_path; ?>jscripts/ATutor.js" type="text/javascript"></script>   
+       <script src="<?php echo $this->base_path; ?>jscripts/ATutorCourse.js" type="text/javascript"></script>   
+       <script src="<?php echo $this->base_path.'themes/'.$this->theme; ?>/iscroll.js" type="text/javascript"></script>
+       <script language="javascript" type="text/javascript">
+       //<!--
+       jQuery.noConflict();
+       //-->
+       </script>
+<script type="text/javascript">
+var myScroll;
+
+function setHeight() {
+       var headerH = document.getElementById('header').offsetHeight;
+       var footerH = document.getElementById('footer').offsetHeight;
+       var wrapperH = window.innerHeight - headerH - footerH;
+       document.getElementById('wrapper').style.height = wrapperH + 'px';
+}
+
+function loaded() {
+       setHeight();
+       myScroll = new iScroll('scroller', { checkDOMChanges: true, fadeScrollbar: false, vScrollbar: true, bounce: false, desktopCompatibility: true });
+}
+
+window.addEventListener('onorientationchange' in window ? 'orientationchange' : 'resize', setHeight, false); //destroy on horizontal? 
+document.addEventListener('touchmove', function(e){ e.preventDefault(); }, false);
+document.addEventListener('DOMContentLoaded', loaded, false);
+</script>
+
+
+<?php echo $this->custom_css; ?>
+</head>
+
+<body>
+<div id="header"><a href="http://cubiq.org/iscroll">iScroll</a></div>
+
+<div id="wrapper">
+       <div id="scroller">
+               <ul id="thelist">
+                       <li>Pretty content row 1</li>
+                       <li>Pretty content row 2</li>
+
+                       <li>Pretty content row 3</li>
+                       <li>Pretty content row 4</li>
+                       <li>Pretty content row 5</li>
+                       <li>Pretty content row 1</li>
+                       <li>Pretty content row 2</li>
+
+                       <li>Pretty content row 3</li>
+                       <li>Pretty content row 4</li>
+                       <li>Pretty content row 5</li>
+                       <li>Pretty content row 1</li>
+                       <li>Pretty content row 2</li>
+
+                       <li>Pretty content row 3</li>
+                       <li>Pretty content row 4</li>
+                       <li>Pretty content row 5</li>
+                       <li>Pretty content row 1</li>
+                       <li>Pretty content row 2</li>
+
+                       <li>Pretty content row 3</li>
+                       <li>Pretty content row 4</li>
+                       <li>Pretty content row 5</li>
+                       <li>Pretty content row 1</li>
+                       <li>Pretty content row 2</li>
+
+                       <li>Pretty content row 3</li>
+                       <li>Pretty content row 4</li>
+                       <li>Pretty content row 5</li>
+
+               </ul>
+       </div>
+</div>
+
+<div id="footer"></div>
+<div id="test"><div></div></div>
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/themes/mobile/theme.cfg.php b/docs/themes/mobile/theme.cfg.php
new file mode 100644 (file)
index 0000000..b180cf4
--- /dev/null
@@ -0,0 +1,45 @@
+<?php
+/************************************************************************/
+/* ATutor                                                                                                                              */
+/************************************************************************/
+/* Copyright (c) 2002-2008 by Greg Gay, Joel Kronenberg & Heidi Hazelton*/
+/* Adaptive Technology Resource Centre / University of Toronto                 */
+/* http://atutor.ca                                                                                                            */
+/*                                                                                                                                             */
+/* This program is free software. You can redistribute it and/or               */
+/* modify it under the terms of the GNU General Public License                 */
+/* as published by the Free Software Foundation.                                               */
+/************************************************************************/
+
+// $Id: theme.cfg.php 2813 2004-12-12 15:37:46Z greg $
+
+/* This is the default configuration file for the default theme. */
+
+/* The theme's name. */
+       $_theme['name'] = 'AliMobile 2.0';
+
+/* The theme's version number. */
+       $_theme['version'] = '1.0';
+
+/* Which version of ATutor is this theme intended for. */
+       $_theme['atutor-version'] = '2.0';
+
+/* author information */
+       $_theme['author_name']  = 'Alison Benjamin';
+       $_theme['author_url']   = 'http://atutor.ca';
+       $_theme['author_email'] = 'alison.benjamin@gmail.com';
+
+/* theme default course banner styles: */
+/*
+       $_theme['banner']['font-family'] = 'Verdana, Arial, sans-serif';
+       $_theme['banner']['font-weight'] = 'bold';
+       $_theme['banner']['color']       = 'black';
+       $_theme['banner']['font-size']   = 'xx-large';
+       $_theme['banner']['text-align']  = 'center';
+
+       $_theme['banner']['background-color'] = 'white';
+       $_theme['banner']['background-image'] = '';
+       $_theme['banner']['vertical-align']   = 'middle';
+       $_theme['banner']['padding']          = '3px';*/
+
+?>
diff --git a/docs/themes/mobile/theme_info.xml b/docs/themes/mobile/theme_info.xml
new file mode 100644 (file)
index 0000000..6becef1
--- /dev/null
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>\r
+<!--This is an ATutor Theme Generator document-->\r
+<!--Created from the ATutor Themes Export Generator-->\r
+\r
+<theme>\r
+       <title>Mobile</title>\r
+       <version>1.0</version>\r
+       <type>Mobile</type>\r
+       <last_updated>2010-08-16</last_updated>\r
+       <extra_info>This is the default theme for Android and iPhone mobile devices.</extra_info>\r
+</theme>\r
+\r
diff --git a/docs/themes/mobile/users/browse.tmpl.php b/docs/themes/mobile/users/browse.tmpl.php
new file mode 100644 (file)
index 0000000..6e740e9
--- /dev/null
@@ -0,0 +1,76 @@
+<?php require(AT_INCLUDE_PATH.'header.inc.php'); ?>
+<div class="column-login">
+<div class="input-form">
+<fieldset class="group_form"><legend class="group_form"><?php echo _AT('filter'); ?></legend>
+       <form method="get" action="<?php echo $_SERVER['PHP_SELF']; ?>">
+               
+                       <div class="row">
+                               <h3><?php echo _AT('results_found', $this->num_results); ?></h3>
+                       </div>
+                       <div class="row">
+                               <?php echo _AT('access'); ?><br />
+                               <input type="radio" name="access" value="private" id="s1" <?php if ($_GET['access'] == 'private') { echo 'checked="checked"'; } ?> /><label for="s1"><?php echo _AT('private'); ?></label> 
+
+                               <input type="radio" name="access" value="protected" id="s2" <?php if ($_GET['access'] == 'protected') { echo 'checked="checked"'; } ?> /><label for="s2"><?php echo _AT('protected'); ?></label>
+
+                               <input type="radio" name="access" value="public" id="s3" <?php if ($_GET['access'] == 'public') { echo 'checked="checked"'; } ?> /><label for="s3"><?php echo _AT('public'); ?></label>
+
+                               <input type="radio" name="access" value="" id="s" <?php if ($_GET['access'] == '') { echo 'checked="checked"'; } ?> /><label for="s"><?php echo _AT('all'); ?></label>
+                       </div>
+
+               <?php if ($this->has_categories): ?>
+                       <div class="row">
+                               <label for="category"><?php echo _AT('category'); ?></label><br/>
+                               <select name="category" id="category">
+                                       <option value="-1">- - - <?php echo _AT('cats_all'); ?> - - -</option>
+                                       <option value="0" <?php if ($_GET['category'] == 0) { echo 'selected="selected"'; } ?>>- - - <?php echo _AT('cats_uncategorized'); ?> - - -</option>
+                                       <?php echo $this->categories_select; ?>
+                               </select>
+                       </div>
+               <?php endif; ?>
+
+                       <div class="row">
+                               <label for="search"><?php echo _AT('search'); ?> (<?php echo _AT('title').', '._AT('description'); ?>)</label><br />
+
+                               <input type="text" name="search" id="search" size="30" value="<?php echo htmlspecialchars($_GET['search']); ?>" />
+                               <br/>
+                               <?php echo _AT('search_match'); ?>:
+                               <input type="radio" name="include" value="all" id="match_all" <?php echo $this->checked_include_all; ?> /><label for="match_all"><?php echo _AT('search_all_words'); ?></label> 
+                               <input type="radio" name="include" value="one" id="match_one" <?php echo $this->checked_include_one; ?> /><label for="match_one"><?php echo _AT('search_any_word'); ?></label>
+                       </div>
+
+                       <div class="row buttons">
+                               <input type="submit" name="filter" value="<?php echo _AT('filter'); ?>"/>
+                               <input type="submit" name="reset_filter" value="<?php echo _AT('reset_filter'); ?>"/>
+                       </div>
+               
+       </form>
+</fieldset>
+</div>
+</div>
+<div>
+<?php if (is_array($this->courses_rows)){ ?>
+       <?php foreach ($this->courses_rows as $row){ ?>
+           <?php  $counter++; ?>
+               <ul class="fl-list-menu fl-list-thumbnails">
+                <li>
+                               <h3 class="browse-courses"><a href="<?php echo url_rewrite('bounce.php?course='.$row['course_id'], true); ?>"><?php echo htmlentities($row['title'], ENT_QUOTES, 'UTF-8'); ?></a></h3>      
+                    
+                     <?php if ($row['description']): ?>
+                               <span class="fl-link-summary" title="<?php echo htmlentities($row['description']);?>"><?php echo substr(nl2br(htmlentities($row['description'], ENT_QUOTES, 'UTF-8')),0,150); 
+                               if(strlen($row['description']) > 150){
+                               echo "...";
+                               }
+                               ?>&nbsp;</span>
+                       <?php else: ?>
+                               <span class="fl-link-summary" title="<?php echo htmlentities($row['description']);?>">&nbsp;</span>
+                       <?php endif; ?>
+               
+               </li>
+       
+       </ul>         
+       <?php } // end foreach ?>
+<?php } // end if ?>
+</div>
+
+<?php require(AT_INCLUDE_PATH.'footer.inc.php'); ?>
\ No newline at end of file
diff --git a/docs/themes/mobile/users/email_change.tmpl.php b/docs/themes/mobile/users/email_change.tmpl.php
new file mode 100644 (file)
index 0000000..f11d809
--- /dev/null
@@ -0,0 +1,39 @@
+<?php 
+global $onload;
+$onload = 'document.form.form_password.focus();';
+require(AT_INCLUDE_PATH.'header.inc.php'); 
+?>
+
+<script language="JavaScript" type="text/javascript" src="sha-1factory.js"></script>
+
+<script type="text/javascript">
+function encrypt_password()
+{
+       document.form.form_password_hidden.value = hex_sha1(document.form.form_password.value);
+       document.form.form_password.value = "";
+}
+</script>
+
+<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form">
+       <input type="hidden" name="form_password_hidden" value="" />
+
+       <div class="input-form" style="width:90%;">
+
+               <div class="row">
+                       <span class="required" title="<?php echo _AT('required_field'); ?>">*</span><label for="form_password"><?php echo _AT('password'); ?></label><br />
+                       <input id="form_password" name="form_password" type="password" size="15" maxlength="15" value="" /><br />
+               </div>
+
+               <div class="row">
+                       <span class="required" title="<?php echo _AT('required_field'); ?>">*</span><label for="email"><?php echo _AT('email_address'); ?></label><br />
+                       <input id="email" name="email" type="text" size="50" maxlength="50" value="<?php echo stripslashes(htmlspecialchars($_POST['email'])); ?>" />
+               </div>
+
+               <div class="row buttons">
+                       <input type="submit" name="submit" value="<?php echo _AT('submit'); ?>" onClick="encrypt_password()" />
+                       <input type="submit" name="cancel" value=" <?php echo _AT('cancel'); ?> " />
+               </div>
+       </div>
+</form>
+
+<?php require(AT_INCLUDE_PATH.'footer.inc.php'); ?>
\ No newline at end of file
diff --git a/docs/themes/mobile/users/index.tmpl.php b/docs/themes/mobile/users/index.tmpl.php
new file mode 100644 (file)
index 0000000..27bf7d5
--- /dev/null
@@ -0,0 +1,80 @@
+<?php require(AT_INCLUDE_PATH.'header.inc.php'); ?>
+
+<div id="my_courses_container">
+<ul class="my-courses-list-ul" style="padding:0">
+
+<?php foreach ($this->courses as $row):
+       static $counter;
+       $counter++;
+?>
+
+<li class="my-courses-list">
+  <?php echo '<a href="'.url_rewrite('bounce.php?course=' . $row['course_id']) . '"> '.htmlentities($row['title']).'</a>' ?>
+  <?php if ($row['last_cid']): ?>
+                 <a class="my-courses-resume" href="bounce.php?course=<?php echo $row['course_id'].SEP.'p='.urlencode('content.php?cid='.$row['last_cid']); ?>"><img src="<?php echo $_base_href;  ?>themes/default/images/resume.png" border="" alt="<?php echo _AT('resume'); ?>" title="<?php echo _AT('resume'); ?>" /></a>
+    <?php endif; ?>  
+
+       <div class="my-courses-links">
+    <?php if ($row['member_id'] != $_SESSION['member_id']  && $_config['allow_unenroll'] == 1): ?>
+        <a href="users/remove_course.php?course=<?php echo $row['course_id']; ?>"><?php echo _AT('unenroll_me'); ?></a>
+    <?php endif; ?>
+    <?php if ($row['tests']): ?>
+           <?php foreach ($row['tests'] as $test): ?>
+                  <a href="bounce.php?course=<?php echo $row['course_id'].SEP.'p='.urlencode('mods/_standard/tests/test_intro.php?tid='.$test['test_id']); ?>"><span title="<?php echo _AT('tests'); ?>:<?php echo $test['title']; ?>"><?php echo $test['title']; ?></span></a> 
+           <?php endforeach ;?>
+    <?php endif; ?>  
+    </div>
+   
+</li>
+
+<?php endforeach; ?>
+
+</ul>
+</div>
+
+<div class="current_box">
+<div class="current_head"> <h3><?php echo _AT('things_current'); ?></h3></div>
+    <?php
+               
+    //display current news
+
+    if($_GET['p'] == 0){
+      $p = 1;
+    }else{
+      $p = intval($_GET['p']);
+    }
+    if($_GET['p'] == "all"){
+      $perpage = count($this->all_news);
+    }else{
+      $perpage = 10;
+    }
+
+    $newscount = count($this->all_news);
+    $num_pages = (ceil($newscount/$perpage));;
+    $start = ($p-1)*$perpage;
+    $end = ($p*$perpage);
+
+    print_paginator($page, $num_pages, '', 1); 
+    for($i=$start;$i<=$end; $i++){
+       $count = $i;
+       if (isset($this->all_news)) {
+           echo '<ul class="current_list">';
+             if(isset($this->all_news[$i]['thumb'])){
+                   echo '<li><img src="'.$this->all_news[$i]['thumb'].'" alt="'.$this->all_news[$i]['alt'].'" title="'.$this->all_news[$i]['alt'].'"/> ' . $this->all_news[$i]['link'] .' <br />';
+                   if($this->all_news[$i]['object']['course_id']){
+                   echo '<small>(<a href="bounce.php?course='.$this->all_news[$i]['object']['course_id'].'">'.$this->all_news[$i]['course'].'</a>)|';
+                   }
+                   echo '('.AT_DATE('%F %j, %g:%i',$this->all_news[$i]['time']).')</small><hr></hr></li>';
+               }
+           echo '</ul>';
+       }
+    }
+    if($perpage == count($this->all_news)){ ?>
+       <a href="<?php echo $_SERVER['PHP_SELF']; ?>?p=1"><?php echo _AT('show_pages'); ?></a>
+    <?php }else{ ?>
+       <div id="show-all"><a href="<?php echo $_SERVER['PHP_SELF']; ?>?p=all"><?php echo _AT('show_all'); ?></a></div>
+    <?php } ?>
+<br /><br />
+</div>  
+
+<?php require(AT_INCLUDE_PATH.'footer.inc.php'); ?>
\ No newline at end of file
diff --git a/docs/themes/mobile/users/password_change.tmpl.php b/docs/themes/mobile/users/password_change.tmpl.php
new file mode 100644 (file)
index 0000000..410fa72
--- /dev/null
@@ -0,0 +1,66 @@
+<?php 
+global $onload;
+$onload = 'document.form.old_password.focus();';
+
+require(AT_INCLUDE_PATH.'header.inc.php'); 
+?>
+
+<script language="JavaScript" src="sha-1factory.js" type="text/javascript"></script>
+
+<script type="text/javascript">
+function encrypt_password()
+{
+       document.form.password_error.value = "";
+
+       document.form.form_old_password_hidden.value = hex_sha1(document.form.old_password.value);
+       document.form.old_password.value = "";
+
+       // verify new password
+       err = verify_password(document.form.password.value, document.form.password2.value);
+       
+       if (err.length > 0)
+       {
+               document.form.password_error.value = err;
+       }
+       else
+       {
+               document.form.form_password_hidden.value = hex_sha1(document.form.password.value);
+               document.form.password.value = "";
+               document.form.password2.value = "";
+       }
+}
+</script>
+
+<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form">
+       <input type="hidden" name="form_change" value="true" />
+       <input name="password_error" type="hidden" />
+       <input type="hidden" name="form_old_password_hidden" value="" />
+       <input type="hidden" name="form_password_hidden" value="" />
+
+       <div class="input-form" style="width:90%;">
+
+               <div class="row">
+                       <span class="required" title="<?php echo _AT('required_field'); ?>">*</span><label for="old_password"><?php echo _AT('password_old'); ?></label><br />
+                       <input id="old_password" name="old_password" type="password" size="15" maxlength="15" /><br />
+               </div>
+
+               <div class="row">
+                       <span class="required" title="<?php echo _AT('required_field'); ?>">*</span><label for="password"><?php echo _AT('password'); ?></label><br />
+                       <input id="password" name="password" type="password" size="15" maxlength="15" /><br />
+                       <small>&middot; <?php echo _AT('combination'); ?><br />
+                                  &middot; <?php echo _AT('15_max_chars'); ?></small>
+               </div>
+
+               <div class="row">
+                       <span class="required" title="<?php echo _AT('required_field'); ?>">*</span><label for="password2"><?php echo _AT('password_again'); ?></label><br />
+                       <input id="password2" name="password2" type="password" size="15" maxlength="15" />
+               </div>
+
+               <div class="row buttons">
+                       <input type="submit" name="submit" value="<?php echo _AT('submit'); ?>" onClick="encrypt_password()" /> 
+                       <input type="submit" name="cancel" value=" <?php echo _AT('cancel'); ?> " />
+               </div>
+       </div>
+</form>
+
+<?php require(AT_INCLUDE_PATH.'footer.inc.php'); ?>
\ No newline at end of file
diff --git a/docs/themes/mobile/users/pref_wizard/index.tmpl.php b/docs/themes/mobile/users/pref_wizard/index.tmpl.php
new file mode 100644 (file)
index 0000000..7655d31
--- /dev/null
@@ -0,0 +1,73 @@
+<?php 
+global $savant;
+global $_base_path;
+global $msg;
+?>
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="<?php echo $this->lang_code; ?>">
+    <head>
+        <meta http-equiv="Content-Type" content="text/html; charset=<?php echo $this->lang_charset; ?>" />
+        <title><?php echo SITE_NAME; ?> : <?php echo _AT('preferences'); ?></title>
+        <script src="<?php echo $_base_path; ?>jscripts/infusion/InfusionAll.js" type="text/javascript"></script>
+               <script src="<?php echo $_base_path; ?>jscripts/TILE.js" type="text/javascript"></script>
+        <link rel="shortcut icon" href="<?php echo $_base_path; ?>favicon.ico" type="image/x-icon" />
+        <link rel="stylesheet" href="<?php echo $_base_path ?>jscripts/infusion/framework/fss/css/fss-layout.css" type="text/css" />       
+        <link rel="stylesheet" href="<?php echo $_base_path; ?>themes/default/styles.css" type="text/css" />
+        <script src="<?php echo $_base_path; ?>jscripts/ATutor.js" type="text/javascript"></script>   
+        <style id="pref_style" type="text/css"></style>    
+    </head>
+    <body onload="<?php echo $this->onload; ?>">
+        <div class="fl-force-right"><br /><a href="javascript:window.close()"><?php echo _AT('close'); ?></a></div>
+        <a name="content"></a>
+
+        <h1><?php echo _AT('preferences') ?></h1>
+        <?php $msg->printAll(); ?>
+
+<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" name="form" enctype="multipart/form-data">
+<?php
+    if ($this->start_template != null) {
+        $savant->display($this->start_template);
+    }
+    else if ($this->pref_template != null) {
+       echo '<fieldset class="wizscreen">';
+        include_once($this->pref_template);
+
+        
+        foreach ($this->pref_wiz as $pref => $template) { 
+            echo '<input type="hidden" name="pref_wiz[]" value="'.$template.'" />';
+        }
+        echo '<input type="hidden" value="'.$this->pref_index.'" name="pref_index" id="pref_index" />';    
+        echo '<input type="hidden" value="'.$_SESSION['course_id'].'" name="course_id" id="course_id" />';
+        
+        echo '<div class="row buttons"><input class="button" type="submit" name="set_default" value="'._AT("reapply_default").'" accesskey="d" />';
+        echo '<span class="fl-force-right"><input type="submit" value="'._AT('previous').'" name="previous" id="previous" class="button"/>';
+        if ($this->pref_index < count($this->pref_wiz) - 1) echo '<input type="submit" value="'._AT('next').'" name="next" id="next" class="button"/>';
+        else echo '<input type="submit" value="'._AT('done').'" name="done" id="done" class="button"/>';
+        echo '</span></div>';
+        echo '</fieldset>';
+    }
+?>
+</form>
+<script type="text/javascript">
+//<!--
+    <?php 
+    if (isset($_POST['done']) || isset($_POST['set_default'])) {
+        echo 'ATutor.users.preferences.setStyles("'.$_SESSION["prefs"]["PREF_BG_COLOUR"].
+            '","'.$_SESSION["prefs"]["PREF_FG_COLOUR"].
+            '","'.$_SESSION["prefs"]["PREF_HL_COLOUR"].
+            '","'.$_SESSION["prefs"]["PREF_FONT_FACE"].
+            '","'.$_SESSION["prefs"]["PREF_FONT_TIMES"].'");';
+        
+    } 
+    if (isset($_POST['done'])) {
+        echo "window.close();";
+    }
+    require_once(AT_INCLUDE_PATH.'../jscripts/ATutor_js.php'); 
+    ?>
+//-->
+
+
+</script>
+
+</body>
+</html>
\ No newline at end of file
diff --git a/docs/themes/mobile/users/pref_wizard/initialize.tmpl.php b/docs/themes/mobile/users/pref_wizard/initialize.tmpl.php
new file mode 100644 (file)
index 0000000..ed759cf
--- /dev/null
@@ -0,0 +1,47 @@
+<?php $prefs_set = isset($this->pref_wiz);?>
+
+<fieldset class="wizscreen"><legend><?php echo _AT('prefs_set_init_legend'); ?></legend>
+<div id="feedback">
+<?php echo _AT('prefs_set_init'); ?>
+</div>
+    <div>
+        <input type="checkbox" name="pref_wiz[]" value="<?php echo DISPLAY ?>" id="display" <?php if ($prefs_set && in_array(DISPLAY, $this->pref_wiz)) echo checked ?> />
+        <label for="display"><?php echo _AT('prefs_set_init_see'); ?></label>
+    </div>
+
+    <div>
+        <input type="checkbox" name="pref_wiz[]" value="<?php echo NAVIGATION ?>" id="navigation" <?php if ($prefs_set && in_array(NAVIGATION, $this->pref_wiz)) echo checked ?> />
+        <label for="navigation"><?php echo _AT('prefs_set_init_nav'); ?></label>
+    </div>
+
+    <div>
+        <input type="checkbox" name="pref_wiz[]" value="<?php echo ALT_TO_TEXT ?>" id="altToText" <?php if ($prefs_set && in_array(ALT_TO_TEXT, $this->pref_wiz)) echo checked ?> />
+        <label for="altToText"><?php echo _AT('prefs_set_init_text'); ?></label>
+    </div>
+
+    <div>
+        <input type="checkbox" name="pref_wiz[]" value="<?php echo ALT_TO_AUDIO ?>" id="altToAudio" <?php if ($prefs_set && in_array(ALT_TO_AUDIO, $this->pref_wiz)) echo checked ?> />
+        <label for="altToAudio"><?php echo _AT('prefs_set_init_audio'); ?></label>
+    </div>
+    
+    <div>
+        <input type="checkbox" name="pref_wiz[]" value="<?php echo ALT_TO_VISUAL ?>" id="altToVisual" <?php if ($prefs_set && in_array(ALT_TO_VISUAL, $this->pref_wiz)) echo checked ?> />
+        <label for="altToVisual"><?php echo _AT('prefs_set_init_visual'); ?></label>
+    </div>
+    
+    <div>
+        <input type="checkbox" name="pref_wiz[]" value="<?php echo SUPPORT ?>" id="support" <?php if ($prefs_set && in_array(SUPPORT, $this->pref_wiz)) echo checked ?> />
+        <label for="support"><?php echo _AT('prefs_set_init_tool'); ?></label>
+    </div>
+    
+    <div>
+        <input type="checkbox" name="pref_wiz[]" value="<?php echo ATUTOR ?>" id="atutor_pref" <?php if ($prefs_set && in_array(ATUTOR, $_POST['pref_wiz'])) echo checked ?> />
+        <label for="atutor_pref"><?php echo _AT('prefs_set_init_atutor'); ?></label>
+    </div>
+    
+    <input type="hidden" value="-1" name="pref_index" id="pref_index" /><br />
+    <input type="hidden" value="<?php echo $_SESSION['course_id']; ?>" name="course_id" id="course_id" /><br />
+    <input class="button" type="submit" name="set_default" value="<?php echo _AT("reapply_default"); ?>" accesskey="d" />
+    <input class="button" type="submit" value="<?php echo _AT('next'); ?>" name="next" id="next"/>
+
+</fieldset>
\ No newline at end of file
diff --git a/docs/themes/mobile/users/preferences.tmpl.php b/docs/themes/mobile/users/preferences.tmpl.php
new file mode 100644 (file)
index 0000000..3491a45
--- /dev/null
@@ -0,0 +1,279 @@
+<?php 
+
+$tabs = get_tabs();    
+$num_tabs = count($tabs);
+
+$current_tab = 0;  // set default tab
+$switch_tab = false;
+
+for ($i=0; $i < $num_tabs; $i++) 
+{
+       if (isset($_POST['button_'.$i]) && ($_POST['button_'.$i] != -1)) 
+       { 
+               $current_tab = $i;
+               $switch_tab = true;
+               break;
+       }
+}
+
+if (!$switch_tab && isset($_POST['current_tab'])) {
+       $current_tab = intval($_POST['current_tab']);
+}
+
+if ($current_tab == 1)
+{
+       global $_custom_head, $onload;
+       
+       $_custom_head = "<script language=\"JavaScript\" src=\"jscripts/TILE.js\" type=\"text/javascript\"></script>";
+       $onload = "setPreviewFace(); setPreviewSize(); setPreviewColours();";
+}
+
+require(AT_INCLUDE_PATH.'header.inc.php'); 
+
+if($_SESSION['course_id'] == "-1"){
+echo '<div id="container"><br />';
+}
+
+?>
+
+<form action="<?php echo $_SERVER['PHP_SELF']; ?>"  method="post" name="form" enctype="multipart/form-data">
+
+
+               <?php output_tabs($current_tab, $changes_made); ?>
+
+
+       <div class="input-form">
+               <input type="hidden" name="current_tab" value="<?php echo $current_tab; ?>" />
+<?php
+       if ($current_tab != 0) 
+       {
+               // save selected options on tab 0 (ATutor settings)
+               if (isset($_POST['theme']))
+                       echo '  <input type="hidden" name="theme" value="'.$_POST['theme'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_THEME']))
+                       echo '  <input type="hidden" name="theme" value="'.$_SESSION['prefs']['PREF_THEME'].'" />'."\n\r";
+               
+               if (isset($_POST['mnot']))
+                       echo '  <input type="hidden" name="mnot" value="'.$_POST['mnot'].'" />'."\n\r";
+               else if (isset($this->notify))
+                       echo '  <input type="hidden" name="mnot" value="'.$this->notify.'" />'."\n\r";
+
+               if (isset($_POST['time_zone']))
+                       echo '  <input type="hidden" name="time_zone" value="'.$_POST['time_zone'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_TIMEZONE']))
+                       echo '  <input type="hidden" name="time_zone" value="'.$_SESSION['prefs']['PREF_TIMEZONE'].'" />'."\n\r";
+               
+               if (isset($_POST['numbering']))
+                       echo '  <input type="hidden" name="numbering" value="'.$_POST['numbering'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_NUMBERING']))
+                       echo '  <input type="hidden" name="numbering" value="'.$_SESSION['prefs']['PREF_NUMBERING'].'" />'."\n\r";
+               
+               if (isset($_POST['use_jump_redirect']))
+                       echo '  <input type="hidden" name="use_jump_redirect" value="'.$_POST['use_jump_redirect'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_JUMP_REDIRECT']))
+                       echo '  <input type="hidden" name="use_jump_redirect" value="'.$_SESSION['prefs']['PREF_JUMP_REDIRECT'].'" />'."\n\r";
+               
+               if (isset($_POST['auto']))
+                       echo '  <input type="hidden" name="auto" value="'.$_POST['auto'].'" />'."\n\r";
+               else if (isset($this->is_auto_login))
+                       echo '  <input type="hidden" name="auto" value="'.$this->is_auto_login.'" />'."\n\r";
+               
+               if (isset($_POST['form_focus']))
+                       echo '  <input type="hidden" name="form_focus" value="'.$_POST['form_focus'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_FORM_FOCUS']))
+                       echo '  <input type="hidden" name="form_focus" value="'.$_SESSION['prefs']['PREF_FORM_FOCUS'].'" />'."\n\r";
+               
+               if (isset($_POST['show_guide']))
+                       echo '  <input type="hidden" name="show_guide" value="'.$_POST['show_guide'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_SHOW_GUIDE']))
+                       echo '  <input type="hidden" name="show_guide" value="'.$_SESSION['prefs']['PREF_SHOW_GUIDE'].'" />'."\n\r";
+               
+               if (isset($_POST['content_editor']))
+                       echo '  <input type="hidden" name="content_editor" value="'.$_POST['content_editor'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_CONTENT_EDITOR']))
+                       echo '  <input type="hidden" name="content_editor" value="'.$_SESSION['prefs']['PREF_CONTENT_EDITOR'].'" />'."\n\r";
+       }
+
+       if ($current_tab != 1) 
+       {
+               // save selected options on tab 1 (display settings)
+               if (isset($_POST['fontface']))
+                       echo '  <input type="hidden" name="fontface" value="'.$_POST['fontface'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_FONT_FACE']))
+                       echo '  <input type="hidden" name="fontface" value="'.$_SESSION['prefs']['PREF_FONT_FACE'].'" />'."\n\r";
+
+               if (isset($_POST['font_times']))
+                       echo '  <input type="hidden" name="font_times" value="'.$_POST['font_times'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_FONT_TIMES']))
+                       echo '  <input type="hidden" name="font_times" value="'.$_SESSION['prefs']['PREF_FONT_TIMES'].'" />'."\n\r";
+
+               if (isset($_POST['fg']))
+                       echo '  <input type="hidden" name="fg" value="'.$_POST['fg'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_FG_COLOUR']))
+                       echo '  <input type="hidden" name="fg" value="'.$_SESSION['prefs']['PREF_FG_COLOUR'].'" />'."\n\r";
+
+               if (isset($_POST['bg']))
+                       echo '  <input type="hidden" name="bg" value="'.$_POST['bg'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_BG_COLOUR']))
+                       echo '  <input type="hidden" name="bg" value="'.$_SESSION['prefs']['PREF_BG_COLOUR'].'" />'."\n\r";
+
+               if (isset($_POST['hl']))
+                       echo '  <input type="hidden" name="hl" value="'.$_POST['hl'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_HL_COLOUR']))
+                       echo '  <input type="hidden" name="hl" value="'.$_SESSION['prefs']['PREF_HL_COLOUR'].'" />'."\n\r";
+       }
+               
+       if ($current_tab != 2) 
+       {
+               // save selected options on tab 2 (content settings)
+               if (isset($_POST['use_alternative_to_text']))
+                       echo '  <input type="hidden" name="use_alternative_to_text" value="'.$_POST['use_alternative_to_text'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_USE_ALTERNATIVE_TO_TEXT']))
+                       echo '  <input type="hidden" name="use_alternative_to_text" value="'.$_SESSION['prefs']['PREF_USE_ALTERNATIVE_TO_TEXT'].'" />'."\n\r";
+
+               if (isset($_POST['preferred_alt_to_text']))
+                       echo '  <input type="hidden" name="preferred_alt_to_text" value="'.$_POST['preferred_alt_to_text'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_ALT_TO_TEXT']))
+                       echo '  <input type="hidden" name="preferred_alt_to_text" value="'.$_SESSION['prefs']['PREF_ALT_TO_TEXT'].'" />'."\n\r";
+               
+               if (isset($_POST['alt_to_text_append_or_replace']))
+               echo '  <input type="hidden" name="alt_to_text_append_or_replace" value="'.$_POST['alt_to_text_append_or_replace'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_ALT_TO_TEXT_APPEND_OR_REPLACE']))
+               echo '  <input type="hidden" name="alt_to_text_append_or_replace" value="'.$_SESSION['prefs']['PREF_ALT_TO_TEXT_APPEND_OR_REPLACE'].'" />'."\n\r";
+               
+               if (isset($_POST['alt_text_prefer_lang']))
+               echo '  <input type="hidden" name="alt_text_prefer_lang" value="'.$_POST['alt_text_prefer_lang'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_ALT_TEXT_PREFER_LANG']))
+               echo '  <input type="hidden" name="alt_text_prefer_lang" value="'.$_SESSION['prefs']['PREF_ALT_TEXT_PREFER_LANG'].'" />'."\n\r";
+               
+               if (isset($_POST['use_alternative_to_audio']))
+               echo '  <input type="hidden" name="use_alternative_to_audio" value="'.$_POST['use_alternative_to_audio'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_USE_ALTERNATIVE_TO_AUDIO']))
+               echo '  <input type="hidden" name="use_alternative_to_audio" value="'.$_SESSION['prefs']['PREF_USE_ALTERNATIVE_TO_AUDIO'].'" />'."\n\r";
+               
+               if (isset($_POST['preferred_alt_to_audio']))
+               echo '  <input type="hidden" name="preferred_alt_to_audio" value="'.$_POST['preferred_alt_to_audio'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_ALT_TO_AUDIO']))
+               echo '  <input type="hidden" name="preferred_alt_to_audio" value="'.$_SESSION['prefs']['PREF_ALT_TO_AUDIO'].'" />'."\n\r";
+               
+               if (isset($_POST['alt_to_audio_append_or_replace']))
+               echo '  <input type="hidden" name="alt_to_audio_append_or_replace" value="'.$_POST['alt_to_audio_append_or_replace'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_ALT_TO_AUDIO_APPEND_OR_REPLACE']))
+               echo '  <input type="hidden" name="alt_to_audio_append_or_replace" value="'.$_SESSION['prefs']['PREF_ALT_TO_AUDIO_APPEND_OR_REPLACE'].'" />'."\n\r";
+               
+               if (isset($_POST['alt_audio_prefer_lang']))
+               echo '  <input type="hidden" name="alt_audio_prefer_lang" value="'.$_POST['alt_audio_prefer_lang'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_ALT_AUDIO_PREFER_LANG']))
+               echo '  <input type="hidden" name="alt_audio_prefer_lang" value="'.$_SESSION['prefs']['PREF_ALT_AUDIO_PREFER_LANG'].'" />'."\n\r";
+               
+               if (isset($_POST['use_alternative_to_visual']))
+               echo '  <input type="hidden" name="use_alternative_to_visual" value="'.$_POST['use_alternative_to_visual'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_USE_ALTERNATIVE_TO_VISUAL']))
+               echo '  <input type="hidden" name="use_alternative_to_visual" value="'.$_SESSION['prefs']['PREF_USE_ALTERNATIVE_TO_VISUAL'].'" />'."\n\r";
+               
+               if (isset($_POST['preferred_alt_to_visual']))
+               echo '  <input type="hidden" name="preferred_alt_to_visual" value="'.$_POST['preferred_alt_to_visual'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_ALT_TO_VISUAL']))
+               echo '  <input type="hidden" name="preferred_alt_to_visual" value="'.$_SESSION['prefs']['PREF_ALT_TO_VISUAL'].'" />'."\n\r";
+               
+               if (isset($_POST['alt_to_visual_append_or_replace']))
+               echo '  <input type="hidden" name="alt_to_visual_append_or_replace" value="'.$_POST['alt_to_visual_append_or_replace'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_ALT_TO_VISUAL_APPEND_OR_REPLACE']))
+               echo '  <input type="hidden" name="alt_to_visual_append_or_replace" value="'.$_SESSION['prefs']['PREF_ALT_TO_VISUAL_APPEND_OR_REPLACE'].'" />'."\n\r";
+               
+               if (isset($_POST['alt_visual_prefer_lang']))
+               echo '  <input type="hidden" name="alt_visual_prefer_lang" value="'.$_POST['alt_visual_prefer_lang'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_ALT_VISUAL_PREFER_LANG']))
+               echo '  <input type="hidden" name="alt_visual_prefer_lang" value="'.$_SESSION['prefs']['PREF_ALT_VISUAL_PREFER_LANG'].'" />'."\n\r";
+       }
+
+       if ($current_tab != 3) 
+       {
+               // save selected options on tab 3 (tool settings)
+               if (isset($_POST['dictionary_val']))
+                       echo '  <input type="hidden" name="dictionary_val" value="'.$_POST['dictionary_val'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_DICTIONARY']))
+                       echo '  <input type="hidden" name="dictionary_val" value="'.$_SESSION['prefs']['PREF_DICTIONARY'].'" />'."\n\r";
+
+               if (isset($_POST['thesaurus_val']))
+                       echo '  <input type="hidden" name="thesaurus_val" value="'.$_POST['thesaurus_val'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_THESAURUS']))
+                       echo '  <input type="hidden" name="thesaurus_val" value="'.$_SESSION['prefs']['PREF_THESAURUS'].'" />'."\n\r";
+
+               if (isset($_POST['encyclopedia_val']))
+                       echo '  <input type="hidden" name="encyclopedia_val" value="'.$_POST['encyclopedia_val'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_ENCYCLOPEDIA']))
+                       echo '  <input type="hidden" name="encyclopedia_val" value="'.$_SESSION['prefs']['PREF_ENCYCLOPEDIA'].'" />'."\n\r";
+
+               if (isset($_POST['atlas_val']))
+                       echo '  <input type="hidden" name="atlas_val" value="'.$_POST['atlas_val'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_ATLAS']))
+                       echo '  <input type="hidden" name="atlas_val" value="'.$_SESSION['prefs']['PREF_ATLAS'].'" />'."\n\r";
+
+               if (isset($_POST['note_taking_val']))
+                       echo '  <input type="hidden" name="note_taking_val" value="'.$_POST['note_taking_val'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_NOTE_TAKING']))
+                       echo '  <input type="hidden" name="note_taking_val" value="'.$_SESSION['prefs']['PREF_NOTE_TAKING'].'" />'."\n\r";
+
+               if (isset($_POST['calculator_val']))
+                       echo '  <input type="hidden" name="calculator_val" value="'.$_POST['calculator_val'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_CALCULATOR']))
+                       echo '  <input type="hidden" name="calculator_val" value="'.$_SESSION['prefs']['PREF_CALCULATOR'].'" />'."\n\r";
+
+               if (isset($_POST['abacus_val']))
+                       echo '  <input type="hidden" name="abacus_val" value="'.$_POST['abacus_val'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_ABACUS']))
+                       echo '  <input type="hidden" name="abacus_val" value="'.$_SESSION['prefs']['PREF_ABACUS'].'" />'."\n\r";
+       }
+       
+       if ($current_tab != 4) 
+       {
+               // save selected options on tab 4 (control settings)
+               if (isset($_POST['show_contents']))
+                       echo '  <input type="hidden" name="show_contents" value="'.$_POST['show_contents'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_SHOW_CONTENTS']))
+                       echo '  <input type="hidden" name="show_contents" value="'.$_SESSION['prefs']['PREF_SHOW_CONTENTS'].'" />'."\n\r";
+
+               if (isset($_POST['show_next_previous_buttons']))
+                       echo '  <input type="hidden" name="show_next_previous_buttons" value="'.$_POST['show_next_previous_buttons'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_SHOW_NEXT_PREVIOUS_BUTTONS']))
+                       echo '  <input type="hidden" name="show_next_previous_buttons" value="'.$_SESSION['prefs']['PREF_SHOW_NEXT_PREVIOUS_BUTTONS'].'" />'."\n\r";
+
+               if (isset($_POST['show_bread_crumbs']))
+                       echo '  <input type="hidden" name="show_bread_crumbs" value="'.$_POST['show_bread_crumbs'].'" />'."\n\r";
+               else if (isset($_SESSION['prefs']['PREF_SHOW_BREAD_CRUMBS']))
+                       echo '  <input type="hidden" name="show_bread_crumbs" value="'.$_SESSION['prefs']['PREF_SHOW_BREAD_CRUMBS'].'" />'."\n\r";
+       }
+
+       echo '<fieldset>';
+       include(AT_INCLUDE_PATH .'../users/'.$tabs[$current_tab][1]);
+       echo '</fieldset>';
+//     include(getcwd().'/'.$tabs[$current_tab][1]);
+
+?>
+       <div class="row buttons">
+<?php 
+if ($_SESSION['course_id'] == -1) // admin login 
+{
+?>
+               <input type="submit" name="set_default" value="<?php echo _AT('factory_default'); ?>" accesskey="d" />
+<?php 
+}
+else  // user login 
+{
+?>
+               <input type="submit" name="set_default" value="<?php echo _AT('reapply_default'); ?>" accesskey="d" title="<?php echo _AT('reapply_default'); ?> - Alt-d"/>
+<?php 
+}
+?>
+               <input type="submit" name="submit" value="<?php echo _AT('apply'); ?>" accesskey="s" />
+               <input type="reset" name="reset" value="<?php echo _AT('reset'); ?>" />
+       </div>
+</div>
+</form>        
+<?php
+if($_SESSION['course_id'] == "-1"){
+echo '</div>';
+}
+
+require(AT_INCLUDE_PATH.'footer.inc.php'); ?>
diff --git a/docs/themes/mobile/users/profile.tmpl.php b/docs/themes/mobile/users/profile.tmpl.php
new file mode 100644 (file)
index 0000000..b8d9a48
--- /dev/null
@@ -0,0 +1,131 @@
+<?php require(AT_INCLUDE_PATH.'header.inc.php'); ?>
+
+<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>" name="form">
+<?php global $languageManager, $_config; ?>
+
+
+<div class="input-form">
+       <fieldset class="group_form"><legend class="group_form"><?php echo _AT('required_information'); ?></legend>
+       <div class="row">
+               <h3><?php echo _AT('required_information'); ?></h3>
+       </div>
+
+       <div class="row">
+               <label for="login"><?php echo _AT('login_name'); ?></label><br />
+                               <span id="login"><?php echo stripslashes(htmlspecialchars($_POST['login'])); ?></span>
+                               <input name="member_id" type="hidden" value="<?php echo intval($_POST['member_id']); ?>" />
+                               <input name="login" type="hidden" value="<?php echo stripslashes(htmlspecialchars($_POST['login'])); ?>" />
+       </div>
+
+       <div class="row">
+               <span class="required" title="<?php echo _AT('required_field'); ?>">*</span><label for="first_name"><?php echo _AT('first_name'); ?></label><br />
+               <input id="first_name" name="first_name" type="text" value="<?php echo stripslashes(htmlspecialchars($_POST['first_name'])); ?>" />
+       </div>
+       <div class="row">
+               <?php echo _AT('email_address'); ?><br />
+               <?php echo stripslashes(htmlspecialchars($_POST['email'])); ?>
+               <input type="checkbox" id="priv" name="private_email" value="1" <?php if ($_POST['private_email']) { echo 'checked="checked"'; } ?> /><label for="priv"><?php echo _AT('keep_email_private');?></label>
+       </div>
+
+
+       <div class="row" id="last-row1">
+               <span class="required" title="<?php echo _AT('required_field'); ?>">*</span><label for="last_name"><?php echo _AT('last_name'); ?></label><br />
+               <input id="last_name" name="last_name" type="text" value="<?php echo stripslashes(htmlspecialchars($_POST['last_name'])); ?>" />
+       </div>
+       
+       <?php if (admin_authenticate(AT_ADMIN_PRIV_USERS, TRUE)): 
+                       if ($_POST['status'] == AT_STATUS_INSTRUCTOR) {
+                               $inst = ' checked="checked"';
+                       } else if ($_POST['status'] == AT_STATUS_STUDENT) {
+                               $stud = ' checked="checked"';
+                       }  else if ($_POST['status'] == AT_STATUS_DISABLED) {
+                               $disa = ' checked="checked"';
+                       } else {
+                               $uncon = ' checked="checked"';
+                       }?>
+                       <input type="hidden" name="id" value="<?php echo $_POST['member_id']; ?>" >
+                       <div class="row">
+                               <span class="required" title="<?php echo _AT('required_field'); ?>">*</span><?php echo _AT('account_status'); ?><br />
+
+                               <input type="radio" name="status" value="0" id="disa" <?php echo $disa; ?> /><label for="disa"><?php echo _AT('disabled'); ?></label>
+                               <?php if (defined('AT_EMAIL_CONFIRMATION') && AT_EMAIL_CONFIRMATION): ?>
+                                       <input type="radio" name="status" value="1" id="uncon" <?php echo $uncon; ?> /><label for="uncon"><?php echo _AT('unconfirmed'); ?></label>
+                               <?php endif; ?>
+
+                               <input type="radio" name="status" value="2" id="stud" <?php echo $stud; ?> /><label for="stud"><?php echo _AT('student'); ?></label>
+
+                               <input type="radio" name="status" value="3" id="inst" <?php echo $inst; ?> /><label for="inst"><?php echo _AT('instructor'); ?></label>
+
+                               <input type="hidden" name="old_status" value="<?php echo $_POST['old_status']; ?>" />
+                       </div>
+       <?php endif; ?>
+       </fieldset>
+       <fieldset class="group_form"><legend class="group_form"><?php echo _AT('personal_information'); ?></legend>
+       <div class="row">
+               <h3><?php echo _AT('personal_information').' ('._AT('optional').')'; ?></h3>
+       </div>
+
+       <?php if (admin_authenticate(AT_ADMIN_PRIV_USERS, TRUE) && defined('AT_MASTER_LIST') && AT_MASTER_LIST): ?>
+               <div class="row">
+                       <label for="student_id"><?php echo _AT('student_id'); ?></label><br />
+                               <input type="text" name="student_id" value="<?php echo $_POST['student_id']; ?>" size="20" /><br />
+               </div>
+               <div class="row">
+                       <label for="student_pin"><?php echo _AT('student_pin'); ?></label><br />
+                       <input id="student_pin" name="student_pin" type="password" size="15" maxlength="15" value="<?php echo stripslashes(htmlspecialchars($_POST['student_pin'])); ?>" /><br />
+               </div>
+       <?php endif; ?>
+
+       <div class="row">
+               <?php echo _AT('date_of_birth'); ?><br />
+               <label for="year"><?php echo _AT('year'); ?>: </label><input id="year" class="formfield" name="year" type="text" size="4" maxlength="4" value="<?php echo $_POST['year']; ?>" />  <label for="month"><?php echo _AT('month'); ?>: </label><input id="month" class="formfield" name="month" type="text" size="2" maxlength="2" value="<?php echo $_POST['month']; ?>" /> <label for="day"><?php echo _AT('day'); ?>: </label><input id="day" class="formfield" name="day" type="text" size="2" maxlength="2" value="<?php echo $_POST['day']; ?>" />
+       </div>
+
+       <div class="row">
+               <?php echo _AT('gender'); ?><br />
+               <input type="radio" name="gender" id="m" value="m" <?php if ($_POST['gender'] == 'm') { echo 'checked="checked"'; } ?> /><label for="m"><?php echo _AT('male'); ?></label> <input type="radio" value="f" name="gender" id="f" <?php if ($_POST['gender'] == 'f') { echo 'checked="checked"'; } ?> /><label for="f"><?php echo _AT('female'); ?></label>  <input type="radio" value="n" name="gender" id="ns" <?php if (($_POST['gender'] == 'n') || ($_POST['gender'] == '')) { echo 'checked="checked"'; } ?> /><label for="ns"><?php echo _AT('not_specified'); ?></label>
+       </div>
+
+       <div class="row">
+               <label for="address"><?php echo _AT('street_address'); ?></label><br />
+               <input id="address" name="address" size="30" type="text" value="<?php echo stripslashes(htmlspecialchars($_POST['address'])); ?>" />
+       </div>
+
+       <div class="row">
+               <label for="postal"><?php echo _AT('postal_code'); ?></label><br />
+               <input id="postal" name="postal" size="7" type="text" value="<?php echo stripslashes(htmlspecialchars($_POST['postal'])); ?>" />
+       </div>
+
+       <div class="row">
+               <label for="city"><?php echo _AT('city'); ?></label><br />
+               <input id="city" name="city" type="text" value="<?php echo stripslashes(htmlspecialchars($_POST['city'])); ?>" />
+       </div>
+
+       <div class="row">
+               <label for="province"><?php echo _AT('province'); ?></label><br />
+               <input id="province" name="province" type="text" value="<?php echo stripslashes(htmlspecialchars($_POST['province'])); ?>" />
+       </div>
+
+       <div class="row">
+               <label for="country"><?php echo _AT('country'); ?></label><br />
+               <input id="country" name="country" type="text" value="<?php echo stripslashes(htmlspecialchars($_POST['country'])); ?>" />
+       </div>
+
+       <div class="row">
+               <label for="phone"><?php echo _AT('phone'); ?></label><br />
+               <input size="11" name="phone" type="text" value="<?php echo stripslashes(htmlspecialchars($_POST['phone'])); ?>" id="phone" />
+       </div>
+
+       <div class="row" id="last-row">
+               <label for="website"><?php echo _AT('web_site'); ?></label><br />
+               <input id="website" name="website" size="30" type="text" value="<?php if ($_POST['website'] == '') { echo 'http://'; } else { echo stripslashes(htmlspecialchars($_POST['website'])); } ?>" />
+       </div>
+       </fieldset>
+       <div class="row-buttons">
+               <input type="submit" name="submit" value=" <?php echo _AT('save'); ?> " accesskey="s" />
+               <input type="submit" name="cancel" value=" <?php echo _AT('cancel'); ?> " />
+       </div>
+</div>
+</form>
+
+<?php require(AT_INCLUDE_PATH.'footer.inc.php'); ?>
\ No newline at end of file