Quiz Component For Joomla

1,551 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,551
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
29
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Quiz Component For Joomla

  1. 1. Page 1 Quiz component for Joomla 1.The component files: File adauga_test.php: <?php defined(quot;_JEXECquot;) or exit(quot;Restricted accessquot;); ?> <?php $user =& JFactory::getUser(); if($user->usertype!=quot;Super Administratorquot;) $mainframe- >redirect('index.php'); ?> <?php $previz=JRequest::getVar('previz',null); if($previz==quot;Previzualizarequot;) { $titlu_test=JRequest::getVar('titlu_test',''); $editor_test=JRequest::getString('editor_test', '', 'POST', JREQUEST_ALLOWRAW); $descriere_test=JRequest::getString('descriere_test', '', 'POST', JREQUEST_ALLOWRAW); Download http://24secunde.com/joomla/media/com_componentamea.zip
  2. 2. Page 2 print(quot;<h1>quot;.$titlu_test.quot;</h1>quot;); print(quot;<br/>quot;); print(quot;quot;.$descriere_test.quot;quot;); print(quot;<br/>quot;); print(quot;<br/>quot;); $intrebari_teste=explode(quot;<intrebare/>quot;, $editor_test); foreach($intrebari_teste as $intrebare) { $intrebare=trim($intrebare); $intrebare1=explode(quot;nquot;, $intrebare); $i=1; foreach($intrebare1 as $raspuns) { if($i==1) { print(quot;<h3>quot;.$raspuns.quot;</h3>quot;); $i++; continue; } print('<input name=quot;quot; type=quot;radioquot; value=quot;quot;>'); print($raspuns); print(quot;<br/>quot;); } print(quot;<br/>quot;); } print(quot;<br/>quot;); } if($previz==quot;Inregistreazaquot;) { $titlu_test=JRequest::getVar('titlu_test',''); $editor_test=JRequest::getString('editor_test', '', 'POST', JREQUEST_ALLOWRAW); $descriere_test=JRequest::getString('descriere_test', '', 'POST', JREQUEST_ALLOWRAW); JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'tables'); $table_test = JTable::getInstance('cunoastere_test', 'Table'); $table_intreb = JTable::getInstance('cunoastere_intrebari', 'Table'); $table_rasp = JTable::getInstance('cunoastere_raspunsuri', 'Table'); $table_test->reset(); $uniqid=uniqid(quot;quot;); $table_test->set('nume_test', $uniqid); if (!$table_test->store()) print('<h1>Eroare - functia $table_test->store().</h1>'); $db = &JFactory::getDBO(); $query = 'SELECT id FROM #__cunoastere_test WHERE nume_test=quot;'.$uniqid.'quot;'.'ORDER BY id DESC LIMIT 1' ; $db->setQuery($query); $id_test=$db->loadResult(); $table_test->load($id_test); Download http://24secunde.com/joomla/media/com_componentamea.zip
  3. 3. Page 3 $table_test->set('nume_test', $titlu_test); $table_test->set('descriere_test', addslashes($descriere_test)); if ($table_test->check()) { if (!$table_test->store()) { print('<h1>Eroare - functia $table_test->store().</h1>'); } } else { print('<h1>Eroare - functia $table_test->check().</h1>'); } $intrebari_teste=explode(quot;<intrebare/>quot;, $editor_test); $j=1; foreach($intrebari_teste as $intrebare) { $intrebare=trim($intrebare); $intrebare1=explode(quot;nquot;, $intrebare); $i=1; foreach($intrebare1 as $raspuns) { if($i==1) { if(trim($raspuns)==quot;quot;) continue; $table_intreb->reset(); $table_intreb- >set('nume_intrebare', $uniqid); if (!$table_intreb- >store()) print('<h1>Eroare - functia $table_intreb- >store().</h1>'); $db = &JFactory::getDBO(); $query = 'SELECT id FROM #__cunoastere_intrebari WHERE nume_intrebare=quot;'.$uniqid.'quot;'.'ORDER BY id DESC LIMIT 1' ; $db->setQuery($query); $id_intrebare=$db- >loadResult(); $table_intreb- >load($id_intrebare); $table_intreb- >set('id_test', $id_test); $table_intreb- >set('nume_intrebare', addslashes( $raspuns)); if ($table_intreb->check()) { Download http://24secunde.com/joomla/media/com_componentamea.zip
  4. 4. Page 4 if (!$table_intreb- >store()) { print('<h1>Eroare - functia $table_intreb->store().</h1>'); } } else { print('<h1>Eroare - functia $table_intreb->check().</h1>'); } $table_intreb->load(0); $i++; continue; } if(trim($raspuns)==quot;quot;) continue; $table_rasp->reset(); $table_rasp->set('nume_raspuns', $uniqid); if (!$table_rasp->store()) print('<h1>Eroare - functia $table_rasp->store().</h1>'); $db = &JFactory::getDBO(); $query = 'SELECT id FROM #__cunoastere_raspunsuri WHERE nume_raspuns=quot;'.$uniqid.'quot;'.'ORDER BY id DESC LIMIT 1' ; $db->setQuery($query); $id_raspuns=$db->loadResult(); $table_rasp->load($id_raspuns); $table_rasp->set('id_intrebari', $id_intrebare); $table_rasp->set('nume_raspuns', addslashes($raspuns)); if ($table_rasp->check()) { if (!$table_rasp->store()) { print('<h1>Eroare - functia $table_rasp->store().</h1>'); } } else { print('<h1>Eroare - functia $table_rasp->check().</h1>'); } $table_rasp->load(0); } } $mainframe- >redirect('index.php?option=com_componentamea&task=adauga'); } if($previz==quot;Reinitializeazaquot;) { $mainframe- >redirect('index.php?option=com_componentamea&task=adauga'); } Download http://24secunde.com/joomla/media/com_componentamea.zip
  5. 5. Page 5 ?> <script type=quot;text/javascriptquot;> function introduceti_entitate(tip) { if(tip==quot;intrebarequot;) document.getElementById(quot;editor_testquot;).value=document.getElementById( quot;editor_testquot;).value+quot;<intrebare/>quot;; if(tip==quot;raspunsquot;) document.getElementById(quot;editor_testquot;).value=document.getElementById( quot;editor_testquot;).value+quot;<raspuns/>quot;; if(tip==quot;breakquot;) document.getElementById(quot;editor_testquot;).value=document.getElementById( quot;editor_testquot;).value+quot;<break/>quot;; } </script> <form method=quot;postquot; action=quot;quot;> <strong>Introduceti un titlu pentru testul dumneavoastra: </strong> <input name=quot;titlu_testquot; type=quot;textquot; id=quot;titlu_testquot; style=quot;width:98%quot; value=quot;<?php print($titlu_test); ?>quot; maxlength=quot;255quot;> <strong>Introduceti o descriere pentru testul dumneavoastra: </strong> <textarea id=quot;descriere_testquot; name=quot;descriere_testquot; rows=quot;3quot; cols=quot;1quot; style=quot;width:98%quot;><?php print($descriere_test); ?></textarea> <strong>Introduceti intrebarile care compun testul dumneavoastra: </strong> <div style=quot;border-width:1px; border-style:solid; background- color:#CCCCCC; padding-top:2px; padding-left:2px; padding-bottom:2px; margin-bottom:2pxquot;> <a href=quot;javascript: void(0);quot; onClick='introduceti_entitate(quot;intrebarequot;)'>Intrebare</a> <a href=quot;javascript: void(0);quot; onClick='introduceti_entitate(quot;raspunsquot;)'>Raspuns</a> <a href=quot;javascript: void(0);quot; onClick='introduceti_entitate(quot;breakquot;)'>Break</a> </div> <textarea id=quot;editor_testquot; name=quot;editor_testquot; rows=quot;20quot; cols=quot;1quot; style=quot;width:98%quot;><?php print($editor_test); ?></textarea> <input name=quot;previzquot; type=quot;submitquot; value=quot;Previzualizarequot;> <input name=quot;previzquot; type=quot;submitquot; value=quot;Inregistreazaquot;> <input name=quot;previzquot; type=quot;submitquot; value=quot;Reinitializeazaquot;> </form> <textarea rows=quot;3quot; cols=quot;1quot; style=quot;width:98%quot;><intrebare/> Care este capitala Timisului? Buzias Timisoara Lugoj <intrebare/> Care este capitala Romaniei? Bucuresti Budapesta Sofia <intrebare/> Care este capitala Turciei? Download http://24secunde.com/joomla/media/com_componentamea.zip
  6. 6. Page 6 Ankara Istanbul Atena </textarea> File admin.componentamea.php: <?php // nu permite accesul direct la acest fisier defined('_JEXEC') or die('<center>Restricted access.</center>'); ?> <?php $task=JRequest::getVar('task',null).quot;quot;; if(!isset($task) || trim($task)==quot;quot;) JRequest::setVar('task','admin_test'); $task=JRequest::getVar('task',null).quot;quot;; if($task==quot;admin_testquot;) include_once(quot;admin.principal.phpquot;); if($task==quot;publishquot;) include_once(quot;admin.publish.phpquot;); if($task==quot;unpublishquot;) include_once(quot;admin.unpublish.phpquot;); if($task==quot;editquot;) include_once(quot;admin.edit.phpquot;); if($task==quot;applyquot;) include_once(quot;admin.edit.phpquot;); if($task==quot;cancelquot;) include_once(quot;admin.edit.phpquot;); if($task==quot;rezult_testquot;) include_once(quot;admin.rezultate.phpquot;); if($task==quot;removequot;) include_once(quot;admin.remove.phpquot;); ?> File admin.edit.php: <?php // nu permite accesul direct la acest fisier defined('_JEXEC') or die('<center>Restricted access.</center>'); ?> <?php $cid = JRequest::getVar( 'cid', array(0)); $id=$cid[0]; // obtinem o refeinta la clasa JUser $user =& JFactory::getUser(); // obtinem o referinta la baza de date $db =& JFactory::getDBO(); if($task== quot;applyquot;) { $titlu_test=JRequest::getVar('titlu_test',''); $descriere_test=JRequest::getString('descriere_test', '', 'POST', JREQUEST_ALLOWRAW); JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'tables '); $table_test = JTable::getInstance('cunoastere_test', 'Table'); Download http://24secunde.com/joomla/media/com_componentamea.zip
  7. 7. Page 7 $table_test->load($id); $table_test->set('nume_test', $titlu_test); $table_test->set('descriere_test', addslashes($descriere_test)); if ($table_test->check()) { if (!$table_test->store()) { print('<h1>Eroare - functia $table_test- >store().</h1>'); } } else { print('<h1>Eroare - functia $table_test->check().</h1>'); } $mainframe- >redirect('index.php?option=com_componentamea&task=edit&mesaj=salvat& cid[]='.$id.''); } if($task== quot;cancelquot;) { $mainframe- >redirect('index.php?option=com_componentamea&task=admin_test'); } $mesaj = JRequest::getVar( 'mesaj', ''); if($mesaj==quot;salvatquot;) { JError::raiseNotice('','Modificarile au fost efectuate.'); } $query=quot;SELECT `id` , `nume_test` , `descriere_test`, `published` FROM `jos_cunoastere_test` WHERE id=quot;.$id.quot;quot;; $result = $db->setQuery($query); $rows = $db->loadObjectList(); foreach($rows as $row) { print('<div style=quot;width:50%quot;>'); print('<form action=quot;quot; method=quot;postquot; name=quot;adminFormquot;>'); print('<strong>Introduceti un titlu pentru testul dumneavoastra:</strong>'); print('<input name=quot;titlu_testquot; type=quot;textquot; id=quot;titlu_testquot; style=quot;width:98%quot; value=quot;'.$row->nume_test.'quot; maxlength=quot;255quot;>'); print('<strong>Introduceti o descriere pentru testul dumneavoastra:</strong>'); print('<textarea id=quot;descriere_testquot; name=quot;descriere_testquot; rows=quot;3quot; cols=quot;1quot; style=quot;width:98%quot;>'.stripslashes($row- >descriere_test).'</textarea>'); print('<input id=quot;task_txtquot; type=quot;hiddenquot; name=quot;taskquot; value=quot;quot; />'); Download http://24secunde.com/joomla/media/com_componentamea.zip
  8. 8. Page 8 print('</form>'); print('</div>'); } JRequest::setVar('hidemainmenu', 1); ?> File admin.principal.php <?php // nu permite accesul direct la acest fisier defined('_JEXEC') or die('<center>Restricted access.</center>'); ?> <?php $ordine=JRequest::getVar('ordine',null); if(!isset($ordine))$ordine=quot;DESCquot;; ?> <form action=quot;quot; method=quot;postquot; name=quot;adminFormquot;> <script type=quot;text/javascriptquot;> function stabileste_ordinea(param) { document.getElementById(quot;ord_txtquot;).value=param; document.getElementById(quot;ord_txtquot;).form.submit(); } </script> <table class=quot;adminlistquot;> <thead> <tr> <th width=quot;20quot; class='title'>#</th> <th width=quot;20quot; class='title'> <input type=quot;checkboxquot; name=quot;togglequot; value=quot;quot; onclick=quot;checkAll(nr_chk);quot; /></th> <th class='title'>Numele testului</th> <th class='title'>Descrierea testului</th> <th width=quot;30quot; class='title'>Publicare test</th> <th width=quot;30quot; class='title'> <a href=quot;javascript: void(0);quot; onClick=quot;stabileste_ordinea('ASC')quot; title=quot;Ascendentquot;>[I</a><a href=quot;javascript: void(0);quot; onClick=quot;stabileste_ordinea('DESC')quot; title=quot;Descendentquot;>d]</a> </th> </tr> </thead> <?php $db =& JFactory::getDBO(); $db->setQuery('SELECT count(*) FROM `jos_cunoastere_test`'); $total = $db->loadResult(); $limit = $mainframe- >getUserStateFromRequest(quot;limitquot;,'limit',$mainframe- >getCfg('list_limit')); Download http://24secunde.com/joomla/media/com_componentamea.zip
  9. 9. Page 9 if($limit==0)$limit=500; $limitstart = $mainframe- >getUserStateFromRequest(quot;$option.view.limitstartquot;,'limitstart',0); $query='SELECT * FROM `jos_cunoastere_test` ORDER BY id '.$ordine.' LIMIT '.$limitstart.','.$limit.''; $result = $db->setQuery($query); $rows = $db->loadObjectList(); $int_j=0; foreach ($rows as $row) { ?> <tr class=quot;row<?php print($int_j%2);?>quot;> <td align=quot;centerquot;><?php print($int_j);?></td> <td><input type=quot;checkboxquot; id=quot;cb<?php print($int_j);?>quot; name=quot;cid[]quot; value=quot;<?php print($row->id);?>quot; onclick=quot;isChecked(this.checked);quot; /></td> <td><?php print('<a href=quot;index.php?option=com_componentamea&task=edit&cid[]='.$row- >id.'quot;>'.$row->nume_test.'</a>');?></td> <td><?php print(stripslashes($row->descriere_test));?></td> <td> <?php if($row->published==1) print('<a href=quot;javascript:void(0);quot; onclick=quot;return listItemTask('cb'.$int_j.'','unpublish')quot; title=quot;Unpublish Itemquot;> <img src=quot;images/tick.pngquot; width=quot;16quot; height=quot;16quot; border=quot;0quot; alt=quot;Noquot; /></a>'); if($row->published==0) print('<a href=quot;javascript:void(0);quot; onclick=quot;return listItemTask('cb'.$int_j.'','publish')quot; title=quot;Publish Itemquot;> <img src=quot;images/publish_x.pngquot; width=quot;16quot; height=quot;16quot; border=quot;0quot; alt=quot;Noquot; /></a>'); ?> </td> <td><?php print($row->id);?></td> </tr> <?php $int_j++; } print('<script type=quot;text/javascriptquot;>'); print('var nr_chk='.$int_j); print('</script>'); ?> <tfoot> <td colspan=quot;10quot;> <?php jimport('joomla.html.pagination'); if($limit==500)$limit=0; $pageNav = new JPagination($total,$limitstart,$limit); print($pageNav->getListFooter()); ?> </td> </tfoot> Download http://24secunde.com/joomla/media/com_componentamea.zip
  10. 10. Page 10 </table> <input id=quot;id_txtquot; type=quot;hiddenquot; name=quot;idquot; value=quot;quot; /> <input id=quot;task_txtquot; type=quot;hiddenquot; name=quot;taskquot; value=quot;quot; /> <input id=quot;ord_txtquot; type=quot;hiddenquot; name=quot;ordinequot; value=quot;<?php print($ordine); ?>quot; /> <input type=quot;hiddenquot; name=quot;boxcheckedquot; value=quot;0quot; /> </form> File admin.publish.php <?php // nu permite accesul direct la acest fisier defined('_JEXEC') or die('<center>Restricted access.</center>'); ?> <?php $cid = JRequest::getVar( 'cid', array(0)); JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'tables'); foreach($cid as $value) { $id=$value; ?> <?php $table_test = JTable::getInstance('cunoastere_test', 'Table'); $table_test->load($id); $table_test->set('published',1); if ($table_test->check()) { if (!$table_test->store()) { print('<h1>Eroare - functia $table_test->store().</h1>'); } } else { print('<h1>Eroare - functia $table_test->check().</h1>'); } ?> <?php } $mainframe->redirect('index.php?option=com_componentamea'); ?> File admin.remove.php <?php // nu permite accesul direct la acest fisier defined('_JEXEC') or die('<center>Restricted access.</center>'); ?> <?php $db =& JFactory::getDBO(); Download http://24secunde.com/joomla/media/com_componentamea.zip
  11. 11. Page 11 $user=JRequest::getVar('user_del',''); $user=$user.''; if(trim($user)==quot;quot;)$user='[{<##>}]'; $test=JRequest::getVar('test_del',0); $test=0+$test; JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'tables'); $table_user = JTable::getInstance('cunoastere_user', 'Table'); $query='SELECT `id` FROM `jos_cunoastere_user` WHERE id_test='.$test.' OR user LIKE quot;'.$user.'%quot;'; $result = $db->setQuery($query); $rows = $db->loadObjectList(); foreach($rows as $row) { $table_user->delete($row->id); } $mainframe- >redirect('index.php?option=com_componentamea&task=rezult_test'); ?> File admin.rezultate.php <?php // nu permite accesul direct la acest fisier defined('_JEXEC') or die('<center>Restricted access.</center>'); ?> <form action=quot;quot; method=quot;postquot; name=quot;adminFormquot;> <h4>Sterge rezultatele utilizatorului: </h4> <input type=quot;textquot; name=quot;user_delquot; id=quot;user_delquot; class=quot;text_areaquot; /> (Ex: Ion, Rizache, John) % - sterge tot <br/> <h4>Sterge rezultatele care includ testul:</h4> <input type=quot;textquot; name=quot;test_delquot; id=quot;test_delquot; class=quot;text_areaquot; /> (Ex: 1, 100, 2000) <br/><br/> <button onclick=quot;this.form.submit();quot;>Go</button><br/> <input id=quot;id_txtquot; type=quot;hiddenquot; name=quot;idquot; value=quot;quot; /> <input id=quot;task_txtquot; type=quot;hiddenquot; name=quot;taskquot; value=quot;removequot; /> <input type=quot;hiddenquot; name=quot;boxcheckedquot; value=quot;1quot; /> </form> File admin.unpublish.php <?php // nu permite accesul direct la acest fisier defined('_JEXEC') or die('<center>Restricted access.</center>'); ?> <?php $cid = JRequest::getVar( 'cid', array(0)); JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'tables'); foreach($cid as $value) Download http://24secunde.com/joomla/media/com_componentamea.zip
  12. 12. Page 12 { $id=$value; ?> <?php $table_test = JTable::getInstance('cunoastere_test', 'Table'); $table_test->load($id); $table_test->set('published',0); if ($table_test->check()) { if (!$table_test->store()) { print('<h1>Eroare - functia $table_test->store().</h1>'); } } else { print('<h1>Eroare - functia $table_test->check().</h1>'); } ?> <?php } $mainframe->redirect('index.php?option=com_componentamea'); ?> File componentamea.php <?php // nu permite accesul direct la acest fisier defined('_JEXEC') or die('<center>Restricted access.</center>'); ?> <?php $task=JRequest::getVar('task',null); if($task==quot;adaugaquot;) include_once(quot;adauga_test.phpquot;); if($task==quot;view_testquot;) include_once(quot;vezi_test.phpquot;); if($task==quot;nu_publicaquot;) include_once(quot;nu_publica.phpquot;); if($task==quot;publicaquot;) include_once(quot;publica.phpquot;); if($task==quot;sterge_articolquot;) include_once(quot;sterge_articol.phpquot;); if($task==quot;edit_articolquot;) include_once(quot;edit_articol.phpquot;); if($task==quot;xml_feedquot;) include_once(quot;xml_feed.phpquot;); if(!isset($task)) include_once(quot;principal.phpquot;); ?> File edit_articol.php <?php defined(quot;_JEXECquot;) or exit(quot;Restricted accessquot;); ?> <?php $user =& JFactory::getUser(); if($user->usertype!=quot;Super Administratorquot;) $mainframe- >redirect('index.php'); ?> <?php $db =& JFactory::getDBO(); $id=JRequest::getVar('id',0); $id=$id+0; $query='SELECT * FROM `jos_cunoastere_test` WHERE id='.$id.''; Download http://24secunde.com/joomla/media/com_componentamea.zip
  13. 13. Page 13 $result = $db->setQuery($query); $rows = $db->loadObjectList(); $titlu_test =$rows[0]->nume_test; $descriere_test =$rows[0]->descriere_test; $editor_test=quot;quot;; $query='SELECT * FROM `jos_cunoastere_intrebari` WHERE `id_test` ='.$id.''; $result = $db->setQuery($query); $rows = $db->loadObjectList(); foreach($rows as $row) { $editor_test=$editor_test.quot;<intrebare/>quot;.quot;nquot;; $editor_test=$editor_test.$row->nume_intrebare.quot;nquot;; $query_='SELECT * FROM `jos_cunoastere_raspunsuri` WHERE `id_intrebari` ='.($row->id).''; $result_ = $db->setQuery($query_); $rows_ = $db->loadObjectList(); foreach($rows_ as $row_) { $editor_test=$editor_test.$row_->nume_raspuns.quot;nquot;; } } $previz=JRequest::getVar('previz',null); JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'tables'); $table_test = JTable::getInstance('cunoastere_test', 'Table'); $table_intreb = JTable::getInstance('cunoastere_intrebari', 'Table'); $table_rasp = JTable::getInstance('cunoastere_raspunsuri', 'Table'); if($previz==quot;Inregistreazaquot;) { $titlu_test=JRequest::getVar('titlu_test',''); $editor_test=JRequest::getString('editor_test', '', 'POST', JREQUEST_ALLOWRAW); $descriere_test=JRequest::getString('descriere_test', '', 'POST', JREQUEST_ALLOWRAW); JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'tables'); $table_test = JTable::getInstance('cunoastere_test', 'Table'); $table_intreb = JTable::getInstance('cunoastere_intrebari', 'Table'); $table_rasp = JTable::getInstance('cunoastere_raspunsuri', 'Table'); $table_test->reset(); $uniqid=uniqid(quot;quot;); $table_test->set('nume_test', $uniqid); if (!$table_test->store()) print('<h1>Eroare - functia $table_test->store().</h1>'); $db = &JFactory::getDBO(); $query = 'SELECT id FROM #__cunoastere_test WHERE nume_test=quot;'.$uniqid.'quot;'.'ORDER BY id DESC LIMIT 1' ; $db->setQuery($query); $id_test=$db->loadResult(); Download http://24secunde.com/joomla/media/com_componentamea.zip
  14. 14. Page 14 $table_test->load($id_test); $table_test->set('nume_test', $titlu_test); $table_test->set('descriere_test', addslashes($descriere_test)); if ($table_test->check()) { if (!$table_test->store()) { print('<h1>Eroare - functia $table_test->store().</h1>'); } } else { print('<h1>Eroare - functia $table_test->check().</h1>'); } $intrebari_teste=explode(quot;<intrebare/>quot;, $editor_test); $j=1; foreach($intrebari_teste as $intrebare) { $intrebare=trim($intrebare); $intrebare1=explode(quot;nquot;, $intrebare); $i=1; foreach($intrebare1 as $raspuns) { if($i==1) { if(trim($raspuns)==quot;quot;) continue; $table_intreb->reset(); $table_intreb- >set('nume_intrebare', $uniqid); if (!$table_intreb- >store()) print('<h1>Eroare - functia $table_intreb- >store().</h1>'); $db = &JFactory::getDBO(); $query = 'SELECT id FROM #__cunoastere_intrebari WHERE nume_intrebare=quot;'.$uniqid.'quot;'.'ORDER BY id DESC LIMIT 1' ; $db->setQuery($query); $id_intrebare=$db- >loadResult(); $table_intreb- >load($id_intrebare); $table_intreb- >set('id_test', $id_test); $table_intreb- >set('nume_intrebare', addslashes( $raspuns)); if ($table_intreb->check()) Download http://24secunde.com/joomla/media/com_componentamea.zip
  15. 15. Page 15 { if (!$table_intreb- >store()) { print('<h1>Eroare - functia $table_intreb->store().</h1>'); } } else { print('<h1>Eroare - functia $table_intreb->check().</h1>'); } $table_intreb->load(0); $i++; continue; } if(trim($raspuns)==quot;quot;) continue; $table_rasp->reset(); $table_rasp->set('nume_raspuns', $uniqid); if (!$table_rasp->store()) print('<h1>Eroare - functia $table_rasp->store().</h1>'); $db = &JFactory::getDBO(); $query = 'SELECT id FROM #__cunoastere_raspunsuri WHERE nume_raspuns=quot;'.$uniqid.'quot;'.'ORDER BY id DESC LIMIT 1' ; $db->setQuery($query); $id_raspuns=$db->loadResult(); $table_rasp->load($id_raspuns); $table_rasp->set('id_intrebari', $id_intrebare); $table_rasp->set('nume_raspuns', addslashes($raspuns)); if ($table_rasp->check()) { if (!$table_rasp->store()) { print('<h1>Eroare - functia $table_rasp->store().</h1>'); } } else { print('<h1>Eroare - functia $table_rasp->check().</h1>'); } $table_rasp->load(0); } } $mainframe- >redirect('index.php?option=com_componentamea&task=view_test&id='.$id _test.''); } include_once(quot;adauga_test.phpquot;); ?> Download http://24secunde.com/joomla/media/com_componentamea.zip
  16. 16. Page 16 File index.php <?php print(quot;Componenta meaquot;); ?> File nu_publica.php <?php defined(quot;_JEXECquot;) or exit(quot;Restricted accessquot;); ?> <?php $user =& JFactory::getUser(); if($user->usertype!=quot;Super Administratorquot;) $mainframe- >redirect('index.php'); ?> <?php $id=JRequest::getVar('id',0); $id=$id+0; JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'tables'); $table_test = JTable::getInstance('cunoastere_test', 'Table'); $table_test->load($id); $table_test->set('published',0); if ($table_test->check()) { if (!$table_test->store()) { print('<h1>Eroare - functia $table_test->store().</h1>'); } } else { print('<h1>Eroare - functia $table_test->check().</h1>'); } $mainframe- >redirect('index.php?option=com_componentamea&task=view_test&id='.$id .''); ?> File principal.php <?php defined(quot;_JEXECquot;) or exit(quot;Restricted accessquot;); ?> <?php print('<div style=quot;clear:both;quot;></div>'); $url_partaj=JURI::base().quot;index.php?option=com_componentamea%26task=x ml_feed%26format=feedquot;; jimport('joomla.utilities.date'); $date1 = new JDate(); $date1=$date1->toFormat('%d-%m-%Y %H:%M:%S EET'); print('<div style=quot;background-color:#e1e1e1; padding:3px 3px 3px 3px; margin-bottom:5px; font-weight:boldquot;>'); Download http://24secunde.com/joomla/media/com_componentamea.zip
  17. 17. Page 17 print('<div style=quot;float:left;quot;>Ora vizitei: '.$date1.'</div>'); print('<div style=quot;float:right;background-color:#e1e1e1; padding:0px 0px 1px 0px;quot;>'); print('<a href=quot;'.JURI::base().'index.php?option=com_componentamea&task=xml_fee d&format=feedquot; title=quot;RSSquot;><img src=quot;components/com_hello/imagini/rss.gifquot; alt=quot;RSSquot;></a>'); print('<a href=quot;http://add.my.yahoo.com/rss?url='.$url_partaj.'quot; title=quot;Yahooquot;><img src=quot;components/com_hello/imagini/yahoo.gifquot; alt=quot;Yahooquot;></a>'); print('<a href=quot;http://fusion.google.com/add?feedurl='.$url_partaj.'quot; title=quot;Googlequot;><img src=quot;components/com_hello/imagini/google.gifquot; alt=quot;Googlequot;></a>'); print('<a href=quot;http://www.netvibes.com/subscribe.php?url='.$url_partaj.'quot; title=quot;Netvibesquot;><img src=quot;components/com_hello/imagini/netvibes.gifquot; alt=quot;Netvibesquot;></a>'); print('</div>'); print('.</div>'); print('<div style=quot;clear:both;quot;></div>'); $tip_user=quot;Super Administratorquot;; // setam titlul ce apare in browser $document =& JFactory::getDocument(); $document->setTitle(quot;Teste de cunoasterequot;); // setam parametrii pentru bara de navigatie $limit = 20; $limitstart = JRequest::getVar('limitstart',0); $limitstart = 0 + intval($limitstart); $total = 0; //numarul total de articole // obtinem o refeinta la clasa JUser $user =& JFactory::getUser(); // obtinem o referinta la baza de date $db =& JFactory::getDBO(); // avem interogari diferite pentru un user obisnuit si un administrator // administratorul poate sa aiba acces la toate inregistrarile, si la cele marcate ca nepublicate // interogarea urmatoare va intoarce numarul total de teste din baza de date; informatia este necesara pentru bara de navigatie if($user->usertype==$tip_user) $query=quot;SELECT count(*) FROM `jos_cunoastere_test` WHERE 1 quot;; else $query=quot;SELECT count(*) FROM `jos_cunoastere_test` WHERE `published`=1 quot;; $result = $db->setQuery($query); $total=$db->loadResult(); if($user->usertype==quot;Super Administratorquot;) $query=quot;SELECT `id` , `nume_test` , `descriere_test` FROM `jos_cunoastere_test` WHERE 1 ORDER BY `id` DESC LIMIT quot;.$limitstart.quot; , quot;.$limit.quot;quot;; else Download http://24secunde.com/joomla/media/com_componentamea.zip
  18. 18. Page 18 $query=quot;SELECT `id` , `nume_test` , `descriere_test` FROM `jos_cunoastere_test` WHERE `published`=1 ORDER BY `id` DESC LIMIT quot;.$limitstart.quot; , quot;.$limit.quot;quot;; $result = $db->setQuery($query); $rows = $db->loadObjectList(); foreach ($rows as $row) { print('<a href=quot;index.php?option=com_componentamea&task=view_test&id='.$row- >id.'quot; style=quot;text-decoration:none; cursor: pointer; quot; title=quot;'.$row- >nume_test.'quot;><h3>'.$row->nume_test.'</h3></a>'); print(stripslashes($row->descriere_test)); print(quot;<br/>quot;); print(quot;<br/>quot;); } jimport('joomla.html.pagination'); $_pagination = new JPagination($total, $limitstart, $limit); ?> <div style=quot;clear:bothquot;></div> <div class=quot;pagenavquot; style=quot;text-align:center; margin-top:10px; quot;> <?php print($_pagination->getPagesLinks()); ?> <br/> <?php print($_pagination->getPagesCounter()); ?> </div> File publica.php <?php defined(quot;_JEXECquot;) or exit(quot;Restricted accessquot;); ?> <?php $user =& JFactory::getUser(); if($user->usertype!=quot;Super Administratorquot;) $mainframe- >redirect('index.php'); ?> <?php $id=JRequest::getVar('id',0); $id=$id+0; JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'tables'); $table_test = JTable::getInstance('cunoastere_test', 'Table'); $table_test->load($id); $table_test->set('published',1); if ($table_test->check()) { if (!$table_test->store()) { print('<h1>Eroare - functia $table_test->store().</h1>'); } } else { Download http://24secunde.com/joomla/media/com_componentamea.zip
  19. 19. Page 19 print('<h1>Eroare - functia $table_test->check().</h1>'); } $mainframe- >redirect('index.php?option=com_componentamea&task=view_test&id='.$id .''); ?> File sterge_articol.php <?php defined(quot;_JEXECquot;) or exit(quot;Restricted accessquot;); ?> <?php $user =& JFactory::getUser(); if($user->usertype!=quot;Super Administratorquot;) $mainframe- >redirect('index.php'); ?> <?php $db =& JFactory::getDBO(); $id=JRequest::getVar('id',0); $id=$id+0; JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'tables'); $table_test = JTable::getInstance('cunoastere_test', 'Table'); $table_intreb = JTable::getInstance('cunoastere_intrebari', 'Table'); $table_rasp = JTable::getInstance('cunoastere_raspunsuri', 'Table'); $table_test->delete($id); $query='SELECT `id` FROM `jos_cunoastere_intrebari` WHERE `id_test` ='.$id.''; $result = $db->setQuery($query); $rows = $db->loadObjectList(); foreach($rows as $row) { $query_='SELECT id FROM `jos_cunoastere_raspunsuri` WHERE `id_intrebari` ='.($row->id).''; $result_ = $db->setQuery($query_); $rows_ = $db->loadObjectList(); foreach($rows_ as $row_) { $table_rasp->delete($row_->id); } $table_intreb->delete($row->id); } $mainframe->redirect('index.php?option=com_componentamea'); ?> File toolbar.componentamea.php <?php // nu permite accesul direct la acest fisier defined('_JEXEC') or die('<center>Restricted access.</center>'); ?> <?php if($task==quot;admin_testquot;) { JToolBarHelper::title('Administrare teste'); Download http://24secunde.com/joomla/media/com_componentamea.zip
  20. 20. Page 20 JToolBarHelper::editList(); JToolBarHelper::divider(); JToolBarHelper::publishList(); JToolBarHelper::unpublishList(); JToolBarHelper::divider(); JToolBarHelper::preferences('com_componentamea'); } if($task==quot;editquot; || $task==quot;applyquot; ) { JToolBarHelper::title('Editare test'); JToolBarHelper::apply(); JToolBarHelper::cancel(); } if($task==quot;rezult_testquot;) { JToolBarHelper::title('Rezultate teste'); JToolBarHelper::deleteList(); } ?> File vezi_test.php <?php defined(quot;_JEXECquot;) or exit(quot;Restricted accessquot;); ?> <?php $user =& JFactory::getUser(); $db =& JFactory::getDBO(); $id=JRequest::getVar('id',0); $id=$id+0; $previz=JRequest::getVar('previz',null); if($previz==quot;Reinitializeazaquot;) { $mainframe- >redirect('index.php?option=com_componentamea&task=view_test&id='.$id .''); } if($previz==quot;Inregistreazaquot;) { if(!isset($user->name)) $mainframe- >redirect('index.php?option=com_componentamea&task=view_test&alert_us er=not&id='.$id.''); $sir=quot;quot;.JRequest::getVar('sir',''); $sir_array=explode(quot;:quot;,$sir); if(!isset($sir_array[2])) $mainframe- >redirect('index.php?option=com_componentamea&task=view_test&alert_us er=script&id='.$id.''); jimport('joomla.utilities.date'); $date_ = new JDate(); $date = $date_->toFormat('%d/%m/%Y'); JTable::addIncludePath(JPATH_COMPONENT_ADMINISTRATOR.DS.'tables'); Download http://24secunde.com/joomla/media/com_componentamea.zip
  21. 21. Page 21 $table_user = JTable::getInstance('cunoastere_user', 'Table'); $table_user->reset(); $table_user->set('id_test', $sir_array[2]); $table_user->set('user', $user->name.quot; :: quot;.$date); $table_user->set('punctaj', $sir_array[1]*1000+$sir_array[0]); if ($table_user->check()) { if (!$table_user->store()) { print('<h1>Eroare - functia $table_user->store().</h1>'); } } else { print('<h1>Eroare - functia $table_user->check().</h1>'); } $mainframe- >redirect('index.php?option=com_componentamea&task=view_test&alert_us er=BD&id='.$id.''); } $query=quot;SELECT `id` , `nume_test` , `descriere_test`, `published` FROM `jos_cunoastere_test` WHERE id=quot;.$id.quot;quot;; $result = $db->setQuery($query); $rows = $db->loadObjectList(); $url_partaj=JURI::base().quot;index.php?option=com_componentamea%26task=v iew_test%26id=quot;.$id; foreach($rows as $row) { if($user->usertype!=quot;Super Administratorquot;) { print('<div style=quot;float:right;quot;>'); print('<a href=quot;http://www.facebook.com/sharer.php?u='.$url_partaj.'quot; title=quot;Partajeaza pe Facebookquot;><img src=quot;components/com_hello/imagini/facebook.gifquot; alt=quot;Facebookquot;></a>'); print('<a href=quot;http://digg.com/submit?phase=2&url='.$url_partaj.'quot; title=quot;Partajeaza pe Diggquot;><img src=quot;components/com_hello/imagini/diggit.gifquot; alt=quot;Diggitquot;></a>'); print('<a href=quot;http://del.icio.us/post?url='.$url_partaj.'&title='.$row- >title.'quot; title=quot;Partajeaza pe Deliciousquot;><img src=quot;components/com_hello/imagini/delicious.gifquot; alt=quot;Deliciousquot;></a>'); print('<a href=quot;https://favorites.live.com/quickadd.aspx?marklet=1&top=1&url='. $url_partaj.'quot; title=quot;Partajeaza pe Livequot;><img src=quot;components/com_hello/imagini/live.gifquot; alt=quot;Livequot;></a>'); Download http://24secunde.com/joomla/media/com_componentamea.zip
  22. 22. Page 22 print('<a href=quot;http://blogmarks.net/my/new.php?mini=1&simple=1&url='.$url_part aj.'&title='.$row->nume_test.'quot; title=quot;Partajeaza pe Blogmarksquot;><img src=quot;components/com_hello/imagini/blogmarks.gifquot; alt=quot;Blogmarksquot;></a>'); print('<a href=quot;http://www.technorati.com/faves?add='.$url_partaj.'quot; title=quot;Partajeaza pe Technoratiquot;><img src=quot;components/com_hello/imagini/technorati.gifquot; alt=quot;Technoratiquot;></a>'); print('<a href=quot;http://www.myspace.com/Modules/PostTo/Pages/?c='.$url_partaj.'quot; title=quot;Partajeaza pe Myspacequot;><img src=quot;components/com_hello/imagini/myspace.gifquot; alt=quot;Myspacequot;></a>'); print('<a href=quot;http://twitthis.com/twit?url='.$url_partaj.'&title='.$row- >nume_test.'quot; title=quot;Partajeaza pe Twitterquot;><img src=quot;components/com_hello/imagini/twitter.gifquot; alt=quot;Twitterquot;></a>'); print('</div>'); } if($user->usertype==quot;Super Administratorquot;) { print('<div style=quot;float:right;quot;>'); if($row->published==1) print('<a href=quot;index.php?option=com_componentamea&task=nu_publica&id='.$row- >id.'quot; title=quot;Nu publica acest articolquot;><img src=quot;components/com_componentamea/imagini/yes.pngquot; alt=quot;yes.pngquot;></a>'); if($row->published==0) print('<a href=quot;index.php?option=com_componentamea&task=publica&id='.$row- >id.'quot; title=quot;Publica articolquot;><img src=quot;components/com_componentamea/imagini/no.pngquot; alt=quot;no.pngquot;></a>'); print('<a href=quot;index.php?option=com_componentamea&task=edit_articol&id='.$row- >id.'quot; title=quot;Editeaza articolquot;><img src=quot;components/com_componentamea/imagini/edit.pngquot; alt=quot;edit.pngquot;></a>'); print('<a href=quot;index.php?option=com_componentamea&task=sterge_articol&id='.$ro w->id.'quot; title=quot;Sterge articolquot;><img src=quot;components/com_componentamea/imagini/del.pngquot; alt=quot;del.pngquot;></a>'); print('</div>'); } print('<div style=quot;clear:both;quot;></div>'); $alert_user=JRequest::getVar('alert_user',''); $alert_user=$alert_user.quot;quot;; if($alert_user==quot;notquot;) { Download http://24secunde.com/joomla/media/com_componentamea.zip
  23. 23. Page 23 print('<div style=quot;width:98%; border-width:1px; border-style:solid; background-color:#CCCCCC; padding-top:2px; padding-left:2px; padding- bottom:2px; margin-bottom:2pxquot;>'); print('<h4>Trebuie sa va conectati ca sa puteti inregistra rezultatele testelor.</h4>'); print('</div>'); } if($alert_user==quot;scriptquot;) { print('<div style=quot;width:98%; border-width:1px; border-style:solid; background-color:#CCCCCC; padding-top:2px; padding-left:2px; padding- bottom:2px; margin-bottom:2pxquot;>'); print('<h4>Programul necesita Javascript pentru a rula.</h4>'); print('</div>'); } if($alert_user==quot;BDquot;) { print('<div style=quot;width:98%; border-width:1px; border-style:solid; background-color:#CCCCCC; padding-top:2px; padding-left:2px; padding- bottom:2px; margin-bottom:2pxquot;>'); print('<h4>Rezultatul testului a fost inregistrat in baza de date.</h4>'); print('</div>'); } $document =& JFactory::getDocument(); $document->setTitle($row->nume_test); print(quot;<h1>quot;.$row->nume_test.quot;</h1>quot;); print(quot;<br/>quot;); print(quot;quot;.stripslashes($row->descriere_test).quot;quot;); print(quot;<br/>quot;); print(quot;<br/>quot;); $id_test=$row->id; $tablou_int=array(); $tablou_raspuns=array(); $query = 'SELECT `id` , `nume_intrebare` FROM `jos_cunoastere_intrebari` WHERE `id_test` ='.$id_test.''; $result = $db->setQuery($query); $rows = $db->loadObjectList(); ?> <script type=quot;text/javascriptquot;> var radio=new Array(); var raspuns_dat=new Array(); var rasp_date=0; var total=0; function verifica(param, param2) { var diviz=quot;div[quot;+param2+quot;]quot;; if(radio[param2]==param.value) { //visibility:visible Download http://24secunde.com/joomla/media/com_componentamea.zip
  24. 24. Page 24 document.getElementById(diviz).style.visibility=quot;visiblequot;; document.getElementById(diviz).style.color=quot;greenquot;; document.getElementById(diviz).innerHTML=quot;Raspuns corectquot;; if(raspuns_dat[param2]==-1) { raspuns_dat[param2]=raspuns_dat[param2]+2; rasp_date=rasp_date+raspuns_dat[param2]; total++; document.getElementById(quot;div_raspunsquot;).innerHTML=quot;Total test: quot;+ rasp_date + quot; / quot; + total + quot; : quot;+ parseInt(rasp_date*100/total) +quot;%quot;; } } else { document.getElementById(diviz).style.visibility=quot;visiblequot;; document.getElementById(diviz).style.color=quot;redquot;; document.getElementById(diviz).innerHTML=quot;Raspuns incorectquot;; if(raspuns_dat[param2]==-1) { raspuns_dat[param2]=raspuns_dat[param2]+1; rasp_date=rasp_date+raspuns_dat[param2]; total++; document.getElementById(quot;div_raspunsquot;).innerHTML=quot;Total test: quot;+ rasp_date + quot; / quot; + total + quot; : quot;+ parseInt(rasp_date*100/total) +quot;%quot;; } } } </script> <?php if($user->usertype!=quot;Super Administratorquot;) { $doc =& JFactory::getDocument(); $params =&$mainframe- >getPageParameters('com_componentamea'); $zone = $params->get('zona1'); if($doc->countModules('publicitate') && $doc- >countModules('publicitate')>$zone) { jimport('joomla.application.module.helper'); $module = JModuleHelper::getModules('publicitate'); echo JModuleHelper::renderModule($module[$zone]); } } foreach($rows as $row) { print(quot;<h3>quot;.stripslashes($row->nume_intrebare).quot;</h3>quot;); $id_intreb=$row->id; $tablou_int[]=$id_intreb; Download http://24secunde.com/joomla/media/com_componentamea.zip
  25. 25. Page 25 $query='SELECT `id`,`nume_raspuns` FROM `jos_cunoastere_raspunsuri` WHERE `id_intrebari`='.$id_intreb.''; $result_ = $db->setQuery($query); $rows_ = $db->loadObjectList(); $tablou_rasp=array(); $tablou_rasp_indice=array(); foreach($rows_ as $row_) { $tablou_rasp_indice[]=$row_->id; $tablou_rasp[$row_->id]=stripslashes($row_- >nume_raspuns); } $tablou_raspuns[]=$tablou_rasp_indice[0]; print('<script type=quot;text/javascriptquot;>'); print('radio['.$id_intreb.']='.$tablou_rasp_indice[0].';'); print('raspuns_dat['.$id_intreb.']=-1;'); print('var test_id='.$id_test.';'); print('</script>'); srand((double)microtime()*1000000); shuffle($tablou_rasp_indice); foreach($tablou_rasp_indice as $value) { print('<input name=quot;radio'.$id_intreb.'quot; type=quot;radioquot; value=quot;'.$value.'quot; onclick=quot;verifica('.this.','.$id_intreb.')quot;>'); print($tablou_rasp[$value]); print(quot;<br/>quot;); } print('<div id=quot;div['.$id_intreb.']quot; style=quot;visibility:hidden; width:50%; border-width:1px; border-style:solid; background- color:#CCCCCC; padding-top:2px; padding-left:2px; padding-bottom:2px; margin-bottom:2pxquot;></div>'); print(quot;<br/>quot;); } } print('<script type=quot;text/javascriptquot;>'); print('var total_ver='.count($tablou_int).';'); print('</script>'); ?> <h3>Rezultat test</h3> <div id=quot;div_raspunsquot; style=quot;width:50%; border-width:1px; border- style:solid; background-color:#CCCCCC; padding-top:2px; padding- left:2px; padding-bottom:2px; margin-bottom:2pxquot;> Nici un rezultat inca. </div> <script type=quot;text/javascriptquot;> var tip_submit=null; function verifica_form() { Download http://24secunde.com/joomla/media/com_componentamea.zip
  26. 26. Page 26 document.getElementById(quot;sirquot;).value=rasp_date+quot;:quot;+total+quot;:quot;+ test_id; if(tip_submit.value==quot;Reinitializeazaquot;) return true; if(tip_submit.value==quot;Inregistreazaquot;) { if(total_ver==total) { return true; } else return false; } } </script> <form action=quot;quot; method=quot;postquot; onSubmit=quot;return verifica_form();quot;> <input id=quot;sirquot; name=quot;sirquot; type=quot;hiddenquot; value=quot;quot;> <input name=quot;previzquot; type=quot;submitquot; value=quot;Inregistreazaquot; onClick=quot;tip_submit=this;quot;> sau <input name=quot;previzquot; type=quot;submitquot; value=quot;Reinitializeazaquot; onClick=quot;tip_submit=this;quot;> </form> <?php print(quot;<br/>quot;); $query='SELECT DISTINCT `id_test` FROM `jos_cunoastere_user` ORDER BY id DESC LIMIT 0, 10'; $result = $db->setQuery($query); $rows = $db->loadObjectList(); $teste_recom=array(); foreach($rows as $row) { $teste_recom[]=$row->id_test; } print(quot;<h3>Alte teste de cunostinte recomandate:</h3>quot;); foreach($teste_recom as $value) { $query='SELECT `id`,`nume_test` FROM `jos_cunoastere_test` WHERE id='.$value.' AND `published`=1 '; $result = $db->setQuery($query); $rows = $db->loadObjectList(); if(trim($rows[0]->nume_test.quot;quot;)==quot;quot;)continue; print('<a href=quot;index.php?option=com_componentamea&task=view_test&id='.($rows[0 ]->id).'quot; style=quot;text-decoration:nonequot; title=quot;Citeste mai mult...quot;>'); print($rows[0]->nume_test); print('</a><br/>'); } if(isset($user->name)) { print(quot;<h4>quot;); print(quot;Rezultate obtinute la test:quot;);print(quot;</h4>quot;); $id_test=0+$id_test; Download http://24secunde.com/joomla/media/com_componentamea.zip
  27. 27. Page 27 $query='SELECT `user` , `punctaj` FROM `jos_cunoastere_user` WHERE `id_test` ='.$id_test.' AND `user` LIKE quot;'.($user->name).'%quot; ORDER BY id DESC LIMIT 0 , 30'; $result = $db->setQuery($query); $rows = $db->loadObjectList(); foreach($rows as $row) { $user_data=explode(quot;::quot;,$row->user); print($user_data[1]); print(quot; quot;); $total_intreb=(int)($row->punctaj/1000); $total_dat=(int) ($row->punctaj- $total_intreb*1000); print(quot; quot;.$total_dat.quot;/quot;);print(quot;quot;.$total_intreb.quot; quot;); print(quot;Procentaj: quot;.(int)($total_dat*100/$total_intreb).quot;%quot;); print(quot;<br/>quot;); } } if($user->usertype!=quot;Super Administratorquot;) { $doc =& JFactory::getDocument(); $params =&$mainframe- >getPageParameters('com_componentamea'); $zone = $params->get('zona2'); if($doc->countModules('publicitate') && $doc- >countModules('publicitate')>$zone) { jimport('joomla.application.module.helper'); $module = JModuleHelper::getModules('publicitate'); echo JModuleHelper::renderModule($module[$zone]); } } ?> File xml_feed.php <?php defined(quot;_JEXECquot;) or exit(quot;Restricted accessquot;); ?> <?php /// Pasul 1 - stabileste linkul de baza $document = & JFactory::getDocument();; $document->setLink(JRoute::_('index.php?option=com_componentamea')); $db =& JFactory::getDBO(); $query=quot;SELECT * FROM `jos_cunoastere_test` WHERE `published`=1 ORDER BY `id` DESC LIMIT 0,30quot;; $db->setQuery($query); $rows = $db->loadObjectList(); $document->description=quot;Fluxul RSS pentru componenta de testequot;; foreach ($rows as $row) { Download http://24secunde.com/joomla/media/com_componentamea.zip
  28. 28. Page 28 $item = new JFeedItem(); $item->description =stripslashes($row- >descriere_test).quot;<br/>quot;.quot;<br/>quot;; $item->link = JRoute::_('index.php?option=com_componentamea&task=view_test&id='.$ro w->id); $item->title = $row->nume_test; $document->addItem($item); } jimport('joomla.utilities.date'); $date1 = new JDate(); $item->description=$date1->toFormat('%d-%m-%Y'); $item->link = JRoute::_('index.php?option=com_componentamea'); $item->title = quot;Data de generare a fluxuluiquot;; $document->addItem($item); $document->render(); ?> File componenta mea.xml <?xml version=quot;1.0quot; encoding=quot;utf-8quot;?> <!DOCTYPE install SYSTEM quot;http://dev.joomla.org/xml/1.5/component- install.dtdquot;> <install type=quot;componentquot; version=quot;1.5quot;> <name>Componenta mea</name> <creationDate>Martie 2009</creationDate> <author>Farcas Adrian</author> <authorEmail>farcas88@yahoo.com</authorEmail> <authorUrl>http://24secunde.com</authorUrl> <copyright>Copyright</copyright> <license>Licenta</license> <version>Versiunea 1.0</version> <description>Componenta de test</description> <administration> <menu>Admin Teste</menu> <submenu> <menu task=quot;rezult_testquot; img=quot;js/ThemeOffice/component.pngquot;>Administrare rezultate teste</menu> <menu task=quot;admin_testquot; img=quot;js/ThemeOffice/component.pngquot;>Administrare teste</menu> </submenu> <files> <filename>admin.componentamea.php</filename> <filename>admin.edit.php</filename> <filename>admin.principal.php</filename> <filename>admin.publish.php</filename> <filename>admin.remove.php</filename> <filename>admin.rezultate.php</filename> <filename>admin.unpublish.php</filename> <filename>componenta mea.xml</filename> <filename>config.xml</filename> <filename>index.php</filename> <filename>toolbar.componentamea.php</filename> Download http://24secunde.com/joomla/media/com_componentamea.zip
  29. 29. Page 29 <folder>imagini</folder> <folder>tables</folder> </files> </administration> <install> <queries> <query>DROP TABLE IF EXISTS `jos_cunoastere_intrebari`;</query> <query>DROP TABLE IF EXISTS `jos_cunoastere_raspunsuri`;</query> <query>DROP TABLE IF EXISTS `jos_cunoastere_test`;</query> <query>DROP TABLE IF EXISTS `jos_cunoastere_user`;</query> <query>CREATE TABLE `jos_cunoastere_intrebari` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `id_test` INT NOT NULL, `nume_intrebare` TEXT NOT NULL ) </query> <query>CREATE TABLE `jos_cunoastere_raspunsuri` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `id_intrebari` INT NOT NULL, `nume_raspuns` TEXT NOT NULL ) </query> <query>CREATE TABLE `jos_cunoastere_test` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `nume_test` TEXT NOT NULL , `descriere_test` TEXT NOT NULL , `published` TINYINT( 1 ) NOT NULL DEFAULT 0 ) </query> <query>CREATE TABLE `jos_cunoastere_user` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `id_test` INT NOT NULL, `user` VARCHAR(255) NOT NULL, `punctaj` INT NOT NULL DEFAULT 0 ) </query> <query> <![CDATA[ INSERT INTO `jos_cunoastere_test` ( `id` , `nume_test` , `descriere_test` , `published` ) VALUES ( '', 'Primul tau test aici / Your first quiz here:', 'Log in as Administrator and click: <a href=quot;index.php?option=com_componentamea&task=adaugaquot; title=quot;quot;>index.php?option=com_componentamea&task=adauga</a>', '1' ) ]]> Download http://24secunde.com/joomla/media/com_componentamea.zip
  30. 30. Page 30 </query> </queries> </install> <uninstall> <queries> <query>DROP TABLE IF EXISTS `jos_cunoastere_intrebari`;</query> <query>DROP TABLE IF EXISTS `jos_cunoastere_raspunsuri`;</query> <query>DROP TABLE IF EXISTS `jos_cunoastere_test`;</query> <query>DROP TABLE IF EXISTS `jos_cunoastere_user`;</query> </queries> </uninstall> <files> <filename>adauga_test.php</filename> <filename>componentamea.php</filename> <filename>edit_articol.php</filename> <filename>index.php</filename> <filename>nu_publica.php</filename> <filename>principal.php</filename> <filename>publica.php</filename> <filename>sterge_articol.php</filename> <filename>vezi_test.php</filename> <filename>xml_feed.php</filename> <folder>imagini</folder> </files> </install> File config.xml <?xml version=quot;1.0quot; encoding=quot;utf-8quot;?> <config> <params> <param name=quot;zona1quot; type=quot;textquot; default=quot;quot; label=quot;Zona de publicitate 1quot; description=quot;Selecteaza modulul pentru zona de publicitate 1quot; size=quot;3quot; /> <param name=quot;zona2quot; type=quot;textquot; default=quot;quot; label=quot;Zona de publicitate 2quot; description=quot;Selecteaza modulul pentru zona de publicitate 2quot; size=quot;3quot; /> </params> </config> Download http://24secunde.com/joomla/media/com_componentamea.zip
  31. 31. Page 31 The folder imagini Download http://24secunde.com/joomla/media/com_componentamea.zip
  32. 32. Page 32 Download http://24secunde.com/joomla/media/com_componentamea.zip
  33. 33. Page 33 The folder tables File index.html Ooops! Nu e chiar ceea ce cauti! File cunoastere_intrebari.php <?php class Tablecunoastere_intrebari extends JTable { /* CREATE TABLE `jos_cunoastere_intrebari` ( Download http://24secunde.com/joomla/media/com_componentamea.zip
  34. 34. Page 34 `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `id_test` INT NOT NULL, `nume_intrebare` TEXT NOT NULL ); */ // cream variabile pentru fiecare camp din tabel si dam fiecarei valori o valoare implicita var $id = null; var $id_test=NULL; var $nume_intrebare=NULL; // functia constructor are ca parametru o referinta la baza de date function __construct( &$db ) { parent::__construct('#__cunoastere_intrebari', 'id', $db); } // validarea datelor daca este cazul function check() { if(!$this->id_test) { $this->setError(JText::_('Eroare - lipseste campul ID din tabela TEST.')); return false; } if(!$this->nume_intrebare) { $this->setError(JText::_('Eroare - intrebarea nu poate fi vida.')); return false; } return true; } } ?> File cunoastere_raspunsuri.php <?php class Tablecunoastere_raspunsuri extends JTable { /* CREATE TABLE `jos_cunoastere_raspunsuri` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `id_intrebari` INT NOT NULL, `nume_raspuns` TEXT NOT NULL ); */ // cream variabile pentru fiecare camp din tabel si dam fiecarei valori o valoare implicita Download http://24secunde.com/joomla/media/com_componentamea.zip
  35. 35. Page 35 var $id = null; var $id_intrebari=NULL; var $nume_raspuns=NULL; // functia constructor are ca parametru o referinta la baza de date function __construct( &$db ) { parent::__construct('#__cunoastere_raspunsuri', 'id', $db); } // validarea datelor daca este cazul; function check() { if(!$this->id_intrebari) { $this->setError(JText::_('Eroare - lipseste campul ID din tabela INTREBARI.')); return false; } if(!$this->nume_raspuns) { $this->setError(JText::_('Eroare - testul nu are definit un raspuns.')); return false; } return true; } } ?> File cunoastere_test.php <?php class Tablecunoastere_test extends JTable { /* CREATE TABLE `jos_cunoastere_test` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY , `nume_test` TEXT NOT NULL , `descriere_test` TEXT NOT NULL , `published` TINYINT( 1 ) NOT NULL DEFAULT 0 ); */ // cream variabile pentru fiecare camp din tabel si dam fiecarei valori o valoare implicita var $id = null; var $nume_test=NULL; var $descriere_test=NULL; var $published = 0; // functia constructor are ca parametru o referinta la baza de date function __construct( &$db ) { Download http://24secunde.com/joomla/media/com_componentamea.zip
  36. 36. Page 36 parent::__construct('#__cunoastere_test', 'id', $db); } // validarea datelor daca este cazul; verificam ca testul sa aiba un titlu si o descriere function check() { if(!$this->nume_test) { $this->setError(JText::_('Eroare - testul nu are definit un titlu.')); return false; } if(!$this->descriere_test) { $this->setError(JText::_('Eroare - testul nu are definita o descriere.')); return false; } return true; } } ?> File cunoastere_user.php <?php class Tablecunoastere_user extends JTable { /* CREATE TABLE `jos_cunoastere_user` ( `id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY, `id_test` INT NOT NULL, `user` VARCHAR(255) NOT NULL, `punctaj` INT NOT NULL DEFAULT 0 ); */ // cream variabile pentru fiecare camp din tabel si dam fiecarei valori o valoare implicita var $id = null; var $id_test=NULL; var $user=NULL; var $punctaj = 0; // functia constructor are ca parametru o referinta la baza de date function __construct( &$db ) { parent::__construct('#__cunoastere_user', 'id', $db); } // validarea datelor daca este cazul; function check() Download http://24secunde.com/joomla/media/com_componentamea.zip
  37. 37. Page 37 { if(!$this->id_test) { $this->setError(JText::_('Eroare - lipseste campul ID din tabela TEST.')); return false; } if(!$this->user) { $this->setError(JText::_('Eroare - testul nu are definit un USER.')); return false; } return true; } } ?> Download http://24secunde.com/joomla/media/com_componentamea.zip

×