hostname_logon, $this->username_logon, $this->password_logon) or die ('Unabale to connect to the database'); mysql_select_db($this->database_logon) or die ('Unable to select database!'); return; } //prevent injection function qry($query) { $this->dbconnect(); $args = func_get_args(); $query = array_shift($args); $query = str_replace("?", "%s", $query); $args = array_map('mysql_real_escape_string', $args); array_unshift($args,$query); $query = call_user_func_array('sprintf',$args); $result = mysql_query($query) or die(mysql_error()); if($result){ return $result; }else{ $error = "Error"; return $result; } } function curPageURL() { $pageURL = 'http'; if ($_SERVER["HTTPS"] == "on") {$pageURL .= "s";} $pageURL .= "://"; if ($_SERVER["SERVER_PORT"] != "80") { $pageURL .= $_SERVER["SERVER_NAME"].":".$_SERVER["SERVER_PORT"].$_SERVER["REQUEST_URI"]; } else { $pageURL .= $_SERVER["SERVER_NAME"].$_SERVER["REQUEST_URI"]; } return $pageURL; } function homemenu() { $this->dbconnect(); $result = $this->qry("SELECT * FROM menu_element WHERE Hidden=0 ORDER BY Position, Date DESC"); while($row = mysql_fetch_array($result)) { if($row != "Error") echo '
  • '.$row['Name'].'
  • '; } } function topmenu() { $this->dbconnect(); $result = $this->qry("SELECT * FROM menu_element WHERE Hidden=0 ORDER BY Position, Date"); while($row = mysql_fetch_array($result)) { if($row != "Error") echo '> '.strtolower($row['Name']).''; } } function helpContent() { echo '

    Help

    '; echo ''; echo '


    '; echo '

    Meniu - creare/editare

    '; echo '
    Adaugarea unui nou meniu se face din pagina principala actionand butonul "Adauga" dupa cum se observa mai jos.

    '; echo '


    '; echo '
    Pentru redenumirea meniului se foloseste butonul EDIT asociat acestuia.

    '; echo '
    Pentru fiecare element de tip meniu se poate alege pozitia acestuia in meniu, se poate selecta daca este vizibil clientului si se poate sterge complet. Orice element nou introdus in pagina este automat vizibil clientului si are pozitia 0, cea mai inferioara. Doua elemente cu aceeasi pozitie vor fi ordonate descrescator dupa data in care au fost adaugate. In cazul in care un element nu este vizibil, butonul EDIT este de culoare rosie pentru a atentiona acest lucru. La stergerea unui meniu se vor sterge toate submeniurile acestuia cu tot ceea ce contin (pagini, date, link-uri, fisiere).

    Tabela de mai jos este folosita si pentru navigare prin pagin a de administrator, accesand link-urile cu numele meniurilor.

    '; echo '
    DenumirePozitieVizibilStergere
    Lista lucrari




    '; echo '

    Submeniu - creare/editare

    '; echo '
    Fiecare meniu poate avea un singur submeniu si fiecare submeniu va contine in mod automat o pagina. La adaugarea unui nou meniu in pagina, la prima editare se va putea alege crearea unui submeniu sau a unei pagini pentru meniul curent.

    '; echo '
    Schimbarea numelui submeniului se realizeaza exact la fel ca si in cazul meniului.Pentru submeniu exista aceelasi optiuni ca si pentru meniu: pozitie, vizibilitate, stergere.
    '; echo '



    '; echo '

    Pagina - creare/editare

    '; echo '
    Paginile pot fi create fie ca parte a meniului principal, fie ca parte a submeniului. Acestea sunt formate sub forma de lista de inregistrari care contine titlu, descriere, link-uri si fisiere. Link-urile si fisierele se pot plasa atat la sfarsitul descrierii cat si sub acesta. La creare, fiecare inregistrare trebuie sa contina neaparat descriere, celelalte campuri sunt optionale.
    '; echo '



    '; echo '

    Cursuri - creare/editare

    '; echo '
    Crearea unui curs se realizeaza exact la fel ca si crearea unui submeniu.

    In cadrul cursului se pot adauga cursuri, laboratoare si fisiere aditionale.Pentru adaugarea unui curs sau unui laborator campurile "Adaugati curs" , "Numar curs" si "Titlu" sunt obligatorii. Numarul cursului sau laboratorului trebuie sa fie de forma "Curs x", respectiv "Lab x". Daca se adauga un curs/laborator care exista deja in baza de date pentru disciplina respectiva, va aparea un mesaj de atentionare, si focusul va ramane pe acelasi input pana la selectarea unui intrari corecte.

    Alte campuri optionalesunt legate de descriere, vizibilitate si inserari de link-uri si fisiere.

    La editarea unui curs/laborator se pot modifica toate informatiile inclusiv fisierul de curs/lab, se pot adauga sau sterge link-uri , fisiere. La stergerea fisierului de curs/lab prin accesarea butonului va fi necesara adaugarea unui nou fisier.

    '; echo '
    Fisier curs: Curs_1.pdf
    '; echo '



    '; echo '

    Link-uri - adaugare/stergere

    '; echo '
    Link-uri pot fi adaugate fiecarei discipline, curs, laborator, sau inregistrare din cadrul unei pagini. Numarul lor este nelimitat. Un link odata adaugat poate fi sters inainte de salvare prin accesarea butonului de Delete din dreptul acestuia.

    La adaugarea unui link pentru o inregistrare, pozitia acestuia poate fi la sfarsitul textului sau sub acesta. Pentru acesta inante de audagare trebuie selectata pozitia. Odara salvata, aceasta nu mai poate fi schimbata. doar daca se introduce acelasi link cu noua pozitie dorita si vechiul link va fi sters.

    '; echo '
    Adaugati link:
    Pozitie:
    '; echo '



    '; echo '

    Fisiere - adaugare/stergere

    '; echo '
    In cazul fisierelor se respecta aceleasi reguli ca si la link-uri, singura diferenta este ca nu se poate face un upload mai mare de 10 fisiere in acelasi moment.

    Toate fisierele afisate pe site se pastreaza in folderul /upload in care exista un arbore de foldere prin care se evita astfel stergerea unui fisier care se va aparea pe site in mai multe locuri.
    '; echo '



    '; echo '

    CV - creare/editare

    '; echo '
    CV-ul contine inregistrati de tipul titlu-descriere. La editare exista un convertor in timp real din text in html pentru ca administratorul sa poate vedea cum va fi afisat textul pe partea de client. Pentru acesta se foloseste tasta ENTER pentru linie noua si SPACE pentru a pune spatii.

    Ordinea in care se introduc inregistrarile este si ordinea in care vor fi afisate.
    '; echo '



    '; } function homeContent() { $this->dbconnect(); echo '

    Meniu

    '; $result = $this->qry("SELECT * FROM menu_element ORDER BY Position, Date DESC"); $numrow=mysql_num_rows($result); if ($numrow>0) echo ''; while($row = mysql_fetch_array($result)) { if($row != "Error") { echo ''; $select = ""; echo ''; if($row['Hidden']!=0) echo ''; else echo ''; echo ''; } } if ($numrow>0) echo '
    DenumirePozitieVizibilStergere
    '.$row['Name'].''.$select.'
    '; echo '
    '; echo ''; } function editHomeContent($MenuCode){ $this->dbconnect(); echo '

    Meniu

    '; $result = $this->qry("SELECT * FROM menu_element WHERE MenuCode=".$MenuCode); while($row = mysql_fetch_array($result)) { if($row != "Error") { echo '
    '; if($row['HasSubmenu']==1) echo '
    - acces submeniu'; else { $res = $this->qry("SELECT * FROM page WHERE MenuCode=".$MenuCode); if(mysql_num_rows($res)==0) echo '
    - creaza submeniu
    - creaza pagina'; else echo '
    - acces pagina'; } } } } function fromMenu($MenuCode){ $this->dbconnect(); $resTitle = $this->qry("SELECT HasSubmenu FROM menu_element WHERE MenuCode=".stripslashes($MenuCode)); $row = mysql_fetch_array($resTitle); if($row != "Error") if($row['HasSubmenu']==1) $this->submenu($MenuCode); else $this->page($MenuCode,"MenuCode"); } function submenu($MenuCode){ //$this->dbconnect(); $resTitle = $this->qry("SELECT Name FROM menu_element WHERE MenuCode=".stripslashes($MenuCode)); $row = mysql_fetch_array($resTitle); if($row != "Error") { echo '

    '.$row['Name'].'

    '; } $result = $this->qry("SELECT * FROM submenu_element WHERE MenuCode=".stripslashes($MenuCode)." ORDER BY Position, Date DESC"); $numrow=mysql_num_rows($result); if ($numrow>0) echo ''; while($row = mysql_fetch_array($result)) { if($row != "Error") { echo ''; $select = ""; echo ''; if($row['Hidden']!=0) echo ''; else echo ''; echo ''; } } if ($numrow>0) echo '
    DenumirePozitieVizibilStergere
    '.$row['SubmenuName'].''.$select.'
    '; echo '
    '; } function editSubmenuContent($MenuCode, $SubmenuCode) { $this->dbconnect(); $res = $this->qry("SELECT Name FROM menu_element WHERE MenuCode=".$MenuCode); while($row = mysql_fetch_array($res)) { if($row != "Error") { echo '

    '.$row['Name'].'

    '; } } $result = $this->qry("SELECT * FROM submenu_element WHERE SubmenuCode=".$SubmenuCode); while($row = mysql_fetch_array($result)) { if($row != "Error") { echo '
    '; $res1 = $this->qry("SELECT * FROM page WHERE SubmenuCode=".$SubmenuCode); $res2 = $this->qry("SELECT * FROM course WHERE SubmenuCode=".$SubmenuCode); if(mysql_num_rows($res1)==0 && mysql_num_rows($res2)==0) echo '
    - creaza pagina'; else echo '
    - acces pagina'; } } } function createContent($code, $type) { if($type=="submenu") { $this->dbconnect(); $resTitle = $this->qry("SELECT Name FROM menu_element WHERE MenuCode=".stripslashes($code)); $row = mysql_fetch_array($resTitle); if($row != "Error") { echo '

    '.$row['Name'].'

    '; } echo '
    '; } else if($type="page") { $this->dbconnect(); $resTitle = $this->qry("SELECT Name FROM menu_element WHERE MenuCode=".stripslashes($code)); $row = mysql_fetch_array($resTitle); $page_code=""; do { $page_code = $this->getRand(5); $result = $this->qry("SELECT PageCode from page where PageCode=".$page_code); } while(mysql_num_rows($result)>0); $qry = "INSERT into page (PageCode, Title, MenuCode) values (".$page_code.", '".$row['Name']."', ".stripslashes($code).")"; $insert = mysql_query($qry) or die ("Insert error: ".mysql_error()); echo '
    - acces pagina'; } } function page($Code,$codeType) { $resTitle = $this->qry("SELECT Title, PageCode FROM page WHERE ".$codeType."=".stripslashes($Code)); $row_page = mysql_fetch_array($resTitle); if($row_page != "Error" && mysql_affected_rows()>0) { echo '

    '.$row_page['Title'].'

    '; echo '

    '; $result = $this->qry("SELECT * FROM page_object WHERE PageCode=".stripslashes($row_page['PageCode'])." ORDER BY Position, Date DESC"); $numrow=mysql_num_rows($result); $recNo=0; $pageType=""; while($row = mysql_fetch_array($result)) { if($row != "Error") { if($row['Info']=="cv") { $pageType="cv"; $recNo++; $recID = 'rec'.$recNo; $cv_recID = "cv_rec".$recNo; $spanID = substr($cv_recID, 6); echo '
    '.$row['Title'].'
    '.$row['Description'].'
    '; if($recNo==$numrow) echo '
    Adauga
    '; } else { $pageType="page"; $recNo++; if($recNo==1) { echo '
    '; echo '
     PozitieVizibilStergere
    '; echo ''; } echo ''; if($recNo==$numrow) { echo '
    '; echo ''; $select = ""; echo ''; if($row['Hidden']!=0) echo ''; else echo ''; echo '
    '; if($row['Hidden']!=0) echo '
    '; else echo '
    '; echo 'Edit
    '.$select.'
    '; echo '
    '; echo '
    '.$row['Title'].'
    '.$row['Description']; $this->getLinks($row['PageObjCode'], "PageObjCode", "right"); $this->getFiles($row['PageObjCode'], "PageObjCode", "right"); echo '
    '; $this->getLinks($row['PageObjCode'], "PageObjCode", "bottom"); $this->getFiles($row['PageObjCode'], "PageObjCode", "bottom"); echo '
    '; echo '
    '; echo '
    '; echo '
    '; } } } } if($pageType=="page" || $numrow==0) { echo '
    '; } } else if($row != "Error") { } } function editCVRecord($MenuCode, $PageObjCode) { $this->dbconnect(); $resTitle = $this->qry("SELECT p.Title FROM page AS p INNER JOIN menu_element AS m ON p.MenuCode=m.MenuCode AND m.MenuCode=".stripslashes($MenuCode)); $row = mysql_fetch_array($resTitle); echo'

    '.$row['Title'].'

    '; echo '

    '; $result = $this->qry("SELECT * FROM page_object WHERE PageObjCode=".stripslashes($PageObjCode)); $obj_row = mysql_fetch_array($result); echo '
    '.$obj_row['Title'].'
    '.$obj_row['Description'].'
    '; echo ""; echo '
    '; } function createCVRecord($MenuCode, $PageObjCode) { $this->dbconnect(); $resTitle = $this->qry("SELECT p.Title FROM page AS p INNER JOIN menu_element AS m ON p.MenuCode=m.MenuCode AND m.MenuCode=".stripslashes($MenuCode)); $row = mysql_fetch_array($resTitle); echo'

    '.$row['Title'].'

    '; echo '

    '; echo '
    '; echo ""; echo '
    '; } function editPageObject($code, $PageObjCode, $type) { $this->dbconnect(); $name = ''; if($type=="menu") { $result = $this->qry("SELECT Name FROM menu_element WHERE MenuCode=".stripslashes($code)); $name = 'Name'; } else if($type=="submenu") { $result = $this->qry("SELECT SubmenuName FROM submenu_element WHERE SubmenuCode=".stripslashes($code)); $name = 'SubmenuName'; } $row = mysql_fetch_array($result); if($row != "Error") { echo '

    '.$row[$name].'

    '; echo '

    '; } } function show_edit($cv_recID, $recID, $code) { $this->dbconnect(); $result = $this->qry("SELECT * FROM page_object WHERE PageObjCode=".stripslashes($code)." AND Info='cv'"); while($row = mysql_fetch_array($result)) { echo '
    Cancel
    Save
    '; } } function getedit($cv_recID, $recID, $code) { $this->dbconnect(); $result = $this->qry("SELECT * FROM `page_object` WHERE PageObjCode=".stripslashes($code)." AND Info='cv'"); while($row = mysql_fetch_array($result)) { echo '
    Edit
    '; } } function resetedit($code) { $this->dbconnect(); $result = $this->qry("SELECT * FROM page_object WHERE PageObjCode=".stripslashes($code)." AND Info='cv'"); while($row = mysql_fetch_array($result)) { echo '
    '.$row['Title'].'
    '.$row['Description'].'
    '; } } function saveMenuRec($name, $pos, $hidden, $location) { $this->dbconnect(); if($location=="menu_element") $qry = "UPDATE `".$location."` SET Position=".$pos." , Hidden=".$hidden." WHERE Name='".$name."'"; else if ($location=="submenu_element") $qry = "UPDATE `".$location."` SET Position=".$pos." , Hidden=".$hidden." WHERE SubmenuName='".$name."'"; else if ($location=="page_object") $qry = "UPDATE `".$location."` SET Position=".$pos." , Hidden=".$hidden." WHERE PageObjCode=".$name; else if ($location=="links") $qry = "UPDATE `".$location."` SET Hidden=".$hidden." WHERE LinkCode=".$name; else if ($location=="files") $qry = "UPDATE `".$location."` SET Hidden=".$hidden." WHERE FileCode=".$name; $result = mysql_query($qry) or die ("Update error: ".mysql_error()); $rowNo = mysql_affected_rows(); //echo 'From class: '.$rowNo.' '.$name.' '.$pos.' '.$hidden; } function renameMenu($code, $location, $name) { $this->dbconnect(); if($location=="menu_element") $res = $this->qry("SELECT Name from menu_element where Name='".$name."'"); else if($location=="submenu_element") $res = $this->qry("SELECT SubmenuName from submenu_element where SubmenuName='".$name."'"); if(mysql_num_rows($res)>0) echo 'Acest meniu exista deja!'; else { if($location=="menu_element") $qry = "UPDATE `menu_element` SET Name='".$name."' WHERE MenuCode=".$code; else if($location=="submenu_element") { $qry2 = "UPDATE `page` SET Title='".$name."' WHERE SubmenuCode=".$code; $res2 = mysql_query($qry2) or die ("Update error: ".mysql_error()); $qry = "UPDATE `submenu_element` SET SubmenuName='".$name."' WHERE SubmenuCode=".$code; } $result = mysql_query($qry) or die ("Update error: ".mysql_error()); //echo 'Redenumirea a avut loc cu succes !'; } } function getRand($num) { $n=1; for($i=1;$i<$num;$i++) $n=$n*10; $newCode=rand($n, $n*10-1); return $newCode; } function addMenu($name, $menu, $codeM){ $this->dbconnect(); if($menu=="menu_element") { $res = $this->qry("SELECT Name from menu_element where Name='".$name."'"); if(mysql_num_rows($res)>0) echo 'Acest meniu exista deja!'; else { $code=0; do { $code = $this->getRand(2); $result = $this->qry("SELECT Name from menu_element where MenuCode=".$code); } while(mysql_num_rows($result)>0); $qry = "INSERT into menu_element (MenuCode, Name) values(".$code.", '".$name."')"; $insert = mysql_query($qry) or die ("Insert error: ".mysql_error()); //echo 'From class: '.mysql_affected_rows(); } } else if($menu=="submenu_element") { $res_course = $this->qry("SELECT Name from menu_element where MenuCode=".$codeM); $row=mysql_fetch_array($res_course); $courseName = $row['Name']; $has_page=0; if($courseName!="Cursuri") $has_page=1; else $has_page=0; $resUpdate = $this->qry("UPDATE menu_element SET HasSubmenu=1 WHERE MenuCode=".$codeM." AND HasSubmenu=0"); $res = $this->qry("SELECT SubmenuName from submenu_element where SubmenuName='".$name."' AND MenuCode=".$codeM); if(mysql_num_rows($res)>0) echo 'Acest submeniu exista deja!'; else { $code=0; do { $code = $this->getRand(4); $result = $this->qry("SELECT SubmenuName from submenu_element where SubmenuCode=".$code); } while(mysql_num_rows($result)>0); $qry = "INSERT into submenu_element (SubmenuCode, MenuCode, SubmenuName, HasPage) values(".$code.", ".$codeM.", '".$name."', ".$has_page.")"; $insert = mysql_query($qry) or die ("Insert error: ".mysql_error()); if($has_page==1) { $page_code=0; do { $page_code = $this->getRand(5); $res_page = $this->qry("SELECT Title from page where PageCode=".$page_code); } while(mysql_num_rows($res_page)>0); $qry = "INSERT into page (PageCode, Title, SubmenuCode) values(".$page_code.", '".$name."', ".$code.")"; $insert = mysql_query($qry) or die ("Insert error: ".mysql_error()); } } } } function savecv($title, $desc, $code) { $this->dbconnect(); $qry = "UPDATE `page_object` SET Description='".$desc."' , Title='".$title."' WHERE PageObjCode=".$code; $result = mysql_query($qry) or die ("Update error: ".mysql_error()); $rowNo = mysql_affected_rows(); echo 'From class: '.$rowNo.' '.$code.' '.$title.' '.$desc; } function fromSubmenu($MenuCode, $SubmenuCode) { $this->dbconnect(); $resTitle = $this->qry("SELECT HasPage, SubmenuName FROM submenu_element WHERE SubmenuCode=".stripslashes($SubmenuCode)); $row = mysql_fetch_array($resTitle); if($row != "Error") { if($row['HasPage']==0) { echo'

    '.$row['SubmenuName'].'

    '; $this->course($MenuCode, $SubmenuCode); $this->lab($MenuCode, $SubmenuCode); $this->bottomLinks($MenuCode, $SubmenuCode); } else { $this->page($SubmenuCode,"SubmenuCode"); } } } function course($MenuCode, $SubmenuCode) { echo'

    Curs

    '; $result = $this->qry("SELECT * FROM course WHERE SubmenuCode=".stripslashes($SubmenuCode)." ORDER BY LENGTH(CourseNo), CourseNo"); while($row = mysql_fetch_array($result)) { if($row != "Error") { $fileAddress = $this->qry("SELECT Address FROM files WHERE CourseCode=".$row['CourseCode']." AND Position='left' AND Hidden=0"); $rowFile = mysql_fetch_array($fileAddress); $fileName=""; if($rowfile != "Error") { $fileName=$rowFile['Address']; echo '
    '; if($row['Hidden']!=0) echo '
    '; else echo '
    '; echo 'Edit
    '.$row['Name'].'
    '.$row['Description'].'
    '; $this->getLinks($row['CourseCode'], "CourseCode", "bottom"); $this->getFiles($row['CourseCode'], "CourseCode", "bottom"); echo '
    '; } } } echo '
    Adauga
    '; echo'

    '; } function lab($MenuCode, $SubmenuCode) { echo'

    Laborator

    '; $result = $this->qry("SELECT * FROM laboratory WHERE SubmenuCode=".stripslashes($SubmenuCode)." ORDER BY LENGTH(LabNo), LabNo"); while($row = mysql_fetch_array($result)) { $fileName=""; if($row != "Error") { $fileAddress = $this->qry("SELECT Address FROM files WHERE LabCode=".$row['LabCode']." AND Position='left' AND Hidden=0"); $rowFile = mysql_fetch_array($fileAddress); $fileName=$rowFile['Address']; echo '
    '; if($row['Hidden']!=0) echo '
    '; else echo '
    '; echo 'Edit
    '.$row['Name'].'
    '.$row['Description'].'
    '; $this->getLinks($row['LabCode'], "LabCode", "bottom"); $this->getFiles($row['LabCode'], "LabCode", "bottom"); } } echo ''; } function getFiles($code, $codeType, $position) { $result = $this->qry("SELECT * FROM files WHERE ".$codeType."=".$code." AND Position='".$position."'"); while($row = mysql_fetch_array($result)) { if($row != "Error") { $path_parts = pathinfo($row['Name']); $ext = strtolower($path_parts["extension"]); if($position=="right") if($row['Hidden']!=1) echo '['.$ext.'] '; else echo '['.$ext.'] '; else { if($position=="bottom" && ($codeType=="CourseCode" || $codeType=="LabCode")) echo '
    '; else if($position=="bottom" && ($codeType!="CourseCode" || $codeType!="LabCode")) echo '
    '; else echo '
    '; if($ext=="pdf") echo ''; else if($ext=="doc" || $ext=="docx") echo ''; else if($ext=="ppt" || $ext=="pptx") echo ''; else echo ''; if($row['Hidden']!=1) echo ''.$row['Name'].'
    '; else echo ''.$row['Name'].'
    '; } } } } function getLinks($code, $codeType, $position) { $result = $this->qry("SELECT * FROM links WHERE ".$codeType."=".$code." AND Position='".$position."'"); while($row = mysql_fetch_array($result)) { if($row != "Error") { if($position=="right") if($row['Hidden']!=1) echo '['.$row['Name'].'] '; else echo '['.$row['Name'].'] '; else { if($position=="bottom" && $codeType=="PageObjCode") echo ''; } } } } function bottomLinks($MenuCode, $SubmenuCode) { echo '

    Link-uri/Fisiere

    '; $result = $this->qry("SELECT Name, Address FROM links WHERE SubmenuCode=".$SubmenuCode." AND Position='bottomend' AND Hidden=0"); $numrow=mysql_num_rows($result); echo ''; if($numrow > 0) { echo '