Portal Dezvoltat pe Baza Framework Ului WordPress

Proiect de diplomă

1. Titlul temei: Portal dezvoltat pe baza framework-ului WordPress

2. Contribuția practică, originală a studentului va consta:

Proiectul are la baza implementarea unui portal WEB, bazat pe un framework-ul WordPress, utilizand tehnologie PHP, HTML5, CSS, Javascript si o baza de date MySQL.

Portalul va fi un mijloc de relationare intre studenti si profesori, implementand numeroase functionalitati interactive si utile.

Vor fi implementate doua interfete – pentru profesori si pentru studenti

Interfata pentru profesori va cuprinde va cuprinde: pagina de viziualizare a seriilor si grupelor unde profesorul este titular; modulul pentru prezenta, notare si observatii aditionale; detalii despre orele de laborator – prezenta, activitatea studentilor pe parcurs, note obtinute de studenti pe parcurs; materialul pentru laboratoare; modulul de mesagerie in portal.

Interfata pentru studenti va cuprinde: detalii despre laborator si profesor; pagina de vizualizare a activitatii pe parcurs; materialul pentru laborator.

3. Proiectul se bazează pe cunoștințe dobîndite în principal la următoarele 3-4 discipline: Programarea Calculatoarelor, Structuri de Date si Algoritmi, Programare Obiect-Orientata, Tehnologii de Programare in Internet

Cuprins

Introducere

In prezent, internetul joaca un rol foarte importat in viata de zi cu zi. Datorita acestuia, comunicarea la distanta a devenit extrem de facila. La ora actuala, fiecare facultate are un portal web propriu folosit pentru a pune la dispozitie informatii studentilor si nu numai. In cadrul Facultatii de Electronica, Telecomunicatii si Tehnologia Informatiei, fiecare departament are un portal dedicat studentilor ce studiaza materiile aferente fiecarui departement in parte. Ideea de a realiza un portal web bine structurat, cu un aspect placut celor care il viziteaza, folosind ultimele tehnologii pentru departamentul de Telecomunicatii precum si dorinta de a aduce intr-un singur loc toate directiile de cercetare, laboratoarele si resursele materiilor predate in cadrul acestui departament au reprezentat motivatia alegerii acestei teme.

Comparativ cu actualul portal al departamentului, acesta contine elemente dinamice, o paleta de culori asemanatoare cu cea a portalului facultatii pentru a arata legatura dintre departament si facultate, posibilitatea de a publica anunturi automat si pe o retea de socializare extrem de utilizata de studentiprecum si o varianta in limba engleza.

A fost ales framework-ul WordPress pentru dezvoltarea portalului deoarece acesta este foarte usor de folosit in realizarea si administrarea unui portal, este sprijinit de o comunitate foarte mare de utilizatori, comunitate in care se gasesc module si sabloane variate ce extind functionalitatea unui portal. Toate modificarile aduse la nivel de cod au fost realizate utilizand limbajele PHP, HTML si CSS iar intreg continutul portalului este stocat intr-o baza de date de tip MySQL

Contributie personala:

Personalizarea sablonului initial (lista completa de fisiere ale sablonului modificate se regaseste in Anexa 2)

Personalizarea paginii de autentificare a interfetei administrative

Crearea unei sigle noi a departamentului de Telecomunicatii

Crearea unei imagini de mici dimensiuni asociata portalului (favicon)

Adaugarea continutului portalului

Crearea unei versiuni in limba engleza a portalului

Crearea paginii de Facebook a departamentului de Telecomunicatii

Adaugarea unor module de administrare, securitate si extindere a functionalitatii portalului

Adaugarea unor legaturi catre portalurile facultatii si universitatii

Crearea unei categorii speciale pentru utilizatori de tip profesor

Crearea unor ghiduri de utilizare pentru utilizatori de tip profesor si administrator

1. Despre WordPress

WordPress este un cadru (framework) lansat in anul 2003 si dezvoltat cu ajutorul tehnologiilor PHP si MySQL. Conform http://wordpress.org, acesta este succesorul oficial al platformei b2/cafelog. Avand o arhitectura bazata pe sabloane (templates) denumite si teme (themes)si module (plugins) are avantajul de a fi foarte usor de personalizat, fiind cel mai utilizat sistem de administrare a continutului conform www.w3techs.com[1]. Fata de portalurile dezvoltate fara a utiliza un cadru, cele care folosesc WordPress sunt foarte usor de folosit de catre persoane care nu au experienta in acest domeniu si, de asemenea, nu au erori neprevazute (bug) intrucat exista o comunitate intreaga in spatele acestui cadru care corecteaza toate erorile aparute. Un alt avantaj este multitudinea de module realizate special pentru WordPress, fiind eliminate astfel problemele de compatibilitate.

Incepand cu versiunea 1.0, majoritatea versiunilor WordPress au fost denumite dupa mari muzicieni de jazz. O lista completa a versiunilor impreuna cu noutatile aduse se gaseste in Anexa 1.

1.1. Definitii. Componente

Notiunea de framework reprezinta un set de reguli ce formeaza o structura, un schelet de la care se poate pleca pentru dezvoltarea unor portaluri web in cazul de fata, scutind astfel ore de munca.

Principala componenta de care are nevoie un portal dezvoltat cu ajutorul WordPress este un sablon. Aceste sabloane sunt create cu ajutorul unor fisiere scrise in limbajele PHP, HTML si CSS, fisiere disponibile utilizatorilor pentru editare. In ultimii ani au aparut temele sensibile (responsive). Acestea au marele avantaj de a-si optimiza automat stilul in functie de dimensiunile ecranului dispozitivului de pe care este accesat portalul web.

Modulele reprezinta o componenta foarte importanta in WordPress deoarece acestea extind functionalitatile unui portal sau adauga functionalitati noi precum panouri de autentificare, bare de meniu, etc. Colectia comunitatii WordPress numara in prezent peste 37 000 de module cu peste 900 de milioane de descarcari[2].

PHP este un limbaj de programare utilizat in mod special in dezvoltarea aplicatiilor si paginilor web. Denumirea acestuia reprezinta un acronim recursiv provenit din limba engleza PHP: Hypertext Preprocessor. Fiind acronim recursiv, prima litera a acronimului reprezinta chiar acronimul. In sintaxa PHP se regasesc elemente din sintaxele altor limbaje de programare precum C, Java, Perl. Limbajul PHP poate fi scris in acelasi fisier cu limbajul HTML cat timp partea scris in PHP este incadrata de etichetele <?php si ?>.

Limbajul de marcare a hipertextului (HyperText Markup Language) cunoscut sub acronimulHTML este cel mai folosit limbaj pentru a crea pagini web. Denumirea acestuia este acronimul. Sintaxa acestui limbaj contine foarte multe etichete, dintre care, cele care nu pot lipsi niciodata sunt <html>, <head>, <title>, <body>. Fiecare eticheta trebuie are o eticheta pereche cu ajutorul careia se incadreaza textul. De exemplu, perechea etichetei <html> este </html>.

CSS este un limbaj utilizat in formatarea paginilor scrise in limbajul HTML. Formatarea unui fisier scris in limbaj HTML se poate face in trei moduri:

In linie;

Exemplu:

<html>

<head>

</head>

<body>

<p style=”color:red”>Formatare in linie</p>

</body>

</html>

Intern;

Exemplu:

<html>

<head>

<style>

p {color: red}

</style>

</head>

<body>

<p>Formatare interna</p>

</body>

</html>

Extern.

Exemplu:

<html>

<head>

<link rel=”stylesheet” href=”fisier.css”>

</head>

<body>

<p>Formatare externa</p>

</body>

</html>

Diferenta intre cele doua limbaje este faptul ca HTML este folosit in structurarea continutului iar CSS in formatarea acestuia. Marele avantaj adus de acest limbaj este faptul ca intreg controlul asupra modului de afisare a continutului se afla intr-un singur fisier.

1.2. Vulnerabilitati

De-a lungul timpului platforma WordPress a fost vulnerabila la atacuri precum injectarea SQL sau XSS (Cross Site Scripting) care pot modifica baza de date sau alte fisiere de configurare. Problemele de securitate sunt tratate de membrii comunitatii WordPress iar solutiile gasite impotriva acestora sunt introduse in versiunile noi ale platformei. Astfel, o prima metoda pentru a avea un portal securizat este mentinerea unei versiuni actualizate a platformei si a modulelor utilizate. De asemenea au fost create module specializate in securizarea portalelor, unele dintre acestea fiind instalate inclusiv pe acest portal si prezentate in sectiunea dedicata modulelor.

2. Descrierea portalului

Portalul este constituit din doua mari componente: interfata de administraresi interfata publica. In timpul dezvoltarii acestuia a fost folosita adresa http://telecom.cnts.ro (cnts.ro este domeniul personal al studentului), urmand ca in momentul folosirii de catre departamentul de Telecomunicatii adresa portalului sa fie http://telecom.pub.ro.Datorita utilizarii platformei WordPress, portalul contine trei subdirectoare importante: wp-admin care contine fisiere utilizate de catre interfata de administrare, wp-content unde sunt incluse fisiere de continut specifice portalului precum sabloane, module si un subdirector cu fisiere incarcate si wp-includesin care se gasesc fisiere utilizate in nucleul platformei, recomandarea fiind ca aceste fisiere sa ramana nemodificate pentru a nu afecta modul de functionare al acesteia. Structura directoarelor portalului este ilustrata in figura 2.1 (directorul telecom este directorul radacina al portalului).

Fig. 2.1Structura directoarelor portalului

2.1. Interfata de administrare

Probabil unul din motivele pentru care WordPress este foarte utilizat este faptul ca are o interfata de administrare usor de utlizat. Cu ajutorul acesteia se controleaza aspectul, continutul si functionalitatile unui portal. Intrucatacest portal reprezinta o retea formata dintr-o versiune in limba romana si o versiune in limba engleza, exista trei zone de administrare: zona de administrare a retelei, zona de administrare a versiunii in romana si zona de administrare a versiunii in engleza. Interfata de administrare se acceseaza utilizand pagina de autentificare ce se gaseste la adresa http://telecom.cnts.ro/backend.

Fig. 2.1Pagina de autentificare a interfetei de administrare

Deoarece zonele de administrare a versiunilor in limba romana si limba engleza au aceeasi structura, in continuare vor fi prezentate structurile zonei de administrare a retelei si a zonei de administrare a versiunii in limba romana.

2.1.1. Zona de administrare a retelei

Aceasta zona este formata din doua bare de meniu dupa cum urmeaza:

Bara de meniu orizontala cu elementele:

Sigla WordPress cu submeniurile:

Despre WordPress

WordPress.org

Documentatie

Forumuri asistenta

Impresii

Situri proprii cu submeniurile:

Administrare retea

Administrare versiune in romana

Administrare versiune in engleza

Administrare retea (buton pentru vizitarea portalului in romana)

Buton pentru afisarea actualizarilor disponibile

Profilul administratorului

Bara de meniu verticala cu elementele:

Panou control

Prezinta cateva legaturi rapide (Creeaza un utilizator nou, Cauta utilizatori, etc) precum si ultimele stiri WordPress

Situri

Din acest meniu se adauga si administreaza versiunile portalului. In cazul de fata exista doar doua versiuni.

Utilizatori

Meniu pentru adaugarea si administrarea utilizatorilor retelei.

Teme

Este format din trei submeniuri: Teme instalate (este prezentata o lista cu toate temele instalate, tot de aici activandu-se tema dorita), Adauga teme si Editor teme (se pot modifica din interfata de administrare fisierele temei active).

Module

Prezinta aceeasi structura ca si meniul Teme prezentat mai sus.

Setari

Meniu utilizat pentru setari globale ale retelei precum titlul retelei, adresa de mail a administratorului retelei, setari de inregistrare, etc.

Actualizari

Afiseaza actualizarile disponibile pentru versiunea de WordPress, modulele si temele instalate.

Buton de restrangere a barei de meniu

Fig. 2.2 Zona de administrare a retelei

2.1.2. Zona de administrare a versiunii in limba romana

La fel ca si zona de administrare a retelei, si aceasta are doua bare de meniu:

Bara de meniu orizontala:

Este aceeasi bara de meniu ca si din zona de administrare a retelei, cu mentiunea ca mai apar doua elemente noi: butonul de moderare a comentariilor si butonul de adaugare (articole, pagini, evenimente, utilizatori, etc).

Bara de meniul verticala formata din:

Panou control

Prezinta o vedere de ansamblu asupra portalului: numarul de articole, pagini, comentarii, articole publicate recent. Tot aici se regasesc un modul de schita rapida si modulul cu stiri WordPress.

Articole

Din acest meniu se adauga si administreaza articole, categorii si etichete.

Media

Se regaseste biblioteca cu elemente media incarcate, precum si posibilitatea de a incarca altele noi.

Pagini

Meniu utilizat pentru adaugarea si administrarea paginilor.

Comentarii

Din acest mediu se modereaza comentariile (aprobare, stergere, etc).

Aspect

Principalele functii ale acestui meniu sunt selectarea temei, administrarea meniurilor si a barelor laterale (sidebar) precum si personalizarea temei active.

Module

Se regasesc lista modulelor instalate in retea, un submeniu de adaugare a modulelor noi si un editor al modulelor.

Utilizatori

Contine lista utilizatorilor, posibilitatea de a adauga utilizatori noi doar pentru versiunea a carei zona de administrare este selectata si profilul administratorului.

Unelte

Acest meniu prezinta uneltele disponibile precum si optiuni de importare si exportare a continutului (articole, pagini, comentarii, categorii, etc.).

Setari

Este impartit in setari generale (titlul portalului, data, ora, limba), de scriere (formatare, selectarea categoriei implicite pentru articole), de afisare (setarea paginii principale si a articolelor, a numarului maxim de articole pe pagina), setari ale comentariilor, media (setarea dimensiunilor standard) si setarea structurii legaturilor permanente (permalinks). Mai pot aparea si alte sectiuni de setari ale anumitor module daca acestea sunt activate.

Elemente de meniu introduse de anumite module: Events, Restrictions, Roles, Add Link to Facebook, Lockdown WP (vor fi discutate in sectiunea dedicata prezentarii modulelor instalate)

Fig. 2.3 Zona de administrare a versiunii in limba romana

2.2 Interfata publica

Interfata publica reprezinta portalul propriu-zis, adica ceea ce vede orice vizitator al acestuia. O imagine completa a interfetei publice pentru ambele versiuni se regaseste in anexa 3.

2.2.1. Aspect general

Interfata publica a portalului este constituita din patru blocuri: antet, corp, bara laterala si subsol.Aceasta are o latime de 980 de pixeli si este situata pe un fundal gri (cod hexazecimal RGB: #e7e7e7). Sablonul de la care s-a pornit este sablonul gratuitMH Corporate basic, versiunea 1.1.3, creat de MH Themes[3]. Lista intreaga de modificari aduse acestui sablon se regaseste in Anexa 2. De asemenea, pentru a fi usor de identificat, portalul are si o imagine asociata denumita favicon ce se regaseste in fila (tab) corespunzatoare portalului. Pentru implementarea acesteia este necesara adaugarea in fisierul index.php a portalului a urmatoarei linii de cod:

<link rel=”shortcut icon” href=”http://telecom.cnts.ro/favicon.png”/>

Fig. 2.5Afisarea imaginii asociate portalului

2.2.1.1. Antetul portalului

Identificatorul antetului utilizat de sablon este<header class=”header-wrap”>.Antetul este compus din urmatoarele elemente:

Butonul de comutare intre versiuni

Acesta comuta intre versiunile in limba romana si in limba engleza

Butonul de comutare in limba engleza:

Butonul de comutare in limba romana:

Legaturi catre portalele facultatii si universitatii

Siglele facultatii si universitatii sunt folosite ca legaturi catre portalele acestora

Imaginea de antet

Imaginea de antet este compusa din sigla departamentului, titlul si subtitlul portaluluisi este apelata din fisierul header.php utilizand functia <?php mh_logo(); ?>

Bara de meniu principala

Este folosita pentru navigarea in portal catre toate paginile acestuia. Declararea acestui meniu in fisierul header.php se face utilizand eticheta <nav>:

<nav class=”main-nav clearfix”>

<?php wp_nav_menu(array(‘theme_location’ =>‘main_nav’)); ?>

</nav>

Structura de link-uri (breadcrumbs trail)

Este un element extrem de folositor intr-un portal cu pagini ierarhizate deoarece simplifica navigarea in portal. De exemplu, pentru pagina RST structura de link-uri este: Home/Studii/Licenta/RST. Folosind aceasta structura de link-uri un vizitator poate reveni mai usor la paginile Studii sau Licenta.

Fig. 2.7Structura de link-uri

Fig. 2.6 Antetul portalului

2.2.1.2. Corpul portalului

Corpul portalului contine paginile propriu-zise. Este singura componenta a portalului care se schimba in timpul navigarii. Identificatorul utilizat pentru corpul portalului este <div class=”mh-content”>.

2.2.1.3. Bara laterala

Este constituita din mai multe dispozitive (widget) denumite piese in platforma WordPress. Deoarece niciuna din cele doua variante in limba romana nu reflecta complet sensul cuvantului, vom face in continuare referire la acesta sub denumirea de widget. Acestea pot fi utilizate de obicei prin instalarea unui modul, dar exista si cateva widget-uri implicite oferice de platforma WordPress.

Primul widget din bara laterala este unul implicitsi afiseaza ultimele cinci articole publicate.

Fig. 2.8Widget-ul Articole recente

Urmatoarele doua widget-uri sunt oferite de modulul Event List Calendar (care va fi detaliat in sectiunea dedicata modulelor) si afiseaza urmatoarele evenimente ca lista si intr-un calendar.

Fig. 2.9Widget-ul Evenimente

Fig. 2.10Widget-ul Calendar

Al patrulea widget este tot unul implicit si reprezinta panoul de autentificare pentru utilizatori.

Fig. 2.11Panoul de autentificare

Widget-ul urmator este oferit de modulul Facebook Widget si afiseaza o versiune miniaturizata a paginii de Facebook a Departamentului de Telecomunicatii impreuna cu un buton pentru aprecieri si cu o lista de persoane care au apreciat aceasta pagina.

Fig. 2.12Varianta miniaturizata a paginii de Facebook

Ultimul widget din bara laterala este un widget de tip text care face legatura catre harta portalului (sitemap). Harta prezinta structura detaliata de pagini a portalului.

Fig. 2.13Harta portalului

2.2.1.4. Subsolul portalului

In subsolul portalului se regasesc drepturile de autor. Subsolul este diferit pentru fiecare versiune prin adaugarea urmatoarelor linii de cod:

<?php if( get_bloginfo( 'language' ) == 'en-GB' ){ ?>

<div class="copyright-wrap">

<p class="copyright">

<?php echo 'Copyright &copy; ' . date("Y") . ' | <a href="http://telecom.pub.ro/en/" rel="nofollow">Telecommunications Department, ETTI</a>'; ?>

</p>

<?php }else { ?>

<div class="copyright-wrap">

<p class="copyright">

<?php echo 'Copyright &copy; ' . date("Y") . ' | <a href="http://telecom.pub.ro/" rel="nofollow">Departamentul Telecomunicatii, ETTI</a>'; ?>

</p>

Fig. 2.14Subsolul portalului

2.2.2.Pagini

Structura paginilor portalului (asa cum se regaseste si in sitemap) este urmatoarea:

Prima Pagina

Aceasta este pagina principala care apare la accesarea portalului. Contine un widget implicit al sablonului folosit ce afiseaza prin rotatie ultimele cinci articole (slider), o prezentare a departamentului si structura acestuia.

Fig. 2.15Slider-ul de pe prima pagina a portalului

Studii

Prezinta submeniurile: Licenta, Master si Doctorat

Fig. 2.16Meniul Studii si submeniurile acestuia

Licență

In aceasta pagina se regasesc scurte descrieri ale celor doua programe de specializare ale departamentului: Tehnologii și Sisteme de Telecomunicații (TST) si Rețele și Software pentru Telecomunicații (RST).

TST

Reprezinta pagina dedicata descrierii programului de specializare TST

RST

Reprezinta pagina dedicata descrierii programului de specializare RST

Master

Contine un meniu cu ancore (legaturi catre sectiuni din aceeasi pagina) pentru fiecare program de master coordonat de departament precum si o descriere a fiecaruia dintre aceste programe.

Fig. 2.17Meniul cu ancore al paginii Master

Doctorat

Se regaseste o lista cu toti profesorii din departament ce coordoneaza lucrari de doctorat.

Personal

Este afisata lista completa de cadre didactice din departament.

Cercetare

Prezinta submeniurile: Laboratoare, 3CPS, CCRST, Alte Contracte

Fig. 2.18Meniul Cercetare si submeniurile acestuia

Laboratoare

Prezinta o lista detaliata cu dotarile si lucrarile reprezentative ale laboratoarelor.

3CPS

Aceasta este pagina dedicata prezentarii Centruluide Cercetare pentru Comunicatii si Prelucrari de Semnal (3CPS) in care se regasesc directiile de cercetare, proiecte si date de contact.

CCSRST

Prezinta directii principale de cercetare, zonele de cercetare prioritare, resursele, proiectele si date de contact.

Alte Contracte

In aceasta pagina se regasesc rapoarte tehnice si contracte de cercetare stiintifica.

Extracurricular

Prezinta submeniurile: Cursuri si Competitii Studenti.

Fig. 2.19

Cursuri

In aceasta pagina sunt prezentate cursurile extracuriculare oferite studentilor. Pagina contine un meniu cu ancore pentru fiecare curs precum si o descriere a fiecaruia dintre acestea.

Fig. 2.20

Competiții Studenți

Prezinta sub aceeasi structura cu ancore ca si pagina Cursuri detalii despre competitiile studentesti ce au loc in cadrul facultatii.

Parteneri

Afiseaza cele doua categorii de parteneri: Academici si Industriali.

Fig. 2.21

Academici

In aceasta pagina sunt afisati universitatile cu care colaboreaza departamentul.

Industriali

Sunt afisati partenerii departamentului din industria telecomunicatiilor.

Noutăți

In aceasta pagina apar toate articolele publicate. Numarul de articole pe care il afiseaza poate fi setat din interfata de administrare din meniul Setari > Afisare. Din figura se poate observa ca este setata valoarea de 20 de articole.

Fig. 2.22

Calendar

Aceasta este pagina in care este afisat calendarul evenimentelor cu ajutorul modulului Event List Calendar.

Fig. 2.23

Contact

Sunt afisate datele de contact ale secretariatului departamentului Telecomunicatii

Sitemap

Asa cum a fost precizat si mai devreme, afiseaza structura completa a paginilor portalului.

2.3 Module

Pentru a extinde functionalitatile portalului este necesara instalarea unor module. Unele module ofera widget-uri ce sunt vizibile in portal iar alte module ofera servicii de securitate sau administrare si nu sunt vizibile in portal. Pentru a folosit un modul este necesara instalarea si activarea acestuia. Aceste operatii se realizeaza doar din zona de administrare a retelei. Toate modulele de pe acest portal au fost descarcate din sectiunea de module a platformei WordPress: https://wordpress.org/plugins. In continuare vor fi prezentate modulele instalate si utilizate pe acest portal structurate in trei categorii: module de administrare, module de securitate si module de extindere a functionalitatii.

2.3.1. Module de administrare

Adminimize

Versiunea 1.8.5 a acestui modul creat de Frank Bültge a fost instalata cu scopul de a administra elementele de meniu afisate in interfata de administrare a utilizatorilor tip profesor. Acesta permite ascunderea unor elemente de meniu selectate pentru o categorie de utilizatori selectata.

CMS Tree Page View

CMS Tree Page Vieweste utilizat in administrarea paginilor si a articolelor. Este un modul foarte util pentru portaluri cu multe pagini si articole deoarece le aseaza, dupa cum ii spune si numele, intr-o structura de arbore. Acest modul adauga in zona de administrare a versiunii un element in bara de meniu verticala si submeniuri in meniurile Pagini si Articole. Este creat de Pär Thernström iar pe portal este instalata versiunea 1.2.32.

Role Scoper

Pentru a putea oferi posibilitatea fiecarui utilizator de tip profesor de a administra propria pagina si de a crea subpagini a fost instalat acest modul. Acesta ofera administrarea permisiunilor pentru pagini, articole si categorii. Modulul a fost creat de Kevin Behrens iar versiunea utilizata este 1.3.64.

WP-Mail-SMTP

Acest modul creat de Callum Macdonald reconfigureaza functia wp_mail() pentru a utiliza protocolul SMTP si creaza si un meniu din care se pot seta numeroase optiuni. Versiunea 0.9.5 este instalata pe portal.

2.3.2. Module de securitate

Block Bad Queries (BBQ)

Acest modul este de fapt un script simplu realizat de Jeff Starr ce are ca scop blocarea cererilor URL daunatoare, protejand astfel portalul de asemenea atacuri.

Lockdown WP Admin

Intrucat adresa interfetei de administrare a unui portal realizat pe platforma WordPress este mereu aceeasi (http://telecom.cnts.ro/wp-admin), oricine poate accesa panoul de autentificare. Pentru a evita asemenea probleme, acest modul permite alegerea unei alte adrese pentru interfata de administrare si blocarea adresei implicite. Pentru acest portal, adresa interfetei de administrare este http://telecom.cnts.ro/backend. Modulul este creat de Sean Fisher si este instalata versiunea 2.2 a acestuia.

2.3.3. Module de extindere a functionalitatii

Add Link to Facebook si Facebook Widget

Add Link to Facebookeste un modul ce publica in mod automat pe pagina de Facebook a departamentului articolele publicate pe portal. Acesta ofera posibilitatea de a opri publicarea automata pe pagina de Facebook prin adaugarea optiunilor din figura. Modulul adauga si in zona de administrare a versiunii un element in bara de meniu verticala din care se administreaza modalitatea de afisare pe pagina de Facebook si legatura cu aplicatia creata pe Facebook (pentru a realiza legatura dintre portal si pagina de Facebook a fost necesara crearea unei aplicatii specifice prin care este realizata publicarea pe pagina departamentului). A fost creat de Marcel Bokhorst si Tanay Lakhaniiar versiunea instalata pe portal este versiunea 2.2.2.

Facebook Widgeteste un modul creat de Milap Patel si ofera posibilitatea de a afisa in bara laterala pagini de Facebook (a se vedea figura 2.12). Acesta ofera mai multe optiuni legate de aspect in momentul inserarii widget-ului in bara laterala precum setarea latimii si lungimii widget-ului, selectarea unei scheme de culori dar si un camp in care poate fi scris cod CSS personalizat. Cu ocazia instalarii acestor module a fost creata si pagina de Facebook a departamentului, toate acestea fiind realizate pentru o comunicare cat mai buna cu studentii.

Fig. 2.24

Fig. 2.25

Breadcrumb Trail

Modul creat de Justin Tadlock aflat la versiunea 0.6.1 cu ajutorul caruia poate fi usor inserata o structura de link-uri. Pentru a afisa structura de link-uri a portalului este necesara adaugarea sintaxei breadcrumb_trail() in sablonul utilizat. Figura 2.7 prezinta structura de link-uri creata de modul pe acest portal.

Default featured image

Intrucat pe prima pagina exista un slider care afiseaza prin rotatie ultimele cinci articole publicate, este necesar ca fiecare articol sa aiba o imagine reprezentativa. Pentru a nu intalni situatii in care autorul uita sa adauga articolului o imagine reprezentativa, acest modul aloca implicit tuturor articolelor ce nu au o imagine selectata, una selectata de administrator in zona de administrare a versiunii, meniul Setari > Media. Pe portal este instalata versiunea 1.4 a acestui modul realizat de Jan Willem Oostendorp.

Event List Calendar

Un modul foarte util pentru organizarea si afisarea evenimentelor. Adauga in bara verticala de meniu a zonei de administrare a versiunii un element numit Events din care sunt adaugate si administrare evenimentele. Pentru a le afisa pe interfata publica, modulul ofera trei coduri scurte (shortcodes): [calendar] care afiseaza in pagina un calendar de dimensiuni mari (fig. 2.23), [mini-calendar] care afiseaza un calendar de dimensiuni mici potrivit pentru bara laterala (fig. 2.10) si [upcoming-events]care afiseaza in bara laterala o lista cu urmatoarele evenimente (fig. 2.9). Din meniu Events > Settings poate fi setat formatul datei precum si paleta de culori a calendarului.

MslsMenu si Multisite Language Switcher

Modulul Multisite Language Switcher creat de Dennnis Ploetner instalat cu versiunea 1.0.4 ofera suport bilingv portalurilor care utilizeaza functia de multisite a WordPress. Cu ajutorul acestui modul se poate administra usor o retea bilingva de portaluri avand printre optiuni posibilitatea sincronizarii articolelor, paginilor sau a categoriilor cu variantele lor bilingve.

MslsMenu este utilizat pentru a integra modulul Multisite Language Switcher intr-un meniu de navigare al portalului. Cele doua module au acelasi autor dar MslsMenu este la versiunea 1.2.

PS Auto Sitemap

Este folosita versiunea 1.1.8 a acestui modul creat de Hitoshi Omagari care genereaza automat sitemap-ul portalului. Pentru a folosi acest modul intr-o pagina este necesara adaugarea sintaxei <!– SITEMAP CONTENT REPLACE POINT –> in acea pagina.

Sidebar Login

Este un modul simplu dar util care adauga un widget de autentificare in bara laterala, permitand autentificarea si redirectionarea catre interfata de administrare fara a mai accesa pagina de autentificare. Autorul acestui modul este Mike Jolley iar versiunea instalata este 2.7.1.

2.4.Pagini personale pentru profesori

O alta functionalitate a acestui portal este faptul ca ofera profesorilor posibilitatea administrarii unei pagini personale si crearea de subpagini pentru fiecare materie predata in parte. Pentru a obtine aceasta functionalitate a fost necesara crearea unei categorii de utilizatori de tip profesor si instalarea modulelor de administrare Role Scoper si Adminimize.

Categoria Profesor a fost creata prin adaugarea liniilor de cod de mai jos in fisierul functions.php al sablonului. Aceasta ofera utilizatorilor din categorie drepturile minime pe portal.

$result = add_role(

'profesor',

__( 'Profesor' ),

array(

'read' => true,

'edit_pages' => false,

)

);

Role Scoper este folosit pentru a aloca utilizatorului de tip profesor drepturile de modificare a paginii personale si de creare a subpaginilor iar Adminimize este utilizat pentru a ascunde elemente de meniu din interfata de administrare pentru care utilizatorul nu are drepturi de acces.

In ideea centralizarii tuturor resurselor materiilor predate in cadrul acestui departament, profesorii pot cere crearea unui utilizator si a unei pagini proprii. Astfel, acestia, cu ajutorul unei interfete de administrare, vor putea administra pagina personala, crea subpagini pentru fiecare materie predata si incarca fisiere. Un ghid complet de utilizare a interfetei de administrare pentru profesori este prezentat in capitolul urmator.

3.Ghiduri de utilizare

Aceste ghiduri de utilizare au fost create pentru a oferi utilizatorilor posibilitatea de a invata sa foloseasca interfata de administrare. Pentru o utilizare corecta a tuturor functionalitatilor ale portalului vor fi prezentate in continuare ghiduri de utilizare pentru doua tipuri de utilizatori: profesori si administratori

3.1. Ghid de utilizare a interfetei de administrare pentru profesori

Pentru a obtine un utilizator si o pagina personala este necesara informarea administratorului cu privire la acest fapt si transmiterea adresei de mail cu care se doreste asocierea contului. Cadrul didactic va primi astfel la adresa specificata un mesaj cu numele de utilizator si parola generata automat (este recomandata schimbarea acestei parole la prima autentificare).

Conectarea la interfata de administrare se face prin pagina de autentificare ce se gaseste la adresa http://telecom.cnts.ro/backend(a se vedea figura 2.1) sau cu ajutorul panoului de autentificare din bara laterala (figura 2.11). Odata autentificat, utilizatorul este redirectionat catre pagina de profil din interfata de administrare (figura 3.1). In aceasta pagina se pot seta optiunile personale ale utilizatorului precum paleta de culori, informatii personale, de contact sau se poate schimba parola contului.

Fig. 3.1 Pagina de profil din interfata de administrare

Bara de meniu orizontala contine butonul denumit Departamentul de Telecomunicatii care reprezinta o legatura catre portal si butonul Adauga care permite adaugarea rapida de fisiere sau a unei pagini.

Contul de utilizator este creat impreuna cu o pagina personala (in exemplul prezentat numele de utilizator este profesor iar pagina personala se numeste Profesor). Toate paginile personale vor fi subpagini ale paginii parinte Personal. Pentru a adauga subpagini noi se va folosi butonul Adauga pagina care va deschide editorul de pagini. Adresa paginii personale va fi http://telecom.cnts.ro/personal/profesor iar adresele subpaginilor vor fi de forma http://telecom.cnts.ro/personal/profesor/subpagina.

Fig. 3.2 Lista initiala de pagini a utilizatorului

Fiecare pagina are trei butoane de meniu: Editeaza, Sterge si Afiseaza. Pentru a intra in editorul de pagini va fi selectat butonul Editeaza. Editorul prezinta doua moduri: modul Vizual care se comporta ca un editor obisnuit de text, si modul Text care permite introducerea de cod HTML. Pentru a salva modificarile facute in pagina personale va fi apasat butonul Actualizeaza. Dupa salvarea modificarilor va aparea pe ecran mesajul de confirmare Pagina a fost actualizata. Figura 3.6 prezinta aspectul public al paginii actualizate.

Fig. 3.3 Modul Vizual

Fig. 3.4 Modul Text

Fig. 3.6 Aspectul public al paginii personale

Pentru a incarca fisiere va fi selectat meniul Media (figura 3.7). In submeniul Biblioteca se gasesc fisierele deja incarcate de catre utilizator iar cu ajutorul submeniului Adauga media pot fi adaugate fisiere noi (figura 3.8). Pentru inserarea acestora in pagina se va folosi butonul Adauga Media din editorul paginii.

Fig. 3.7 Biblioteca de fisiere incarcate

Fig. 3.8 Pagina de incarcare a fisierelor

3.2. Ghid de utilizare a interfetei de administrare pentru administratori

Intrucat interfata de administrare a fost prezentata in sectiunea 2.1. in continuare vor fi exemplificate principalele operatii de administrare fara a mai prezenta componenta meniurilor.

Administrarea sabloanelor

Instalarea, activarea, dezactivarea sau stergerea sabloanelor se realizeaza din zona de administrare a retelei, utilizand meniul Teme. Tot din acest meniu pot fi editate fisierele sablonului activat in retea.

Administrarea modulelor

Instalarea, activarea, dezactivarea sau stergerea modulelor se realizeaza din zona de administrare a retelei, utilizand meniul Module. Tot din acest meniu pot fi editate fisierele oricarui modul selectat.

Actualizari

Pentru a actualiza sabloane, module si chiar platforma WordPress se utilizeaza meniul Actualizari din aceeasi zona de administrare a retelei.

Urmatoarele actiuni prezentate sunt realizate din zona de administrare a versiunii in limba romana.

Adaugarea unui articol

Pentru a adauga un articol nou se va selecta Adauga articol din meniul Articole pentru a intra in editorul de articole. Acesta este prezentat in figura 3.9. Este foarte importanta selectarea unei imagini reprezentative pentru articol intrucat aceasta va aparea pe slider-ul de articole recente de pe prima pagina. In cazul in care nu este selectata o imagine reprezentativa, va fi atribuita o imagine implicita articolului.

Fig. 3.9 Editorul de articole

Modificarea unui articol

Lista intreaga de articole create se gasesc in meniul Articole > Lista Articole. Pentru fiecare articol din lista sunt disponibile patru butoane: Editeaza, Editeaza rapid, Sterge si Afiseaza. Sunt afisate si alte informatii despre articole cum ar fi autorul, categoria din care face parte articolul, data publicarii, legatura catre articolul publicat pe pagina de Facebook sau buton de creare a unei versiuni in limba engleza.

Fig. 3.10 Lista de articole

Adaugarea unei pagini

Accesarea meniului Pagini > Adauga paginadeschide un editor similar cu editorul de articole, singura diferenta notabila fiind caseta Atribute pagina.

Fig. 3.11 Caseta Atribute pagina

Modificarea unei pagini

Si pentru modificarea paginilor sunt disponibile cele patru butoane existente si in meniul Articole. Butonul Editeaza va deschide editorul de pagini iar Editeaza rapid va deschide optiuni de editare a caracteristicilor paginii, nu si a continutului acesteia. Butonul Afiseaza deschide pagina publica a articolului.

Fig. 3.12 Optiuni deschise de butonul Editeaza rapid pentru pagini

Adaugarea unui eveniment

.

Adaugarea unui eveniment se realizeaza accesand meniul Events > Adauga articol. Si acesta deschide acelasi editor ca si in cazurile precedente cu mentiunea ca mai apar casete de setare a datei si orei evenimentului si de setare a numarului de zile a acestuia sau posibilitatea de a-l face un eveniment repetitiv.

Fig. 3.12 Casete de setari temporale a evenimenului

Modificarea unui eveniment

La fel ca si in cazurile precedente, Meniul Events > Events prezinta lista de evenimente existente. Butonul Editeaza rapid deschide optiuni speciale pentru evenimente, in timp ce restul butoanelor realizeaza aceleasi actiuni ca si in cazul paginilor si articolelor.

Fig. 3.13 Optiuni deschise de butonul Editeaza rapid pentru evenimente

Comentarii

Acest meniu nu necesita explicatii intrucat comentariile nu sunt permise pe acest portal.

Administrarea aspectului

Acessarea meniului Aspect > Personalizare deschide o pagina ce contine o bara laterala de meniuri de personalizare si o zona de previzualizare a portalului. Din acest meniu se pot personaliza titlul si sloganul portalui, culoarea sau imaginea de fundal, imaginea de antet, selectarea meniului principal de navigare si alocarea widget-urilor (pieselor).

Fig. 3.14 Bara laterala de meniuri de personalizare

Adaugarea utilizatorilor

Pentru a adauga utilizatori pentru versiunea in limba romana se va deschide meniul Utilizatori > Adauga utilizator, de unde se va completa caseta de optiuni denumita Adauga un utilizator nou. Intrucat singurul rol utilizat pe acest portal in afara de cel de administrator este rolul Profesor, la adaugarea fiecarui utilizator nou acesta va fi rolul selectat.

Fig. 3.15 Optiuni de adaugare a unui utilizator nou

Alocarea utilizatorilor de tip profesor drepturile de administrare a paginii personale

Pentru ca fiecare utilizator profesor sa isi poata administra pagina personala si sa poata crea subpagini este necesara accesarea meniului Pagini > Lista pagini. Din lista de pagini se va selecta pagina cu numele utilizatorului si se va deschide editorul de pagini. In editor se va cauta caseta Editors in care se vor bifa cele doua casute din dreptul numelui utilizatorului. Casuta simpla [] reprezinta dreptul utilizatorului de a administra pagina personala iar casuta incadrata de acolade {[]} reprezinta dreptul utilizatorului de a crea si administra subpagini.

Fig. 3.16 Caseta Editors pentru acordarea drepturilor de administrare a paginii

Importarea si exportarea continutului portalului

In meniul Unelte se gasesc submeniurile Import si Export. Pentru a importa continut se va accesa submeniul Import iar apoi se va selecta optiunea WordPress. Aceasta optiune deschide o pagina de unde se va incarca fisierul cu continutul dorit. Pentru export este nevoie accesarea submeniului cu acelasi nume si selectare tipului de continut pentru exportare.

Modificarea adresei de mail administrativa a portalului

Pentru a modifica adresa de mail administrativa se va deschide meniul Setari > Generale si se va modifica campul Adresa email cu adresa dorita. Dupa acest pas se va accesa meniul Setari > Email si se va modifica si aici campul From Emailcu aceeasi adresa dorita.

Vizibilitatea portalului in motoarele de cautare

Pentru a face portalul vizibil in motoarele de cautare este necesara acordarea permisiunii de indexare a acestuia. Pentru a permite aceasta este necesar ca optiunea Descurajează motoarele de căutare să indexeze acest sitdin meniul Setari > Afisare sa ramana nebifata.

Modificarea imaginii afisate in articolele publicate pe pagina de Facebook

Pentru a modifica acesteia este necesara accesarea meniului Add Link to Facebook > Add Link to Facebook Configuration. In caseta Additional settings sectiunea Picture se poate selecta ca imagine printre altele imaginea reprezentativa a articolului sau prima imagine din articol. Pentru adaugarea unei imagini personalizate este necesara selectarea optiunii Custom picture below si adaugarea unei legaturi catre poza in campurile Custom picture URL si Default picture URL.

Bibliografie

[1]Usage of content management systems for websites,

http://w3techs.com/technologies/overview/content_management/all, accesat la data: 26.04.2015

[2] Plugin Directory, https://wordpress.org/plugins, accesat la data: 26.04.2015

[3] MH Corporate basic, http://www.mhthemes.com/themes/mh/corporate-lite, accesat la data: 26.04.2015

[A1] Release History,http://en.wikipedia.org/wiki/WordPress#Release_history, accesat la data: 01.06.2015

Anexa 1

Sursa: [A1]

Tabel A.1 Istoricul versiunilor de WordPress lansate

Anexa 2

Contributia studentului la nivelul fisierelor portalului

Fisierul 404.php

Adaugarea liniilor de cod

<?php get_header(); ?>

<div class="mh-wrapper clearfix">

<div class="entry box">

<h1><?php _e('404'); ?></h1>

<h2><?php _e('Page not found!'); ?></h2>

<p><?php _e('It seems we can&rsquo;t find what you&rsquo;re looking for. Perhaps searching can help.'); ?></p>

<p><?php get_search_form(); ?></p>

</div>

</div>

Fisierul content-loop.php

Adaugarea liniei de cod

<p class="meta"><?php echo get_the_date() ?></p>

Fisierul content-single.php

Adaugarea liniilor de cod

<?php if( get_bloginfo( 'language' ) == 'en-GB' ){ ?>

<?php mh_post_header_en(); ?>

<?php }else { ?>

<?php mh_post_header(); ?>

<?php } ?>

Fisierul footer.php

Adaugarea liniilor de cod

<?php if( get_bloginfo( 'language' ) == 'en-GB' ){ ?>

<div class="copyright-wrap">

<p class="copyright">

<?php echo 'Copyright &copy; ' . date("Y") . ' | <a href="http://telecom.pub.ro/en/" rel="nofollow">Department of Telecommunications, ETTI</a>'; ?>

</p>

<?php }else { ?>

<div class="copyright-wrap">

<p class="copyright">

<?php echo 'Copyright &copy; ' . date("Y") . ' | <a href="http://telecom.pub.ro/" rel="nofollow">Departamentul de Telecomunicatii, ETTI</a>'; ?>

</p>

<?php } ?>

Fisierul functions.php

Adaugarea liniilor de cod

$result = add_role(

'profesor',

__( 'Profesor' ),

array(

'read' => true,

'edit_pages' => false,

)

);

function mh_post_header_en() {

do_action('mh_post_header_en');

}

if ( function_exists('register_sidebar') ) { register_sidebar(array(

'name' => 'Language Switcher',

'id' => 'language-switcher',

'before_widget' => '<div>',

'after_widget' => '</div>'

));

}

if (!function_exists('mh_post_meta_en')) {

function mh_post_meta_en() {

echo '<p class="meta post-meta">';

$date = sprintf(_x('on %s', 'post date', 'mh-corporate-basic'), '<span class="updated">' . get_the_date() . '</span> ');

$hour = sprintf(_x('at %s', 'post date', 'mh-corporate-basic'), '<span class="updated">' . get_the_time('G:i') . '</span> ');

$byline = sprintf(_x('by %s', 'post author', 'mh-corporate-basic'), '<span class="vcard author"><a class="fn" href="' . esc_url(get_author_posts_url(get_the_author_meta('ID'))) . '">' . esc_html(get_the_author()) . '</a></span> ');

$category = sprintf(_x('in %s', 'post category', 'mh-corporate-basic'), get_the_category_list(', ', ''));

printf(_x('Posted %1$s %2$s', 'post meta', 'mh-corporate-basic'), $date, $hour);

echo '</p>' . "\n";

}

}

add_action('mh_post_header_en', 'mh_post_meta_en');

Adaugarea in functia mh_post_meta() urmatoarelor linii de cod

$hour = sprintf(_x('la %s', 'post date', 'mh-corporate-basic'), '<span class="updated">' . get_the_time('G:i') . '</span> ');

printf(_x('Publicat %1$s %2$s', 'post meta', 'mh-corporate-basic'), $date, $hour);

Fisierul header.php

Adaugarea liniilor de cod

<link rel="shortcut icon" href="http://telecom.cnts.ro/favicon.png"/>

<link rel="icon" href="http://telecom.cnts.ro/favicon.png"/>

<?php if ( !function_exists('dynamic_sidebar') || !dynamic_sidebar('Language Switcher') ) : ?><?php endif; ?>

<div class="logos" style="float:right">

<a href="http://www.electronica.pub.ro"><img class="logo" style="float:right" src="http://telecom.cnts.ro/wp-content/uploads/LogoETTI.png" alt="ETTI" width="50" height="50" /></a><a href="http://www.upb.ro">

<img class=" wp-image-65 aligncenter" style="float:right" src="http://telecom.cnts.ro/wp-content/uploads/upb.png" alt="UPB" width="50" height="50" /></a></div>

<?php if ( function_exists( 'breadcrumb_trail' ) ) breadcrumb_trail(); ?>

Fisierul page-homepage.php

Adaugarea liniilor de cod

<div class="mh-content">

<?php get_template_part('content', 'page'); ?>

</div>

<?php get_sidebar(); ?>

Fisierul sidebar.php

Adaugarea liniilor de cod

<aside class="mhome-sidebar <?php mh_sb_class(); ?>">

<?php dynamic_sidebar('sidebar_home'); ?>

</aside>

Fisierul styles.css

Adaugarea sau modificarea urmatoarelor linii de cod (zonele subliniate reprezinta contributia studentului)

ol, ul { list-style: none; margin-left: 5px; }

.round-corners, .main-nav, .page-title, .box, .author-box, .cat-desc, .section-title, .post-navigation, .attachment, #respond, .wpcf7-form, img, .sb-widget .widget-title,.mh-sidebar, .sb-widget .cp-widget, [id*='slider-'], footer { -webkit-border-radius: 5px; -moz-border-radius: 5px; border-radius: 5px; }

body { height: 100%; font-family: 'Open Sans', Helvetica, Arial, sans-serif; font-size: 14px; font-size: 0.875rem; line-height: 1.6; background: #e7e7e7; word-wrap: break-word; }

.mh-container { width: 980px; margin: 0 auto; min-height: 100%; background: #f2f2f2; position: relative; -webkit-box-shadow: 0 0 5px 1px #a8a8a8; -moz-box-shadow: 0 0 5px 1px #a8a8a8; box-shadow: 0 0 5px 1px #a8a8a8; }

.mh-wrapper { padding: 20px; background: #f2f2f2; }

.mh-content, .hp-content { width: 620px; overflow: hidden;float:left; }

.mh-sidebar { width: 295px; float: left; overflow: hidden;background: #f9f9f9;margin-bottom: 10px;border-style: solid; border-width: 1px;border-color: #d8d8d8 }

.hp-sidebar { width: 200px;height:300px; float: left; overflow: hidden;background: #f2f2f2; }

.language-switcher { float: left; }

.header-wrap { padding-bottom: 5px; padding-bottom: 0.1125rem; background: #f2f2f2; }

.main-nav { font-weight: 700; text-transform: uppercase; margin: 0 20px; background: #f7f7f7; background-image: -webkit-linear-gradient(top, #034563 0%, #034563 50%, #013d59 51%, #013d59 100%); background-image: -moz-linear-gradient(top, #034563 0%, #034563 50%, #013d59 51%, #013d59 100%); background-image: -ms-linear-gradient(top, #034563 0%, #034563 50%, #013d59 51%, #013d59 100%); background-image: -o-linear-gradient(top, #034563 0%, #034563 50%, #013d59 51%, #013d59 100%); background-image: linear-gradient(top, #034563 0%, #034563 50%, #013d59 51%, #013d59 100%); -webkit-box-shadow: 0 0 5px 1px #a8a8a8; -moz-box-shadow: 0 0 5px 1px #a8a8a8; box-shadow: 0 0 5px 1px #a8a8a8; }

.main-nav li:first-child { -webkit-border-top-left-radius: 1px; -webkit-border-bottom-left-radius: 1px; -moz-border-radius-topleft: 1px; -moz-border-radius-bottomleft: 1px; border-top-left-radius: 1px; border-bottom-left-radius: 1px; }

.main-nav li a { display: block; color: #ffffff; padding: 0.416em 1em; padding-right: 0.5em; text-decoration: none; }

.main-nav li a:hover, .main-nav .current-menu-item a { color: #82a6ff; }

.main-nav ul ul li { width: 13em;font-weight: 700; text-transform: uppercase; background: #f7f7f7; background-image: -webkit-linear-gradient(top, #034563 0%, #034563 50%, #013d59 51%, #013d59 100%); background-image: -moz-linear-gradient(top, #034563 0%, #034563 50%, #013d59 51%, #013d59 100%); background-image: -ms-linear-gradient(top, #034563 0%, #034563 50%, #013d59 51%, #013d59 100%); background-image: -o-linear-gradient(top, #034563 0%, #034563 50%, #013d59 51%, #013d59 100%); background-image: linear-gradient(top, #034563 0%, #034563 50%, #013d59 51%, #013d59 100%); -webkit-box-shadow: 0 0 5px 1px #a8a8a8; -moz-box-shadow: 0 0 5px 1px #a8a8a8; box-shadow: 0 0 5px 1px #a8a8a8; }

.main-nav ul ul ul { left: 100%; top: 0; margin-left: 1px; }

.slicknav_nav { font-size: 16px; font-size: 1rem; font-weight: 600; color: #000; margin: 0; padding: 0; margin-bottom: 20px; }

.slicknav_nav a { padding: 5px 10px; margin: 2px 5px; text-decoration: none; color: #fff; }

.flexslider { margin: 0; padding: 0; width: 620px;}

.flexslider .slides img { width: 620px; height: 350px; display: block; }

.flex-control-paging li a { width: 11px; height: 11px; display: block; background: #666; background: rgba(252,252,255,0.5); cursor: pointer; text-indent: -9999px; -webkit-border-radius: 20px; -moz-border-radius: 20px; -o-border-radius: 20px; border-radius: 20px; -webkit-box-shadow: inset 0 0 3px rgba(0,0,0,0.3); -moz-box-shadow: inset 0 0 3px rgba(0,0,0,0.3); -o-box-shadow: inset 0 0 3px rgba(0,0,0,0.3); box-shadow: inset 0 0 3px rgba(0,0,0,0.3); }

.flex-control-paging li a.flex-active { background: #000; background: rgba(50,50,100,0.9); cursor: default; }

.slide-caption { width: 75%; max-width: 80%; position: absolute; background: #f9f9f9; color: #fff; bottom: 20px; left: 20px; background: #f7f7f7; background-image: -webkit-linear-gradient(top, #034563 0%, #034563 50%, #013d59 51%, #013d59 100%); background-image: -moz-linear-gradient(top, #034563 0%, #034563 50%, #013d59 51%, #013d59 100%); background-image: -ms-linear-gradient(top, #034563 0%, #034563 50%, #013d59 51%, #013d59 100%); background-image: -o-linear-gradient(top, #034563 0%, #034563 50%, #013d59 51%, #013d59 100%); background-image: linear-gradient(top, #034563 0%, #034563 50%, #013d59 51%, #013d59 100%); -webkit-box-shadow: 0 0 5px 1px #a8a8a8; -moz-box-shadow: 0 0 5px 1px #a8a8a8; box-shadow: 0 0 5px 1px #a8a8a8; filter:alpha(opacity=90);opacity:.9; }

.slide-caption .mh-excerpt a { color: #fff; }

.slide-title { color: #fff; margin-bottom: 10px; margin-bottom: 0.625rem; }

.page-title { font-size: 24px; font-size: 1.5rem; color: #000; margin-bottom: 20px; margin-bottom: 1.25rem; padding: 10px; padding: 0.625rem; background: #f2f2f2; border: 1px solid #d8d8d8; display: block; }

footer { font-size: 13px; font-size: 0.8125rem; color: #012637; padding: 20px; padding: 1.25rem; background: #2a2a2a; margin: 0 20px; background: #f9f9f9; border: 1px solid #d8d8d8; }

table { width: 45%; margin-left: 8px; margin-bottom: 20px; margin-bottom: 1.25rem; border-left: 1px solid #d8d8d8; border-top: 1px solid #d8d8d8; }

.sb-widget { overflow: hidden; margin-bottom: 20px; margin-bottom: 0.3rem; width: 620px; float:left; }

.sb-widget .widget-title { background: #013d59; padding: 10px; padding: 0.625rem; margin-bottom: 10px; margin-bottom: 0.625rem; border: 1px solid #d8d8d8;color: #fff; }

.sb-widget ul { width: 290px;}

.widget-content { list-style: none; padding-left: 8px; }

.footer-widget-title { color: #000; border-bottom: 3px solid #013d59; margin-bottom: 20px; margin-bottom: 1.25rem; }

input[type=text], input[type=email], input[type=tel], input[type=url] { width: 30%;margin-left:5px; }

input[type=submit] { min-width: 75px; color: #fff; padding: 5px 10px; padding: 0.3125rem 0.625rem; background: #013d59; text-decoration: none; cursor: pointer; display: inline-block; -webkit-transition: all 0.1s linear; -moz-transition: all 0.1s linear; transition: all 0.1s linear; border: 0; -webkit-appearance: none;margin-left:5px; }

Fisierul .htaccess

Adaugarea liniilor de cod

RewriteEngine On

RewriteBase /

RewriteRule ^index\.php$ – [L]

RewriteRule ^([_0-9a-zA-Z-]+/)?wp-admin$ $1wp-admin/ [R=301,L]

RewriteCond %{REQUEST_FILENAME} -f [OR]

RewriteCond %{REQUEST_FILENAME} -d

RewriteRule ^ – [L]

RewriteRule ^([_0-9a-zA-Z-]+/)?(wp-(content|admin|includes).*) $2 [L]

RewriteRule ^([_0-9a-zA-Z-]+/)?(.*\.php)$ $2 [L]

RewriteRule . index.php [L]

Fisierul wp-config.php

Adaugarea liniilor de cod

define( 'WP_ALLOW_MULTISITE', true );

define('MULTISITE', true);

define('SUBDOMAIN_INSTALL', false);

define('DOMAIN_CURRENT_SITE', 'telecom.cnts.ro');

define('PATH_CURRENT_SITE', '/');

define('SITE_ID_CURRENT_SITE', 1);

define('BLOG_ID_CURRENT_SITE', 1);

Fisierul wp-login.php

Adaugarea liniilor de cod

echo '<style type="text/css">

h1 a {

background-image: url(' . get_template_directory_uri() . '/login/login-logo.png) !important;

background-size: 184px auto !important;

height: 120px !important;

width: 184px !important;

}

</style>';

Fisierul default-widgets.php

Adaugarea liniilor de cod in clasa WP_Widget_Recent_Posts

<a href="<?php the_permalink(); ?>">><?php get_the_title() ? the_title() : the_ID(); ?></a>

Anexa 3

Fig. A.1 Pagina de Facebook a departamentului de Telecomunicatii

Fig. A.2 Zona de administrare a versiunii in limba engleza

Fig. A.3 Interfata publica a versiunii in limba romana a portalului

Fig. A.4 Interfata publica a versiunii in limba romana a portalului

Similar Posts