TypeKey con PHP
- Ene
- 05
1 comentario! 97 palabras - 1 hits
Como convertir el codigo de validacion typekey a php.
Hace unos días leí en Neil’s World este artículo, donde se explica la manera de sustituir el codigo javascript que gestiona la validación mediante el servicio TypeKey por codigo PHP.
Las ventajas que esto supone son evidentes, por un lado reducimos el tiempo de carga de la página, y por otro, dejamos de depender de si el navegador del usuario dispone de soporte javascript.
Despues de leer un par de veces el artículo, pienso que es una mejora a implementar en el sitio, con lo que os explicare como lo he realizado yo.
Todo el codigo referente a la validación TypeKey se encuentra en la plantilla de entradas individuales, hemos de buscar el siguiente bloque
- <MTIfNonEmpty tag="MTTypeKeyToken">
- <div id="thanks">
- <p>Thanks for signing in,
- <script type="text/javascript" src="<MTCGIPath><MTCommentScript>?__mode=cmtr_name_js"></script><script>document.write(commenter_name);</script>
- Now you can comment. (<a href="<$MTRemoteSignOutLink static="1"$>">sign out</a>)</p>
y sustituirlo por:
- <MTIfNonEmpty tag="MTTypeKeyToken">
- <?php
- $commentername = $_COOKIE["commenter_name"];
- if ($commentername)
- { ;?>
- <div id="thanks">
- <p>Thanks for signing in, <?php
- $commentername = $_COOKIE["commenter_name"];
- Now you can comment. (<a href="<$MTRemoteSignOutLink static="1"$>">sign out</a>)</p>
Luego hemos de buscar:
- <script language="javascript" type="text/javascript">
- <!--
- if (commenter_name) {
- document.getElementById('thanks').style.display = 'block';
- } else {
- document.write('You are not signed in. You need to be registered to comment on
- this site. <a href="<$MTRemoteSignInLink static="1"$>"> Sign in</a>');
- document.getElementById('thanks').style.display = 'none';
- }
- // -->
- </script>
y lo sustituimos por:
- <?php
- } else {
- ?>
- You are not signed in. You need to be registered to comment on this site. <a href="<$MTRemoteSignInLink static="1"$>"> Sign in</a>
- <? } ?>
El siguiente bloque que hemos de buscar, es:
- <MTIfNonEmpty tag="MTTypeKeyToken">
- <script type="text/javascript" src="<MTCGIPath><MTCommentScript>?__mode=cmtr_name_js"></script>
- <script language="javascript" type="text/javascript">
- <!--
- if (commenter_name) {
- document.write('Thanks for signing in, ', commenter_name, '. Now you can comment.
- (<a href="<$MTRemoteSignOutLink static="1"$>">sign out</a>)');
- } else {
- document.write('If you have a TypeKey identity, you can <a href="<$MTRemoteSignInLink static="1"$>"> sign in</a> to use it here.');
- }
- // -->
- </script>
- </MTIfNonEmpty>
Y lo hemos de sustituir por,
- <MTIfNonEmpty tag="MTTypeKeyToken">
- <?
- $commentername = $_COOKIE["commenter_name"];
- if ($commentername) {
- (<a href="<$MTRemoteSignOutLink static="1"$>">sign out</a>)');
- } else {
- echo('If you have a TypeKey identity, you can <a href="<$MTRemoteSignInLink static="1"$>"> sign in</a> to use it here.');
- } ?>
- </MTIfNonEmpty>
Por último hemos de buscar,
- <div id="name_email">
- <p><label for="author">Name:</label>
- <input tabindex="1" id="author" name="author" /></p>
- <p><label for="email">Email Address:</label>
- <input tabindex="2" id="email" name="email" /></p>
- </div>
- <MTIfNonEmpty tag="MTTypeKeyToken">
- <script language="javascript" type="text/javascript">
- <!--
- if (commenter_name) {
- document.getElementById('name_email').style.display = 'none';
- }
- // -->
- </script>
- </MTIfNonEmpty>
en este caso los sustituimos por,
- <?
- if ($commentername) {
- // Typekey signin, do not display extra fields
- } else {
- ?>
- <div id="name_email">
- <p><label for="author">Name:</label>
- <input tabindex="1" id="author" name="author" /></p>
- <p><label for="email">Email Address:</label>
- <input tabindex="2" id="email" name="email" /></p>
- </div>
- <? } ?>
Con esto, ya tendremos funcionando en nuestro sitio, un sistema de validación TypeKey, sin usar nada de javascript.
Una cosa de la que me he dado cuenta al implementar este sistema, es que no estaba funcionando bien la validación TypeKey desde que habia actualizado la instalación de Movable Type. Buscando un poco en Google di con la solución.
1 comentario
# Escrito por juan Pablo hace 11 meses, 4 semanas
Hola que tal Solo quiero Felicitar al creador de esta web por el Excelente Trabajo que reliza en ella ayudando a los que apenas comenzamos en esto Sinceramente Muchas Gracias