Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Topics - manix

Pages: [1]
1
El barcito / Creando un "tema" de prueba, usando 'caracteres'
« on: July 24, 2013 - 11:55 11:55 »
Tan solo usando "caracteres" y 'especiales'

2
Tutoriales y Tips SMF / Error en la Base de Datos - Por favor...
« on: June 11, 2013 - 04:52 16:52 »
Error en la Base de Datos - Por favor intenta nuevamente. Si esta pantalla aparece nuevamente, notifica del error a un administrador

¿Ha tenido este error antes?
Si usted tiene un vps, o un servidor dedicado, entonces acá dejo una solución bastante sencilla y eficiente para solventar este problema.  Saludos.



Hoy un amigo que tiene un foro SMF experimentó este problema de la noche a la mañana.Investigando un poco, el error ya es algo común entre muchos usuarios. En esta sección veremos algunos detalles que nos pueden ayudar a identificar la solución para este error.

Las causas más conocidas, provienen en su mayoría desde la base de datos. Es decir, no tiene nada que ver con SMF a nivel de aplicación (archivos php). ¿Cómo puedo pasar esto? Bueno, veamos algunos escenarios:

    Los datos son eliminados incorrectamente: Cuando se elimina un registro de la base de datos, otras tablas pueden contener aún referencias a este. Por lo tanto, tratar de accesar a dicha información da un error de resultado de datos, y lanza el error mencionado.
    Tabla inexistente: Al igual que el escenario anterior, con la tabla pasa algo parecido. Una tabla aún tiene referencia a otra tabla que ya no existe.
    Tablas no depuradas o corruptas: A veces los datos de una tabla están incompletos, o bien, inválidos. Una razón que puede provocar esto es porque la partición donde el servidor de MySQl está instaldo se ha llenado.

Al menos para el primero y último escenario, tenemos una manera de solucionar el problema desde una consola de linux de comandos (también sirve para windows). Usando la función mysqlcheck de Mysql. Primero, revisemos el archivo Settings.php de SMF, y veremos datos como estos:

    $db_type = 'mysql';
    $db_server = 'localhost';
    $db_name = 'mi_db';
    $db_user = 'usuario_db_smf';
    $db_passwd = 'mi_pass';

Usando la consola de comandos de nuestro servidor, o bien, mediante un cliente ssh hacemos:

    mysqlcheck -u usuario_db_smf -p --auto-repair --check --optimize --all-databases

Nótese que se está usando el nombre de usuario de la base de datos que administra la misma del foro SMF.

Ahora, les va a pedir que ingresen la contraseña:

    Enter password:

Una vez que la escriban correctamente, verán algo asi:

    mi_db.smf_admin_info_files                 OK
    mi_db.smf_ads                              Table is already up to date
    mi_db.smf_ads_settings                     Table is already up to date
    mi_db.smf_approval_queue                   OK
    mi_db.smf_attachments                      OK
    mi_db.smf_ban_groups                       Table is already up to date
    mi_db.smf_ban_items                        Table is already up to date
    mi_db.smf_board_permissions                Table is already up to date
    mi_db.smf_boards                           OK
    mi_db.smf_bookmarks                        Table is already up to date
    mi_db.smf_broken_links_list                Table is already up to date
    mi_db.smf_buddies                          Table is already up to date
    mi_db.smf_calendar                         Table is already up to date
    mi_db.smf_calendar_holidays                Table is already up to date
    mi_db.smf_categories                       Table is already up to date
    mi_db.smf_collapsed_categories             Table is already up to date
    mi_db.smf_custom_fields                    Table is already up to date
    mi_db.smf_group_moderators                 Table is already up to date
    mi_db.smf_log_actions                      OK
    mi_db.smf_log_activity                     OK
    mi_db.smf_log_banned                       Table is already up to date
    mi_db.smf_log_boards                       OK
    mi_db.smf_log_comments                     Table is already up to date
    mi_db.smf_log_digest                       OK
    mi_db.smf_log_errors
    error    : Found key at page 1562624 that points to record outside datafile
    status   : Operation failed
    mi_db.smf_log_floodcontrol                 OK
    mi_db.smf_log_group_requests               Table is already up to date
    mi_db.smf_log_karma                        Table is already up to date
    mi_db.smf_log_mark_read                    OK
    mi_db.smf_log_member_notices               Table is already up to date
    mi_db.smf_log_notify                       OK
    mi_db.smf_log_online
    warning  : Number of rows changed from 5 to 4
    status   : OK
    mi_db.smf_log_packages                     Table is already up to date
    mi_db.smf_log_polls                        Table is already up to date
    mi_db.smf_log_reported                     Table is already up to date
    mi_db.smf_log_reported_comments            Table is already up to date
    mi_db.smf_log_scheduled_tasks              OK
    mi_db.smf_log_search_messages              Table is already up to date
    mi_db.smf_log_search_results               OK
    mi_db.smf_log_search_subjects              OK
    mi_db.smf_log_search_topics                Table is already up to date
    mi_db.smf_log_spider_hits                  Table is already up to date
    mi_db.smf_log_spider_stats                 OK
    mi_db.smf_log_subscribed                   Table is already up to date
    mi_db.smf_log_topics                       OK
    mi_db.smf_mail_queue                       Table is already up to date
    mi_db.smf_membergroups                     Table is already up to date
    mi_db.smf_members                          OK
    mi_db.smf_message_icons                    Table is already up to date
    mi_db.smf_messages                         OK
    mi_db.smf_moderators                       Table is already up to date
    mi_db.smf_openid_assoc                     Table is already up to date
    mi_db.smf_package_servers                  Table is already up to date
    mi_db.smf_permission_profiles              Table is already up to date
    mi_db.smf_permissions                      OK
    mi_db.smf_personal_messages                OK
    mi_db.smf_picture_comments                 Table is already up to date
    mi_db.smf_pm_recipients                    OK
    mi_db.smf_pm_rules                         Table is already up to date
    mi_db.smf_poll_choices                     Table is already up to date
    mi_db.smf_polls                            Table is already up to date
    mi_db.smf_pretty_topic_urls                OK
    mi_db.smf_pretty_urls_cache                Table is already up to date
    mi_db.smf_profile_albums                   Table is already up to date
    mi_db.smf_profile_comments                 Table is already up to date
    mi_db.smf_profile_pictures                 Table is already up to date
    mi_db.smf_related_subjects                 OK
    mi_db.smf_related_topics                   OK
    mi_db.smf_scheduled_tasks                  OK
    mi_db.smf_sessions                         OK
    mi_db.smf_settings                         OK
    mi_db.smf_smileys                          Table is already up to date
    mi_db.smf_spiders                          Table is already up to date
    mi_db.smf_ssrs_good_post                   OK
    mi_db.smf_ssrs_likes                       Table is already up to date
    mi_db.smf_subscriptions                    Table is already up to date
    mi_db.smf_themes                           OK
    mi_db.smf_topics                           OK
     
    Repairing tables
    mi_db.smf_log_errors
    info     : Wrong bytesec:   0-  0-  0 at 48825404; Skipped

En cada tabla que vean el mensaje de OK significa que la tabla fue reparada ya que existía alguna anomalía. Por otro lado, Table is already up to date significa que la tabla se ha encontrado en óptimas condiciones.

Fuente:
http://delibertad.com/smf2/error-en-la-base-de-datos-por-favor-intenta-nuevamente.-si-esta-pantalla-aparece-nuevamente-notifica-del-error-a-un-administrador

3
El barcito / [Pago] Vps compartido
« on: April 04, 2013 - 12:41 12:41 »
Hola,

No soy una compañía que provee servicios de hosting. Hace años atrás adquirí un servidor VPS localizado en Pennsylvania, porque necesitaba expander mi blog de programación orientado para la comunidad latinoamericana. Desde hace unos meses atrás me ha costado trabajo encontrar un nuevo trabajo, ya que tuve un problema con mi jefe en mi último trabajo y ha sido dificil encontrar uno acá en mi país.

No quiero perder mi página solo porque no te dinero para seguirlo costenado. Ahora, mi intención es buscar a unas 2 o 3 personas interesadas en iniciar su propia página web, yo puedo compartir mi servidor para ayudarles a empresender su propio foro/sitio a un precio pequeñito, de tal manera que me auydes a pagar al menos la mitad del costo mensual del mismo.

Yo podría ofrecerle algo como esto:

* 1-2 GB de almacenamiento
* 100-200 GB ancho de banda
* Si usted quiere instalar smf/otro yo puedo hacer la instalación por usted
* $5 - $10 mensual, pero de acuerdo a sus necesidades podemos conversarlo
* Paypal como método de pago (otras pueden conversarse)
* Cpanel incluido
* Php 5.3+  Apache 2+ MySQL 5.3+

PS: Dirás, "eso me lo puede mejorar un servidor compartido". Pero te respondo:
¿Sabes cuántas conexiones a la bases de datos puedes hacer en concurrencia en un servidor compartido? ¿te dan acceso ssh para mayor control de tu cuenta? ¿limitantes de ram? ¿te brindan caché para tu base de datos?
Actualmente un vps tiene la potestad de solucionarte cada uno de esos problemas. Puedes editar todos los archivos de confirguracións según vayas necesitando recursos.
Es decir, gozas con las libertadades que un vps, mayor rendimiento.

Podré estar desempleado por ahora, pero soy un ingeniero en desarrollo de software desde hace 4 años, y tengo hablidades en la programación, outsourcing de servidores windows/linux/unix y si eventualmente te gustaría empezar acá, te aseguro que el servidor siempre lo tengo monitoriado y dándole actualizaciones constantemente para su mejor rendimiento.

Les agradezco de antemano toda la ayuda y comprensión del caso.

Manix

4
El barcito / Boca o River
« on: March 09, 2013 - 11:20 11:20 »
Hola,

Quiero ser seguidor de uno de estos dos equipos, ambos me caen bien, pero no sé por cuál decidirme xD

5
El barcito / Ideas para foro
« on: March 09, 2013 - 09:04 09:04 »
Hola!

La verdad estoy cansado de ver foros, foros y foros. Y me ha surgido últimamente de tener mi foro propio, lo que pasa es que nunca me ha convencido ninguna temática. Entonces, ¿será que ustedes me pueden dar algunas recomendaciones o ideas para abrir un nuevo foro? Eso si, tiene que ser algo totalmente aparte a cosas de soporte, tecnologia y eso. 

Gracias

6
Mods SMFSimple / Tiny Comments System 1.0
« on: February 27, 2013 - 05:59 17:59 »
Link al Archivo



Tiny Comment System
Developed by Manix and 4Kstore
For SMFSimple.com

SMF 2.0 - 2.0.X



El soporte oficial de los desarrolladores de nuestros mods lo encontraras en SMFSimple.com
Official Support in www.SmfSimple.com



Description:
Add the ability to comments replies from a topic, easily and quickly

Descripcion:
Agrega un sistema de comentarios a las respuesta de los temas, con esto podras comentar cada respuesta que se realiza en un tema de forma rapida y facil.



Features:
1. Hooks used.
2. Show avatar and color group from a member.
3. Display more comments clicking in the show more button.
4. Use Ajax to add and delete comments without refreshing page.
5. Use JQuery to add nice effects.
6. Can post using BBC and Smileys

Administration:
Enable - Disable the mod.
Permissions for users, who can use the mod.
Permissions per board, where can use the mod.
Number of comments to display initially in each post
Number of comments to bring when you click on "see more" button
Limit of characters per comment
Enable - Disable BBC on comments
Enable - Disable smileys on comments

Caracteristicas:
1. Uso de hooks, menos ediciones a archivos.
2. Muestra el avatar y color de grupo del usuario que comenta.
3. Mostrar mas comentarios clickeando en el boton "Mostrar mas".
4. Usa ajax para no refrezcar la pagina al agregar o eliminar comentarios.
5. Usa Jquery para agregar animaciones con efectos mas suaves.
6. Puede postear comentarios usando BBC y emoticones

Administracion:
Habilitar - Deshabilitar el mod.
Permisos para usuarios, quien puede usar el mod.
Permisos por foro, donde se pueden comentar las respuestas
Numero de comentarios a mostrar inicialmente
Numero de comentarios a mostrar al clickear en el boton "Mostrar Mas"
Limite de caracteres por comentario
Habilitar - Deshabilitar el uso de BBC en los comentarios.
Habilitar - Deshabilitar el uso de emoticones en los comentarios.


Screnshoot | Capturas





Language Support | Lenguajes Soportados
English & Spanish


Settings
Administration Center » Configuration » Tiny Comments System
Code: [Select]
index.php?action=admin;area=comments;
Notes:
This Mod Uses Jquery.
This Mod Uses Hooks.

7
PHP / PHP 5 - Arrays (parte 1)
« on: February 19, 2013 - 09:05 21:05 »
Arrays

Bueno, quiero empezar diciéndoles que en este capítulo de arrays, seré yo quien les trate de explicar un poquito sobre el tema en cuestión, pues 4kstore estuvo de vacaciones. Debo advertirles que, soy una persona que explica de una manera "pre-escolar", así que por favor no se sientan ofendidos si soy muy reiterativo o demasiado descriptivo, perdónenme :)

Ahora sí, entremos a la materia. Me gustaría empezar con dos escenarios donde uno de ellos usará arrays y el otro no; de esta forma podemos comparar un poco el potencial de los arrays. La idea de este artículo es que ustedes puedan:

* Crear una array (parte 1)
* Manipular un array  (parte 1)
* Distinguir los tipos de arrays
* Reconocer con mayor facilidad los ambientes donde se pueda usar arrays


Dicho lo anterior, empecemos con un pequeño ejemplo. El código a continuación es común verlo entre personas que empiezan a programar:

// hace el texto a mayusculas de las variables dadas 
hacerMayusculas(); 

function 
hacerMayusculas()
{
    
$persona0 "Pedro";
    
$persona1 "marta";
    
$persona2 "Salomé";
    
// strtoupper es una función nativa de php que convierte texto en mayúscula, para mas información visitar:
    //  http://www.php.net/manual/es/function.strtoupper.php
    
echo "<br />persona0: " strtoupper($persona0); 
    echo 
"<br />persona1: " strtoupper($persona1);
    echo 
"<br />persona2: " strtoupper($persona2);  
}


Si ejecutamos el ejemplo anterior, el resultado sería algo así:

Quote
persona0: PEDRO
persona1: MARTA
persona0: SALOMÉ


Todo hasta acá se ve normal, código bien hecho, sin errores, y la verdad es que contiene un formato correcto. Pero, ¿que pasaría si son 50 personas las que tenemos que cambiarle el nombre a mayúscula? ¿y si son cientos de nombres? Es entonces cuando un array empieza a jugar un rol importante.

¿Qué es un array? Con mis propias palabras puedo decir que es una tabla donde almacenas muchos valores, y la forma de accesar a cada uno de esos valores es por medio de un índice, o un identificar único. Estructuralmente un array se vería asi:

Quote
posicion 0 = "Pedro"
posicion 1  = "marta"
posicion 2  = "Salomé"

A la tabla anterior la llamaremos tabla_de_personas, que en realidad está simulando la estructura de un array. Un array es una sola variable con muchos valores, por lo tanto, podemos acceder al nombre de marta sabiendo que está en la "posición 1". Veamos:

$marta tabla_de_personas[1];

NOTA: Los lenguajes de programación, entre ellos php, usualmente sus numeros naturales para índices empieza en 0 y no 1.


No se alarmen con los paréntensis cuadrados, ya que es la forma correcta de acceder a un valor a través de un índice.  Si notan, la posición 1 está siendo bastante explicita para identificar que queremos el valor en dicha posición. Y asi sucesivamente podemos obtener a Pedro haciendo tabla_de_personas[0]. Aprovechando estos datos, vamos a crear exactamente el mismo ejemplo anterior pero con el uso de los arrays:


// hace el texto a mayusculas de las variables dadas 
hacerMayusculas(); 

function 
hacerMayusculas()
{

    
$personas[0] = "Pedro";
    
$personas[1] = "marta";
    
$personas[2] = "Salomé";

    echo 
"<br />persona0: " strtoupper($personas[0]);
    echo 
"<br />persona1: " strtoupper($personas[1]);
    echo 
"<br />persona2: " strtoupper($personas[2]);  
}


¿Notan como solo estoy trabajando con una sola variable y cómo se juega con las posiciones? Ahora bien, podemos hacer una pausa aquí para destacar dos cosas importantes:

1. La asignación de un valor: la manera de cómo agregar un valor al array

$personas[0] = "Pedro";

2. La extracción de un valor: la manera de cómo devolver un valor del array

$persona = $personas[2];   // Salomé


Pero aún no hemos resuelto el problema de los "50 nombres", es decir, ¿cuál es la mejor manera de hacer el texto mayúscula de 50 nombres sin tenenr que pasar por el doloroso proceso de escribir 50 líneas adicionales? Bien, veamos:


// hace el texto a mayusculas de las variables dadas 
hacerMayusculas(); 

function 
hacerMayusculas()
{
    
$personas[0] = "Pedro";
    
$personas[1] = "marta";
    
$personas[2] = "Salomé";
    
//aca las otras personas
    // Recuerden que el primer elemento es "0", entonces no es necesario llegar al indice "50" porque implicaría tener 51 elementos
    
$personas[49] = "Carolina"

    
//empezar el indice en 0; mientras el indice sea menor o igual a 49; por cada iteración sumar +1 al indice 
    
for ($indice 0$indice <= 49$indice ++)
        echo 
"<br />persona: " $indice .": "strtoupper($personas[$indice]); //notese como el indice cambia dinamicamente
}

Con ayuda de un for estamos manipulando los valores de todo el array sin la necesidad de estar multiplicando código ni llevando diversas variables por toda nuestra aplicación.

Finalmente, quisé que los códigos de arriba les resultara lo mas sencillo posible, porque la segunda parte va a requerir bastante entendimiento de lo que acabamos de ver. Por favor, si tienen alguna duda o quieren que aportemos más apuntes a este artículo por favor háganlo saber con toda confianza.

8
Tutoriales y Tips SMF / [Home Portal] ¿Cómo crear un nuevo bloque?
« on: September 30, 2012 - 12:10 12:10 »
¿Cómo agregar un nuevo bloque?

Acá les dejo una pequeña explicación de cómo hacer su propio bloque. Este ejemplo es el más básico, y su único propósito es aprender las bases para hacer algo mucho más complejo. Empecemos...

Escenario
Crear un bloque que tenga el mensaje de "Hola SMFSimple". A este bloque lo llamaremos HelloBlock.

Requitos
- El archivo del bloque debe llevar el mismo nombre que la clase (la parte que dice class HelloBlock)
- Crear un funcion llamada show(), que se encarga de ejecutar el bloque
- La variable SYSKEY debe llevar el nombre del bloque

Procedimiento

1. Crear un archivo llamado HelloBlock.php dentro del directorio Sources/ssp/
2. Completamos todos los requisitos para que el contenido quede de la siguiente forma:

Code: [Select]
<?

class HelloBlock extends Block{
   
    const SYSKEY = 'HelloBlock';
   
    function __construct()
    {
    }

    public function show()
    {       
        echo 'Hola a SMFSimple!'; 
    }   
}

Tomen encuenta que en el título de la clase tenemos la frase extends Block. Esto quiere decir que HelloBlock es "algo" de tipo bloque y es una manera de que el portal reconozca que este bloque esta hecho a la manera que él ocupa que sea. Adicionalmente hay una funcion llamada __construct(), que sirve para contruir el bloque con configuraciones por defecto, pero en este caso no hay y por lo tanto esta vacio.

3. Registrar el bloque en el "Cargador de bloque"
¿Por qué es importante registrar el bloque en el cargador de bloques? Suponga que quiere hacer un bloque que se conecta a la base de de datos, si por alguna razón el administrador activa el bloque varias veces en el portal, este cargador inteligentemente se conecta solo una vez y evita de esta manera hacer uso de recursos innecesariamente.

3.1 Abrir el archivo Sources/ssp/BlockLoader.php

3.2 Buscar:
Code: [Select]
include ('Block.php');
y agregar después (hace el include del block recien creado):
Code: [Select]
include ('HelloBlock.php');
3.3 Buscar:
Code: [Select]
$this->blocks[LinkSharing::SYSKEY] = new LinkSharing();
y después agregar (registra el block a la gama de los demas bloques):
Code: [Select]
$this->blocks[HelloBlock::SYSKEY] = new HelloBlock();
4. Agregar el bloque al <select> en la seleccion del bloque, para ello abrimos el archivo Sources/SMFsimpleHomePortal_bloks.php

4.1 Buscar:
Code: [Select]
HorizontalMenu::SYSKEY => $txt['sshp_menuhorperson_sjk'],
Y agregar después:
Code: [Select]
HelloBlock::SYSKEY => 'Bloque de saludo',

5. Asociar la selección del usuario con el bloque correspondiente
Para ello vamos a editar el archivo Sources/SMFsimpleHomePortal.php

5.1 Buscar:
Code: [Select]
?>
Y antes poner:
Code: [Select]
function HelloBLock(){
echo BlockLoader::instance()->loadBlock(HelloBlock::SYSKEY);
}

Noten qué importante es el nombre del bloque (HelloBlock), ya que sirve para todo. Cuando hagan su propio bloque solo tienen que cambiarle el nombre a todas las ediciones que acabamos de hacer. Estoy seguro que deben de haber dudas, pero gracias a ellas iré depurando este tutorial.

Apéndice

¿Cómo hacer cambiar el texto del <select> para muchos idiomas?
En lugar de poner:
Code: [Select]
HelloBlock::SYSKEY => 'Bloque de saludo',
Podrían poner :
Code: [Select]
HelloBlock:YSKEY => '$txt['variable de lenguaje'],Recuerden que las variables del lenguaje estan declaradas en los archivos de idiomas.

9
Preséntate en SMF Simple / Sin mucha vuelta...
« on: September 15, 2012 - 11:03 11:03 »
Hola,

Pues después de un tiempo de andar por acá pues ya es hora de presentarme.   

Mi nombre es Mánfred pero me dicen Manix, tengo 25 y he estado en el mundo de smf desde hace muchisimos años. Soy de Costa Rica (dice Lean que allá no conocemos el fútbol), en realidad sí sabemos quien es Messi  :D. Ahora no estudio porque ya soy graduado y trabajo en una empresa de desarrollo de programas. Y por último la web que tengo es de desarrollo donde hago mis experimentos y ayudo a crear/mejorar mods para este sitio junto con Lean y 4kstore.

Espero poderles ayudar en lo que necesiten y estoy para servirles. Saludos

10
Soporte General SMF / Migrar SMF 1.1.15 a la version actual
« on: January 08, 2012 - 12:35 12:35 »
HOla,
 Feliz año! BUeno, tengo un foro aca:

http://harrypotteralive.com/colegio

Esta en una version instalada hace aproximadamente 2 años atras. Hoy, quiero actualizarla a la version actual. MI pregunta es, cuales son los pasos para dicho proceso?
POr favor, si ocupan un detalle no duden en decir.

PS: necesito conservar los links! pues creo que eso es por el mod pretty urls. Es importante poder conservar esta modalidad y con los mismos enlaces

Gracias,

Manix

Pages: [1]
top

Smfsimple.com es un sitio destinado a brindar un servicio de soporte y herramientas para foros realizados con el sistema de foros gratuito simplemachines.org. Contamos con un selecto equipo de desarrolladores y conocedores del sistema, sus foros estaran en buenas manos.
This site is not affiliated with or endorsed by Simple Machines