From 78e42a75f10fc7e44e910983fc4a3f977eec2261 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20Jim=C3=A9nez=20Friaza?= Date: Mon, 2 May 2016 14:00:13 +0200 Subject: [PATCH 1/4] Contextual help in Spanish --- doc/context/es/admin/logs/help.html | 36 ++++++++++ doc/context/es/admin/queue/help.html | 17 +++++ doc/context/es/admin/security/help.html | 17 +++++ doc/context/es/channel/help.html | 35 +++++++++ doc/context/es/chat/help.html | 30 ++++++++ doc/context/es/cloud/help.html | 30 ++++++++ doc/context/es/connections/help.html | 8 +++ .../es/connections/ifpending/help.html | 31 ++++++++ doc/context/es/events/help.html | 23 ++++++ doc/context/es/mail/help.html | 38 ++++++++++ doc/context/es/network/help.html | 71 +++++++++++++++++++ doc/context/es/photos/help.html | 27 +++++++ doc/context/es/profile/help.html | 32 +++++++++ 13 files changed, 395 insertions(+) create mode 100644 doc/context/es/admin/logs/help.html create mode 100644 doc/context/es/admin/queue/help.html create mode 100644 doc/context/es/admin/security/help.html create mode 100644 doc/context/es/channel/help.html create mode 100644 doc/context/es/chat/help.html create mode 100644 doc/context/es/cloud/help.html create mode 100644 doc/context/es/connections/help.html create mode 100644 doc/context/es/connections/ifpending/help.html create mode 100644 doc/context/es/events/help.html create mode 100644 doc/context/es/mail/help.html create mode 100644 doc/context/es/network/help.html create mode 100644 doc/context/es/photos/help.html create mode 100644 doc/context/es/profile/help.html diff --git a/doc/context/es/admin/logs/help.html b/doc/context/es/admin/logs/help.html new file mode 100644 index 000000000..2324492bf --- /dev/null +++ b/doc/context/es/admin/logs/help.html @@ -0,0 +1,36 @@ + + + + + +
+
General
+
Esta página le + permite ajustar los parámetros de los informes del + sistema (logs) y para ver uno existente.
+
Ajustes de los informes (logs)
+
Cuando se habilita la + opción de depuración, el sistema de + información comenzará a añadir + los informes (logs) en el archivo especificado en + el cuadro "Fichero de informes" + (la ruta es relativa al + directorio raíz del servidor, por + ejemplo, /var /www). Tenga en cuenta que este archivo tiene que ser modificable por el servidor web.
+
Nivel de depuración
+
La opción de nivel + de depuración le permite establecer la + cantidad de información que se anexa al + fichero de informes (logs). Advertencia: + El aumento de este nivel puede + aumentar rápidamente el tamaño de este + fichero hasta en más de 100 MB, + especialmente en los hubs con + más que unos pocos miembros.
+
+ + diff --git a/doc/context/es/admin/queue/help.html b/doc/context/es/admin/queue/help.html new file mode 100644 index 000000000..a4085c5c6 --- /dev/null +++ b/doc/context/es/admin/queue/help.html @@ -0,0 +1,17 @@ + + + + + +
+
General
+
Las estadísticas + de la cola muestran cuántos mensajes + están en la cola para su entrega a + otros hubs. La prioridad + está relacionada con la cantidad de veces + que la entrega se ha intentado, sin + éxito.
+
+ + diff --git a/doc/context/es/admin/security/help.html b/doc/context/es/admin/security/help.html new file mode 100644 index 000000000..8817636ed --- /dev/null +++ b/doc/context/es/admin/security/help.html @@ -0,0 +1,17 @@ + + + + + +
+
General
+
Esta página contiene + varios ajustes para el administrador relacionados con la seguridad. + Para guardar los cambios que realice en estos ajustes, debe + pulsar el botón Enviar.
+
+ + diff --git a/doc/context/es/channel/help.html b/doc/context/es/channel/help.html new file mode 100644 index 000000000..3d925241d --- /dev/null +++ b/doc/context/es/channel/help.html @@ -0,0 +1,35 @@ + + + + + +
+
General
+
Esta es + la página principal de un canal. + Es similar al "muro" del perfil + de una persona en un contexto de red + social. Las entradas creadas + por el canal se muestran + de acuerdo con los permisos de visualización del observador.
+
Crear una entrada
+
Si tiene permiso + para crear entradas en la página del + canal, a continuación, podrá + ver el editor de entradas en la parte + superior.
+
Pestañas de los + contenidos del canal
+
Las pestañas + de los contenidos del canal son + enlaces a otros contenidos publicados por el + canal. La pestaña "Mi + perfil" enlaza con el perfil del canal. La pestaña "Fotos" + enlaza con las galerías de fotos. La pestaña "Ficheros" + enlaza con los ficheros de cualquier tipo compartidos por el canal.
+
+ + diff --git a/doc/context/es/chat/help.html b/doc/context/es/chat/help.html new file mode 100644 index 000000000..805f7b87a --- /dev/null +++ b/doc/context/es/chat/help.html @@ -0,0 +1,30 @@ + + + + + +
+
General
+
Creación y uso de + salas de chat para comunicarse en tiempo real, + utilizando el sistema de permisos + Hubzilla estándar para el control de + acceso a la sala de chat.
+
Create una nueva sala de chat
+
Utilice el + botón "Crear" para crear + una nueva sala de chat. Introduzca un nombre y cuánto tiempo + se deben conservar los mensajes.
+
Chatear
+
Introduzca su mensaje + en el cuadro de mensaje y pulse "Enviar". + Se puede establecer un estado seleccionando + el botón de menú sala de chat junto + al botón Enviar. Si hay otras personas + "en la sala", serán visibles en + el panel lateral, en "Miembros del chat".
+
+ + diff --git a/doc/context/es/cloud/help.html b/doc/context/es/cloud/help.html new file mode 100644 index 000000000..474918e81 --- /dev/null +++ b/doc/context/es/cloud/help.html @@ -0,0 +1,30 @@ + + + + + +
+
General
+
Esta página muestra + los ficheros en la "nube" de un canal. + Los archivos visibles para el + observador dependen de los permisos de + archivo individuales establecidas por + el propietario del canal. Si tiene + permiso para crear o cargar + ficheros, verá botones de control + por encima de la lista de ficheros.
+
Pestañas de los contenidos + del canal
+
+
Las pestañas + de los contenidos del canal son + enlaces a otros contenidos publicados por el + canal. La pestaña "Mi + perfil" enlaza con el perfil del canal. La pestaña "Fotos" + enlaza con las galerías de fotos. La pestaña "Ficheros" enlaza con los + ficheros de cualquier tipo compartidos por el canal.
+
+ + diff --git a/doc/context/es/connections/help.html b/doc/context/es/connections/help.html new file mode 100644 index 000000000..0f95fde63 --- /dev/null +++ b/doc/context/es/connections/help.html @@ -0,0 +1,8 @@ +
+
General
+
This page displays a list of all this channel's connections. The list can be sorted and filtered using the menu button beside the search button.
+
Connection Details
+
Each list entry shows the details of a specific connection. A translucent avatar image indicates an archived connection.
+
Connection Status
+
A connection can be in different states:
  • Archived
  • Ignored
  • Blocked
  • Hidden
+
\ No newline at end of file diff --git a/doc/context/es/connections/ifpending/help.html b/doc/context/es/connections/ifpending/help.html new file mode 100644 index 000000000..5fb0f3a0a --- /dev/null +++ b/doc/context/es/connections/ifpending/help.html @@ -0,0 +1,31 @@ + + + + + +
+
General
+
Esta página muestra + una lista de todas las conexiones + de este canal. La + lista se puede ordenar y filtrar usando + el botón de menú al lado del botón de búsqueda.
+
Detalles de la conexión
+
Cada entrada + de la lista muestra los detalles de una + conexión específica. Una + imagen de avatar translúcida indica + una conexión archivada.
+
Estado de la conexión
+
Una conexión puede estar en diferentes estados: +
    +
  • Archivada
  • +
  • Ignorada
  • +
  • Bloqueada
  • +
  • Oculta
  • +
+
+
+ + diff --git a/doc/context/es/events/help.html b/doc/context/es/events/help.html new file mode 100644 index 000000000..681f72e89 --- /dev/null +++ b/doc/context/es/events/help.html @@ -0,0 +1,23 @@ + + + + + +
+
General
+
Esta página muestra + un calendario de eventos tanto de su + propiedad como compartido con usted desde otros canales.
+
Vistas del calendario
+
El calendario se + puede mostrar en modo mensual, semanal o + diario usando las opciones del panel + lateral.
+
Exportar/Importar
+
Exportar o importar eventos del calendario usando el formato estándar + de los ficheros de iCalendar (.ics).
+
+ + diff --git a/doc/context/es/mail/help.html b/doc/context/es/mail/help.html new file mode 100644 index 000000000..e51f7225c --- /dev/null +++ b/doc/context/es/mail/help.html @@ -0,0 +1,38 @@ + + + + + +
+
General
+
Los mensajes que + aparecen en el correo privado son + visibles sólo para usted y un único + destinatario.
+
Vista combinada
+
Las conversaciones + completas se pueden ver en un hilo + continuo seleccionando "Vista combinada". + Las conversaciones disponibles se muestran + debajo del menú en el panel + lateral.
+
Bandeja de entrada/Bandeja de salida
+
Los mensajes individuales enviados son visibles seleccionando la Bandeja de salida y los mensajes + recibidos se pueden ver usando el filtro de la Bandeja + de entrada.
+
+
Mensaje nuevo
+
Los mensajes + individuales tienen informes de entrega + que se pueden ver usando el menú + desplegable. Los mensajes también se + pueden revocar desde el mismo menú, lo + que puede evitar que el destinatario vea + el mensaje, si aún no lo ha leído.
+
+ + diff --git a/doc/context/es/network/help.html b/doc/context/es/network/help.html new file mode 100644 index 000000000..00b25428c --- /dev/null +++ b/doc/context/es/network/help.html @@ -0,0 +1,71 @@ + + + + + +
+
General
+
La página + de Mi red muestra un flujo de + entradas y conversaciones, normalmente + ordenadas según la actualización más reciente. + Esta página es altamente + personalizable.
+
Crear una entrada
+
+
En la parte superior + de la página hay un cuadro de texto + que dice "Compartir". + Al hacer clic en esta casilla se + abre un nuevo editor de entradas. + El editor de entradas es + personalizable, pero el editor + básico proporciona campos para el + cuerpo de la publicación y un título + opcional. Los botones que hay debajo de la + zona de texto, a la izquierda, proporcionan + accesos directos para el Formato + de texto y para  insertar enlaces, + imágenes y otros datos en la + entrada. Los botones a la + derecha proporcionan una vista + previa del mensaje, + los ajustes de permisos de la entrada, + y un botón Enviar + para publicarla.
+
Grupos de canales
+
+
Los grupos + de canales que ha creado se muestran en + el panel lateral. Seleccionándolos, + se filtran las entradas + creadas por los canales incluidos en + el grupo elegido.
+
Permisos + de una entrada
+
+
La lista de + control de acceso (ACL) es lo + que se utiliza para establecer quién + puede ver su nueva entrada. Al + pulsar el botón ACL, al lado del + botón Enviar, se mostrará un cuadro + de diálogo en el que puede seleccionar + qué canales y / o grupos + de canales pueden ver el mensaje. + También puede seleccionar a quién se le niega + el acceso explícitamente. Por ejemplo, + digamos que usted está planeando una + fiesta sorpresa para un amigo. Puede + enviar un mensaje de invitación a + todos los miembros de su grupo de Amigos, + excepto el amigo al que quiere sorprender. En este caso, "se + mostrará"  al grupo de amigos, pero + "no se mostrará" a esa + única persona.
+
+ + diff --git a/doc/context/es/photos/help.html b/doc/context/es/photos/help.html new file mode 100644 index 000000000..44d0bed15 --- /dev/null +++ b/doc/context/es/photos/help.html @@ -0,0 +1,27 @@ + + + + + +
+
General
+
Esta página muestra + los álbumes de fotos de un canal. + Las imágenes visibles para + el observador dependen de los + permisos individuales de cada imagen.
+
Pestañas de los + contenidos del canal
+
+
Las pestañas + de los contenidos del canal son + enlaces a otros contenidos publicados por el + canal. La pestaña "Mi + perfil" enlaza con el perfil del canal. La pestaña "Fotos" + enlaza con las galerías de fotos. La pestaña "Ficheros" + enlaza con los ficheros de cualquier tipo compartidos por el canal.
+
+ + diff --git a/doc/context/es/profile/help.html b/doc/context/es/profile/help.html new file mode 100644 index 000000000..314552f9b --- /dev/null +++ b/doc/context/es/profile/help.html @@ -0,0 +1,32 @@ + + + + + +
+
General
+
Esta es + la página de perfil de un canal. + Por lo general muestra la información + que describe el canal. Si el canal + representa a una persona en una red social, + por ejemplo, el perfil podría + proporcionar información de contacto y otros + datos personales. Los + canales pueden tener varios perfiles, + en cuyo caso el perfil que se muestra depende del observador.
+
Pestañas de los + contenidos del canal
+
+
Las pestañas + de los contenidos del canal son + enlaces a otros contenidos publicados por el + canal. La pestaña "Mi + perfil" enlaza con el perfil del canal. La pestaña "Fotos" + enlaza con las galerías de fotos. La pestaña "Ficheros" + enlaza con los ficheros de cualquier tipo compartidos por el canal.
+
+ + From 2b7b26f4c0d6527f9cfe6b852e7b210c0406d9d2 Mon Sep 17 00:00:00 2001 From: redmatrix Date: Mon, 2 May 2016 13:31:14 -0700 Subject: [PATCH 2/4] a bit more oembed security - and document the shortcomings of this approach --- include/oembed.php | 34 +++++++++++++++++++--------------- 1 file changed, 19 insertions(+), 15 deletions(-) diff --git a/include/oembed.php b/include/oembed.php index 356b9f961..af5e51a6f 100755 --- a/include/oembed.php +++ b/include/oembed.php @@ -49,11 +49,7 @@ function oembed_action($embedurl) { if($x) { foreach($x as $ll) { $t = trim($ll); - - // don't allow somebody to provide a url like https://foobar.com/something/youtube - // to bypass a block or allow of youtube - - if($t && (strpos($embedurl,$t) !== false || strpos($t,$host) !== false)) { + if(($t) && (strpos($embedurl,$t) !== false)) { $action = 'block'; break; } @@ -69,14 +65,26 @@ function oembed_action($embedurl) { if($x) { foreach($x as $ll) { $t = trim($ll); + $has_slash = ((strpos($t,'/') !== false) ? true : false); // don't allow somebody to provide a url like https://foobar.com/something/youtube - // to bypass a block or allow of youtube + // to bypass an allow of youtube. Note they could still get through this + // with something like https://youtube.com.foobar.com/something so this is tagged with + // @FIXME, otherwise to fully secure a site will require every possible variation + // of every allowed service base URL. http vs. https, www. vs nothing, + // youtube.[com|org|whatever], youtu.be, and this is just for one service. - if($t && (strpos($embedurl,$t) !== false || strpos($t,$host) !== false)) { - $found = true; - $action = 'allow'; - break; + if($t) { + if(strpos($t,$host) !== false) { + $found = true; + $action = 'allow'; + break; + } + elseif(($has_slash) && (strpos($embedurl,$t) !== false)) { + $found = true; + $action = 'allow'; + break; + } } } } @@ -96,11 +104,7 @@ function oembed_action($embedurl) { if($x) { foreach($x as $ll) { $t = trim($ll); - - // don't allow somebody to provide a url like https://foobar.com/something/youtube - // to bypass a block or allow of youtube - - if($t && (strpos($embedurl,$t) !== false || strpos($t,$host) !== false)) { + if(($t) && (strpos($embedurl,$t) !== false)) { $action = 'block'; break; } From b371c028ad31180b4c73f92b45c4ca8f5fff259e Mon Sep 17 00:00:00 2001 From: redmatrix Date: Mon, 2 May 2016 22:28:27 -0700 Subject: [PATCH 3/4] more security stuff --- Zotlabs/Module/Admin.php | 21 ++++++---- include/bbcode.php | 2 +- include/oembed.php | 84 ++++++++++++++++--------------------- view/tpl/admin_security.tpl | 16 ++----- 4 files changed, 52 insertions(+), 71 deletions(-) diff --git a/Zotlabs/Module/Admin.php b/Zotlabs/Module/Admin.php index 6dad11ab8..e1eaa6e0e 100644 --- a/Zotlabs/Module/Admin.php +++ b/Zotlabs/Module/Admin.php @@ -580,8 +580,8 @@ class Admin extends \Zotlabs\Web\Controller { $bc = $this->trim_array_elems(explode("\n",$_POST['blacklisted_channels'])); set_config('system','blacklisted_channels',$bc); - $embed_coop = ((x($_POST,'embed_coop')) ? True : False); - set_config('system','embed_coop',$embed_coop); + $embed_sslonly = ((x($_POST,'embed_sslonly')) ? True : False); + set_config('system','embed_sslonly',$embed_sslonly); $we = $this->trim_array_elems(explode("\n",$_POST['embed_allow'])); set_config('system','embed_allow',$we); @@ -589,6 +589,12 @@ class Admin extends \Zotlabs\Web\Controller { $be = $this->trim_array_elems(explode("\n",$_POST['embed_deny'])); set_config('system','embed_deny',$be); + $ts = ((x($_POST,'transport_security')) ? True : False); + set_config('system','transport_security_header',$ts); + + $cs = ((x($_POST,'content_security')) ? True : False); + set_config('system','content_security_policy',$cs); + goaway(z_root() . '/admin/security'); } @@ -713,7 +719,7 @@ class Admin extends \Zotlabs\Web\Controller { } $embedhelp2 = t("The recommended setting is to only allow unfiltered HTML from the following sites:"); - $embedhelp3 = t("youtube.com
youtu.be
twitter.com
vimeo.com
soundcloud.com
wikipedia.com
"); + $embedhelp3 = t("https://youtube.com/
https://www.youtube.com/
https://youtu.be/
https://vimeo.com/
https://soundcloud.com/
"); $embedhelp4 = t("All other embedded content will be filtered, unless embedded content from that site is explicitly blocked."); $t = get_markup_template('admin_security.tpl'); @@ -722,18 +728,17 @@ class Admin extends \Zotlabs\Web\Controller { '$page' => t('Security'), '$form_security_token' => get_form_security_token('admin_security'), '$block_public' => array('block_public', t("Block public"), get_config('system','block_public'), t("Check to block public access to all otherwise public personal pages on this site unless you are currently authenticated.")), + '$transport_security' => array('transport_security', t('Set "Transport Security" HTTP header'),intval(get_config('system','transport_security_header')),''), + '$content_security' => array('content_security', t('Set "Content Security Policy" HTTP header'),intval(get_config('system','content_security_policy')),''), '$whitelisted_sites' => array('whitelisted_sites', t('Allow communications only from these sites'), $whitesites_str, t('One site per line. Leave empty to allow communication from anywhere by default')), '$blacklisted_sites' => array('blacklisted_sites', t('Block communications from these sites'), $blacksites_str, ''), '$whitelisted_channels' => array('whitelisted_channels', t('Allow communications only from these channels'), $whitechannels_str, t('One channel (hash) per line. Leave empty to allow from any channel by default')), '$blacklisted_channels' => array('blacklisted_channels', t('Block communications from these channels'), $blackchannels_str, ''), - '$embed_allow' => array('embed_allow', t('Allow unfiltered embedded HTML content only from these domains'), $whiteembeds_str, t('One site per line. Leave empty to allow from any site by default')), + '$embed_sslonly' => array('embed_sslonly',t('Only allow embeds from secure (SSL) websites and links.'), intval(get_config('system','embed_sslonly')),''), + '$embed_allow' => array('embed_allow', t('Allow unfiltered embedded HTML content only from these domains'), $whiteembeds_str, t('One site per line. By default embedded content is filtered.')), '$embed_deny' => array('embed_deny', t('Block embedded HTML from these domains'), $blackembeds_str, ''), // '$embed_coop' => array('embed_coop', t('Cooperative embed security'), $embed_coop, t('Enable to share embed security with other compatible sites/hubs')), - '$embedhelp1' => $embedhelp1, - '$embedhelp2' => $embedhelp2, - '$embedhelp3' => $embedhelp3, - '$embedhelp4' => $embedhelp4, '$submit' => t('Submit') )); diff --git a/include/bbcode.php b/include/bbcode.php index 5bd5301cc..7a7ea8ce6 100644 --- a/include/bbcode.php +++ b/include/bbcode.php @@ -629,7 +629,7 @@ function bbcode($Text, $preserve_nl = false, $tryoembed = true, $cache = false) } if($tryoembed) { if (strpos($Text,'[/url]') !== false) { - $Text = preg_replace_callback("/\[url\]([$URLSearchString]*)\[\/url\]/ism", 'tryoembed', $Text); + $Text = preg_replace_callback("/[^\^]\[url\]([$URLSearchString]*)\[\/url\]/ism", 'tryoembed', $Text); } } if (strpos($Text,'[/url]') !== false) { diff --git a/include/oembed.php b/include/oembed.php index af5e51a6f..1e5c51172 100755 --- a/include/oembed.php +++ b/include/oembed.php @@ -1,14 +1,16 @@ ' . $embedurl . ''; + $result = oembed_action($embedurl); + if($result['action'] === 'block') { + return '' . $result['url'] . ''; } - $j = oembed_fetch_url($embedurl); + $j = oembed_fetch_url($result['url']); $s = oembed_format_object($j); return $s; } @@ -17,22 +19,11 @@ function oembed_replacecb($matches){ function oembed_action($embedurl) { $host = ''; + $action = 'filter'; - $action = 'allow'; + $embedurl = trim(str_replace('&','&', $embedurl)); - // The default action is 'allow'. This is insecure. We might want to - // change this to 'filter' except it will be a support burden because - // then youtube videos won't work out of the box and will need to be - // explicitly enabled. - - $embedurl = str_replace('&','&', $embedurl); - - logger('oembed_action: ' . $embedurl); - - $p = parse_url($embedurl); - - if($p) - $host = $p['host']; + logger('oembed_action: ' . $embedurl, LOGGER_DEBUG, LOG_INFO); // These media files should now be caught in bbcode.php // left here as a fallback in case this is called from another source @@ -40,6 +31,11 @@ function oembed_action($embedurl) { $noexts = array("mp3","mp4","ogg","ogv","oga","ogm","webm","opus"); $ext = pathinfo(strtolower($embedurl),PATHINFO_EXTENSION); + if(strpos($embedurl,'http://') === 0) { + if(intval(get_config('system','embed_sslonly'))) { + $action = 'block'; + } + } // site white/black list @@ -65,26 +61,10 @@ function oembed_action($embedurl) { if($x) { foreach($x as $ll) { $t = trim($ll); - $has_slash = ((strpos($t,'/') !== false) ? true : false); - - // don't allow somebody to provide a url like https://foobar.com/something/youtube - // to bypass an allow of youtube. Note they could still get through this - // with something like https://youtube.com.foobar.com/something so this is tagged with - // @FIXME, otherwise to fully secure a site will require every possible variation - // of every allowed service base URL. http vs. https, www. vs nothing, - // youtube.[com|org|whatever], youtu.be, and this is just for one service. - - if($t) { - if(strpos($t,$host) !== false) { - $found = true; - $action = 'allow'; - break; - } - elseif(($has_slash) && (strpos($embedurl,$t) !== false)) { - $found = true; - $action = 'allow'; - break; - } + if(($t) && (strpos($embedurl,$t) !== false) && ($action !== 'block')) { + $found = true; + $action = 'allow'; + break; } } } @@ -95,7 +75,7 @@ function oembed_action($embedurl) { // allow individual members to block something that wasn't blocked already. // They cannot over-ride the site to allow or change the filtering on an - // embed that is not allowed by the site. + // embed that is not allowed by the site admin. if(local_channel()) { if(($x = get_pconfig(local_channel(),'system','embed_deny'))) { @@ -113,9 +93,12 @@ function oembed_action($embedurl) { } } - logger('action: ' . $action . ' url: ' . $embedurl, LOGGER_DEBUG,LOG_DEBUG); + $arr = array('url' => $embedurl, 'action' => $action); + call_hooks('oembed_action',$arr); - return $action; + logger('action: ' . $arr['action'] . ' url: ' . $arr['url'], LOGGER_DEBUG,LOG_DEBUG); + + return $arr; } @@ -139,9 +122,10 @@ function oembed_fetch_url($embedurl){ $noexts = array("mp3","mp4","ogg","ogv","oga","ogm","webm","opus"); $ext = pathinfo(strtolower($embedurl),PATHINFO_EXTENSION); - $action = oembed_action($embedurl); + $result = oembed_action($embedurl); - $embedurl = str_replace('&','&', $embedurl); + $embedurl = $result['url']; + $action = $result['action']; $txt = null; @@ -222,12 +206,14 @@ function oembed_fetch_url($embedurl){ $j = json_decode($txt); - if($j->html && $action === 'filter') { - $orig = $j->html; - $allow_position = (($zrl) ? true : false); - $j->html = purify_html($j->html,$allow_position); - if($j->html != $orig) { - logger('oembed html was purified. original: ' . $orig . ' purified: ' . $j->html, LOGGER_DEBUG, LOG_INFO); + if($action === 'filter') { + if($j->html) { + $orig = $j->html; + $allow_position = (($zrl) ? true : false); + $j->html = purify_html($j->html,$allow_position); + if($j->html != $orig) { + logger('oembed html was purified. original: ' . $orig . ' purified: ' . $j->html, LOGGER_DEBUG, LOG_INFO); + } } } diff --git a/view/tpl/admin_security.tpl b/view/tpl/admin_security.tpl index 39f389e54..721b5f38f 100755 --- a/view/tpl/admin_security.tpl +++ b/view/tpl/admin_security.tpl @@ -7,7 +7,9 @@ {{include file="field_checkbox.tpl" field=$block_public}} - + {{include file="field_checkbox.tpl" field=$transport_security}} + {{include file="field_checkbox.tpl" field=$content_security}} + {{include file="field_checkbox.tpl" field=$embed_sslonly}} {{include file="field_textarea.tpl" field=$whitelisted_sites}} {{include file="field_textarea.tpl" field=$blacklisted_sites}} @@ -15,18 +17,6 @@ {{include file="field_textarea.tpl" field=$whitelisted_channels}} {{include file="field_textarea.tpl" field=$blacklisted_channels}} - {{if $embedhelp1}} - - {{/if}} - -
-
{{$embedhelp2}}
-
-
{{$embedhelp3}}
-
-
{{$embedhelp4}}
-
- {{include file="field_textarea.tpl" field=$embed_allow}} {{include file="field_textarea.tpl" field=$embed_deny}} From dccdeedb75874ac8a244770cc3be0bf9ee71a0cd Mon Sep 17 00:00:00 2001 From: redmatrix Date: Mon, 2 May 2016 22:30:57 -0700 Subject: [PATCH 4/4] add the new hook --- doc/hooklist.bb | 3 +++ 1 file changed, 3 insertions(+) diff --git a/doc/hooklist.bb b/doc/hooklist.bb index 994d0dbb2..9331873b4 100644 --- a/doc/hooklist.bb +++ b/doc/hooklist.bb @@ -356,6 +356,9 @@ Hooks allow plugins/addons to "hook into" the code at many points and alter the [zrl=[baseurl]/help/hook/obj_verbs]obj_verbs[/zrl] Called when creating the list of verbs available for profile "things". +[zrl=[baseurl]/help/hook/oembed_action]oembed_action[/zrl] + Called when deciding if an oembed url is to be filter, blocked, or approved + [zrl=[baseurl]/help/hook/oembed_probe]oembed_probe[/zrl] Called when performing an oembed content lookup