<?php
/*
+===========================================+
|      ArabPortal V2.1.x Copyright © 2006   |
|   -------------------------------------   |
|            By Rafia AL-Otibi              |
|                    And                    |
|              Arab Portal Team             |
|   -------------------------------------   |
|      Web: http://www.ArabPortal.Net       |
|   -------------------------------------   |
|  Last Updated: 24/10/2006 Time: 12:00 PM  |
+===========================================+
*/

if (stristr($_SERVER['SCRIPT_NAME'], "menu.php")) {
    die ("<center><h3>عفوا هذه العملية غير مشروعة</h3></center>");
}

class menu
{
     function filemenu_list()
     {
         global $apt;
         echo  "<tr><td class=datacell width=\"33%\"><p class=fontablt>ملف البلوك المستخدم في هذه القائمة :
         <br>او استخدم محتوى القائمة</b></td><td class=datacell width=\"72%\"><select name='filemenu'>";
         echo "<option selected value=''></option>";
         $open = @opendir("./../block");
         while($file = @readdir($open)){
         if (($file != ".") && ($file != "..") && (is_file("./../block/$file")))
         {
         $ext = strchr($file,'.');
         if($ext == '.php'){
         $file = str_replace(".php", "" , $file);
         $file = preg_replace("/[^a-zA-Z0-9\-\_]/", "" , $file);
         echo "<option value='$file'>$file</option>";
         }}}
         echo "</select></td></tr>\n";
      }

     function blockmenu_list($block)
     {
         global $apt;
         echo  "<tr><td class=datacell width=\"33%\"><p class=fontablt>القالب المستخدم في هذه القائمة :
         يجب ان يوجد هذ القالب في جميع الثيمات المستخدمة</b></td><td class=datacell width=\"72%\"><select name='blockmenu'>";
         echo "<option selected value='$block'>$block</option>";

                $theme = $apt->getsettings('theme');

        $result = $apt->query("SELECT name FROM rafia_templates
                                  WHERE temptype='7' and theme='$theme'
                                  and name!='$block'");
                                  
         while($row = $apt->dbarray($result))
         {
             extract($row);
             echo "<option value='$name'>$name</option>";
         }
         echo "</select></td></tr>\n";
      }
      
    function menu ($action)
    {
        global $apt,$admin;

        $action = $apt->format_data($action);
       
        if ($action=="")
        {
            $admin->head();
            $admin->openform("$PHP_SELF?cat=menu&act=updateall&id=$id&".$admin->get_sess());

            $result = $apt->query("SELECT * FROM rafia_menu ORDER BY menuorder,menualign ASC");
            while($row = $apt->dbarray($result)){
		$menuid = $row["menuid"]; $menualign = $row["menualign"];
		$allmenu[$menualign][$menuid] = $row;
		}
            $admin->opentable("القوائم",6);
            print "<tr> ";

            $admin->td_msgh("القائمة",4);
            $admin->td_msgh("الترتيب",10);
            $admin->td_msgh("<center>الظهور</center>",10); 
            $admin->td_msgh("<center>الاتجاه</center>",10); 
            $admin->td_msgh("التحرير",10);
            $admin->td_msgh("المسح",10);
	      print "</tr>";

		echo '<tr bgcolor><td class="datacell" bgcolor="D2D4D4" width="120%" background="images/td_back.gif" colspan="6">
			<p align="center"><b>قوائم اليمين</b></td></tr>';
		if(count($allmenu[1])>0){
            foreach($allmenu[1] as $id=>$row){
                	$co = $row["menuid"];
                		echo "<tr bgcolor= $color ><td class=datacell bgcolor=D2D4D4 width=0% > <input type=hidden name=menuid[$co] value=" . $row["menuid"] . "></b></td>";
                	echo "<tr bgcolor= $color ><td class=datacell bgcolor=D2D4D4 width=35% > " . $row["title"] . "</b></td>";
                		echo "<td width=5% class=datacell align=center ><input name=or[$co] size='1' value=" . $row["menuorder"] . "></b></td>";
			$menushow=$admin->menushow('menushow['.$co.']',$row["menushow"]);
			$menualign =$admin->menualign('menualign['.$co.']',$row["menualign"]);
              	    echo "<td width=10% class=datacell align=center><a href=\"" . $PHP_SELF . "?cat=menu&act=edit&id=" . $row["menuid"]. "&".$admin->get_sess()."\"><img border=0 src=images/ico_edit.gif /></a></td>";
                  echo "<td width=10% class=datacell align=center><a href=" . $PHP_SELF . "?cat=menu&act=delete&id=" . $row["menuid"] . "&".$admin->get_sess()." onClick=\"if (!confirm('هل ترغب فعلاً في الحذف؟')) return false;\"><img border=0 src=images/ico_delete.gif /></a></td></tr>";
                 	echo "<tr bgcolor= $color ><td class=datacell bgcolor=D2D4D4 width=0% ></b></td>";
            }
		}
		echo '<tr bgcolor><td class="datacell" bgcolor="D2D4D4" width="120%" background="images/td_back.gif" colspan="6">
			<p align="center"><b>قوائم الوسط</b></td></tr>';

		if(count($allmenu[3])>0){
            foreach($allmenu[3] as $id=>$row){
                	$co = $row["menuid"];
                		echo "<tr bgcolor= $color ><td class=datacell bgcolor=D2D4D4 width=0% > <input type=hidden name=menuid[$co] value=" . $row["menuid"] . "></b></td>";
                	echo "<tr bgcolor= $color ><td class=datacell bgcolor=D2D4D4 width=35% > " . $row["title"] . "</b></td>";
                		echo "<td width=5% class=datacell align=center ><input name=or[$co] size='1' value=" . $row["menuorder"] . "></b></td>";
			$menushow=$admin->menushow('menushow['.$co.']',$row["menushow"]);
			$menualign =$admin->menualign('menualign['.$co.']',$row["menualign"]);
              	    echo "<td width=10% class=datacell align=center><a href=\"" . $PHP_SELF . "?cat=menu&act=edit&id=" . $row["menuid"]. "&".$admin->get_sess()."\"><img border=0 src=images/ico_edit.gif /></a></td>";
                  echo "<td width=10% class=datacell align=center><a href=" . $PHP_SELF . "?cat=menu&act=delete&id=" . $row["menuid"] . "&".$admin->get_sess()." onClick=\"if (!confirm('هل ترغب فعلاً في الحذف؟')) return false;\"><img border=0 src=images/ico_delete.gif /></a></td></tr>";
                 	echo "<tr bgcolor= $color ><td class=datacell bgcolor=D2D4D4 width=0% ></b></td>";
            }
            }
		echo '<tr bgcolor><td class="datacell" bgcolor="D2D4D4" width="120%" background="images/td_back.gif" colspan="6">
			<p align="center"><b>قوائم اليسار</b></td></tr>';

		if(count($allmenu[2])>0){
            foreach($allmenu[2] as $id=>$row){
                	$co = $row["menuid"];
                		echo "<tr bgcolor= $color ><td class=datacell bgcolor=D2D4D4 width=0% > <input type=hidden name=menuid[$co] value=" . $row["menuid"] . "></b></td>";
                	echo "<tr bgcolor= $color ><td class=datacell bgcolor=D2D4D4 width=35% > " . $row["title"] . "</b></td>";
                		echo "<td width=5% class=datacell align=center ><input name=or[$co] size='1' value=" . $row["menuorder"] . "></b></td>";
			$menushow=$admin->menushow('menushow['.$co.']',$row["menushow"]);
			$menualign =$admin->menualign('menualign['.$co.']',$row["menualign"]);
              	    echo "<td width=10% class=datacell align=center><a href=\"" . $PHP_SELF . "?cat=menu&act=edit&id=" . $row["menuid"]. "&".$admin->get_sess()."\"><img border=0 src=images/ico_edit.gif /></a></td>";
                  echo "<td width=10% class=datacell align=center><a href=" . $PHP_SELF . "?cat=menu&act=delete&id=" . $row["menuid"] . "&".$admin->get_sess()." onClick=\"if (!confirm('هل ترغب فعلاً في الحذف؟')) return false;\"><img border=0 src=images/ico_delete.gif /></a></td></tr>";
                 	echo "<tr bgcolor= $color ><td class=datacell bgcolor=D2D4D4 width=0% ></b></td>";
            }
            }

            $admin->closetable();
            $admin->submit("تــحريـر");


        }

        else if ($action=="add")
        {
            $admin->head();
            $admin->opentable("إضافة قائمة");
            $admin->openform("$PHP_SELF?cat=menu&act=insert&".$admin->get_sess());
            $admin->inputtext("اسم القائمة","title","");
            $this->blockmenu_list('blockmenu');
            $admin->selectnum("ترتيب","menuorder","",'0','100');
            $admin->rightorleftormiddle("تقع في الجانب ؟", 'menualign',1);
            $admin->textarea(" رائس القائمة . تستطيع استخدام html","menuhead","",'5','5');
            $this->filemenu_list();
            $admin->textarea("محتوى القائمة html","menucenter", "",'5','12');
            $admin->yesorno("اظهار القائمة ؟", 'menushow',1);
            $admin->yesorno("إظهار القائمة للاعضاء المسجلين دخول فقط", 'checkuser',0);
            $admin->closetable();
            $admin->submit("اضف");

        }
        else if($action=="insert")
        {

            extract($_POST);
    
            if (!$apt->full($title))
            {
              $admin->windowmsg("لم تقم بكتابة اسم التصنيف");
               exit;
            }
    
            if (!$apt->full($menutitle))
            {
                $menutitle = 'mainmenu';
            }
    
            $title       = $admin->format_data($apt->post[title]);
            $menuhead    = $admin->format_data($apt->post[menuhead]);
            $filemenu    = $admin->format_data($apt->post[filemenu]);
		if($filemenu !== ''){
            $menucenter  = '<!--INC dir="block" file="'.$filemenu.'.php" -->';
		}else{
            $menucenter  = $admin->format_data($apt->post[menucenter]);
		}
            $menushow    = $admin->format_data($apt->post[menushow]);
            $checkuser   = $admin->format_data($apt->post[checkuser]);
            $blockmenu   = $admin->format_data($apt->post[blockmenu]);
            $result = $apt->query("insert into rafia_menu
                                   (title,blockmenu,menutitle,menuhead,menucenter,
                                    menualign,menushow,menuorder,checkuser)
                                    values
                                   ('$title','$blockmenu','$menutitle','$menuhead','$menucenter',
                                    '$menualign','$menushow','$menuorder','$checkuser')");
                               
            if ($result)
            {
                header("Refresh: 1;url=index.php?cat=menu&".$admin->get_sess());
                $admin->windowmsg("<p>تمت الاضافة بنجاح</p>");
            }
        }
        else if($action=="edit")
        {
            $admin->head();
            $id     = $apt->setid('id');
            $result = $apt->query("select * from rafia_menu where menuid=$id");
            $row    = $apt->dbarray($result);
            extract($row);
            $admin->opentable("تحرير قائمة");
            $admin->openform("$PHP_SELF?cat=menu&act=update&id=$menuid&".$admin->get_sess());
            $admin->inputtext("اسم القائمة","title",stripslashes($title));
            $this->blockmenu_list($blockmenu);
            $admin->selectnum("ترتيب","menuorder",$menuorder,'0','100');
            $admin->rightorleftormiddle("تقع في الجانب ؟", 'menualign',$menualign);
            if($menuid != "13")$admin->textarea(" رأس القائمة . تستطيع استخدام html","menuhead",htmlspecialchars($menuhead),'5','5');
            if($menuid != "13")$this->filemenu_list();
            if($menuid != "13")$admin->textarea("محتوى القائمة html","menucenter", htmlspecialchars($menucenter),'5','12');
            
            $admin->yesorno("اظهار القائمة ؟", 'menushow',$menushow);

            if($menuid != "4" and $menuid != "5")
            {
                $admin->yesorno("إظهار القائمة للاعضاء المسجلين دخول فقط", 'checkuser',$checkuser);
            }

            $admin->closetable();
            $admin->submit("تــحريـر");
        }
        else if($action=="update")
        {
            $id = $apt->setid('id');
            
            extract($_POST);

            $title       = $admin->format_data($apt->post[title]);
            $menuhead    = $admin->format_data($apt->post[menuhead]);
            $filemenu    = $admin->format_data($apt->post[filemenu]);
		if($filemenu !== ''){
            $menucenter  = '<!--INC dir="block" file="'.$filemenu.'.php" -->';
		}else{
            $menucenter  = $admin->format_data($apt->post[menucenter]);
		}
            $menushow    = $admin->format_data($apt->post[menushow]);
            $checkuser   = $admin->format_data($apt->post[checkuser]);
            $blockmenu   = $admin->format_data($apt->post[blockmenu]);
            if($id=='5') $checkuser   = '1';
            if($id=='4') $checkuser   = '2';
            if($id=='8') $checkuser   = '2';

            $result=$apt->query("update rafia_menu set title='$title',
                                                         blockmenu='$blockmenu',
                                                         menuorder='$menuorder',
                                                         menualign='$menualign',
                                                         menuhead='$menuhead',
                                                         menucenter='$menucenter',
                                                         menushow='$menushow',
                                                         checkuser='$checkuser'
                                                         where menuid=$id");
            if ($result)
            {
                header("Refresh: 1;url=index.php?cat=menu&".$admin->get_sess());
                $admin->windowmsg("<p>تم التحديث</p>");
            }
        }
        ////////////////////
       else if($action=="updateall"){
       extract($_POST);
       foreach($menuid as $menuid){
       $result=$apt->query("update rafia_menu set menuorder='$or[$menuid]',
                                                  menualign='$menualign[$menuid]',
                                                  menushow='$menushow[$menuid]'
                                                  where menuid=$menuid limit 1;");
       }
            if ($result)
            {
                header("Refresh: 1;url=index.php?cat=menu&".$admin->get_sess());
                $admin->windowmsg("<p>تم التحديث</p>");
            }
        }
//////////////////////
        else if($action=="delete")
        {
            $id = $apt->setid('id');
            $result=$apt->query("delete from rafia_menu where menuid=$id");

           if ($result)
           {
               header("Refresh: 1;url=index.php?cat=menu&".$admin->get_sess());
              $admin->windowmsg("<p>تمت عملية الحذف </p>");
           }
       }
       //---------------------------------------------------
//
//---------------------------------------------------
        else if($action=="updatemenu")
        {
            extract($_POST);

            $value =  $admin->myimplode($menucheck);

            $result = $apt->query("update rafia_settings set value='$value' WHERE variable='index_menuid'");

            if ($result)
            {
                header("Refresh: 1;url=index.php?cat=menu&act=indexmenu&".$admin->get_sess());
                $admin->windowmsg("تم التعديل بنجاح");
            }
        }

//---------------------------------------------------
//
//---------------------------------------------------
        elseif ($action=="indexmenu")
        {
            $admin->head();

            $admin->modulid_menu($apt->getsettings("index_menuid"),"اختر القوائم التي ترغب ان تظهر في الاقسام العامة , غير البرامج الرئيسية",'menu');
        }
   }
}
?>
