Aplicatie de Gestiune a Serviciilor Oferite de Automotive Service
Aplicație de gestiune a serviciilor oferite de AUTOMOTIVE SERVICE
Cuprins
Introducere
Cap. 1 STUDIUL SI ANALIZA SISTEMULUI EXISTENT
1.1 Prezentarea succintă a unității economico-sociale
1.2 Principalele activități desfășurate în unitatea economică
1.3 Studiul sistemului de conducere
1.4 Studiul sistemului condus
1.5 Studiul sistemului informational
1.5.1. Descrierea documentelor utilizate. Modelul conceptual al datelor (MCD
1.5.2. Proceduri de prelucrare a datelor utilizate. Modelul conceptual al prelucrarilor (MCP
1.5.3. Analiza critică a sistemului actual și identificarea neajunsurilor existente în funcționarea sistemului existent
Cap. 2. PROIECTAREA DE ANSAMBLU A SISTEMULUI INFORMATIC
2.1 Obiectivele și oportunitatea aplicației informatice
2.2. Locul aplicației informatice în sistem
2.3 Modelarea datelor și modelarea prelucrărilor (model conceptual, logic și fizic
2.4 Diagrama Entitate-Asociere
2.5 Stabilirea colecțiilor de date
2.6 Alegerea tehnologiei de prelucrare (stabilirea platformei hardware, software
2.7 Estimarea necesarului de resurse și a calendarului de realizare
Cap. 3. PROIECTAREA DE DETALIU A APLICATIEI INFORMATICE
3.1 Definirea obiectivelor aplicației informatice
3.2 Proiectarea logică și fizică a ieșirilor
3.3 Proiectarea logică și fizică a intrărilor
3.4 Proiectarea interfeței aplicației
3.5 Proiectarea bazei de date
3.6 Schema de sistem a aplicației
3.7 Propuneri de dotare cu echipamente IT și costuri aferente
Cap. 4. PREZENTAREA PRODUSULUI SOFTWARE
4.1 Cerințele platformei hardware și software ale produsului program
4.2. Descrierea funcțiunilor aplicației
Cap. 5. EFICIENȚA ȘI UTILITATEA APLICAȚIEI INFORMATICE
5.1. Condiții privind implementarea aplicației
5.2. Exploatarea curentă a aplicației
5.3. Considerații privind eficiența aplicației informatice
Lista figurilor
Lista tabelelor
Bibliografie
Anexe
Introducere
Prin prezenta lucrare se dorește dezvoltarea unei aplicații de gestionare pentru firma AUTOMOTIVE AUTO ce va fi de un real folos doarece prin structura sa va raspunde tuturor cerințelor administratorilor săi.
Obiectivele aplicației sunt de a permite administrarea serviciilor oferite într-un mod simplu, ușor de utilizat de către angajații firmei, iar prin prezentarea atractivă se dorește promovarea către clienții care nu cunosc această societate și serviciile oferite a tuturor posibilităților de satisfacere a cerințelor.
Cap. 1 STUDIUL SI ANALIZA SISTEMULUI EXISTENT
1.1Prezentarea succintă a unității economico-social
SC AUTOMOTIVE SERVICE SA :
Capital social : 1.200.000 RON
Număr de înregistrare : J23/1450/2013
Cont fiscal – RO31641579
Banca – BRD
Contul – 253 1000 85689
Adresa – Str Maria-Laura nr 3 hala E et 1 Dragomiresti
Telefon – 40 21 250 4562 ; Fax – 40 21 250 4563
Email : [anonimizat]
Înființată în anul 2013, în localitatea Chiajna, de către un grup de investitori români SC Automotive Service SA este o societate care activează în sectorul vânzării și cumpărării de vehicule,vanzarii de piese pentru camioane si reparatii service. Și-a început activitatea prin achiziționarea de mașini avariate marca Dacia pe care apoi le repara spre a fi vandute.
Societatea se ocupă în prezent cu achiziționarea de autovehicule uzate, automobile, cât și vehicule de transport persoane. Prin intermediul personalului său specializat oferă pe lângă vanzare-cumpărare de autovehicule și un puternic suport post-vânzare conferit de : service dotat cu echipamente performante de diagnosticare si reparație și unitați mobile de intervenție capabile să asigure asistență specializată 24 de ore din 24. De asemenea Automotive Service SA oferă clienților posibilitatea de a avea mașina visurilor prin intermediul unui garaj destinat tuning-ului care beneficiază de o gamă foarte largă de accesorii atât pentru exteriorul si interiorul mașinii cât și boxtuning pentru motor , datorită colaborării cu furnizorii mărcilor de prestigiu din domeniu.
Urmărind o strategie de dezvoltare extrem de bine structurată Automotive Service SA ,a hotărât demararea unui proiect de extindere pe plan național prin construirea de parcuri auto ce va pune la dispoziția clienților săi un pachet integrat de servicii:
spații de depozitare,
spații de birouri,
garaj pentru tuning,
service,
o expoziție de comercializare care cuprinde peste 6800 de articole auto,
un sediu BRD de unde clienții pot solicita împrumuturi sau pot primi primii consultații legate de acestea,
cantină,
sală de fitness pentru angajați,
și nu în ultimul rand o parcare împărțită în sectoare în funcție de tipul vehicului prezentat spre vanzare.
Paza și păstrarea bunei funcționări a activităților sunt asigurate de compania de paza și securitate Team Guard.
Societatea este una dintre cele mai apreciate în acest domeniu datorită seriozității și standardelor înalte ale calității serviciilor pe care le oferă clienților. În fiecare săptămană duminica se organizează târguri auto în cadrul parcului pe care societatea îl deține în care clienții care nu vor să își vândă mașina către noi pot închiria spații pentru prezentarea spre vânzare a mașini respective. Spațiile pot fi rezervate atât telefonic ,sau prin email, cât și la sediul firmei prin achitarea unui avans de închiriere sau prin prezentarea datelor despre mașina .
1.2 Principalele activități desfășurate în unitatea economică
SC Automotive Service SA își împarte domeniul de activitate în mai multe ramuri:
Vânzare-cumpărare;
Service auto;
Vanzari piese si accesorii
Atelier tuning.
Sectie Dezmembrare Auto
Service auto:
Personalul de specialitate al firmei cuprinde 28 mecanici, 6 electricieni, 8tinichigii si 4 vopsitori, având 20 posturi de lucru. Pregătirea muncitorilor este asigurată și prin participarea la cursuri specializate organizate de principalii noștri furnizori:Iveco,Scania,Mercedes,Man,Wabco, etc.
Dotările tehnice moderne ale service-ului Automotive Service – elevatoare, rampe, aparate de măsura și control, testere, cuptor vopsit – permit efectuarea unor lucrări de reparație profesionale la standarde calitative ridicate.
În cadrul unităților de service realizăm lucrări de reparații pentru următoarele mărci: Iveco,Mercedes,Volvo,Renault,Man,Scania camioane cât și microbuze.
De asemenea, programul în două schimburi ne permite rezolvarea rapidă și eficienta a lucrărilor de reparație, factor esențial în colaborarea noastră cu companii ce dețin importante parcuri auto.
Pentru toate lucrările realizate Automotive Service SA oferă garanție conform legislației în vigoare. În cadrul lucrărilor utilizăm piese de schimb originale furnizate de importatori direcți sau producători.
Dotare atelier mecanica-electrica auto:
6 elevatoare pe 2 coloane pentru 3.500 kg. greutate utilă;
4 elevator pe 4 coloane pentru 4.500 kg. greutate utilă;
4 elevator mic de 10.000 kg. greutate utilă;
4 elevatoare mari 20.000kg greutate utila
1 extractor de ulei;
1 analizor de gaze;
Stand verificare sisteme franare
aparate de măsură și control pentru unități de măsura electrice;
compresmetru pentru motoare diesel / benzină;
tester motor;
tester presiune ulei;
aparatura pentru reglat geometria roților;
SDV-uri specifice marcilor auto.
În situația neplăcută a unui accident auto, clienți pot apela cu încredere la serviciile de tinichigerie și vopsitorie oferite de unitățile noastre de service. Utilizând tehnologii moderne și performante, echipamente și materiale speciale, specialiștii noștri execută rapid și eficient aceste lucrări, redând mașinii aspectul inițial.
Specialiștii noștri în vopsitorie participă în mod regulat la cursuri specifice de pregătire profesională organizate de firmele producătoare de vopseluri auto. Acest lucru asigură standarde calitative ridicate și rezultate de excepție.
Dotare atelier tinichigerie-vopsitorie auto:
Aparatură modernă pentru îndreptarea elementelor de caroserie fără demontarea elementelor de tapițerie, faruri etc;
Materiale moderne de protecție atât antifonice cât și anticoroziune ce sunt folosite după finalizarea lucrărilor de sudură;
Cuptor de vopsit – cabină ultramodernă de vopsitorie marca Saico Sprint Spreay Booth-ovens (norme EURO)
Produse complementare pentru mașinile clienților:
Seturi Xenon;
Detectoare radar;
Tratamente antifricțiune pentru mașini diesel și pe benzină, etc.
Pentru toate produsele noastre se acordă 2 ani garanție, demonstrând prin aceasta calitatea deosebită a produselor noastre.
SC Automotive Service SA are contracte de parteneriat și cu alte parcuri auto din domeniu precum: Volvo Romania, MHS Truck,Isuzu Romania ,Cefin Romania acestea rezumandu-se la schimburi de vehicule. Deasemenea prin intermediul supermarketului mărci celebre de anvelope precum Continental, Michelin, Tigar, Goodyear, Continental, sunt oferite la prețuri promoționale. Alte ramuri în care firma interacționează cu furnizori importanți sunt : cea a jenților, a sistemelor audio, dvd etc.
Indicatori economici :
Pentru a analiza situația economico-financiară a fiermei, se iau în considerare situațiile informaționale cu privire la perfomanțele economic-financiare ale organizației intr-un interval de timp de minim 2 ani prin prezentarea unor indicatori economici ,după cum urmează :
Tabel 1.1 Indicatori economici.
Deși nu are un profit foarte mare raportat la cifra de afaceri, firma continuă programele de extindere și în alte orașe ale țării.
1.3/4 Studiul sistemului de conducere/condus
Structura organizatorică a sistemului de conducere :
Adunarea generală a acționarilor :
Consiliul de administrație ;
Director general;
Director economic;
Director comercial (Marketing) ;
Director tehnic ;
Departament resurse umane.
Structura organizatorica a sistemului condus:
Serviciul financiar-contabil ;
Gestiuni ;
Departamentul vanzări ;
Director vanzări ;
Departamentul transport ;
Biroul de aprovizionare-desfacere
Biroul de achiziționare vehicule ;
Serviciul sistemului informatic ;
Service ;
Administrator parc auto ;
Atelier tuning.
Atelier Dezmembrare Auto
ORGANIGRAMA :
Figura 1.1 Organigrama firmei
Pe categorii socio-profesionale și din punct de vedere al pregătirii ,situația înregistrată este:
Tabel 1.2 Categoriile socio-profesionale
Studiul sistemului de conducere :
Adunarea Generală a Acționarilor:
– acest organism decide aupra activității firmei și asigură politica ei economică și comercială.
Consiliul de Administrație :
Este ales de către Adunarea Generală a Acționarilor pe o perioada de 4 ani și este format din 9 membrii cu posibilitatea de a fi realeși;
Președintele Consiliului de Administrație este și Directorul General, calitate în care coordonează și activitatea executivă.
Director General :
Este principalul răspunzător în fața Adunării Generale a Acționarilor, prin contractul pe care îl are fiind obligat să se asigure de o bună creștere economică, stabilind direcțiile de dezvoltare ale firmei;
Primește rapoarte de la ceilalți directori;
Decide încheierea de contracte cu alte firme;
Stabilește structura socității;
Director Departament Resurse Umane :
Cu acordul Directorului General, negociază și încheie contractele de muncă cu angajații;
Întocmește raporturile lunare pentru Oficiul de Șomaj, Casa de Pensii, Casa de Asigurări de Sănătate;
Raportează periodic evoluția mișcărilor de personal din cadrul societății catre Oficiul Teritorial de Muncă;
Este cel care asigură înregistrarea angajaților în cadrul societații și operează în cadrul cărților de muncă evoluția salariilor.
Director Economic :
Are obligația de a verifica bilanțul contabil și înscrierile în contul Profit și Pierdere și semnează pentru ele ;
Urmărește evoluția indicatorilor economici prin întocmirea situație pe fiecare lună și raportează Directorului General evoluția economică;
Director Comercial (Marketing) :
Urmărește situația vanzărilor și studiază evoluția prețurilor pe piață;
Este persoana care aprobă sau nu achiziționarea de vehicule;
Coordonează în mod direct Serviciu Informatic;
Întocmește rapoarte cu evoluția vanzărilor pe magazin (expoziția de vanzare a articolelor auto) cat și pe cea a vanzărilor de vehicule din parcul auto;
Raportează Directorului General situația vanzărilor.
Director Tehnic :
Controlează personalul angajat cu privire la respectarea cadrului legal și a regulamentului de organizare și funcționare internă ;
Asigură utilizarea de echipamente care să corespundă din punct de vedere calitativ;
Urmărește activitatea din cadrul Atelierului mecanic și raportează Directorului Comercial necesitățile acestuia;
Urmărește activitatea din cadrul Atelierului de tuning și raportează Directorului Comercial necesitățile acestuia ;
Coordonează administrarea parcului auto ;
Studiul sistemului condus :
Serviciul Financiar :
Întocmește Registrul de Casă zilnic pentru operațiile de plăți și încasările în numerar ;
Înregistrează în evidențele contabile extrasele de cont ridicate zilnic de la bancă, unde sunt evidențiate încasări și plăți cu ajutorul mijloacelor de plată electronice;
Raportează Directorului Economic situația financiară;
În urma studierii fișei de pontaj primite lunar de la Departamentul de Resurse Umane, întocmește ștatele de plată.
Serviciul Contabil :
Analizează bugetul de venituri și cheltuieli;
Se conformează reglementărilor financiar-contabile apărute în Monitorul Oficial;
Verifică întocmirea documentelor primare din domeniu ;
Contabilul șef are dreptul de a scoate bani din bancă pentru administare internă.
Gestiune :
Verifică stocul articolelor din magaziile aflate în gestiunea Atelierului mecanic, si a Atelierului de tuning;
Transmite raportul cu privire la stocul de produse din magazia supermarketului;
Întocmește fișă de magazie pentru fiecare produs;
Întocmește raport cu numărul mașinilor din parc;
Departamentul Vanzări :
Asigură stocul necesar;
Prelucrează comenzile venite de la clienți;
Încheie contracte cu clienții;
Asigură buna informare a clientului cu privire la mașini vandute sau a produselor de care acesta este interesat.
Departamentul de Transport :
Asigură distribuția comenzilor solicitate prin contract;
Asigură transport de marfă contracost la solicitarea clientului;
Au obligația de a transporta vehiculele achiziționate de la client dacă contractul prevede acest lucru.
Departamentul de Aprovizionare-Desfacere :
Asigură aprovizionările solicitate de către Departamentul de Vanzări;
Departamentul de achiziționare vehicule:
Stabilește prețul de cumpărare a vehiculelor;
Încheie contracte de schimb de vehicule cu alte societăți din acest domeniu;
Testează mașinile din punct de vedere tehnic înainte de achiziție .
Serviciul Informatic :
Asigură buna funcționare a sistemului informatic în cadrul socității ;
Răspunde de punerea în aplicare a tuturor soluțiilor informatice stabilite de conducere;
Răspunde de asigurarea extinderii rețelei sau de modificare ei.
Service :
Asigură repararea vehiculelor achiziționate care necesită acest lucru;
La solicitarea clientului asigură reparația mașinii acestuia contracost;
Oferă servicii de vopsitorie;
Testează mașinile clienților din parcul auto;
La cerere asigură toate serviciile solicitate în vederea soluționării problemelor autovehiculelor;
Atelier tuning :
Realizează proiecte pentru îmbunătățirea estetică a mașinilor;
Informează clientul despre posibilitățile de tuning a mașinii sale;
La cerere poate asigura atat tuning extern cat și intern cu dotări de ultimă generație.
Atelier Dezmembrare Auto:
-Dezmembreaza autovehicule achizitionate
-Verifica fiecare piesesa rezultata din dezmembrare din punct de vedere tehnic
-Pregateste piesele rezultate din dezmembrare pentru vanzare
-completeaza Registrul Vehicullui dezmembrat
Administrator Parc Auto :
Execută planificarea reviziilor tehnice;
Asigură buna organizare în cadrul parcului a parcărilor vehiculelor și împărțirii acestora pe sectoare;
Verifică starea tehnică și estetică a vehiculelor;
Se ocupă cu încheierea de asigurări auto și Casco precum și de achitarea taxelor de drum a vehiculelor societății.
1.5 Studiul sistemului informational
1.5.1. Descrierea documentelor utilizate. Modelul conceptual al datelor (MCD).
Contract de vanzare cumpărare pe care Automotive Service SA îl pune la dispoziție celor care închiriază spațiu la targurile săptămanale:
CONTRACT DE VâNZARE CUMPĂRARE (CU CLAUZE)
PENTRU AUTOVEHICUL RUTIER FOLOSIT
Încheiat la data de ………… în localitatea ……………… str. ………………… nr. ….. sector … între următoarele părți contractante:
1. Prima parte, în calitate de VÂNZĂTOR, este numitul ……………….. cu domiciliul în …………….. str. …………….. nr. …… sect. …….. legitimat cu B.I. seria …… nr. ………….. vinde irevocabil, în calitate de împuternicit cu procura nr. ……………. de proprietarului ……………………………….., AUTOTURISMUL marca ……………. nr. de înmatriculare …………. motor seria …………….. șasiu nr. …………. . în perfectă stare de funcționare și rulare, cu toate accesoriile prevăzute, neaccidentat, fără urme de avarii, nesechestrat sau ipotecat, potrivit principiului "văzut-plăcut".
2. Partea a doua, numitul …………………………… în calitate de cumpărător, domiciliat în …………… str. …………….. nr. …… bloc ……. sect. ….., am convenit să cumpăr autoturismul mai sus indicat în starea în care se află, cunoscând că este în perfectă stare de rulare și funcționare, cu anexele și accesoriile din dotare, fără urme de accident sau avarii, cunoscând starea și proveniența legală a acestuia, fără a avea de făcut obiecțiuni privitoare la viciile ascunse sau aparente.
3. Prețul vânzării convenite de noi părțile este ………………… USD sumă ce se va achita astăzi data de …………………. în numerar, fiind prețul integral convenit de părți.
4. Odată cu achitarea prețului se transmite și posesia vehiculului, a certificatului de înmatriculare, a copiei cărții de identitate a mașinii, a cheilor de contact, scule, accesorii, roata de rezervă, capace roți, etc. pe toată durata cât autovehiculul se află la cumpărător. Până la efectuarea radierii din circulație și a achitării taxelor și impozitelor datorate statului la administrația financiară, acesta răspunde de toate stricăciunile și avariile precum și de dispariția fortuită a vehiculului. Transferul dreptului de proprietate se va face odată cu predare cărții de identitate a mașinii și radierea sa din circulație.
5. Alte clauze convenite de noi sunt ………………………………….
Încheiat azi data de …………………….. în două exemplare, câte unul pentru fiecare parte contractantă și având …….. file, în prezența martorilor ……………………………………………………………………..
Am predat cheile și cele menționate și am primit și numărat suma de …………………. ca preț al vânzării.
Buletin seria ………… nr. …………………. eliberat de …………………… la data de ………………
DATA
SEMNĂTURILE PĂRȚILOR
Chitanță:
Factură fiscală:
SC AUTOMOTIVE SERVICE SA Cumpărător:………………………………….
Capital social: 1200000 RON …………………………………………………..
C.U.I 31641579 Atribut fiscal : RO Nr.reg.com……………………………………
Nr.Reg. Com. : J23/1450/2013 C.U.I/A.F……………………………………..
Str Italia nr.1-7 , sector 6 Bucuresti Sediul:…………………………………………
Cont: RO65BRDS 0000 0000 253 1000 85689 Oraș/Județ:…………………………………..
BRD GROUPE SOCIETE GENERAL Contul:…………………………………..
Banca:…………………………………..
Nr facturii:…………………………………. FACTURĂ
Data(ziua,luna,anul)…………………… FISCALĂ Seria Nr.
Nr.aviz de însoțire a mărfii……………
Descrierea documentelor:
Contractul : document legal încheiat de comun acord între 2 părți, prin care se stabilește obiectul contractului, condițiile și perioada pentru care este valabil.
Cerere de oferte : exprimarea scrisă a solicitării firmei către furnizori (sau a unui client către firma noastra) în scopul obținerii de informații privind gama de produse, prețurile, condițiile de livrare și de plată.
Oferta : listă de produse deținute în care se specifică prețurile, modalitățile de plată și condițiile de livrare.
Listă de cerințe : enumerarea produselor necesare pentru completarea stocului din depozit sau magazii.
N.I.R (Notă de intrare-recepție) : document de gestiune întocmit la primirea produselor, în proprietatea sociatății, specificand numarul și data documentului, datele despre furnizor, numărul comenzii, numărul avizului de expediție și al facturii, codul creditor, date despre produs și valoarea acestuia.
Fișă magazie : document de gestiune a produselor din stoc, în care se specifică informații despre mișcarea produselor (intrări, ieșiri, volum stoc) precum și tipul și numărul documentelor pe baza cărora s-au efectuat operațiile.
Aviz de expediție (Aviz de însoțire a mărfii) document de gestiune care însoțește marfa și marchează schimbarea gestiunii, în care se specifică date despre produse, unitatea de măsură, cantitatea livrată, prețul unitar și valoare produsului.
Fluxul documentelor:
-Se formulează cereri de ofertă către furnizori;
-Se primesc oferte de la furnizori;
-Se examinează ofertele primite în cadrul Departamentului Comercial;
-Se consultă stocurile și celelalte puncte de interes și se întocmesc liste de cerințe;
-Se întocmesc cereri de achiziție;
-Se primește marfa împreună cu factura;
-Se întocmește Nota de intrare-recepție la primirea mărfii;
-Se completează fișa de magazie pentru fiecare produs;
-Se înregistrează documentele în Departamentul Financiar;
-Clientul formulează o cerere de ofertă;
-Clientul primește lista cu oferte a supermarketului/parcului auto;
-Clientul formulează o Comandă;
-Pe baza comenzii, la vanzarea produselor pe care clientul le cere, se facturează cand s-a convenit asupra plății sau se completează un aviz de expediție;
-Se înregistrează documentele la Departamentul Financiar;
1.5.2. Proceduri de prelucrare a datelor utilizate. Modelul conceptual al prelucrarilor (MCP).
Figura 1.2 MCP pentru comenzile online.
în desfăsurarea activității societatea folosește mai multe programe si aplicații informatice.Astfel avem:
1. în activitatea de gestiune si contabilitate primară se folosește un program numit Gesmag achiziționat de la Compania Italiana Iveco
2.Pentru contabilitatea financiară compania folosește Programul de Contabilitate CIEL.
3.Pentru service se folosesc programe de constatare si evidențiere defecte pentru fiecare marcă vehicul aflat in reparație .Societatea a achiziționat programe pentru mărcile autorizate la reparație:Dacia,Iveco,Mercedes,Renault,Fiat,Scania,Volvo,Wolksvagen.
4.Pentru Stația ITP societatea folosește Softul pus la dispoziție de Registrul Auto Român.
5.Pentru activitatea de tuning se folosește un program de modelare si creere modele caroserii iar pentru tuningul la motor folosește un program de parametrizare a principalilor indicatori de funcționare a motorului.
6. Pentru gestionarea clienților si furnizorilor se foloseste o baza de date folosind programul ACCES,pentru fiecare partener a fost creat un cod unic ,elementul unic de identificare fiind codul fiscal atribuit de ANAF.
Practic la achiziția marfurilor datele din fiecare factura sunt prelucrate manual ,se introduc in programul de gestiune poziție cu poziție cod cu cod atat cantitativ cat si valoric.Dupa introducerea in gestiune factura de achiziție merge la Dep financiar unde este introdusa in Programul de contabilitate CIEL.
Programul de Gestiune poate edita în orice moment un Raport denumit Flash Raport ce conține informații vitale pentru managementul societații .În aceste Raport avem Valoarea Achizițiilor si Valoarea Vânzarilor adica in orice moment se poate vedea daca mărfurile sunt vândute cu profit.
Programul de contabilitate editeaza și el ,dar la sfarșitul fiecărei luni un raport în care sunt evidențiate veniturile si cheltuielile.
Tot la sfarșitul fiecarei luni se face o reconciliere între Raportul din programul de gestiune si Raportul din programul de Contabilitate iar dacă există diferențe acestea trebuie căutate si explicate.
Ideal ar fi fost ca Programul de gestiune să fie conectat cu programul de contabilitate iar reconcilierea rezultatelor oferite de cele 2 programe să se facă automat și zilnic .
Programele de constatare si evidențiere a defectelor sunt instalate pe un calculator specific fiecărui producător de vehicule.Exemplu pentru marca FIAT acesta se numește TEXA iar prin conectarea calculatorului la autoturism ,calculatorul evidențiaza printr-un raport printat pe hârtie toți parametri de funcționare ,evidențiind defectele.
Pentru Stația ITP se foloseste programul pus la dispoziție de Registrul AUTO Român ,program care este conectat cu baza centrală a Registrului Auto Român,activitatea din stația ITP fiind monitorizată in timp real de RAR.Au fost cazuri când RAR a blocat pe stand vehiculul aflat în procedura de autorizare pana la sosirea unui reprezentatnt RAR,acesta continuând verificarea până la finalizare.
În ceea ce privește tuningul la motor aici este mai simplu deoarece clientul spune cat de puternică vrea să fie mașina lui și va cere să I se spuna valoarea tuningului,valoarea omologărilor RAR,consumul de carburant.
1.5.3. Analiza critică a sistemului actual și identificarea neajunsurilor existente în funcționarea sistemului existent
SC Automotive Service Sa următoarele categorii:
Supermarketul;
Atelierul de mecanică (Service);
Atelierul de tinichigerie
Vanzari Piese si accesorii
Parcul auto.
Închiriere de mașini;
Inchiriere de spațiu în zilele în care se organizeazî târguri;
Toate aceste categorii trebuiesc promovate ca o singură companie și/sau administrate în cadrul unei singure aplicații.
Deși este o societate în plină dezvoltare, nu dispune de o aplicație de administrare sau promovare a serviciilor oferite.
Service-ul își administrează programările prin intermediul unei agende, atelierul de tinichigerie are o situație asemănătoare, iar închirierea spațiului în cadrul târgurilor organizate în parcul auto se stochează asemănător, iar datele despre clienți se pot pierde de la o săptămână la alta.
Din punct de vedere al comunicării între aceste categorii se pierde foarte mult timp deoarece se realizează telefonic sau în întruniri. Directorul General trebuie să analizeze categoriile separat deoarece nu există un sistem informatic care să-i permită studiul lor în paralel sau în total.
Prin metoda de stocare a datelor se întâmplă deseori ca angajații să nu poată găsi și oferi informațiile solicitate deoarece nu au o organizare structurată.
Operația de culegere, stocare și administrare a datelor se face manual și astfel o parte din personal este ocupat cu activitatea de rutină.
Pentru a putea administra programările din cadrul service-ului și al atelierelor , dar și pentru a promova celelalte servicii oferite este nevoie de un sistem informatic care să permită stocarea datelor și administrarea lor.
Este nevoie de un sistem care să stocheze date despre furnizori, clienți, și în același timp să se poată prezenta detalii despre mașinile aflate în parcul auto.
Cap. 2. PROIECTAREA DE ANSAMBLU A SISTEMULUI INFORMATIC
2.1 Obiectivele și oportunitatea aplicației informatice
Obiectivul prioritar pentru AUTOMOTIVE SERVICE este acela al proiectării și realizării unui sistem informatic de administrare care să îmbunătățească fluxul datelor și comunicarea dintre departamente precum:
Evidența furnizorilor;
Evidența clienților;
Stocarea informațiilor privind închirierea de mașini;
Stocarea de informații privind închirierea spațiilor de prezentare în timpul târgurilor;
Prezentarea de accesorii din cadrul supermarket-ului;
Prezentarea autovehiculelor aflate în parcul auto spre vanzare;
Promovarea serviciilor oferite prin intermediul service-ului și atelierului de tuning.
Rolul aplicației în sistem este determinat de importanța desosebită a domeniului de activitate pentru care se proiectează noul sistem informatic : vânzarea-cumpărarea de autovehicule, service, tuning, închiriere spațiu și închiriere de mașini, vânyarea de accesorii auto.
Prin implementarea noului sistem se așteaptă o creștere financiară semnificativă datorită promovării intereselor firmei și sistemului de gestionare a activităților.
2.2. Locul aplicației informatice în sistem
Fiind o aplicație de gestiune a serviciilor ocupă un rol central in firmă.
2.3 Modelarea datelor și modelarea prelucrărilor (model conceptual, logic și fizic)
Figura 2.1 Tabelul utilizatorilor înregistrați
2.4 Diagrama Entitate-Asociere
Figura 2.2 Entitate-Asociere
2.5 Stabilirea colecțiilor de date
Principalele criterii pe baza cărora se pot grupa datele sunt legate de sfera de cunoaștere, domeniul de activitate, stabilitatea conținutului datelor și rolul acestora în procesul prelucrării.
După sfera de cunoaștere putem avea următoarele categorii de date:
– date primare:
Lista clienților;
Lista furnizorilor;
Lista producătorilor;
Detalii Service;
După stabilitatea pe care o au datele se pot determina două tipuri de colecții de date:
Colecții de date variabile:
Colecția comenzilor;
Colecția programărilor service telefonice.
Colecții de date constante:
Colecția Clienți-are caracter descriptiv;
Colecția Furnizori- caracter descriptiv;
Colecția Produse-caracter descriptiv;
Colecția Service-caracter descriptiv.
Lista tabelelor:
Figura 2.3 Lista tabelelor
2.6 Alegerea tehnologiei de prelucrare (stabilirea platformei hardware, software și de comunicații)
Platforma Ecommerce PrestaShop
Grupul PrestaShop a fost infiintata in Paris , cu un al doilea sediul deschis in Miami in 2011 .
PrestaShop este disponibil sub Open License Software si lansat oficial în august 2007. Programul , care este scris în PHP și se bazează pe motorul de template Smarty , este utilizat în prezent de 165.000 de magazine din întreaga lume .În conformitate cu W3Techs , PrestaShop este folosit de 0,5 % din toate site-urile .
MySQL
MySQL este cel mai popular software de baze de date open source, cu peste 100 de milioane de copii ale software-ului descarcat sau distribuit de-a lungul istoriei sale. Cu viteza sa superioara, fiabilitate, si usurinta de utilizare, MySQL a devenit alegerea preferata pentru Web, Web 2.0, SaaS, ISV, companii de telecomunicatii si managerii IT de corporatii, deoarece elimina problemele majore asociate cu timpul pierdut, intretinere si administrare pentru aplicatii moderne, on-line.
Multe dintre cele mai mari si dezvoltate rapid organizatii din lume folosesc MySQL pentru a economisi timp si bani, alimentand site-urile lor Web de mare volum, sisteme critice de business, si pachete software – inclusiv lideri din industrie, cum ar fi Yahoo!, Alcatel-Lucent, Google, Nokia, YouTube , Wikipedia, si Booking.com.
Structured Query Language (SQL) constituie standardul care unifică toate sistemele de gestiune a bazelor de date. Se poate considera ca în momentul în care cunoști bine acest limbaj vei ști să manipulezi orice tip de bază de date, aceasta putandu-se numi Oracle, SQL Server, MySQL, DB2 sau Ingress.
Conceptul relațional a dominat in mod indiscutabil lumea bazelor de date și a aplicațiilor din acest domeniu. Inițiatorul acestui proiect a fost E.F. Codd, cercetător la IBM, care la începutul anilor "70 a definit primele elemente de algebră relațională, elemente care au stat mai tarziu la baza standardului SQL.
Structured Query Language este un limbaj care permite realizarea tuturor operațiunilor asupra bazelor de date cum ar fi crearea si modificarea tabelelor, definirea indexșilor, selecția și modificarea datelor etc. Cel mai important lucru de subliniat în legătura cu SQL este faptul ca este un limbaj standardizat de prestigiosul Institut National American de Standarde (ANSI).Totuși trebuie să precizăm că există deosebiri între diverși producători de sisteme de gestiune a bazelor de date relaționale, dar lucrurile esențiale răman aceleași fie că discutăm de Oracle, fie de SQL Server sau de DB2.
PHP
PHP este un limbaj de programare destinat în primul rând Internetului, aducând dinamica unei pagini web. Este unul din cele mai importante limbaje de programare web open-source și server-side. Acest limbaj de programare este perfect pentru dezvoltarea unei aplicații web dinamice sau a unui website care să poată interacționa cu utilizatorul și poate fi încorporat direct în cod HTML.
Numele PHP provine din limba engleză și este un acronim recursiv : Php Hypertext PreProcessor.
Cel mai important aspect al limbajului este posibilitatea de a fi imbricat cu cod HTML. Putem astfel crea pagini HTML statice și din loc în loc, acolo unde este nevoie, să introducem dinamism cu ajutorul PHP.
Când accesăm o pagină HTML serverul care o găzduiește trimite pagina HTML catre browser spre afișare. În cazul unei pagini PHP serverul citește codul PHP, îl interpretează și generează dinamic pagina HTML care este trimisă browserului spre afișare. Acesta este motivul pentru care utilizatorii folosesc PHP pentru construirea unor pagini cu conținut dinamic.
Ceea ce face PHP să difere de un JavaScript de partea clientului, că codul său este executat pe server, generând HTML care este apoi trimis către client. Clientul va primi rezultatele rulării acelui script, fără a putea cunoaște codul-sursă ce stă la bază. Chiar poți să configurezi web server-ul să proceseze toate fișierele HTML cu PHP, și atunci într-adevăr nu va fi nici o modalitate ca utilizatorii să afle ce aveți ascuns în mânecă.
Conform statisticilor PHP este instalat pe 20 de milioane de situri web și pe 1 milion de servere web.
CSS3
Cascading Style Sheets (CSS) este un mecanism simplu folosit pentru adăugarea de stil ( de exemplu , fonturi, culori , spațiere ) la documente Web .
Dezvoltarea de site-uri web mari, în cazul în care vrem să adăugăm informații referitoare la fonturi și culori fiecarei pagini, este un proces lung și costisitor .
Pentru a rezolva această problemă ,World Wide Web Consortium W3C a creat CSS.
2.7 Estimarea necesarului de resurse și a calendarului de realizare
Resurse umane:
Personal de specialtate necesar pentru realizarea și exploatarea informatică;
Resurse hardware sau IT:
Achiziționarea de sisteme de calcul noi care să satisfacă performanțele dorite de societate;
Realizarea unei rețele între departamentele societății;
Asigurarea conexiunii la internet.
Resurse software:
Accesul la noua aplicație web se va putea face de la fiecare sistem în parte și se va permite modificarea datelor online prin CMS (Content Management System) care permite schimbarea produselor si adăugarea ofertelor cât și adăugarea produselor noi de către orice angajat datorită modului eficient de utilizare al adminului.
Resurse financiare:
Estimativ valoare investiției va ajunge la 7500 Euro.
Calendarul de realizare:
Realizarea bazei de date: o luna;
Dezvoltarea produsului software: patru luni;
Implementarea aplicatiei: o luna;
Testare si lansare: o luna;
Figura 2.4 Calendarul de realizare.
Cap. 3. PROIECTAREA DE DETALIU A APLICATIEI INFORMATICE
3.1 Definirea obiectivelor aplicației informatice
Scopul principal al aplicației noastre web este de a mări vânzările atât de produse cât și de servicii prin modul de prezentare al prduselor cât si atragerea clienților prin comoditatea de a comanda online orice produs , dar și punerea la dispoziție a informațiilor pentru o programare telefonică in service-ul Automotive Service .
Prin doar câțiva pași fiecare vizitator își poate crea un cont gratuit prin care va avea acces la toate funcționalitățile magazinului nostru.
Fiecare categorie conține subcategorii cu referința si detalii legate de fiecare produs in parte unde clienții pot atât sa vadă recenziile altor clienți cât și sa își lase propriile mulțumiri sau nemulțumiri legate de anumite produse.
Site-ul conține și o listă de dorințe (wishlist) unde clienții isi pot salva produsele pe care le doresc pe viitor pentru a le rămane salvate într-o listă si pentru a le putea comanda pe viitor.
3.2 Proiectarea logică și fizică a ieșirilor
Ieșirile sistemului informatic se bazează pe rapoartele generate din sistemul aplicației în urma cărora se pot observa statisticile necesare conducerii societății la nivel global pe diferite trepte ierarhice.
Pentru SC AUTOMOTIVE SERVICE SA :
Figura 3.1 Meniu Rapoarte
Proiectarea logică de detaliu a ieșirilor.Prin figura 3.1 putem accesa raportul dorit.
Figura 3.2 Raport cantitate produse
Raportul din figura precedentă pune în evidență cantitatea existentă a produselor.
Figura 3.3 Raport top clienți
Figura 3.4 Raport top categorii
Figura 3.5 Raport produse și cantitate
Figura 3.6 Raport vizualizări/vânzari produs
Figura 3.7 Evaluare a catalogului
Figura 3.8 Raport utilizatori întregistrați
Figura 3.9 Raport catalog produse
Figura 3.10 Raport comenzi și vânzări
Figura 3.11 Raport vizite și vizitatori
3.3 Proiectarea logică și fizică a intrărilor
Proiectarea se concentrează asupra conținutului datelor de intrare.Toate datele de intrare trebuie să fie corecte,precise și structurate și adaptate necesităților firmei SC AUTOMOTIVE SERVICE SA.
Website-ul este gândit tehnic din punct de vedere al proiectării.Intrările în sistem se fac cu ajutorul interfeței de admin care este foarte eficientă. Așadar, avem următoarele posibilități:
Adaugare : produse,categorii,servicii,clienți,comenzi.
Modificare : produse,categorii,servicii,clienți,comenzi.
Ștergere: produse,categorii,servicii,clienți,comenzi.
Figura 3.12 Adăugare Produs
3.4 Proiectarea interfeței aplicației
În figura 3.4 este prezentată prima pagina a magazinului din punctul de vedere al unui vizitator/client.
Figura 3.13Prima pagină a magazinului
În figura următoare este prezentată interfața de admin(CMS).
Figura 3.14 Interfață admin
Butonul „TABLOU DE BORD” afișează cele mai recente comenzi,cei mai noi clienți,numărul de returnări,clienții care au renunțat la produsele lor,numărul vizitatorilor online dar și o stastistică a vânzarilor din perioada selectată de admin.
Butonul „CATALOG PRODUSE” va deschide un drop-down-list care coține:Produse,Categorii,Monitorizare,Atributele produsului,Caracteristicile produslui,Producătorii,Furnizorii.
Butonul „COMENZI” va permite accesul către: Comenzi,Facturi,Returnări de produse,Avize de livrare,Stadii,Mesaje la comenzi.
Butonul „CLIENȚI” va permite navigarea către taburile: Clienți,Adrese,Grupuri,Coșuri de cumpărături,Asistența pentru clienți,Contacte,Titluri.
Butonul „STATISTICI” afișează statisticile principale ale magazinului afișate mai sus in figura 3.1 .
3.5 Proiectarea bazei de date
Pentru realizarea aplicației este nevoie de o bază de date.Am ales MySQL deoarece platforma PrestaShop vine cu module care își implementează automat tabele în baza de date care ulterior pot fi modificate dupa preferințele administratorului.Cu ajutorul designer-ului se poate observa structura tabelelor.În această proiectare sunt analizate natura și modul de utilizare a datelor în aplicație.
Baza de date se numește automotive.service,iar fiecare tabel are prefixul „automtive_”.În următoarea figura puteți vedea schema tabelelor din baza de date:
Figura 3.15 Design-ul bazei date
Exemplu de structură a tabelului automotive_customer care se referă la clienții înregistrați:
Figura 3.16 Tabel Clienți
Exemplul 2 de structură a tabelului automotive_orders se referă la comenzile făcute de clienți pe care le pot vedea din contul de client.
Figura 3.17 Tabel Comenzi
Exemplul nr.3 se referă la tabelul automotive_cart care reține produsele cu toate detaliile acestora pentru fiecare client care a apăsat pe butonul „ADAUGĂ ÎN COȘ” din dreptul fiecărui produs.Acestea ramân în tabel până când utilizatorul le șterge din coșul de cumpărături sau trimite comanda către procesare.
Figura 3.18 Tabel comenzi
Următorul exemplu prezintă tabelul automotive_category_lang care înregistrează categoriile de produse adăugate din interfața de admin a magazinului.
Figura 3.19 Tabel categorii
Tabelul automotive_products înregistrează produsele introduse din interfața de admin:
Figura 3.20 Tabel produse
3.6 Schema de sistem.
Figura 3.21 Schema de sistem a aplicației
3.7 Propuneri de dotare cu echipamente IT și costuri aferente
Pentru o funcționare optimă este necesară folosirea următoarelor echipamente:
PC-uri
Routere
Cabluri
Prize
Mufe
Switch
Imprimantă
Sisteme de operare
Server
Domeniu Web
Tabel 3.1 Lista componente rețea
Tabel 3.2 Listă componente PC
Cap. 4. PREZENTAREA PRODUSULUI SOFTWARE
4.1 Cerințele platformei hardware și software ale produsului program;
Cerințe Software
Produsul necesită conexiune la internet și este compatibil cu orice versiune de Windows (xp/7/8/10) dar și de pe Linux,Ubuntu,MAC OS care rulează unul dintre urmatoarele browsere Google Chrome , Mozilla Firefox,Opera,Safari și Internet Explorer și necesită permisiunea utilizării javascriptului(în cazul în care utilizatorul are dezactivat javascriptul din browser).
Designul site-ului este responsive și poate fi rulat de la cea mai mare rezoluție 1980×1080 pănă la dispozitive cu rezoluție de 320×430.
Datorită posibilității exportării rapoartelor in format Excel/Adobe, se recomanda instalarea unui produs Microsoft Office și a unui produs Adobe.
Cerințe Hardware
Produsul a fost testat și a funcționat pe un calculator cu cerințe minime:
-Procesor Intel Core 2 Duo 1,66 Ghz
-Placă Video integrată Intel Graphics Media Accelerator 950
-2GB RAM
-TP-LINK TL-WN781ND 150 Mbps
De asemenea,produsul a fost testat pe tablete și telefoane și a rulat fără nicio problemă datorită tehnologiei responsive care ajută la adaptarea site-ului de la cea mai mare rezoluție până la cea mai mica rezoluție ceea ce oferă utilizatorului opțiunea de a accesa produsele noastre de oriunde dacă posedă un telefon mobil/tabletă cu acces la internet.
4.2. Descrierea funcțiunilor aplicației
Aplicația are numeroase funcționalități ce îmbunătățesțe atât experiența clienților cât și a angajaților.
Clienții dispun de un design atrăgător dar și ușor utilizabil și în același timp foarte util.Au la dispoziție o listă de dorințe care va salva produsele pe care clientul le dorește pe viitor și de asemenea pot comanda un produs când acesta numai este pe stoc,cu mențiunea că în dreptul produsului trebuie să scrie că acesta este valabil pentru comenzi.Se pot adăuga recenzii de către clienți la fiecare produs care pe viitor va improviza serviciile oferite de Magazinul AUTOMOTIVE.
Atăt clientul cât și angajatul pot verifica starea comenzii produsului.
De asemenea,angajații site-ului beneficiază de un design ușor de utlizat.Ei pot gestiona comenzile,clienții,produsele și categoriile de produse.O funcționalitate importantă a site-ului este aceea de a exporta intr-un fișier excel raporturile și statisticile într-o anumită lună sau într-o anumită perioadă de timp pe care angajatul are libertatea de a o alege. Funcțiile de adăugare,editare și stergere produs sunt foarte utile pentru angajați,acestea usurându-le munca de a nu intra în contact cu baza de date care este actualizată automat de fiecare dată când angajatul schimbă ceva.Angajatul poate modifica orice informație de pe site atâta timp cât cunoaște modulele folosite și știe unde acționează fiecare.
Angajații au accesul limitat de către Administratorul site-ului în funcție de cunoștințele si rolurile fiecăruie.Doar Administratorul are dreptul de a șterge sau de a actualize modulele de pe site în condițiile in care consideră că este necesar.
Ca orice produs software aplicatia prezinta atat avantaje cat si dezavantaje.
Avantaje
Funcționalitați de ultimă generație
Cele mai bune module de PrestaShop implementate pentru a ușura modul de interacțiune cu utilizatorul.
Interfața simplu de utilizat
Datele se salvează în siguranță în baza de date
Dezavantaje
Rapoarte limitate la ceea ce este deja implementat in modul.
Numeroase funcționalități plătite.
Comenzile pot fi întârziate datorită apariției unor eventuale buguri.
Pentru a comanda un produs,clientul trebuie mai întai să îsi aleagă o categorie dorită:
Figura 4.1 Alegere categorie
Urmează alegerea produsului dorit :
Figura 4.2 Alegere produs
Dupa alegerea produsului clientul poate sa continue cumpăraturle sau să finalizeze comanda:
Figura 4.3 Opțiuni client
După selectarea produselor dorite se alege opțiunea finalizați comanda și clientul are imediat dreptul verificării coșului de cumpăraturi.Dupa verificarea coșului de cumpărături,clientul poate începe procesul de comandare al produselor prin butonul “Finalizați comanda”.
Figura 4.4 Coș de cumpărături
Pentru comandarea produselor este nevoie de un cont pe site.Dacă clientul are deja cont trebuie să se autentifice.Dacă nu are cont trebuie sa se înregistreze.
Figura 4.5 Cont client
Urmează introducerea datelor personale ale clientului :
Figura 4.6 Date personale client
Selectarea adresei de livrare:
Figura 4.7 Adresă livrare
Selectarea metodei de livrare:
Figura 4.8 Metodă livrare
Alegerea metodei de plată:
Figura 4.9 Metodă de plată
Confirmare comandă:
Figura 4.10 Confirmare comandă
După confirmarea comenzii,administratorul primește o notificare în panoul de administrator și selecta statusul comenzii(livrată,în procesare,plată acceptată,nelivrată,eroare de plată,anulată)
Figura 4.11 Administrare comandă
Figura 4.12 Status comandă
Figura 4.13 Plată acceptată
Cap. 5. EFICIENȚA ȘI UTILITATEA APLICAȚIEI INFORMATICE
Aplicația reprezintă o inovație pentru firma AUTOMOTIVE și va cresțe vânzarile pe piață datorită ofertelor de prețuri și a calității produselor.
Condiții privind implementarea aplicației
Cu ajutorul aplicației implementate SC AUTOMOTIVE S.R.L va crește numărul de vânzări datorită posibilității de a vinde produse în toată țara prin serviciul de livrare.
Înaintea implementării aplicației comenzile de piese se făceau telefonic și era posibilă ridicarea de la sediu după un anumit număr de zile dar și livrarea putea fi o opțiune atâta timp cât costul era suport de către client.Angajații erau nevoiți să facă față numărului de telefoane primite într-o anumită zi,ceea ce nu se putea realiza de fiecare dată datorită numărului exagerat de cereri.Datorită aplicației,orice comandă poate fi preluată mult mai ușor și poate fi verificată online atât de către client cât și de angajat.
Angajații erau nevoiți sa introducă manual comenzile în fișiere de tip Excel dar cu ajutorul aplicației care salvează automat comenzile în baza de date se pot exporta printr-un singur buton.
Statisticile trebuiau făcute cu anumite programe care necesitau date introduse manual, ceea ce a condus către utilizarea modulului de statistici,care de asemenea își ia automat datele din baza de date și calculează ceea ce angajatul selectează.
5.2 Exploatarea curentă a aplicației
Exploatarea curența și menținerea în funcțiune are ca scop atât îndeplinirea obiectivelor ale sistemului informatic cât și adaptarea acestuia la modificările apărute în cerințele informaționale ale clientului.
Realizarea unui sistem informatic se rezumă sub forma unui proiect de sistem informatic prin intermediul căruia se definesc într-o formă standardizată soluțiile adoptate.
Proiectul sistemului informatic cuprinde documentația de realizare și documentația finală a sistemului informatic.
5.3 Considerații privind eficiența aplicației informatice
Aplicația salvează automat în baza de date informațiile despre client dar și despre serviciile pe care acesta le-a folosit(Exemplu:Comandarea unui produs,programarea pentru service).De asemenea,aplicația ține evidența plaților,comenzilor,facturilor și a clienților.
Datorită aplicației clienților le este mult mai ușor sa acceseze produsele oferite de către firma AUTOMOTIVE și totodată va crește vânzarile firmei deoarece aplicația folosesțe serviciul de livrare în toata Țara cu taxele suportate de către client.
Aplicația este ușor de folosit atât de către clienți cât și de angajați.Clientul iși poate înregistra un cont gratuit în urma căruia va putea comanda și angajații au un CMS(Content Management System) ușor de utilizat,care le pune la dispoziție comenzi de tipul Adaugă,Șterge,Modifică produse și categorii.Angajații site-ului pot gestiona ușor comenzile și clienții și pot verifica statisticile necesare dintr-o anumită perioadă de timp.Totul se rezumă la modulele care acționează corect în baza de date și pune informațiile în siguranță,ceea ce ușurează munca angajaților.
Aplicația are o importanță crescută pentru firmă ,în primul rând datorită creșterii numărului de clienți și de vânzări și în al doilea rând prin ușurarea muncii cu ajutorul funcțiunilor pe care le pune la dispoziție atât clientului cât și a angajatului.
Lista figurilor
Figura 1.1 Organigrama firmei
Figura 1.2 MCP pentru comenzile online.
Figura 2.1 Tabelul utilizatorilor înregistrați
Figura 2.2 Entitate-Asociere
Figura 2.3 Lista tabelelor
Figura 2.4 Calendarul de realizare
Figura 3.1 Meniu Rapoarte
Figura 3.2 Raport cantitate produse
Figura 3.3 Raport top clienți
Figura 3.4 Raport top categorii
Figura 3.5 Raport produse și cantitate
Figura 3.6 Raport vizualizări/vânzari produs
Figura 3.7 Evaluare a catalogului
Figura 3.8 Raport utilizatori înregistrați
Figura 3.9 Raport catalog produse
Figura 3.10 Raport comenzi și vânzări
Figura 3.11 Raport vizite și vizitatori
Figura 3.12 Adăugare Produs
Figura 3.13 Prima pagină a magazinului
Figura 3.14 Interfață admin
Figura 3.15 Design-ul bazei date
Figura 3.16 Tabel Clienți
Figura 3.17 Tabel Comenzi
Figura 3.18 Tabel comenzi
Figura 3.19 Tabel categorii
Figura 3.20 Tabel produse
Figura 3.21 Schema de sistem a aplicației
Lista tabelelor
Tabel 1.1 Indicatori economici.
Tabel 1.2 Categoriile socio-profesionale
Tabel 3.1 Lista componente rețea
Tabel 3.2 Listă componente PC
Bibliografie
Publicatii online :
http://www.sigma-net.ro/website/home/tehnologia/php/161/1/ro.html
http://ro.wikipedia.org/wiki/Cascading_Style_Sheets
Proquest:
Prometheus Global Media ,Adweek Magazines' Technology Marketing: http://gateway.proquest.com/openurl?url_ver=Z39.88-2004&res_dat=xri:pqm&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&genre=journal&req_dat=xri:pqil:pq_clntid=35090&svc_dat=xri:pqil:context=title&rft_dat=xri:pqd:PMID=8187
ACM Transactions on Computer Systems, Association for Computing Machinery: http://gateway.proquest.com/openurl?url_ver=Z39.88-2004&res_dat=xri:pqm&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&genre=journal&req_dat=xri:pqil:pq_clntid=35090&svc_dat=xri:pqil:context=title&rft_dat=xri:pqd:PMID=37304
Computer Assisted Language Learning, Taylor & Francis Ltd.: http://gateway.proquest.com/openurl?url_ver=Z39.882004&res_dat=xri:pqm&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&genre=journal&req_dat=xri:pqil:pq_clntid=35090&svc_dat=xri:pqil:context=title&rft_dat=xri:pqd:PMID=53067
Computing. Archives for Informatics and Numerical Computation, Springer Science & Business Media : http://gateway.proquest.com/openurl?url_ver=Z39.88-2004&res_dat=xri:pqm&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&genre=journal&req_dat=xri:pqil:pq_clntid=35090&svc_dat=xri:pqil:context=title&rft_dat=xri:pqd:PMID=48322
Database for Advances in Information Systems, ACM-SIGMIS: http://gateway.proquest.com/openurl?url_ver=Z39.88-2004&res_dat=xri:pqm&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&genre=journal&req_dat=xri:pqil:pq_clntid=35090&svc_dat=xri:pqil:context=title&rft_dat=xri:pqd:PMID=46280
Inside Market Data, Incisive Media Limited : http://gateway.proquest.com/openurl?url_ver=Z39.88-2004&res_dat=xri:pqm&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&genre=journal&req_dat=xri:pqil:pq_clntid=35090&svc_dat=xri:pqil:context=title&rft_dat=xri:pqd:PMID=33787
SC Magazine, Haymarket Media, Inc.: http://gateway.proquest.com/openurl?url_ver=Z39.88-2004&res_dat=xri:pqm&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&genre=journal&req_dat=xri:pqil:pq_clntid=35090&svc_dat=xri:pqil:context=title&rft_dat=xri:pqd:PMID=32683
Anexa
Cod sursa:
Defines.inc.php :
<?php
if (!defined('_PS_MODE_DEV_'))
define('_PS_MODE_DEV_', false);
/* Compatibility warning */
define('_PS_DISPLAY_COMPATIBILITY_WARNING_', false);
if (_PS_MODE_DEV_ === true)
{
@ini_set('display_errors', 'on');
@error_reporting(E_ALL | E_STRICT);
define('_PS_DEBUG_SQL_', true);
}
else
{
@ini_set('display_errors', 'off');
define('_PS_DEBUG_SQL_', false);
}
define('_PS_DEBUG_PROFILING_', false);
define('_PS_MODE_DEMO_', false);
$currentDir = dirname(__FILE__);
if (!defined('PHP_VERSION_ID'))
{
$version = explode('.', PHP_VERSION);
define('PHP_VERSION_ID', ($version[0] * 10000 + $version[1] * 100 + $version[2]));
}
if (!defined('_PS_VERSION_') && (getenv('_PS_VERSION_') || getenv('REDIRECT__PS_VERSION_')))
define('_PS_VERSION_', getenv('_PS_VERSION_') ? getenv('_PS_VERSION_') : getenv('REDIRECT__PS_VERSION_'));
if (!defined('_PS_HOST_MODE_') && (getenv('_PS_HOST_MODE_') || getenv('REDIRECT__PS_HOST_MODE_')))
define('_PS_HOST_MODE_', getenv('_PS_HOST_MODE_') ? getenv('_PS_HOST_MODE_') : getenv('REDIRECT__PS_HOST_MODE_'));
if (!defined('_PS_ROOT_DIR_') && (getenv('_PS_ROOT_DIR_') || getenv('REDIRECT__PS_ROOT_DIR_')))
define('_PS_ROOT_DIR_', getenv('_PS_ROOT_DIR_') ? getenv('_PS_ROOT_DIR_') : getenv('REDIRECT__PS_ROOT_DIR_'));
/* Directories */
if (!defined('_PS_ROOT_DIR_'))
define('_PS_ROOT_DIR_', realpath($currentDir.'/..'));
if (!defined('_PS_CORE_DIR_'))
define('_PS_CORE_DIR_', realpath($currentDir.'/..'));
define('_PS_ALL_THEMES_DIR_', _PS_ROOT_DIR_.'/themes/');
/* BO THEMES */
if (defined('_PS_ADMIN_DIR_'))
define('_PS_BO_ALL_THEMES_DIR_', _PS_ADMIN_DIR_.'/themes/');
define('_PS_CACHE_DIR_', _PS_ROOT_DIR_.'/cache/');
define('_PS_CONFIG_DIR_', _PS_CORE_DIR_.'/config/');
define('_PS_CLASS_DIR_', _PS_CORE_DIR_.'/classes/');
define('_PS_DOWNLOAD_DIR_', _PS_ROOT_DIR_.'/download/');
define('_PS_MAIL_DIR_', _PS_CORE_DIR_.'/mails/');
if (!defined('_PS_MODULE_DIR_'))
define('_PS_MODULE_DIR_', _PS_ROOT_DIR_.'/modules/');
if (!defined('_PS_OVERRIDE_DIR_'))
define('_PS_OVERRIDE_DIR_', _PS_ROOT_DIR_.'/override/');
define('_PS_PDF_DIR_', _PS_CORE_DIR_.'/pdf/');
define('_PS_TRANSLATIONS_DIR_', _PS_ROOT_DIR_.'/translations/');
define('_PS_UPLOAD_DIR_', _PS_ROOT_DIR_.'/upload/');
define('_PS_CONTROLLER_DIR_', _PS_CORE_DIR_.'/controllers/');
define('_PS_ADMIN_CONTROLLER_DIR_', _PS_CORE_DIR_.'/controllers/admin/');
define('_PS_FRONT_CONTROLLER_DIR_', _PS_CORE_DIR_.'/controllers/front/');
define('_PS_TOOL_DIR_', _PS_CORE_DIR_.'/tools/');
define('_PS_GEOIP_DIR_', _PS_TOOL_DIR_.'geoip/');
define('_PS_GEOIP_CITY_FILE_', 'GeoLiteCity.dat');
define('_PS_PEAR_XML_PARSER_PATH_', _PS_TOOL_DIR_.'pear_xml_parser/');
define('_PS_SWIFT_DIR_', _PS_TOOL_DIR_.'swift/');
define('_PS_TAASC_PATH_', _PS_TOOL_DIR_.'taasc/');
define('_PS_TCPDF_PATH_', _PS_TOOL_DIR_.'tcpdf/');
define('_PS_IMG_DIR_', _PS_ROOT_DIR_.'/img/');
if (!defined('_PS_HOST_MODE_'))
define('_PS_CORE_IMG_DIR_', _PS_CORE_DIR_.'/img/');
else
define('_PS_CORE_IMG_DIR_', _PS_ROOT_DIR_.'/img/');
define('_PS_CAT_IMG_DIR_', _PS_IMG_DIR_.'c/');
define('_PS_COL_IMG_DIR_', _PS_IMG_DIR_.'co/');
define('_PS_EMPLOYEE_IMG_DIR_', _PS_IMG_DIR_.'e/');
define('_PS_GENDERS_DIR_', _PS_IMG_DIR_.'genders/');
define('_PS_LANG_IMG_DIR_', _PS_IMG_DIR_.'l/');
define('_PS_MANU_IMG_DIR_', _PS_IMG_DIR_.'m/');
define('_PS_ORDER_STATE_IMG_DIR_', _PS_IMG_DIR_.'os/');
define('_PS_PROD_IMG_DIR_', _PS_IMG_DIR_.'p/');
define('_PS_SCENE_IMG_DIR_', _PS_IMG_DIR_.'scenes/');
define('_PS_SCENE_THUMB_IMG_DIR_', _PS_IMG_DIR_.'scenes/thumbs/');
define('_PS_SHIP_IMG_DIR_', _PS_IMG_DIR_.'s/');
define('_PS_STORE_IMG_DIR_', _PS_IMG_DIR_.'st/');
define('_PS_SUPP_IMG_DIR_', _PS_IMG_DIR_.'su/');
define('_PS_TMP_IMG_DIR_', _PS_IMG_DIR_.'tmp/');
/* settings php */
define('_PS_TRANS_PATTERN_', '(.*[^\\\\])');
define('_PS_MIN_TIME_GENERATE_PASSWD_', '360');
if (!defined('_PS_MAGIC_QUOTES_GPC_'))
define('_PS_MAGIC_QUOTES_GPC_', get_magic_quotes_gpc());
define('_CAN_LOAD_FILES_', 1);
/* Order statuses
Order statuses have been moved into config.inc.php file for backward compatibility reasons */
/* Tax behavior */
define('PS_PRODUCT_TAX', 0);
define('PS_STATE_TAX', 1);
define('PS_BOTH_TAX', 2);
define('PS_TAX_EXC', 1);
define('PS_TAX_INC', 0);
define('PS_ORDER_PROCESS_STANDARD', 0);
define('PS_ORDER_PROCESS_OPC', 1);
define('PS_ROUND_UP', 0);
define('PS_ROUND_DOWN', 1);
define('PS_ROUND_HALF_UP', 2);
define('PS_ROUND_HALF_DOWN', 3);
define('PS_ROUND_HALF_EVEN', 4);
define('PS_ROUND_HALF_ODD', 5);
/* Backward compatibility */
define('PS_ROUND_HALF', PS_ROUND_HALF_UP);
/* Registration behavior */
define('PS_REGISTRATION_PROCESS_STANDARD', 0);
define('PS_REGISTRATION_PROCESS_AIO', 1);
/* Carrier::getCarriers() filter */
// these defines are DEPRECATED since 1.4.5 version
define('PS_CARRIERS_ONLY', 1);
define('CARRIERS_MODULE', 2);
define('CARRIERS_MODULE_NEED_RANGE', 3);
define('PS_CARRIERS_AND_CARRIER_MODULES_NEED_RANGE', 4);
define('ALL_CARRIERS', 5);
/* SQL Replication management */
define('_PS_USE_SQL_SLAVE_', 0);
/* PS Technical configuration */
define('_PS_ADMIN_PROFILE_', 1);
/* Stock Movement */
define('_STOCK_MOVEMENT_ORDER_REASON_', 3);
define('_STOCK_MOVEMENT_MISSING_REASON_', 4);
/**
* @deprecated 1.5.0.1
* @see Configuration::get('PS_CUSTOMER_GROUP')
*/
define('_PS_DEFAULT_CUSTOMER_GROUP_', 3);
define('_PS_CACHEFS_DIRECTORY_', _PS_ROOT_DIR_.'/cache/cachefs/');
/* Geolocation */
define('_PS_GEOLOCATION_NO_CATALOG_', 0);
define('_PS_GEOLOCATION_NO_ORDER_', 1);
define('MIN_PASSWD_LENGTH', 8);
define('_PS_SMARTY_NO_COMPILE_', 0);
define('_PS_SMARTY_CHECK_COMPILE_', 1);
define('_PS_SMARTY_FORCE_COMPILE_', 2);
define('_PS_SMARTY_CONSOLE_CLOSE_', 0);
define('_PS_SMARTY_CONSOLE_OPEN_BY_URL_', 1);
define('_PS_SMARTY_CONSOLE_OPEN_', 2);
define('_PS_JQUERY_VERSION_', '1.11.0');
db_slave_server.inc.php :
<?php
return array(
array('server' => '192.168.0.15', 'user' => 'rep', 'password' => '123456', 'database' => 'rep'),
array('server' => '192.168.0.3', 'user' => 'myuser', 'password' => 'mypassword', 'database' => 'mydatabase'),
);
return array();
defines_uri.inc.php :
<?php
/* Theme URLs */
define('_PS_DEFAULT_THEME_NAME_', 'default-bootstrap');
define('_PS_THEME_DIR_', _PS_ROOT_DIR_.'/themes/'._THEME_NAME_.'/');
define('_THEMES_DIR_', __PS_BASE_URI__.'themes/');
define('_THEME_DIR_', _THEMES_DIR_._THEME_NAME_.'/');
define('_THEME_IMG_DIR_', _THEME_DIR_.'img/');
define('_THEME_CSS_DIR_', _THEME_DIR_.'css/');
define('_THEME_JS_DIR_', _THEME_DIR_.'js/');
define('_PS_THEME_OVERRIDE_DIR_', _PS_THEME_DIR_.'override/');
/* For mobile devices */
if (file_exists(_PS_THEME_DIR_.'mobile/'))
{
define('_PS_THEME_MOBILE_DIR_', _PS_THEME_DIR_.'mobile/');
define('_THEME_MOBILE_DIR_', _THEMES_DIR_._THEME_NAME_.'/mobile/');
}
else
{
define('_PS_THEME_MOBILE_DIR_', _PS_ROOT_DIR_.'/themes/'._PS_DEFAULT_THEME_NAME_.'/mobile/');
define('_THEME_MOBILE_DIR_', __PS_BASE_URI__.'themes/'._PS_DEFAULT_THEME_NAME_.'/mobile/');
}
define('_PS_THEME_MOBILE_OVERRIDE_DIR_', _PS_THEME_MOBILE_DIR_.'override/');
define('_THEME_MOBILE_IMG_DIR_', _THEME_MOBILE_DIR_.'img/');
define('_THEME_MOBILE_CSS_DIR_', _THEME_MOBILE_DIR_.'css/');
define('_THEME_MOBILE_JS_DIR_', _THEME_MOBILE_DIR_.'js/');
/* For touch pad devices */
define('_PS_THEME_TOUCHPAD_DIR_', _PS_THEME_DIR_.'touchpad/');
define('_THEME_TOUCHPAD_DIR_', _THEMES_DIR_._THEME_NAME_.'/touchpad/');
define('_THEME_TOUCHPAD_CSS_DIR_', _THEME_TOUCHPAD_DIR_.'css/');
define('_THEME_TOUCHPAD_JS_DIR_', _THEME_TOUCHPAD_DIR_.'js/');
/* Image URLs */
define('_PS_IMG_', __PS_BASE_URI__.'img/');
define('_PS_ADMIN_IMG_', _PS_IMG_.'admin/');
define('_PS_TMP_IMG_', _PS_IMG_.'tmp/');
define('_THEME_CAT_DIR_', _PS_IMG_.'c/');
define('_THEME_PROD_DIR_', _PS_IMG_.'p/');
define('_THEME_MANU_DIR_', _PS_IMG_.'m/');
define('_THEME_SCENE_DIR_', _PS_IMG_.'scenes/');
define('_THEME_SCENE_THUMB_DIR_', _PS_IMG_.'scenes/thumbs');
define('_THEME_SUP_DIR_', _PS_IMG_.'su/');
define('_THEME_SHIP_DIR_', _PS_IMG_.'s/');
define('_THEME_STORE_DIR_', _PS_IMG_.'st/');
define('_THEME_LANG_DIR_', _PS_IMG_.'l/');
define('_THEME_COL_DIR_', _PS_IMG_.'co/');
define('_THEME_GENDERS_DIR_', _PS_IMG_.'genders/');
define('_SUPP_DIR_', _PS_IMG_.'su/');
define('_PS_PROD_IMG_', _PS_IMG_.'p/');
/* Other URLs */
define('_PS_JS_DIR_', __PS_BASE_URI__.'js/');
define('_PS_CSS_DIR_', __PS_BASE_URI__.'css/');
define('_THEME_PROD_PIC_DIR_', __PS_BASE_URI__.'upload/');
define('_MAIL_DIR_', __PS_BASE_URI__.'mails/');
define('_MODULE_DIR_', __PS_BASE_URI__.'modules/');
settings.inc.php:
<?php
define('_DB_SERVER_', 'localhost');
define('_DB_NAME_', 'automotive.service');
define('_DB_USER_', 'root');
define('_DB_PASSWD_', '');
define('_DB_PREFIX_', 'automotive_');
define('_MYSQL_ENGINE_', 'InnoDB');
define('_PS_CACHING_SYSTEM_', 'CacheMemcache');
define('_PS_CACHE_ENABLED_', '0');
define('_COOKIE_KEY_', 'H3g6N72KEHxeZRNxqcyw2QHWUht2TZ4h3LevpiwBJTk0vCDpQU4wesrG');
define('_COOKIE_IV_', 'JIqvvi8I');
define('_PS_CREATION_DATE_', '2015-04-29');
if (!defined('_PS_VERSION_'))
define('_PS_VERSION_', '1.6.0.14');
define('_RIJNDAEL_KEY_', 'wpXnQCyiuttRHHFxHHddCiTxmO1xm5Vt');
define('_RIJNDAEL_IV_', 's7R6vvd2EstNoAAUm7rp4A==');
smarty.confing.inc.php :
<?php
define('_PS_SMARTY_DIR_', _PS_TOOL_DIR_.'smarty/');
require_once(_PS_SMARTY_DIR_.'Smarty.class.php');
global $smarty;
$smarty = new Smarty();
$smarty->setCompileDir(_PS_CACHE_DIR_.'smarty/compile');
$smarty->setCacheDir(_PS_CACHE_DIR_.'smarty/cache');
if (!Tools::getSafeModeStatus())
$smarty->use_sub_dirs = true;
$smarty->setConfigDir(_PS_SMARTY_DIR_.'configs');
$smarty->caching = false;
if (Configuration::get('PS_SMARTY_CACHING_TYPE') == 'mysql')
{
include(_PS_CLASS_DIR_.'/SmartyCacheResourceMysql.php');
$smarty->caching_type = 'mysql';
}
$smarty->force_compile = (Configuration::get('PS_SMARTY_FORCE_COMPILE') == _PS_SMARTY_FORCE_COMPILE_) ? true : false;
$smarty->compile_check = (Configuration::get('PS_SMARTY_FORCE_COMPILE') >= _PS_SMARTY_CHECK_COMPILE_) ? true : false;
$smarty->debug_tpl = _PS_ALL_THEMES_DIR_.'debug.tpl';
/* Use this constant if you want to load smarty without all PrestaShop functions */
if (defined('_PS_SMARTY_FAST_LOAD_') && _PS_SMARTY_FAST_LOAD_)
return;
if (defined('_PS_ADMIN_DIR_'))
require_once (dirname(__FILE__).'/smartyadmin.config.inc.php');
else
require_once (dirname(__FILE__).'/smartyfront.config.inc.php');
smartyRegisterFunction($smarty, 'modifier', 'truncate', 'smarty_modifier_truncate');
smartyRegisterFunction($smarty, 'modifier', 'secureReferrer', array('Tools', 'secureReferrer'));
smartyRegisterFunction($smarty, 'function', 't', 'smartyTruncate'); // unused
smartyRegisterFunction($smarty, 'function', 'm', 'smartyMaxWords'); // unused
smartyRegisterFunction($smarty, 'function', 'p', 'smartyShowObject'); // Debug only
smartyRegisterFunction($smarty, 'function', 'd', 'smartyDieObject'); // Debug only
smartyRegisterFunction($smarty, 'function', 'l', 'smartyTranslate', false);
smartyRegisterFunction($smarty, 'function', 'hook', 'smartyHook');
smartyRegisterFunction($smarty, 'function', 'toolsConvertPrice', 'toolsConvertPrice');
smartyRegisterFunction($smarty, 'modifier', 'json_encode', array('Tools', 'jsonEncode'));
smartyRegisterFunction($smarty, 'modifier', 'json_decode', array('Tools', 'jsonDecode'));
smartyRegisterFunction($smarty, 'function', 'dateFormat', array('Tools', 'dateFormat'));
smartyRegisterFunction($smarty, 'function', 'convertPrice', array('Product', 'convertPrice'));
smartyRegisterFunction($smarty, 'function', 'convertPriceWithCurrency', array('Product', 'convertPriceWithCurrency'));
smartyRegisterFunction($smarty, 'function', 'displayWtPrice', array('Product', 'displayWtPrice'));
smartyRegisterFunction($smarty, 'function', 'displayWtPriceWithCurrency', array('Product', 'displayWtPriceWithCurrency'));
smartyRegisterFunction($smarty, 'function', 'displayPrice', array('Tools', 'displayPriceSmarty'));
smartyRegisterFunction($smarty, 'modifier', 'convertAndFormatPrice', array('Product', 'convertAndFormatPrice')); // used twice
smartyRegisterFunction($smarty, 'function', 'getAdminToken', array('Tools', 'getAdminTokenLiteSmarty'));
smartyRegisterFunction($smarty, 'function', 'displayAddressDetail', array('AddressFormat', 'generateAddressSmarty'));
smartyRegisterFunction($smarty, 'function', 'getWidthSize', array('Image', 'getWidth'));
smartyRegisterFunction($smarty, 'function', 'getHeightSize', array('Image', 'getHeight'));
smartyRegisterFunction($smarty, 'function', 'addJsDef', array('Media', 'addJsDef'));
smartyRegisterFunction($smarty, 'block', 'addJsDefL', array('Media', 'addJsDefL'));
smartyRegisterFunction($smarty, 'modifier', 'boolval', array('Tools', 'boolval'));
function smartyDieObject($params, &$smarty)
{
return Tools::d($params['var']);
}
function smartyShowObject($params, &$smarty)
{
return Tools::p($params['var']);
}
function smartyMaxWords($params, &$smarty)
{
Tools::displayAsDeprecated();
$params['s'] = str_replace('…', ' …', html_entity_decode($params['s'], ENT_QUOTES, 'UTF-8'));
$words = explode(' ', $params['s']);
foreach($words AS &$word)
if(Tools::strlen($word) > $params['n'])
$word = Tools::substr(trim(chunk_split($word, $params['n']-1, '- ')), 0, -1);
return implode(' ', Tools::htmlentitiesUTF8($words));
}
function smartyTruncate($params, &$smarty)
{
Tools::displayAsDeprecated();
$text = isset($params['strip']) ? strip_tags($params['text']) : $params['text'];
$length = $params['length'];
$sep = isset($params['sep']) ? $params['sep'] : '…';
if (Tools::strlen($text) > $length + Tools::strlen($sep))
$text = Tools::substr($text, 0, $length).$sep;
return (isset($params['encode']) ? Tools::htmlentitiesUTF8($text, ENT_NOQUOTES) : $text);
}
function smarty_modifier_truncate($string, $length = 80, $etc = '…', $break_words = false, $middle = false, $charset = 'UTF-8')
{
if (!$length)
return '';
$string = trim($string);
if (Tools::strlen($string) > $length)
{
$length -= min($length, Tools::strlen($etc));
if (!$break_words && !$middle)
$string = preg_replace('/\s+?(\S+)?$/u', '', Tools::substr($string, 0, $length+1, $charset));
return !$middle ? Tools::substr($string, 0, $length, $charset).$etc : Tools::substr($string, 0, $length/2, $charset).$etc.Tools::substr($string, -$length/2, $length, $charset);
}
else
return $string;
}
function smarty_modifier_htmlentitiesUTF8($string)
{
return Tools::htmlentitiesUTF8($string);
}
function smartyMinifyHTML($tpl_output, &$smarty)
{
if (in_array(Context::getContext()->controller->php_self, array('pdf-invoice', 'pdf-order-return', 'pdf-order-slip')))
return $tpl_output;
$tpl_output = Media::minifyHTML($tpl_output);
return $tpl_output;
}
function smartyPackJSinHTML($tpl_output, &$smarty)
{
if (in_array(Context::getContext()->controller->php_self, array('pdf-invoice', 'pdf-order-return', 'pdf-order-slip')))
return $tpl_output;
$tpl_output = Media::packJSinHTML($tpl_output);
return $tpl_output;
}
function smartyRegisterFunction($smarty, $type, $function, $params, $lazy = true)
{
if (!in_array($type, array('function', 'modifier', 'block')))
return false;
// lazy is better if the function is not called on every page
if ($lazy)
{
$lazy_register = SmartyLazyRegister::getInstance();
$lazy_register->register($params);
if (is_array($params))
$params = $params[1];
// SmartyLazyRegister allows to only load external class when they are needed
$smarty->registerPlugin($type, $function, array($lazy_register, $params));
}
else
$smarty->registerPlugin($type, $function, $params);
}
function smartyHook($params, &$smarty)
{
if (!empty($params['h']))
{
$id_module = null;
$hook_params = $params;
$hook_params['smarty'] = $smarty;
if (!empty($params['mod']))
{
$module = Module::getInstanceByName($params['mod']);
if ($module && $module->id)
$id_module = $module->id;
unset($hook_params['mod']);
}
unset($hook_params['h']);
return Hook::exec($params['h'], $hook_params, $id_module);
}
}
function toolsConvertPrice($params, &$smarty)
{
return Tools::convertPrice($params['price'], Context::getContext()->currency);
}
/**
* Used to delay loading of external classes with smarty->register_plugin
*/
class SmartyLazyRegister
{
protected $registry = array();
protected static $instance;
/**
* Register a function or method to be dynamically called later
* @param string|array $params function name or array(object name, method name)
*/
public function register($params)
{
if (is_array($params))
$this->registry[$params[1]] = $params;
else
$this->registry[$params] = $params;
}
/**
* Dynamically call static function or method
*
* @param string $name function name
* @param mixed $arguments function argument
* @return mixed function return
*/
public function __call($name, $arguments)
{
$item = $this->registry[$name];
// case 1: call to static method – case 2 : call to static function
if (is_array($item[1]))
return call_user_func_array($item[1].'::'.$item[0], array($arguments[0], &$arguments[1]));
else
{
$args = array();
foreach($arguments as $a => $argument)
if($a == 0)
$args[] = $arguments[0];
else
$args[] = &$arguments[$a];
return call_user_func_array($item, $args);
}
}
public static function getInstance()
{
if (!self::$instance)
self::$instance = new SmartyLazyRegister();
return self::$instance;
}
}
Smartyadmin.confing.inc.php :
<?php
global $smarty;
$smarty->debugging = false;
$smarty->debugging_ctrl = 'NONE';
// Let user choose to force compilation
$smarty->force_compile = (Configuration::get('PS_SMARTY_FORCE_COMPILE') == _PS_SMARTY_FORCE_COMPILE_) ? true : false;
// But force compile_check since the performance impact is small and it is better for debugging
$smarty->compile_check = true;
function smartyTranslate($params, &$smarty)
{
$htmlentities = !isset($params['js']);
$pdf = isset($params['pdf']);
$addslashes = (isset($params['slashes']) || isset($params['js']));
$sprintf = isset($params['sprintf']) ? $params['sprintf'] : null;
if ($pdf)
return Translate::smartyPostProcessTranslation(Translate::getPdfTranslation($params['s']), $params);
$filename = ((!isset($smarty->compiler_object) || !is_object($smarty->compiler_object->template)) ? $smarty->template_resource : $smarty->compiler_object->template->getTemplateFilepath());
// If the template is part of a module
if (!empty($params['mod']))
return Translate::smartyPostProcessTranslation(Translate::getModuleTranslation($params['mod'], $params['s'], basename($filename, '.tpl'), $sprintf, isset($params['js'])), $params);
// If the tpl is at the root of the template folder
if (dirname($filename) == '.')
$class = 'index';
// If the tpl is used by a Helper
if (strpos($filename, 'helpers') === 0)
$class = 'Helper';
// If the tpl is used by a Controller
else
{
if (!empty(Context::getContext()->override_controller_name_for_translations))
$class = Context::getContext()->override_controller_name_for_translations;
elseif (isset(Context::getContext()->controller))
{
$class_name = get_class(Context::getContext()->controller);
$class = substr($class_name, 0, strpos(Tools::strtolower($class_name), 'controller'));
}
else
{
// Split by \ and / to get the folder tree for the file
$folder_tree = preg_split('#[/\\\]#', $filename);
$key = array_search('controllers', $folder_tree);
// If there was a match, construct the class name using the child folder name
// Eg. xxx/controllers/customers/xxx => AdminCustomers
if ($key !== false)
$class = 'Admin'.Tools::toCamelCase($folder_tree[$key + 1], true);
elseif (isset($folder_tree[0]))
$class = 'Admin'.Tools::toCamelCase($folder_tree[0], true);
}
}
Return Translate::smartyPostProcessTranslation(Translate::getAdminTranslation($params['s'], $class, $addslashes, $htmlentities, $sprintf), $params);
}
Smartyfront.confing.inc.php :
<?php
global $smarty;
$smarty->setTemplateDir(_PS_THEME_DIR_.'tpl');
if (Configuration::get('PS_HTML_THEME_COMPRESSION'))
$smarty->registerFilter('output', 'smartyMinifyHTML');
if (Configuration::get('PS_JS_HTML_THEME_COMPRESSION'))
$smarty->registerFilter('output', 'smartyPackJSinHTML');
function smartyTranslate($params, &$smarty)
{
global $_LANG;
if (!isset($params['js']))
$params['js'] = false;
if (!isset($params['pdf']))
$params['pdf'] = false;
if (!isset($params['mod']))
$params['mod'] = false;
if (!isset($params['sprintf']))
$params['sprintf'] = null;
$string = str_replace('\'', '\\\'', $params['s']);
$filename = ((!isset($smarty->compiler_object) || !is_object($smarty->compiler_object->template)) ? $smarty->template_resource : $smarty->compiler_object->template->getTemplateFilepath());
$basename = basename($filename, '.tpl');
$key = $basename.'_'.md5($string);
if (isset($smarty->source) && (strpos($smarty->source->filepath, DIRECTORY_SEPARATOR.'override'.DIRECTORY_SEPARATOR) !== false))
$key = 'override_'.$key;
if ($params['mod'])
return Translate::smartyPostProcessTranslation(Translate::getModuleTranslation($params['mod'], $params['s'], $basename, $params['sprintf'], $params['js']), $params);
else if ($params['pdf'])
return Translate::smartyPostProcessTranslation(Translate::getPdfTranslation($params['s']), $params);
if ($_LANG != null && isset($_LANG[$key]))
$msg = $_LANG[$key];
elseif ($_LANG != null && isset($_LANG[Tools::strtolower($key)]))
$msg = $_LANG[Tools::strtolower($key)];
else
$msg = $params['s'];
if ($msg != $params['s'] && !$params['js'])
$msg = stripslashes($msg);
elseif ($params['js'])
$msg = addslashes($msg);
if ($params['sprintf'] !== null)
$msg = Translate::checkAndReplaceArgs($msg, $params['sprintf']);
return Translate::smartyPostProcessTranslation($params['js'] ? $msg : Tools::safeOutput($msg), $params);
}
Init.php :
<?php
if (isset(Context::getContext()->controller))
$controller = Context::getContext()->controller;
else
{
$controller = new FrontController();
$controller->init();
}
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Aplicatie de Gestiune a Serviciilor Oferite de Automotive Service (ID: 149422)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
