aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSilvio Rhatto <rhatto@riseup.net>2014-03-15 15:07:11 -0300
committerSilvio Rhatto <rhatto@riseup.net>2014-03-15 15:07:11 -0300
commiteef8dc3c35a4d6339fae7d942388009afe1f78c1 (patch)
treef0b8927c27691bb52ef59332f62ea09e1e7fcea4
downloadelgg-eef8dc3c35a4d6339fae7d942388009afe1f78c1.tar.gz
elgg-eef8dc3c35a4d6339fae7d942388009afe1f78c1.tar.bz2
Squashed 'mod/faq/' content from commit b3a038c
git-subtree-dir: mod/faq git-subtree-split: b3a038c8ac7db28d5cd47a7ae870f722c24e5921
-rw-r--r--faqs-sample44
-rw-r--r--languages/en.php15
-rw-r--r--languages/es.php15
-rw-r--r--manifest.xml27
-rw-r--r--start.php32
-rw-r--r--vendors/jquery-stoc/jquery.stoc.js80
-rw-r--r--views/default/expages/menu.php23
-rw-r--r--views/default/js/simple_faq/toc.php24
8 files changed, 260 insertions, 0 deletions
diff --git a/faqs-sample b/faqs-sample
new file mode 100644
index 000000000..7152111ff
--- /dev/null
+++ b/faqs-sample
@@ -0,0 +1,44 @@
+<h3>Cuentas, perfil y personalizaci&oacute;n</h3>
+<h4>&iquest;C&oacute;mo cambio la cuenta de email asociada a mi usuario (habitante)?</h4><p>Puedes cambiarlo en "Configuraci&oacute;n", en la esquina superior derecha.</p>
+<h4>&iquest;D&oacute;nde puedo encontrar manuales y m&aacute;s ayuda en N-1?</h4><p>Puedes ir al <a href="https://n-1.cc/pg/groups/9394/help/">Grupo Help!</a> y consultar la wiki, donde tenemos un <a href="https://n-1.cc/pg/dokuwiki/9394">Manual</a> en actualizaci&oacute;n permanente. Si no encuentras all&iacute; lo que buscas, preg&uacute;ntalo en el foro del grupo.</p>
+<h4>&iquest;C&oacute;mo puedo darme de baja y eliminar mi perfil?</h4><p>Si quieres eliminar tu perfil, ve a &ldquo;Editar datos de perfil&rdquo; y pulsa en el bot&oacute;n de &ldquo;Suicidio&rdquo; que hay abajo del todo. Borraremos todos tus datos, excepto los que est&eacute;n asociados a un grupo, que pasar&aacute;n a figurar como propios de quien administre el grupo. Si ese habitante tampoco existe ya, se transferir&aacute;n a otra admin o a un miembro aleatorio.</p>
+<p>De cualquier manera, para tener un control exhaustivo de tus datos te sugerimos que antes de irte los borres manualmente. Nuestra intenci&oacute;n es permitir exportar los datos para que puedas guardarlos f&aacute;cilmente cuando quieras darte de baja, pero esta funcionalidad a&uacute;n no esta disponible.</p>
+<h4>&iquest;C&oacute;mo puedo cambiar de nombre?</h4><p>En el men&uacute; de "Configuraci&oacute;n" puedes cambiar el nombre que aparece asociado a tu actividad en la red. Tu nombre para loguearte y la url de tu perfil seguir&aacute;n siendo los que elegiste al abrir la cuenta, si quieres cambiarlos tendr&aacute;s que crear una nueva.</p>
+<h4>&iquest;C&oacute;mo cambio la imagen de fondo de mi perfil?</h4><p>En el men&uacute; de "Configuraci&oacute;n" tienes que dirigirte a "Tema personal", donde puedes crear tu propio tema (con tu imagen y colores preferidos) o elegir entre uno de los temas que han creado otras habitantes.</p>
+<h4>&iquest;Puedo utilizar una misma cuenta para todas las redes de Lorea?</h4><p>Tu cuenta en cualquier red de Lorea funciona como una <a href="http://es.wikipedia.org/wiki/OpenID">OpenID</a>, que es un est&aacute;ndar de identificaci&oacute;n descentralizado. As&iacute; no tendr&aacute;s que crearte una cuenta nueva para cada red y adem&aacute;s es un primer paso para la federaci&oacute;n de estas redes (estamos desarrollando Lorea para que haya m&aacute;s servicios compartidos y m&aacute;s comunicaci&oacute;n entre sus semillas). Tambi&eacute;n podr&aacute;s utilizarla como tu cuenta de usuario en cualquier otro servicio de internet que soporte OpenID.</p>
+<p>Una vez que tengas tu cuenta creada en alguna de las redes de Lorea, puedes entrar en cualquier otra haciendo clic en el logo OpenID de la p&aacute;gina principal, utilizando tu usuarix y a&ntilde;adiendo @nombre_de_la_red. Por ejemplo, si ya eres federica en N-1, puedes entrar en ALD con la ID federica@n-1.cc. La primera vez que lo hagas te pediremos que confirmes que quieres usar esa ID. Si lo haces cada vez que vuelvas s&oacute;lo tendr&aacute;s que decirnos tu OpenID (tu navegador podr&aacute; recordar que te fiaste de nosotrxs la primera vez).</p>
+<h3>Federaci&oacute;n</h3>
+<h4>&iquest;Puedo utilizar mi cuenta OpenID?</h4><p>Puedes entrar haciendo clic en el logo OpenID de la p&aacute;gina principal. Cualquier usuarix de Lorea funciona como OpenID, pero si quieres usar otra cuenta la primera vez que lo hagas te pediremos un email y un nombre para saber c&oacute;mo dirigirnos a ti. Te mandaremos un email con un enlace en el que tendr&aacute;s que clicar para confirmar que ese es tu correo y tu proveedor de identidad tambi&eacute;n te preguntar&aacute; si conf&iacute;as en nosotrxs. Si lo haces, podr&aacute;s entrar en esta red sin tener que crearte una cuenta espec&iacute;fica y cada vez que vuelvas s&oacute;lo tendr&aacute;s que decirnos tu usuarix OpenID (tu navegador recordar&aacute; que te fiaste de nosotrxs la primera vez).</p>
+<h4>&iquest;C&oacute;mo funciona una cuenta OpenID?</h4><p><a href="http://es.wikipedia.org/wiki/OpenID">OpenID</a> es un est&aacute;ndar de identificaci&oacute;n descentralizado que sirve para poder usar una misma cuenta de usuarix en distintos sitios. Se basa en dos puntos:</p>
+<ol>
+<li>Un "proveedor de identidad" en el que puedes crear y alojar tu OpenID. Te f&iacute;as de &eacute;l para que sea quien se ocupe de gestionar tu identidad personal. Puede que ya tengas una cuenta en alg&uacute;n servicio que provee OpenID, aqu&iacute; tienes <a href="http://openid.net/get-an-openid/">una lista con los m&aacute;s populares</a>, pero como Lorea tambi&eacute;n es un proveedor te recomendamos que nos uses. Tenemos como objetivo aumentar la comunicaci&oacute;n entre las distintas semillas de Lorea y usar una cuenta &uacute;nica puede ser el primer paso para la federaci&oacute;n.</li>
+<li>Sitios que se f&iacute;an de estos proveedores, por ejemplo esta red social. Puedes entrar haciendo clic en el logo OpenID de la p&aacute;gina principal e insertando tu usuarix.</li>
+</ol>
+<p>La principal ventaja es que s&oacute;lo tienes que memorizar una cuenta y una contrase&ntilde;a, te ahorras engorrosos formularios de registro y podr&aacute;s moverte por todas las redes de Lorea (y otros&nbsp; muchos servicios). Puede ser m&aacute;s seguro porque controlas qu&eacute; informaci&oacute;n das y a qui&eacute;n en todo momento, pero tambi&eacute;n existe la desventaja de que te est&aacute;s jugando toda tu seguridad y tu privacidad a la misma carta (la de tu proveedor). As&iacute; que si no te f&iacute;as de nadie puedes montarte tu propio proveedor de identidad.</p>
+<h3>Grupos</h3>
+<h4>We wish for a horizontal structure, but groups have one "owner". Is it possible for a group to belong equally to all its members?</h4><p>Yes, it is: if you are owner or admin of the group, check the left-side menu for "Edit group" and then "Manage group operators", where you can turn all the group members into owners (privileges can be dropped by admins there too).</p>
+<h4>&iquest;C&oacute;mo abrir un grupo en N-1?</h4><p>Tienes que ir al listado de "Grupos" y hacer clic en "Crear un grupo nuevo". La habitante que cree el grupo ser&aacute; su administradora y podr&aacute; editar su configuraci&oacute;n, pero podr&aacute; hacer administradoras a otras habitantes que formen parte del grupo.</p>
+<h4>&iquest;C&oacute;mo configurar la visibilidad de los elementos de un grupo?</h4><p>Por ahora no existe esta funci&oacute;n, los elementos aparecen en la portada de tu grupo siempre en el mismo orden. S&oacute;lo puedes elegir qu&eacute; elementos habilitas y cu&aacute;les no (mediante el men&uacute; "Editar grupo" si eres admin).</p>
+<h3>Herramientas y aplicaciones</h3>
+<h4>&iquest;D&oacute;nde puedo resolver m&aacute;s dudas sobre herramientas y aplicaciones?</h4><p>Puedes ir al <a href="https://n-1.cc/pg/groups/9394/help/">Grupo Help!</a> y consultar la wiki, donde tenemos un <a href="https://n-1.cc/pg/dokuwiki/9394">Manual</a> en actualizaci&oacute;n permanente con una secci&oacute;n sobre <a href="https://n-1.cc/pg/dokuwiki/9394/doku.php?id=herramientas_y_aplicaciones">Herramientas y aplicaciones</a>. Si no encuentras all&iacute; lo que buscas, preg&uacute;ntalo en el foro del grupo o vuelve aqu&iacute; y haz clic en "Hacer una pregunta" en la columna de la izquierda.</p>
+<h4>How do I delete once created wiki pages?</h4><p>You have to edit the page and delete all the content. (Normally, control+A and delete).</p>
+<h3>Proyecto Lorea / N-1</h3>
+<h4>&iquest;Por qu&eacute; llam&aacute;is "habitantes" a los usuarios?</h4><p>Esto no es un servicio comercial, sino una comunidad de personas que construyen un entorno de comunicaci&oacute;n seguro, donde est&eacute;n garantizadas la privacidad y el control propio de sus datos. Nos gusta pensar que las personas no usan las redes de Lorea, sino que las habitan conscientemente.</p>
+<h4>&iquest;Qu&eacute; significa N-1?</h4><p>N-1 es una noci&oacute;n utilizada por Deleuze y Guattari en el&nbsp;<a href="http://www.con-versiones.com/nota0475.htm" title="http://www.con-versiones.com/nota0475.htm">libro&nbsp;<em>Mil Mesetas</em>, en Introducci&oacute;n al Rizoma</a>&nbsp;o la multiplicidad no reducible al Uno. Es "la resta que permite multiplicar". Es el espacio de menos, que no suma dimensiones a un conjunto, sino que permite, a trav&eacute;s del desarrollo de una interfaz-herramienta compartida, componer y recombinar en un com&uacute;n abierto</p>
+<h4>&iquest;C&oacute;mo se financia Lorea?</h4><p>Actualmente son las personas que se encuentran desarrollando el proyecto las que financian la mayor&iacute;a de los costes, tanto con recursos econ&oacute;micos como con su tiempo y trabajo. Hemos recibido algunas aportaciones pero a&uacute;n no cubren todas las necesidades. Sugerimos a las habitantes que hagan una donaci&oacute;n anual equivalente a lo que ganen en dos horas de trabajo y a los colectivos a aportar fondos en funci&oacute;n de sus posibilidades. Puedes ver m&aacute;s informaci&oacute;n <a href="https://n-1.cc/pg/pages/view/14884/">aqu&iacute;</a>.</p>
+<h4>&iquest;D&oacute;nde puedo enterarme de las novedades sobre Lorea?</h4><p>En el <a href="https://n-1.cc/pg/groups/7826/lorea/">grupo Lorea</a> se est&aacute; documentando el proyecto. Su <a href="https://n-1.cc/pg/blog/group:7826">blog</a> se utiliza para anunciar herramientas implementadas o en desarrollo.</p>
+<p>Adem&aacute;s contiene un <a href="https://lorea.cc/planet" target="_blank" title="planet lorea">Planet</a> donde poder seguir las noticias p&uacute;blicas de los blogs de todas las redes sociales en su conjunto.</p>
+<h4>&iquest;C&oacute;mo participar en el desarrollo de Lorea y N-1?</h4><p>Hay varios canales. Por favor lee las instrucciones con atenci&oacute;n para ayudarnos a gestionar la informaci&oacute;n ordenadamente.</p>
+<ol>
+<li><strong>Participar en el grupo de <a href="https://n-1.cc/mod/groups/topicposts.php?topic=7169&amp;group_guid=5241">Testers de la red social</a>.</strong> En su foro se discuten cuestiones de usabilidad y desarrollo de las herramientas. Por ejemplo, en el hilo <a href="https://n-1.cc/mod/groups/topicposts.php?topic=7169&amp;group_guid=5241">Feature Suggestions</a> puedes explicar caracter&iacute;sticas o funciones que creas necesarias para mejorarlas. Antes de opinar te pedimos que revises el trabajo que ya se ha hecho. Tambi&eacute;n usamos las p&aacute;ginas para redactar los manuales de usuarix y otros textos colaborativamente.</li>
+<li><strong>Reportar errores en el grupo <a href="https://n-1.cc/pg/groups/6217/bughunting">Bughunting</a>.</strong> En su foro puedes reportar los bugs, errores, comportamientos extra&ntilde;os y fen&oacute;menos paranormales que observes en N-1 o cualquiera de las otras redes de Lorea. Lxs administradorxs de N-1 nos encargaremos de revisar los mensajes y a&ntilde;adir a la <a href="https://n-1.cc/pg/tasks/group:6217">lista de tareas</a> lo que deba ser arreglado.</li>
+<li><strong>Participar en el grupo <a href="https://n-1.cc/pg/groups/7826/lorea">Lorea</a></strong>. Este grupo sirve para el desarrollo y mantenimiento de las redes sociales alojadas dentro de Lorea. Los anuncios respecto a nuevos plugins, funcionalidades y otros avances listos por instalar, probar y usar se har&aacute;n desde el blog de este grupo de trabajo.</li>
+<li><strong>Suscribirte a la lista de correo <a href="https://lists.rhizomatik.net/listinfo/mycelia-community">Mycelia-community</a>.</strong> Es el punto de encuentro de habitantxs y grupos presentes en Lorea. Cualquiera que quiera crear una nueva red social debe presentar su propuesta por esta lista. Si quieres colaborar en el desarrollo t&eacute;cnico tambi&eacute;n puedes dirigirte aqu&iacute; para coordinarte con el equipo "techie".</li>
+<li><strong>Ponerte en contacto con lxs administradorxs de la red.</strong> Si necesitas ayuda o tienes m&aacute;s preguntas dir&iacute;gete al perfil <a href="https://n-1.cc/pg/profile/n1crew">N1crew</a>, desde donde compartimos m&aacute;s informaci&oacute;n y puedes enviarnos mensajes. Lxs administradorxs de las distintas redes de Lorea pueden crear los canales de interacci&oacute;n con sus usuarixs que consideren oportunos y deben canalizar los reportes de bugs y peticiones de desarrollo a los dos grupos de N-1 para Testers y Bughunting.</li>
+<li><strong>Contribuir a la sostenibilidad de Lorea.</strong> Lorea es un proyecto sin &aacute;nimo de lucro pero su mantenimiento acarrea algunos costes y podremos mejorar el servicio si nos ayudas con donaciones econ&oacute;micas o adoptando a unx programadorx durante unas semana. Puedes leer <a href="https://n-1.cc/pg/pages/view/14884/">m&aacute;s detalles econ&oacute;micos aqu&iacute;</a>.</li>
+</ol>
+<h3>Seguridad y privacidad</h3>
+<h4>&iquest;C&oacute;mo hago una copia de seguridad del contenido de mi grupo o mi perfil?</h4><p>Lo sentimos, pero por ahora no tenemos implementada la posibilidad de exportar tus datos para hacer copias de seguridad autom&aacute;ticamente.</p>
+<h4>&iquest;Qu&eacute; es una direcci&oacute;n de correo ofuscada?</h4><p>Quiere decir que en vez de dar tu direcci&oacute;n de correo verdadera (p.ej: pepita@movements.net) el sistema dar&aacute; una direcci&oacute;n inventada (e inservible :P) estilo pepita@n-1.cc.</p>
+<p>Estamos pensando que puedas recibir respuestas en esta direccion pero de momento simplemente serviria para q no des tu direccion.</p>
+<p>El sistema de listas de correo es capaz de ofuscar tu correo, de forma que cuando escribas en el foro la gente no reciba tu cuenta verdadera (q podrian usar para saber quien eres o espamearte).</p>
diff --git a/languages/en.php b/languages/en.php
new file mode 100644
index 000000000..625ffee6e
--- /dev/null
+++ b/languages/en.php
@@ -0,0 +1,15 @@
+<?php
+/**
+ * FAQ pages English language file
+ */
+
+$english = array(
+
+ /**
+ * Menu items and titles
+ */
+ 'faq' => "FAQ",
+ 'expages:faq' => "Frequently Asked Questions",
+);
+
+add_translation("en", $english);
diff --git a/languages/es.php b/languages/es.php
new file mode 100644
index 000000000..b7c1fce44
--- /dev/null
+++ b/languages/es.php
@@ -0,0 +1,15 @@
+<?php
+/**
+ * FAQ pages Spanish language file
+ */
+
+$spanish = array(
+
+ /**
+ * Menu items and titles
+ */
+ 'faq' => "Preguntas frequentes",
+ 'expages:faq' => "Preguntas frequentes",
+);
+
+add_translation("es", $spanish);
diff --git a/manifest.xml b/manifest.xml
new file mode 100644
index 000000000..d84f2d999
--- /dev/null
+++ b/manifest.xml
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plugin_manifest xmlns="http://www.elgg.org/plugin_manifest/1.8">
+ <name>Simple FAQ</name>
+ <author>Lorea developers</author>
+ <version>1.2</version>
+ <description>A FAQ plugin.</description>
+ <website>https://lorea.cc/</website>
+ <copyright>(C) Lorea 2012</copyright>
+ <license>GNU Affero General Public License, version 3 or higher</license>
+ <requires>
+ <type>elgg_release</type>
+ <version>1.8</version>
+ </requires>
+ <requires>
+ <type>plugin</type>
+ <name>externalpages</name>
+ </requires>
+ <requires>
+ <type>priority</type>
+ <priority>after</priority>
+ <plugin>externalpages</plugin>
+ </requires>
+ <conflicts>
+ <type>plugin</type>
+ <name>faq</name>
+ </conflicts>
+</plugin_manifest>
diff --git a/start.php b/start.php
new file mode 100644
index 000000000..c4410eaa7
--- /dev/null
+++ b/start.php
@@ -0,0 +1,32 @@
+<?php
+/**
+ * A Frequently Asked Question Plugin
+ *
+ * @package SimpleFAQ
+ */
+
+elgg_register_event_handler('init', 'system', 'simple_faq_init');
+
+/**
+ * Simple FAQ plugin initialization functions.
+ */
+function simple_faq_init() {
+
+ // Footer navigation
+ $item = new ElggMenuItem('faq', elgg_echo('faq'), 'faq');
+ elgg_register_menu_item('footer', $item);
+
+ // Register a page handler, so we can have nice URLs
+ elgg_register_page_handler('faq', 'simple_faq_page_handler');
+
+ // register the faqs' JavaScript
+ $simple_faq_js = elgg_get_simplecache_url('js', 'simple_faq/toc');
+ elgg_register_simplecache_view('js/simple_faq/toc');
+ elgg_register_js('elgg.simple_faq', $simple_faq_js);
+
+}
+
+function simple_faq_page_handler($page) {
+ elgg_load_js('elgg.simple_faq');
+ expages_page_handler($page, 'faq');
+}
diff --git a/vendors/jquery-stoc/jquery.stoc.js b/vendors/jquery-stoc/jquery.stoc.js
new file mode 100644
index 000000000..dc8f58398
--- /dev/null
+++ b/vendors/jquery-stoc/jquery.stoc.js
@@ -0,0 +1,80 @@
+(function($){
+ $.fn.stoc = function(options) {
+ //Our default options
+ var defaults = {
+ search: "body", //where we will search for titles
+ depth: 6, //how many hN should we search
+ start: 1, //which hN will be the first (and after it we go just deeper)
+ stocTitle: "<h2>Contents</h2>", //what to display before our box
+ listType: "ul", //could be ul or ol
+ smoothScroll: 1
+ };
+
+ //let's extend our plugin with default or user options when defined
+ var options = $.extend(defaults, options);
+
+ return this.each(function() {
+ //"cache" our target and search objects
+ obj = $(this); //target
+ src = $(options.search); //search
+ //let's declare some variables. We need this var declaration to create them as local variables (not global)
+ var appHTML = "", tagNumber = 0, txt = "", id = "", before = "", after = "", previous = options.start, start = options.start, depth = options.depth, i = 0, srcTags = "h" + options.start, cacheHN = "";
+
+ //which tags we will search
+ while ( depth > 1) {
+ start++; //we will just get our start level and numbers higher than it
+ srcTags = srcTags + ", h" + start;
+ depth--; //since went one level up, our depth will go one level down
+ }
+ src.find(srcTags).each(function() {
+ //we will cache our current H element
+ cacheHN = $(this);
+ //if we are on h1, 2, 3...
+ tagNumber = ( cacheHN.get(0).tagName ).substr(1);
+
+ //sets the needed id to the element
+ id = cacheHN.attr('id');
+ if (id == null || id == "") { //if it doesn't have only, of course
+ id = "h" + tagNumber + "_" + i;
+ cacheHN.attr('id', id);
+ }
+ //our current text
+ txt = cacheHN.text();
+
+ switch(true) { //with switch(true) we can do comparisons in each case
+ case (tagNumber > previous) : //it means that we went down one level (e.g. from h2 to h3)
+ appHTML = appHTML + "<" + options.listType +"><li>"+ before +"<a href=\"#"+ id + "\">" + txt + "</a>";
+ previous = tagNumber;
+ break;
+ case (tagNumber == previous) : //it means that stay on the same level (e.g. h3 and stay on it)
+ appHTML = appHTML + "</li><li>"+ before +"<a href=\"#"+ id + "\">" + txt + "</a>";
+ break;
+ case (tagNumber < previous) : //it means that we went up but we don't know how much levels (e.g. from h3 to h2)
+ while(tagNumber != previous) {
+ appHTML = appHTML + "</" + options.listType +"></li>";
+ previous--;
+ }
+ appHTML = appHTML + "<li>"+ before +"<a href=\"#"+ id + "\">" + txt + "</a></li>";
+ break;
+ }
+ i++;
+ });
+ //corrects our last item, because it may have some opened ul's
+ while(tagNumber != options.start) {
+ appHTML = appHTML + "</" + options.listType +">";
+ tagNumber--;
+ }
+ //append our html to our object
+ appHTML = options.stocTitle + "<"+ options.listType + ">" + appHTML + "</" + options.listType + ">";
+ obj.append(appHTML);
+
+ //our pretty smooth scrolling here
+ // acctually I've just compressed the code so you guys will think that I'm the man . Source: http://css-tricks.com/snippets/jquery/smooth-scrolling/
+ if (options.smoothScroll == 1) {
+ $(window).load(function(){
+ function filterPath(string){return string.replace(/^\//,'').replace(/(index|default).[a-zA-Z]{3,4}$/,'').replace(/\/$/,'')}var locationPath=filterPath(location.pathname);var scrollElem=scrollableElement('html','body');obj.find('a[href*=#]').each(function(){var thisPath=filterPath(this.pathname)||locationPath;if(locationPath==thisPath&&(location.hostname==this.hostname||!this.hostname)&&this.hash.replace(/#/,'')){var $target=$(this.hash),target=this.hash;if(target){var targetOffset=$target.offset().top;$(this).click(function(event){event.preventDefault();$(scrollElem).animate({scrollTop:targetOffset},400,function(){location.hash=target})})}}});function scrollableElement(els){for(var i=0,argLength=arguments.length;i<argLength;i++){var el=arguments[i],$scrollElement=$(el);if($scrollElement.scrollTop()>0){return el}else{$scrollElement.scrollTop(1);var isScrollable=$scrollElement.scrollTop()>0;$scrollElement.scrollTop(0);if(isScrollable){return el}}}return[]}
+ });
+ }
+ });
+ };
+})(jQuery);
diff --git a/views/default/expages/menu.php b/views/default/expages/menu.php
new file mode 100644
index 000000000..a88536924
--- /dev/null
+++ b/views/default/expages/menu.php
@@ -0,0 +1,23 @@
+<?php
+/**
+ * External pages menu
+ *
+ * @uses $vars['type']
+ */
+
+$type = $vars['type'];
+
+//set the url
+$url = $vars['url'] . "admin/site/expages?type=";
+
+$pages = array('about', 'terms', 'privacy', 'faq');
+$tabs = array();
+foreach ($pages as $page) {
+ $tabs[] = array(
+ 'title' => elgg_echo("expages:$page"),
+ 'url' => "admin/appearance/expages?type=$page",
+ 'selected' => $page == $type,
+ );
+}
+
+echo elgg_view('navigation/tabs', array('tabs' => $tabs, 'class' => 'elgg-form-settings'));
diff --git a/views/default/js/simple_faq/toc.php b/views/default/js/simple_faq/toc.php
new file mode 100644
index 000000000..2b1621f88
--- /dev/null
+++ b/views/default/js/simple_faq/toc.php
@@ -0,0 +1,24 @@
+<?php
+/**
+ * Show the FAQs' Table of Contents
+ *
+ * @package SimpleFAQ
+ */
+
+include(elgg_get_plugins_path() . 'simple_faq/vendors/jquery-stoc/jquery.stoc.js');
+
+?>
+
+elgg.provide('elgg.simple_faq');
+
+elgg.simple_faq.init = function() {
+ $(function(){
+ $("<div class="elgg-simplefaq-toc"></div>").prependTo(".elgg-main .elgg-output").stoc({
+ search: ".elgg-main .elgg-output",
+ stocTitle: "",
+ listType: "ol",
+ });
+ });
+};
+
+elgg.register_hook_handler('init', 'system', elgg.simple_faq.init);