Web

Crearea unui panou de logarare in WordPress

in Php, mysql si altele, Web - 24.11.2010 - Fara comentarii

WordPress este una din cele mai fiabile si folosite platforme de tip CMS din lume insa, in ciuda avantajelor pe care le ofera, are si parti negre. Spre exemplu, logarea!

Un administrator care foloseste WordPress va trebui sa introduca in bara domeniu/wp-admin pentru a accesa panoul, iar un eventual buton de logare in sidebar ar putea deranja simplii vizitatori. Cu ajutorul acestui articol, puteti introduce un buton de logare discret, care sa nu deranjeze utilizatorii si care sa va permita o navigare mai simpla in interiorul panoului de administrare.

Pentru a introduce butonasul de logare direct in header nu trebuie decat sa urmati cativa simpli pasi:

1.Localizati fisierul header.php al temei folosite – In WordPress, temele sunt stocate in directorul themes, din cadrul /wp-content.

2.Editarea header.php pasul 1 – Cu ajutorul unui editor de texte, editati fisierul header.php, adaugand inaintea  urmatorul cod:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js" type="text/javascript"></script>
<script type="text/javascript">// <![CDATA[
$(document).ready(function(){
$(".btn-slide").click(function(){
$("#slide-panel").slideToggle("slow");
});
});
// ]]></script>

3.Editarea header.php pasul 2 – Folosind aceeasi tehnica de editare, adaugati dupa  urmatorul cod:

<div id="slide-panel"><!--SLIDE PANEL STARTS-->
&lt; ?php if ( ! is_user_logged_in() ){ ?&gt;&nbsp;
<h2>Login</h2>
<div>
<div><form action="&lt;?php echo get_option('home'); ?&gt;/wp-login.php" method="post">
<label for="log">Username : </label>
<input id="log" name="log" size="20" type="text" value="&lt;?php echo wp_specialchars(stripslashes($user_login), 1) ?/&gt;" />
<label for="pwd">Password : </label>
<input id="pwd" name="pwd" size="20" type="password" /> <input name="submit" type="submit" value="Login" /> <label for="rememberme">
<input id="rememberme" checked="checked" name="rememberme" type="checkbox" value="forever" /> Remember me</label>
<input name="redirect_to" type="hidden" value="&lt;?php echo $_SERVER['REQUEST_URI']; ?/&gt;" />
</form></div>
<div><a href="&lt;?php echo get_option('home'); ?&gt;/wp-register.php">Register</a> |
<a href="&lt;?php echo get_option('home'); ?&gt;/wp-login.php?action=lostpassword">Recover password</a></div>
</div>
<!--loginform ends-->
&lt; ?php } else { ?&gt;
<div>
<h2>Control Panel</h2>
<ul>
<li><a href="&lt;?php echo get_option('home'); ?&gt;/wp-admin/">Dashboard</a></li>
|
<li><a href="&lt;?php echo get_option('home'); ?&gt;/wp-admin/post-new.php">Write new Post</a></li>
|
<li><a href="&lt;?php echo get_option('home'); ?&gt;/wp-admin/page-new.php">Write new Page</a></li>
|
<li><a title="Logout" href="&lt;?php echo wp_logout_url( get_bloginfo('url') ); ?&gt;">Logout</a></li>
</ul>
</div>
<!--loginform ends-->
&lt; ?php }?&gt;

</div>
<!--SLIDE PANEL ENDS-->
<div><a href="#">&lt; ?php if ( ! is_user_logged_in() ){ ?&gt;Login&lt; ?php } else { ?&gt;Logout&lt; ?php }?&gt;</a></div>
<!--LOGIN BUTTON TEXT-->

4.Editarea style.css – In acelasi director ar trebui sa se afle si fisierul style.css. Folosind aceeasi tehnica de editare, adaugati in primul rand din style.css urmatoarele:

* {margin:0; padding:0; outline:0;}
#slide-panel{ background-color:#000;border-bottom-style:solid;border-bottom-width:2px;display:none;height:100px;margin:auto;}
.slide {width:950px; margin:auto;}
.btn-slide:link, .btn-slide:visited{color:#fff; float:right; display:block;font-size:14px; text-transform:uppercase; font-weight:bold;height:26px; padding:3px 0 3px 0;line-height:22px;text-align:center;text-decoration:none;width:100px; background-color:#000; font-family:Arial;}
.loginform {width:950px; margin:auto; color:#999; font-family:Arial, Helvetica, sans-serif;}
.formdetails {color:#FFF; font-size:12px;padding:5px;}
.formdetails input{border:none; padding:2px 5px 2px 5px; background-color:#EFEFEF;}
.loginregister {color:#999; padding:5px;}
.loginregister a:link, .loginregister a:visited {color:#FFF; font-size:11px; text-decoration:underline;}
.loginform h2 {padding:10px 10px 10px 0; font-size:18px; font-weight:normal; text-transform:uppercase;}
.loginform ul li {display:inline;}
.loginform ul li a:link, .loginform ul li a:visited {color:#FFF; font-size:12px; text-decoration:underline;}

5.Vizualizati rezultatele – Pentru a vizualiza rezultatele, puteti ordona un refresh la pagina, iar daca nu sunteti multumit de cum se afiseaza in pagina, puteti sterge codurile introduse, iar totul revine la normal!

IT/Web jokes

in Diverse, Funny, Web - 15.02.2010 - Fara comentarii

Hello? 911? I’d like to report a fire at 74.12.122.225!

Q: Hey, guys. Is there an easy way to split an array of 100 integers for example and write 3 numbers per line separated by whitespace into a file ?
A: #include “realeasyfunctions.h” / Split100intArrayWrite3xLineWithWhitespaceInto(FILE* f);

I’ve lost a machine… literally _lost_. It responds to ping, it works completely, I just can’t figure out where in my apartment it is.

someone speak python here?
HHHHHSSSSSHSSS
SSSSS
the programming language :|

what the fuck is wtf

I tried setting my hotmail password to penis.
It said my password wasn’t long enough. :(

Name ONE thing that your windows comp can do that my MAC cant
Right click.

Stupid fucking Google
“The” is a common word, and was not included in your search
“Who” is a common word, and was not included in your search

i beat the internet
the end guy is hard

can you guys see what I type?
no, raize
How do I set it up so you can see it?

I don’t have hard drives. i just keep 30 chinese teenagers in my basement and force them to memorize numbers.

O alternativa la .htaccess – url rewrite

in Funny, Php, mysql si altele, Web - 07.10.2009 - 4 comentarii

Azi am vazut cea mai tare solutie posibila de url rewrite. Pentru cine nu stie ce este aceea url rewrite, sunt acele link-uri “frumoase” dintr-un site. De exemplu: www.site.ro/notebook-toshiba/123 in loc de www.site.ro/produs.php?id=123. Aceasta rescriere a linki-urilor este o solutie eleganta care face calea linkurilor mai usor descifrabila dar care si ajuta la optimizare.
Acest lucru se face foarte usor folosind un fisier .htaccess pe server in care se scrie urmatoarea regula (pentru exemplul de mai sus):

RewriteRule ^([^/\.]+)/([0-9]+)$ produs.php?id=$2 [L]

Adica i se spune serverului ca orice link de forma www.site.ro/text/numar sa duca catre fisierul produs.php?id=numar, textul nu ne intereseaza neaparat.

Foarte clar si foarte simplu de implementat. Cam toate site-urile in ziua de azi folosesc asa ceva.

Dar exista si o alternativa!!! Am vazut azi prin scripturile unui site urmatoarele link-uri www.site.ro/categorii/un-nume-de-categorie.php, sau www.site.ro/produs/un-nume-de-produs.php. La prima vedere pare a fi folosit un .htaccess, dar ce rost mai are acel “.php” la sfarsit? Dupa care am tras concluzia ca nu exista nici o regula si ca defapt fiecare produs are un fisier si ca practic site-ul ar fi in totatitate static. Insa am gasit o mare baza de date cu multe categorii si produse. Am zis ca nu se poate, exista o baza de date, trebuie sa fie si un .htaccess sau o regula de rescriere… Ei bine, nu exista… dar nici paginile nu sunt statice…

Care este de fapt implementarea rescrierii de url?
mai departe »

Algoritm de cautare si ordonare dupa relevanta in php

in Php, mysql si altele, Web - 02.10.2009 - 8 comentarii

De curand am fost nevoit sa fac un algortim de cautare a unor produse ceva mai special. Iata ce idee mi-a venit si ce am reusit sa fac.

Sa zicem ca facem o cautare dupa “amplificator cablu si antena tv”. Facand aceasta cautare cu o simpla spargere in cuvinte si folosind LIKE ‘%cuvant%’ in mysql se pare ca nu vom obtine o ordine foarte ok, insa vom obtine rezultatele de care avem nevoie. Daca sa zicem cautarea a intors peste 100 de rezultate, trebuie afisate produsele cele mai apropiate de cautarea efectuata.

Dupa ce sunt puse rezultatele cautarii intr-un vector, algoritmul le prelucreaza astfel:

1. Primele inregistrari si cele mai importate vor fi cele care au toate cuvintele in titlu si in aceasi ordine (nu conteaza daca au intre ele caractere ciudate sau spatii, precum ignora si anumite cuvinte mici, gen: “si”, “ca”, “de”…)

2. Dupa aceea se fac urmatoarele combinatii de cuvinte: “amplificator cablu”, “amplificator antena”, “amplificator tv”, “amplificator cablu antena”, “amplificator cablu tv”, “amplificator antena tv”, “cablu antena”, “cablu antena tv”, “cablu tv”, “antena tv”. Cu alte cuvinte se formeaza combinatii intre cuvinte insa numai de la stanga spre dreapta. Un exemplu mai simplu: 1, 2, 3, 4. Combinatiile posibile vor fi 1 2, 1 3, 1 4, 1 2 3, 1 2 4, 1 3 4, 2 3, 2 4, 2 3 4, 3 4. Daca am face combinatii sau permutari intre cuvinte am obtine mai multe variante insa si multe irelevante (si-asa unele sunt irelevante), de exemplu am obtine “tv antena”, sau “tv amplificator” care in general sunt folosite invers. Am mers pe ideea ca la fel cum un user ii da un nume logic produsului sau, la fel si cautarea va fi destul de logica, insa de ce nu, la urma urmei pot fi incluse si acele combinatii de cuvinte.

mai departe »

Nesimtirea e mare

in Web - 13.08.2009 - Fara comentarii

Vine un client la tine si iti spune “As vrea si eu un website simplu, am 4 sectiuni, niste poze si niste filmulete”, ii zici “Ok! Se face… Costa atat… Il facem asa, si acolo asa…”. Toate bune si frumoase pana cand ii spui sa plateasca avans. “Pai de ce? Am crezut ca avem o colaborare ok, as vrea sa vad si eu ceva inainte…”. Si asa iti vine sa te dai cu capu de pereti. Pai, mai omule, ti-am aratat ce am mai facut, ti-am spus ce idei am, ti-am aratat ceva asemanator, e foarte simplu! Platesti avans, noi facem un design, iti aratam, mai modificam una alta, daca nu iti place deloc, facem altul, pana cand iese ce iti place. “Da, bine, fie…” – si asa imi arata cat de multe lasa de la el si cat de intelegator este.

Facem desing-ul, o modificare mica aici, una dincolo, se apropie proiectul de sfarsit, ii spun clientului “Va rog faceti niste verificari finale ca sa ne asiguram ca totul e ok ca sa lansam proiectul” si ce sa vezi, primesti un mail cu niste “modificari marunte”. Una din sectiuni se imparte in alte 3, mai apar inca 2 sectiuni noi, toate cu structuri diferite. Foarte calm, ii raspund la mail si ii explic ca treburile alea sunt in plus, nu se incadreaza ca niste modificari marunte si ca o sa mai dureze putin si ca o sa mai coste ceva.

mai departe »