Cornel Iulian

Fondators
  • Content count

    14,057
  • Donations

    15.00 EUR 
  • Joined

  • Last visited

  • Days Won

    56
  • Points

    429,183 [ Donate ]

Everything posted by Cornel Iulian

  1. Android reprezinta o platforma software si un sistem de operare pentru dispozitive si telefoane mobile bazata pe nucleul Linux, dezvoltata initial de compania Google, iar mai tarziu de consortiul comercial Open Handset Alliance (Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, Sprint Nextel, Nvidia, etc.). Android permite dezvoltatorilor sa scrie cod gestionat in limbajul Java, controland dispozitivul prin intermediul bibliotecilor Java dezvoltate de Google. Aplicatiile scrise in C si in alte limbaje pot fi compilate in cod masina ARM si executate, dar acest model de dezvoltare nu este sprijinit oficial de catre Google. Lansarea platformei Android pe data de 5 noiembrie 2007 a fost anuntata prin fondarea Open Handset Alliance, un consortiu de 48 de companii de hardware, software si de telecomunicatii, consacrat dezvoltarii de standarde deschise pentru dispozitive mobile. Google a lansat cea mai mare parte a codului Android sub licenta Apache, o licenta de tip free-software si open source. Mai multe detalii pot fi citite accesand: Wikipedia
  2. FontAwesome Forum Icons Deci, acest lucru este pentru a obține pictogramele pe forum ca în prezent. Aveți nevoie de cel puțin câteva cunoștințe in css & html să puteți folosi instrumentele de dezvoltare ale google / firefox. Obținerea ID-urilor: Forumului Pentru ca aceasta să funcționeze la toate, trebuie să cunoașteți ID-ul forumului pe care doriți să îl modificați. Puteți găsi acestea făcând clic pe ele și verificând atributul data-forumid: De asemenea, puteți vedea ID-ul forumului dacă editați forumul în cp admin, la sfârșitul adresei URL: Adăugarea unui cod de șablon Accesați tema și deschideți următorul șablon: forums > front > index > forumRow La sfârșitul fiecărui exemplu de interval cu clasa ipsItemStatus: <span class='ipsItemStatus You will need to add this little bit of code before the closing ">". data-forumID="{$forum->_id}" Pe temele implicite care sunt linii 12, 16, 20 și 28. Se va arăta astfel: Adăugare CSS: Aici veți avea nevoie de numerele dvs. de identificare pentru forum. Deschideți custom.css și adăugați următorul cod: /* ========================================================================== FORUM ICONS ========================================================================== */ /*== [Category Name] ==*/ span.ipsItemStatus.ipsItemStatus_large[data-forumid='1'] > i:before{ content: "\f015" } span.ipsItemStatus.ipsItemStatus_large[data-forumid='2'] > i:before{ content: "\f059" } span.ipsItemStatus.ipsItemStatus_large[data-forumid='3'] > i:before{ content: "\f188" } span.ipsItemStatus.ipsItemStatus_large[data-forumid='4'] > i:before{ content: "\f0f4" } span.ipsItemStatus.ipsItemStatus_large[data-forumid='5'] > i:before{ content: "\f135" } span.ipsItemStatus.ipsItemStatus_large[data-forumid='6'] > i:before{ content: "\f007" } Va trebui să schimbați numerele aici cu propriile coduri de forum. Puteți copia / lipi aceste linii pentru fiecare forum pe care îl aveți, motivul pentru care adaug numele de categorii drept comentarii este pentru că în viitor, în cazul în care modificările de lucruri nu voi pierde urmări care categorie este care. Modificați "\f015" cu orice pictogramă FontAwesome doriți. Accesați http://fontawesome.io/icons/ și faceți clic pe pictograma dorită pentru forumul dvs., de exemplu "acasă". Copiați partea "unicode" și o înlocuiți în css. Păstrați coloana vertebrală "\" acolo. Dacă aveți pictogramele forumului setate ca imagini în prezent, va trebui să le eliminați. Și asta e, acum veți avea pictograme personalizabile pentru forumuri.
  3. Accesati Applications serverlist tasks Cautati: if(!\IPS\Application::appIsEnabled('serverlist') OR !\IPS\Settings::i()->gs_sl_enabled): Schimbati cu: if(!\IPS\Application::appIsEnabled('serverlist') OR !\IPS\Settings::i()->sl_enabled): Salvati fisierul tasks
  4. Default Theme

    Version 4.3.3

    4 downloads

    Tema implicită pentru comunitatea IPS.
  5. Tema a fost schimbata odata cu implementarea noului proiect.
  6. Dear user,1. Do not post messages containing false, defamatory, inaccurate, vulgar or obscene information, sexual content or rude comments about someone's life. You are responsible for the content of your posted messages;2. Do not post any material covered by copyright, except for the situation when you have the written consent of the author or the copyright owner. You are obligated to provide the original source.3. It is completely forbidden to post messages with pirated content or sites of that nature.4. Before creating a thread, make sure it hasn't been discussed before, by using the Search function;5. Choose the corresponding section for your post;6. As long as the Edit fuction is still available, multi-posting is forbidden as it is considered SPAM, hence it will be punished with a warning;7. Do not abuse the emoticons;8. Do not post short messages such as: lol, super, nice etc., which have no value;9. Do not use childish language such as: ez, kthxbye, umadcuzbad etc;10. Try to use the default writing settings. Avoid using bright colors (which may annoy readers) or large letters / words. They are allowed for special cases only, to highlight the important things;11. Remember that the quantity is not as important as the quality. Therefore, try to be helpful rather than post-hunting;12. Do not create clones (one member with multiple names, IDs). These accounts will be suspended indefinitely;13. Inappropriate names, avatars and signatures are not allowed, they will be immediately removed;14. If you find a post that violates these Rules, you may bring it up to our attention, by using the Report function;15. You are responsible for your attached files and links. If any of them contain viruses, trojans, spyware, etc. , you will be banned;16. It is forbidden to use unknown proxies;17. Advertising is not permitted. Those who violate this rule will be warned. If they continue to ignore the rule, they will be banned for 30 days.Moderator's responsabilities:1. First of all, they have to follow the same rules like all the other users;2. Moderators must remain neutral. Do not argue with users;3. Before closing a thread, Moderators must explain why. Only Administrators are allowed to delete threads;4. Do not abuse the opportunity to make an important message;5. Moderators are allowed to delete any post that doesn’t belong there (offtopic);6. Moderators must edit the posts that violate the writing rules (rules 7, 8, 9, 10);7. Moderators have to message those who violate the rules, warning them. If they keep breaking the rules, you may contact the Administrator.Any violation of these regulations entitles PC Tecuci Forum Moderators and Administrators to warn and/or ban members for a indefinite period of time. It is impossible for the owner to keep track of everything, especially of every single post, therefore, he can not be responsible for their content and can not ensure the accuracy of information. All members have to read and comply with the Rules. Ignoring them is not a choice, nor it is a reason.
  7. Prima metoda: Codul HTML si CSS in aceeasi pagina: <html> <head> <title>Titlu aici</title> <style type="text/css"> P {background-color: red;} </style> </head> <body> <p>Background-ul acestui paragraf va avea culoarea rosie!</p> </body> </html> A doua metoda: Includem in pagina HTML legatura catre CSS, care este uploadat pe host. Mai intai cream un fisier css, denumit stiluri de mine stiluri.css in care vom adauga codul/codurile css. In pagina HTML adaugam codul de mai jos: <html> <head> <title>CSS Implement v3</title> <link rel="StyleSheet" title="Default" href="stiluri.css" type="text/css"> </head> <body> <p>Textul acestui paragraf va fi rosu!</p> </body> </html> Legatura catre CSS fiind: <link rel="StyleSheet" title="Default" href="stiluri.css" type="text/css"> P.S: In exemplul dat de mine fisierul css (stiluri.css) este in acelasi loc (folder) cu fisierul html in care am adaugat legatura spre el. Daca aveti nelamuriri nu ezitati sa intrebati.
  8. In cazul in care nu sunteti sigur ca JavaScript-ul este activ (enabled) in browser-ul pe care-l folositi in navigarea de zi cu zi, sau da-ti peste anumite site-uri care v-ar spune ca este inactiv (disabled), desi stiati ca este activ, cea mai usoara cale de a verifica acest lucru este accesarea urmatorului site: http://enable-javascript.com/ De asemenea, site-ul va prezinta si metodele de activare a JavaScript-ului pentru cele mai folosite browsere: IE, Mozilla Firefox, Chrome, Opera si Safari.
  9. Introducere: Ce este JavaScript ? este un limbaj de scripting este un limbaj client-side este gratis, nu necesita licenta! a fost creat pentru a da interactivitate paginilor web este deobicei inclus in codul HTML ATENTIE!!! * JavaScript NU este acelasi lucru cu Java ! * Java este un limbaj de programare avansat ! [ din categoria 'C'-urilor] Hai sa incepem... Apropo, pentru a incepe sa invatati JavaScript trebuie sa stiti HTML ! Ignorand elementele de HTML (<html> , <body> ....) , observam scriptul nostru: <script type="text/javascript"> document.write("PCTecuci.ro") </script> Sa incepem cu codul: <script type="text/javascript">Scriptul nostru</script> Ce face acest cod ? Ei bine, ii spune browserului unde incepe si unde se termina scriptul nostru. document.write("PCTecuci.ro") Ce se intampla aici ? E destul de usor... document.write("") este sintaxa care ii spune browserului sa scrie pe pagina noastra textul definit. Deci pana acum i-am 'comandat' browserului sa scrie un anumit text pe o pagina, nu-i rau pentru cateva minute ... Cum putem pune niste commenturi sau indicatii in interiorul scriptului fara sa afecteze cu ceva ? Si aici este destul de simplu doar introduceti: <!-- Comentariu sau indicatie //--> Cum putem pune niste scripturi inafara unei pagini web dar ele sa fie executate ? Introducand codul de mai jos: <script src="numele_scriptului_nostru.js"></script> Foarte mare atentie, in fisierul nostru .js nu mai introducem tagurile <script> </script> Adaugam doar continutul scriptului, in exemplul meu: document.write("PCTecuci.ro") Conditional Statements Cu siguranta ati auzit de if...else si nu ati stiut ce sunt sau ce fac de fapt... Sa incepem cu cu if: Sintaxa: if (conditie) { codul care va executat daca conditia este adevarata } Exemplu: <script type="text/javascript"> var data=new Date() var timp=data.getHours() if (timp<11) { document.write("Bun venit pe <b>PCTecuci.ro</b>!") } </script> Ce face codul de mai sus ? In primul rand: var data=new Date() Stocheaza data curenta in variabila 'data'. var timp=data.getHours() Folosind o functie a lui: new Date() , codul de mai sus stocheaza ora curenta in variabila 'timp'. if (timp<11) { document.write("Bun venit pe <b>PCTecuci.ro</b>!") } Daca variabila 'timp' esta mai mica de '11' , folosind comanda document.write se va afisa textul: Bun venit pe PCTecuci.ro!, presupun ca ati observat ca am folosit tag-urile: <b></b>, deci PCTecuci.ro va fi afisat bolduit(ingrosat). Dar daca am vrea sa afiseze ceva chiar daca 'timp' nu este mai mica de '11', cum facem ? Aici intervine else! Sintaxa: if (conditie) { cod care va fi executat daca conditia este adevarata } else { cod care va fi executat daca conditia nu este adevarata } Exemplu: <script type="text/javascript"> var data=new Date() var timp=data.getHours() if (timp<11) { document.write("Bun venit pe <b>PCTecuci.ro</b>!") } else { document.write("PCTecuci.ro") } </script>
  10. <script type="text/javascript"> document.observe("dom:loaded", function(){ //$('content').insert( $('nav_menu_2_menucontent').remove() ); new ipb.Menu( $('nav_menu_2_trigger'), $('nav_menu_2_menucontent'), { eventType: 'mouseover', closeOnMouseout: 'nav_menu_2' } ); }); </script> <li id="nav_menu_2"> <a id="nav_menu_2_trigger" href="/" title="">Meniu <span class="dropdownIndicator"></span></a> <div id="nav_menu_2_menucontent" class="meniu-meniu-inc" style="z-index: 9999; position: fixed; top: 36px; left: 557px; opacity: 0.0509862; display: none;"> <ul style="z-index: 10000;" id=""> <li class="sub-sub-meniu"> <a href="/">Nume1</a> </li> <li class="sub-sub-meniu"> <a href="/">Nume2</a> </li> <li class="sub-sub-meniu"> <a href="/">Nume3</a> </li> </ul> </div> </li> CSS: .meniu-meniu-inc {background:#eee;font-size:12px;border:0;min-width:140px;text-align:left;font-family: 'Lato', sans-serif;} .meniu-meniu-inc li{padding:0;border:0;float:none!important;min-width:150px;} .meniu-meniu-inc a{display:block;padding: 0 10px 0 10px;color:#000;left:0;} .meniu-meniu-inc li:hover a{color:#fff; text-shadow:none;background:rgb(61, 61, 61);}
  11. Se citeste un numar natural n si 2 cifre c1 si c2. Sa se inlocuiasca c1 cu c2 #include <iostream> using namespace std; int main() { int n,c1,c2,nr=0,p=1; cout<<"N = "; cin>>n; cout<<"C1 = "; cin>>c1; cout<<"C2 = "; cin>>c2; while(n!=0) { if(n%10==c1) nr=nr+c2*p; else nr=nr+(n%10)*p; p*=10; n/=10; } cout<<nr; return 0; }
  12. Am avut de rezolvat o problema interesanta (zic eu) si la care nu am vazut nicio rezolvare pe google, s-ar mai putea imbunatati ceva? 5*.Implementați un program care citește din DATE.IN de pe prima linie un număr natural n iar de pe a doua linie, două numere naturale x și y (cu 1<=x<=n și 1<=y<=n). Programul va crea și va salva în fișierul REZULTAT.OUT o matrice pătratică de n x n elemente în care x și y reprezintă coordonatele capului unui avion; toate componentele avionului vor fi marcate cu X iar restul elementelor din matrice cu 0. Se știe că sub capul avionului aripile sunt unite în mod simetric pe 5 elemente, mai urmează în jos un element iar sub acel element coada avionului care este simetrică față de axă și formată din 3 elemente. Dacă nu este posibilă construirea unui avion atunci se va scrie în fișier “NU ESTE POSIBIL”. Ex: dacă x=3, y=1 și n=5 atunci soluția salvată în fișier va fi: #include <iostream> #include <fstream> using namespace std; int n,x,y,i,j; char M[10][10]; ifstream f("date.in"); ofstream g("rezultat.out"); int main() { //Citim din fisier n,x si y f>>n>>x>>y; //Conditii ca avionul sa se incadreze in matrice //n<5, nu s-ar putea creea avionul neavand loc in matrice //y<1, capul avionului ar iesi din matrice (in sus) //x<3, aripile avionului ar iesi din matrice (in stanga) //x+2>n, aripile avionului ar iesi din matrice (in dreapta) //y+3>n, coada avionului ar iesi din matrice (in jos) if(n<5 || y<1 || y+3>n || x<3 || x+2>n) g<<"NU ESTE POSIBIL!"; else{ //Facem toata matricea 0 for(i=1;i<=n;i++) for(j=1;j<=n;j++) M[i][j]='0'; //Construim capul M[y][x] = 'X'; //Construim aripile //y+1 = o pozitie mai jos de cap //pornim cu j de la x-2 (2 pozitii in stanga) pana la x+2 (2 pozitii in dreapta) for(j=x-2;j<=x+2;j++) M[y+1][j]='X'; //Construim elementul de sub aripa //Punem 'X' cu 2 pozitii mai jos de cap (y+2) //M[y+2][x], x = pozitia capului M[y+2][x]='X'; //Constuim coada //y+3 = cu 3 pozitii mai jos de cap //pornim cu j de la x-1 (o pozitie in stanga) pana la x+1 (o pozitie in dreapta) for(j=x-1;j<=x+1;j++) M[y+3][j]='X'; //Afisam matricea in fisier for(i=1;i<=n;i++){ for(j=1;j<=n;j++) g<<M[i][j]<<" "; g<<'\n'; } } //Inchidem fisierele f.close(); g.close(); return 0; }
  13. Limbajul C nu este un limbaj puternic tipizat in sensul lui PASCAL sau Algol - 68. El este relativ liberal in conversia de date, cu toate ca nu converteste automat tipurile de date cum ar fi PL/1. Compilatoarele existente nu poseda verificare la executie a indicilor elementelor de tablouri, tipurilor argumentelor, etc. Pentru acele situatii in care se cere o puternica verificare a tipului, se foloseste o versiune separata a compilatorului. Acest program se numeste "lint" deoarece triaza bitii dubiosi of fluff dintr-un program. El nu genereaza cod, verifica numai foarte strict multe aspecte ale programelor asa cum pot fi verificate la compilare si la incarcare. El detecteaza nepotrivirile de tip, folosirea inconsistenta a argumentelor, variabilele nefolosite sau aparent neinitializate, dificultatile potentiale de portabilitate si alte asemenea aspecte. Programele care trec cu bine aceasta verificare, cu citeva exceptii, se elibereaza de erorile de tip la fel de complet ca si, de exemplu, programele scrise in Algol 68. In C obiectele (datele) fundamentale sunt caracterele, intregii de diferite dimensiuni si numerele flotante. In plus, exista o ierarhie de tipuri de date derivate create cu pointeri, tablouri, structuri, uniuni si functii. C++ este un limbaj de programare general, compilat. Este un limbaj multi-paradigma, cu verificarea statica a tipului variabilelor ce suporta programare procedurala, abstractizare a datelor, programare orientata pe obiecte. O data cu evolutia limbajului C++, a evoluat si o biblioteca standard. Prima adaugire a fost biblioteca de intrări/iesiri (I/O stream), care oferea facilităti pentru a înlocui functiile traditionale C cum ar fi printf si scanf. Mai târziu, printre cele mai semnificative adăugari la biblioteca standard a fost STL (Standard Template Library) (Biblioteca de formate standard). Diferenta majora dintre cele doua: C++ suporta OOP (Object Oriented Programming), in timp ce in C nu este definit acest concept. de exemplu: butoane, bara de instrumente, meniu (ca exemplu: start); toate sunt obiecte.
  14. Fisierul .htaccess (hypertext access) este foarte cunoscut webmaster-ilor care urmaresc descentralizarea defenitiilor Apache (Apache Directive), pentru a aplica noi/alte reguli (cache control, mod_rewrite, php flag, custom error pages, redirect, etc) pe un anumit director (public_html de obicei). Scrierea unor definitii generale intr-un fisier .htaccess localizat in web-root, are efect asupra tuturor directoarelor si fisierelor din acel arbore. Exceptie fac directoarele subdomeniilor, care sunt scrise in Apache config cu setarile default. Daca fisierul .htaccess nu exista, asta nu inseamna ca Apache nu este controlat. httpd.conf este fisierul care contine toate directivele necesare tinerii online in conditii de securitate si stabilitate, a site-urilor hostate. Este bine de stiut ca fisierul .htaccess este un fisier in format ASCII care poate fi creat cu orice editor text (de exemplu Notepad). Acesta este intrebuintat de orice webmaster in diverse scopuri. !!! .htaccess este o extensie de fisier. Nu exista "fisier.htaccess" sau "ceva.htaccess" ci pur si simplu ".htaccess" Pentru a crea un astfel de fisier, deschidem Notepad si apoi salvam fisierul cu numele ".htaccess". Atentie! Pe sistemele de tip Windows extensia poate fi ascunsa iar fisierul sa se numeasca de fapt ".htaccess.txt", ceea ce este incorect. Pentru a prevenii acest lucru puteti accesa din Windows Explorer/My Computer -> Folder Options -> View -> si deselectati "Hide extension for knows file types". Daca nu puteti redenumi fisierul in acest mod, atunci o puteti face prin intermediul ftp-ului dupa urcarea acestuia pe server. Fisierele de tip .htaccess trebuiesc puse pe ftp in format ASCII mode si nu BINARY. Atentie! Trebuie sa setati CHMOD 644 pe fisierul .htaccess (RW-R--R--). Acest lucru face imposibila citirea fisierului de catre un browser extern sau de catre un spider. Asemenea greseli duc la compromiterea sistemului, deoarece atunci cand in ".htaccess" au fost introduse cai de access private sau cale catre directoare private, un hacker poate profita de acest lucru. Ca o paranteza, daca folositi un Control Panel gen Plesk sau Webmin pentru administrarea paginilor, acestea vor seta automant chmod 644. Inainte de a crea si utiliza fisierul ".htaccess": Aflati daca aveti dreptul sa-l folositi pe server. Unele servere free (si chiar host-uri platite) nu permit folosirea acestor fisiere. Aveti grija cum manipulati astfel de fisiere pentru a nu compromite sistemul. Aveti grija ce comenzi scrieyti in htaccess, acestea pot incetini un server (de exemplu un server virtual cu multe domenii si pagini gazduite). Pentru o lista completa cu setari ce pot fi facute cu ajutorul fisierului .htaccess, vizitati: http://httpd.apache.org/docs/mod/directives.html Succes
  15. 'FAQ' 1: Q: Hostul meu suporta .htaccess ? A: Majoritatea hosturilor pe Apache suporta .htaccess.Daca nu esti sigur contacteaza administratorul serverului. 2: Q: Ce pot face cu acest fisier ? A: Poti: pune parola la anumite foldere,redirectionare,mesaje de erori personalizate, schimbarea extensiilor fisierelor, banare dupa adresa IP, oprirea listarii directoarelor sau folosirea altui fisier ca index, in loc de index.html/htm/php/etc. 3: Q:De ce .htaccess si nu htaccess ? A:In sistemele *nix, fisierele a caror denumire incepe cu . sunt luate drept fisiere ascunse, si sunt listate doar cu anumite atribute speciale ale programelor de manipulare a fisierelor. 4: Q:Pe Windows nu pot redenumi in htaccess .htaccess, de ce? A:Pentru ca Windows nu ia in considerare sistemul de ascundere a fisierelor folosit de sistemele *nix, astfel el crezand ca denumirea ".htaccess" = numele fisierului inexistent + extensia htaccess. Incercati sa folositi Notpad, iar cand salvati, salvati cu "Save As..." Inca ceva de mentionat: Fisierul .htaccess a fost creeat initial pentru a putea fi folosit in cadrul Apache pentru protejarea folderelor si fiserelor cu parole, dar fiind deja interpretat de Apache, creatorii de mod-uri Apache au inceput sa il foloseasca si pentru alte scopuri. Creearea fisierului... Creearea fisierului s-ar putea sa provoace niste dureri de cap userilor cu sisteme de operare mai vechi (windows 3.1 etc...) Ca sa creem fisierul nostru facem urmatoarele: - deschidem notepad - file save as la 'save as type' selectam 'all files', apoi la file name punem: .htaccess Pagini de erori customizate: Sintaxa: ErrorDocument numarul-erorii /fisierul.html Codurile celor mai des intalnite erori: 401 - Pagina protejata cu parola 400 - Cerere gresita 403 - Pagina interzisa 500 - Eroare interna 404 - Pagina gresita sau inexistenta Deci un exemplu ar arata cam asa: ErrorDocument 404 /n-am-gasit.html Toate erorile .htaccess: 100 Continue 101 Switching Protocols 200 OK 201 Created 202 Accepted 203 Non-Authoritative Information 204 No Content 205 Reset Content 206 Partial Content 300 Multiple Choices 301 Moved Permanently 302 Moved Temporarily 303 See Other 304 Not Modified 305 Use Proxy 400 Bad Request 401 Unauthorized (directory is protected by a password) 402 Payment Required 403 forbidden (all visitors are barred from looking at this file or directory) 404 file not found 405 Method Not Allowed 406 Not Acceptable 407 Proxy Authentication Required 408 Request Time-Out 409 Conflict 410 Gone 411 Length Required 412 Precondition Failed 413 Request Entity Too Large 414 Request-URI Too Large 415 Unsupported Media Type 500 internal server error (cgi script error) 501 Not Implemented 502 Bad Gateway 503 Service Unavailable 504 Gateway Time-Out 505 HTTP Version Not Supported
  16. htaccess (hypertext access) este un fisier ce poate fi creat "numai" pe sistemul de operare Linux. Nota: Majoritatea editoarelor de text din Windows va vor avertiza ca incercati sa salvati fisierul .htaccess ca fisier fara extensie sau nume. Crimson Editor poate fi folosit pentru crearea si salvarea fisierelor .htaccess sau a altor fisiere fara nume. La incercarea crearii unui fisier .htaccess in Windows vi se va returna urmatoarea eroare: Totusi, exista cateva metode pentru a a putea crea fisierul: Mergeti in Start -> Run -> tastati CMD (Command Prompt) Tastati apoi cd Destkop, pentru schimbarea directorului in Desktop (de exemplu) Tastati copy con .htaccess, dupa care apasati tasta Enter. Pe Desktop-ul dumneavoastra va fi creat fisierul .htaccess, ce poate fi editat cu un editor text (Notepad, Wordpad, etc.) sau Lansati editorul Notepad -> Save As -> la file type selectati -> All Files -> introduceti numele fisierului: .htaccess. Fisierul va fi salvat fara probleme si il veti putea edita dupa preferinte. Succes
  17. Inainte sa vedem ce inseamna MySQL consider ca este important de stiut ce este SQL, si anume: SQL (Structured Query Language) este un standard international in cautarea si gasirea de informatii din bazele de date. MySQL (un sistem de management pentru baze de date) este, in fapt, un server SQL - el raspunde interogatiilor de informatie care sunt cuprinse in SQL. Bazele de date SQL se folosesc de obicei pentru a inmagazina informatii cum ar fi mesaje din forum, stiri, comentarii din guestbook, rezultate ale trecerilor in revista, etc. Puteti "comunica" cu MySQL folosind o mare varietate de limbaje de programare (PHP-ul fiind unul dintre cele mai des folosite). Asadar, MySQL este un server multi-user (mai multi utilizatori) si multi-thread (mai multe fire de executie), utilizeaza SQL, limbajul standard de interogare a bazelor de date din intreaga lume. MySQL este disponibil in mod public din 1996, dar istoria dezvoltarii sale incepe in 1979, sub o licenta Open Source, dar daca este nevoie sunt disponibile si licente comerciale. Pagina de baza pentru MySQL este: http://www.mysql.com Mai multe informatii puteti gasi accesand: http://ro.wikipedia.org/wiki/MySQL Numai bine !
  18. Mai întâi introducem datele bazei de date în fisierul conf_global.php: <?php //-------------------------------------------------- // Editati cele 4 variabile de mai jos //-------------------------------------------------- $sql_host = 'localhost'; $sql_user = 'utilizator'; $sql_parola = 'parola'; $sql_baza_de_date = 'baza_de_date'; /** * Functia de conectare la baza de date * * @param $host * @param $user * @param $pass * @param $db * @return connection */ function conectare($host, $user, $pass, $db) { $mysqli = new mysqli($host, $user, $pass, $db); if($mysqli->connect_error) { die('Eroare la conectare (' . mysqli_connect_errno() . ') '. mysqli_connect_error()); } return $mysqli; } $conexiune = conectare($sql_host, $sql_user, $sql_parola, $sql_baza_de_date); ?> Apoi cream tabelul `membri` cu urmatoarea comanda SQL: CREATE TABLE IF NOT EXISTS `membri` ( `id` int(11) NOT NULL, `nume` varchar(255) NOT NULL, `parola` varchar(1000) NOT NULL, `email` varchar(50) NOT NULL ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; Vom avea 4 câmpuri: id - Auto Increment nume parola email Daca mai doriti, puteti adauga dupa În fisierul index.php, adaugam sus de tot <?php require_once('functii.php'); ?> În locul unde vrem sa adaugam link-urile de Logare / Înregistrare / Delogare, adaugam <?php echo member_navigation(); ?> Iar în locul unde vrem sa adaugam casutele de logare / înregistrare, adaugam: <?php echo content(); ?> Vor aparea niste erori, deoarece facem apel la niste functii nedeclarate (nu îmi place sa aglomerez index-ul, asa ca prefer sa fac totul în fisiere separate) Acum cream fisierul functii.php. Sus de tot adaugam <?php session_start(); // începerea sesiunii require_once('conf_global.php'); // fisierul care include conectarea la baza de date Pentru a cripta parola în baza de date, ne vom folosi de functia urmatoare: (nu folosesc md5 simplu deoarece am vazut site-uri cu sute de mii / milioane parole salvate, cu echivalentul lor în md5) function criptare ($text) { return hash('sha512', hash('sha256', sha1(sha1(sha1(md5(md5($text))))))); } Pentru a afisa link-ul de logare / înregistrare / delogare, includem urmatoarea functie: function member_navigation() { if (!isset($_SESSION['uid'])) { echo "<a href='?action=login'>Autentificare</a> | <a href='?action=register'>Înregistrare</a>"; } else { echo "Bun venit, ".$_SESSION['username'].". <a href='?action=logout'>Delogare</a>"; } } Pentru continutul site-ului, adaugam functia urmatoare: function content() { if (!isset($_GET['action'])) // link-ul pe care ne aflam este index.php { echo 'Continutul site-ului'; } else { $action = $_GET['action']; if ($action == 'login') // link-ul este index.php?action=login { echo login(); } elseif ($action == 'register') // link-ul este index.php?action=register { echo register(); } else if ($action == 'logout') // link-ul este index.php?action=logout { logout(); } } } În continuare vom include cele 3 functii de mai sus (login, register si logout). Functia login: function login() { global $conexiune; $mesaj = ''; /* Formularul de logare a fost trimis */ if (isset($_POST['user'])) { $user = $_POST['user']; $pass = $_POST['pass']; //----------------------------------------- // Verificam daca a ramas cel putin o // casuta necompletata //----------------------------------------- if ($user == '' OR $pass == '') { $mesaj = '<br /><b style="color: darkred">Cel putin un câmp a ramas necompletat!</b><br /><br />'; } else { $sql = "SELECT * FROM `membri` WHERE nume='".htmlentities($user)."' AND parola='".criptare($pass)."' LIMIT 1"; $res = mysqli_query($conexiune, $sql) or die(mysql_Error()); if (mysqli_num_rows($res) == 1) { $rand = mysqli_fetch_array($res); $_SESSION['uid'] = $rand['id']; $_SESSION['username'] = $rand['nume']; //----------------------------------------- // Redirectionare pe pagina principala, // odata ce logarea s-a efectuat cu succes //----------------------------------------- echo '<meta http-equiv="refresh" content="0; url=index.php" />'; exit(); } //----------------------------------------- // Nu am gasit niciun membru in baza de // date cu datele introduse //----------------------------------------- else { $mesaj = '<br /><b style="color: darkred">Date incorecte!</b><br /><br />'; } } } //----------------------------------------- // Formularul de logare //----------------------------------------- $HTML = <<<PHP <center><span style="font-size: 40px;">Autentificare</span></center> $mesaj <form action="" method="post"> <b>Utilizator</b><br /> <input type="text" name="user" value="" /><br /><br /> <b>Parola</b><br /> <input type="password" name="pass" value="" ><br> <input type="submit" name="Login" value="Login" > </form> PHP; return $HTML; } Functia de înregistrare: function register() { global $conexiune; $mesaj = ""; if (isset($_POST['user'])) { $user = $_POST['user']; $pass1 = $_POST['pass1']; $pass2 = $_POST['pass2']; $email = $_POST['email']; //---------------------------------------------- // Cel putin o casuta a ramas necompletata //---------------------------------------------- if ($user == '' OR $pass1 == '' OR $pass2 == '' OR $email == '') { $mesaj .= '<b style="color: darkred">Cel putin o casuta a ramas necompletata!<br /><br /></b>'; } //---------------------------------------------- // Parolele introduse nu coincid //---------------------------------------------- if ($pass1 != $pass2) { $mesaj .= '<b style="color: darkred">Parolele nu se potrivesc<br /><br /></b>'; } //---------------------------------------------- // Adresa email este invalida //---------------------------------------------- if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { $mesaj .= '<b style="color: darkred">Adresa email este invalida<br /><br /></b>'; } if ($mesaj == "") // Nu a aparut niciun mesaj de eroare { //----------------------------------------- // Verificam daca nu exista user cu acelasi // username / aceeasi adresa email //----------------------------------------- $cerereSQL = 'SELECT * FROM membri'; $rezultat = mysqli_query($conexiune, $cerereSQL) or die(mysql_ERROR()); while($rand = mysqli_fetch_array($rezultat)) { //----------------------------------------- // Afisam mesaj de eroare în caz ca // username-ul sau adresa email introdusa // este / sunt deja folosite de catre // altcineva //----------------------------------------- if ($rand['nume'] == $user OR $rand['email'] == $email) { $mesaj .='<b style="color: darkred;">Username / email folosite</b><br /><br />'; break; } } if ($mesaj == "") { //----------------------------------------- // Totul este OK, deci putem insera datele // introduse în baza de date //----------------------------------------- $sql = "INSERT INTO `membri`(`nume`, `parola`, `email`) VALUES ('".htmlentities($user)."','".criptare($pass1)."','".$email."')"; mysqli_query($conexiune, $sql) or die(mysql_Error()); echo "Înregistrarea a avut loc cu succes. Veti fi redirectionat pe pagina principala"; echo '<meta http-equiv="refresh" content="1; url=index.php" />'; exit(); } } } $HTML = <<<INFO <center><span style="font-size: 40px;">Înregistrare</span></center> $mesaj <form action="" method="post"> <b>Utilizator</b><br /> <input type="text" name="user" value="" /><br /> <b>Parola</b><br /> <input type="password" name="pass1" value="" ><br> <b>Reintrodu parola</b><br /> <input type="password" name="pass2" value="" ><br> <b>Adresa email</b><br /> <input type="text" name="email" value="" /><br /> <input type="submit" name="Login" value="Creeaza cont" > </form> INFO; return $HTML; } Functia delogare: function logout() { session_destroy(); echo '<meta http-equiv="refresh" content="0; url=index.php" />'; exit(); } La finalul fisierului adaugam ?> Acesta este primul meu tutorial PHP. Daca apar nereguli / aveti vreo obiectie (sunt începator), postati aici P.S. Da, daca ai pierdut parola, esti ca mort. Ma gândesc zilele astea la o functie de recuperare a parolei.
  19. Chameleon Dark // ipsfocus.com

    Version 4.3.1

    19 downloads

    Chameleon is an adaptive skin which uses semi-transparent 'frosted glass' content boxes, allowing your background image to partially show through. This allows you to easily customize the genre of the theme by changing only the background image. The header collapses on-scroll, and stays at the top of the screen for easy access.Theme features Theme Settings Easily enable, disable or modify theme features such as background images, logos, social media links, guest messages and colors. This makes modifications and upgrades very simple since little code changes are required. Sticky, shrinking header The header shrinks in size and sticks to the top of the page for easy access to your navigation. Frosted Glass content boxes Your background image is displayed beneath your content boxes which have a frosted glass effect (available in all modern browsers except IE and Edge). Background picker If enabled, your members can choose their own background image or color from a predefined selection and their choice is saved via cookies. Guest message A customizable message can be shown to guests, prompting them to either register or login to your forum. Two designs, "billboard" and "alert" are available. Social links Over 20 social links can be enabled/disabled and customized to your own URL, allowing you to easily link to your social network pages (facebook, twitter, etc). If your site doesn't exist, it's easy to add custom icons to the list! HTML logo with slogan Easily add/edit your text logo and slogan from within the theme settings. If required, the text can be replaced by an image instead. Mega Footer A mega footer with configurable column numbers and content can be enabled and customized all within the theme settings. High quality on every screen! By using scalable fonts and css effects to create the theme, it'll look great on any screen - even ones with high resolutions!
  20. Magnum Theme

    Version 4.1.9

    1 download

    Demo
  21. [4.3 - IPBFocus] Animate

    Version 1.0

    25 downloads

    Animate is a dark, modern design and is named after the animated background effect seen in its header. The theme comes with an animated header and is perfect for any forum looking for a quick loading dark design - especially great for gaming forums!Theme features Theme Settings Easily enable, disable or modify theme features such as background images, logos, social media links, guest messages and colors. This makes modifications and upgrades very simple since little code changes are required. Animated header This theme features two animated images in the header, powered by css animations. The effect can be customized extensively, or removed entirely if necessary. Background picker Your members can choose their own background image (or color) from a predefined selection and their choice is saved via cookies. This feature can be configured or disabled within the theme settings. Guest message The "Guest message" widget is restyled to grab your visitors attention. It can be added to any widget location: header, footer or sidebar. Social links Social links can be enabled/disabled and customized to your own URL, allowing you to easily link to your social network pages (facebook, twitter, etc) HTML logo with slogan Easily add/edit your text logo and slogan from within the theme settings. If required, the text can be replaced by an image instead. Mega Footer A mega footer with configurable column numbers and content can be enabled and customized all within the theme settings. Minimal HTML edits This theme has very few template files, which means in most cases, you will not need to install theme updates between IPS versions. Too easy!
  22. Version 4.3

    190 downloads

    Caracteristici noi: O nouă funcție pentru administratori de a încărca un fișier XML al tuturor informațiilor personale. Setare nouă pentru trunchierea automată a înregistrărilor adreselor IP. Parametru nou la ștergerea unui participant pentru conținutul anonim trimis de acesta. O nouă setare pentru adăugarea automată a legăturilor către politicile de confidențialitate ale serviciilor terțe integrate, cum ar fi Google Analytics sau Facebook Pixel, în politica de confidențialitate, dacă acestea sunt activate. Elimină problema în care evenimentele calendarului care sunt prezentate în diferite fusuri orare pentru utilizator pot fi afișate într-un timp inoportun. Alte remedii și îmbunătățiri minore ale erorilor.
  23. Elegant // ipsfocus

    Version 4.3

    1 download

    Elegant is a minimalistic theme controlled by a color picker, allowing each of your members to choose their own unique color scheme.Theme features Theme Settings Easily enable, disable or modify theme features such as background images, logos, social media links, guest messages and colors. This makes modifications and upgrades very simple since little code changes are required. Color Picker Elegant comes with a color picker, allowing your members to choose their own unique color scheme. Their selection is saved via cookies and a "reset" buttons lets them easily revert back to your default color scheme. Optional fixed header If enabled via theme settings, your header will stick to the top of the page, allowing for easy access to your navigation. Background picker If enabled, your members can choose their own background image or color from a predefined selection. Their choice is saved via cookies and automatically load each page visit. Guest message A customizable message can be shown to guests, prompting them to either register or login to your forum. Two designs, "billboard" and "alert" (shown) are available. Global message Display a message across the top of your site with important announcements. Once your members have seen the message, they can press the Dismiss button to remove it (until you configure a new one). Social links Social links can be enabled/disabled and customized to your own URL, allowing you to easily link to your social network pages (facebook, twitter, etc) HTML logo with slogan Easily add/edit your text logo and slogan from within the theme settings. If required, the text can be replaced by an image instead. Mega Footer A mega footer with configurable column numbers and content can be enabled and customized all within the theme settings.
  24. Dreadnought Theme

    Version 2.1.8

    13 downloads

    Dreadnought is modern, Creative, Super advanced theme comes with tons of customization's and features including responsive drop down navigation, Google fonts, custom html full-sized widgets, Advanced footer, Social links, News ticker, Custom forum category styles, Six of awesome article templates and a powerful touch slider that can be integrated with (IP.Content) as a complete package for infinite slider, theme colors are entirely customizable with easy settings, You can manually change ALL colors and switch between a Dark or White scheme with color settings. Dreadnought theme is beautifully responsive and mobile friendly, it is best suitable for Gaming website, Included with Dozen of useful settings and features for example adding a fixed social link on sidebar or footer, also two custom widgets to show on top or bottom of your website you can place it anywhere you want for example Registration page, Login page, Staff directory page, Search page, User profiles page...etc) You can also set user group permissions for each of the widgets
  25. Behemoth Theme

    Version 4.1.9 for IPS 4.3

    1 download

    Behemoth is a modern, Creative, Super advanced theme comes with a lot of customization's and features including responsive drop down navigation, Google fonts, custom html full-sized widgets, Advanced footer, Social links, News ticker, Custom forum category styles, Six of awesome article templates and a powerful touch slider that can be integrated with (IP.Content) as a complete package for infinite slider, theme colors are entirely customizable with easy settings, You can manually change ALL colors and switch between a Dark or White scheme with color settings. Dreadnought theme is beautifully responsive and mobile friendly, it is best suitable for Gaming website, Included with Dozen of useful settings and features for example adding a fixed social link on sidebar or footer, also two custom widgets to show on top or bottom of your website you can place it anywhere you want for example Registration page, Login page, Staff directory page, Search page, User profiles page...etc) You can also set user group permissions for each of the widgets