Your IP : 216.73.216.170


Current Path : /var/www/iplanru/data/www/iplan.5018.vps.agava.net/administrator/components/com_mover/
Upload File :
Current File : /var/www/iplanru/data/www/iplan.5018.vps.agava.net/administrator/components/com_mover/mover.php

<?php
//ini_set('display_errors',1);error_reporting(E_ALL);
//смена айди категории
$js_temp='';

$js_param_temp=' {
	"metadata.title": "",
	"metadata.description": "",
	"metadata.keywords": "",
	"metadata.robots": "",
	"metadata.author": "",
	"config.enable_comments": "1",
	"config.primary_category": "12"
}';


defined( '_JEXEC' ) or die( 'Restricted access' );

$date = date("Y-m-d");
$date_time = date("Y-m-d H:i:s");
$db =&JFactory::getDBO();

$null_value="************************";

global $mainframe;

$Itemid	= JRequest::getInt( 'Itemid', 1, 'get' );

$h[]= '<form action="'.JRoute::_( 'index.php?option=com_mover&Itemid='.$Itemid ).'" method="POST">';



//----------------------------------------------------------------------
$h[]= '<fieldset>';
$db->setQuery('SELECT c.id as id, concat(s.title," - ",c.title) as name 
				FROM aaa_sections s, aaa_categories c
				where s.id=c.section order by s.id, c.id', 0, $count);
$rows = $db->loadObjectList();
$h[]= ' Из <select name="from_cat_id" width="300" style="width: 300px">';
$h[]= '<option value="-1" selected="selected"> - Выберите категорию - ';
		$h[]= '<option value="0"';
		if ($selected_id==$row->id){$h[]= ' selected';}
		$h[]='>';
		$h[]='Без категории';		
foreach ($rows as $row)
{
	$h[]= '<option value="'.$row->id.'"';
	if ($_POST[from_cat_id]==$row->id) $h[]= ' selected';
	$h[]= '>'.$row->id.' '.$row->name;
}
$h[]= '</select>';

$h[]= ' Или <input type="text" size="5" name="from_cat_id_fact" />';

$h[]= ' В <select id="to_cat_id" name="to_cat_id" width="300" style="width: 300px">';	
		$h[]=ShowTree($db,0, 0, 0, 1,$_POST[to_cat_id]);	
		$h[]='</select>';		
$h[]= ' <input type="checkbox" name="save" value="1" />Сохранить';
$h[]= ' <input type="submit" value="Применить" />';
$h[]= '</fieldset>';




//----------------------------------------------------------------------
if ($_POST[from_cat_id]<>'' or $_POST[from_cat_id_fact]<>'')
{
	if ($_POST[from_cat_id_fact]<>'') 
		$catid=$_POST[from_cat_id_fact];
	else
		$catid=$_POST[from_cat_id];
		
	$h[]='Выбрана категория '.$catid.'<br>';
	
	if (mvGetValue($db,'val','SELECT id as val FROM jos_zoo_category Where id='.$catid)<>'') {
		$h[]='<span style="color:red;">Целевая категория уже существует.</span><br>';
		$tar=true;
	}
	else {
		$tar=false;
	}
	
	
	//save---------------------------------
	if ($_POST['save']=='1' and $_POST[to_cat_id]<>'' and !$tar)
	{			
		$h[]='Замена категории '.$_POST[to_cat_id].'<br>';
		
		$db->setQuery('SELECT i.id as id, i.params as params 
						FROM jos_zoo_category c, jos_zoo_category_item ci, jos_zoo_item i
						where c.id=ci.category_id 
							and ci.item_id=i.id 
							and c.id='.$_POST[to_cat_id], 0, $count);
		$rows = $db->loadObjectList();

		foreach ($rows as $row){
			$par=json_decode($row->params,true);
			$par['config.primary_category']=$catid;
			$par=json_encode($par, JSON_FORCE_OBJECT);
			$par=str_replace("\\","\\\\",$par);
			$par=str_replace('"','\"',$par);
			
			$query = "UPDATE #__zoo_item
							SET params=\"{$par}\"
							WHERE id={$row->id}";
				
				$db->setquery($query);$b=$db->query($query);
				if ($b) $h[]= '<span style="color:green;">Материал сохранен</span><br>';	
				else $h[]= '<span style="color:red;">Ошибка запроса</span><br>';	
		}
		
		$query = "UPDATE #__zoo_category_item
							SET category_id=\"{$catid}\"
							WHERE category_id={$_POST[to_cat_id]}";			
		$db->setquery($query);$b=$db->query($query);
		if ($b) $h[]= '<span style="color:green;">zoo_category_item сохранен</span><br>';	
				else $h[]= '<span style="color:red;">Ошибка запроса zoo_category_item</span><br>';
		
		$query = "UPDATE #__zoo_category
							SET id=\"{$catid}\"
							WHERE id={$_POST[to_cat_id]}";			
		$db->setquery($query);$b=$db->query($query);
		if ($b) $h[]= '<span style="color:green;">zoo_category сохранен</span><br>';	
				else $h[]= '<span style="color:red;">Ошибка запроса zoo_category</span><br>';
		
		$query = "UPDATE #__zoo_category
							SET parent=\"{$catid}\"
							WHERE parent={$_POST[to_cat_id]}";			
		$db->setquery($query);$b=$db->query($query);
		if ($b) $h[]= '<span style="color:green;">parent сохранен</span><br>';	
				else $h[]= '<span style="color:red;">Ошибка запроса parent</span><br>';	
	
	}
}




$h[]= '</form>';


echo implode("\r\n",$h);


function ShowTree($db,$ParentID, $lvl, $id_cat, $id_app, $selected_id) 
{
	global $lvl; 
	$lvl++; 
	$hf='';
	$count='';	
	$db->setQuery("SELECT * FROM #__zoo_category 
									WHERE parent=".$ParentID." and application_id=".$id_app."  
									ORDER BY ordering", 0, $count);
	$rows = $db->loadObjectList();
	foreach ($rows as $row)
	{
		$hf .= '<option value="'.$row->id.'"';
		if ($selected_id==$row->id){$hf .= ' selected';}
		$hf.='>';
		for ($i=2;$i<=$lvl;$i++){$hf.='--';}

		$hf.=$row->id.' '.$row->name;
		$hf.=ShowTree($db,$row->id, $lvl, $id_cat, $id_app,$selected_id); 		
	}
	$lvl--;
	return $hf;
}	


function mvGetValue($db,$field,$sql)
{
	$count='';
	$ret='';
	$db->setQuery($sql, 0, $count);
	$rows = $db->loadObjectList();
	if (count($rows)<>0)
	foreach ($rows as $row)
		{$ret=$row->$field;};
	return $ret;
}

function myalias($str)
{
	$str=GetInTranslit($str);
	$str=strtolower(substr(trim(preg_replace('/[^0-9a-zA-Z]+/','-',$str),'-'),0,63));
	return $str;
}

function GetInTranslit($string) {
	$replace=array(
		"'"=>"", "`"=>"",
		"а"=>"a","А"=>"a", "б"=>"b","Б"=>"b", "в"=>"v","В"=>"v",
		"г"=>"g","Г"=>"g", "д"=>"d","Д"=>"d", "е"=>"e","Е"=>"e",
		"ж"=>"zh","Ж"=>"zh", "з"=>"z","З"=>"z", "и"=>"i","И"=>"i",
		"й"=>"y","Й"=>"y", "к"=>"k","К"=>"k", "л"=>"l","Л"=>"l",
		"м"=>"m","М"=>"m", "н"=>"n","Н"=>"n", "о"=>"o","О"=>"o",
		"п"=>"p","П"=>"p", "р"=>"r","Р"=>"r", "с"=>"s","С"=>"s",
		"т"=>"t","Т"=>"t", "у"=>"u","У"=>"u", "ф"=>"f","Ф"=>"f",
		"х"=>"h","Х"=>"h", "ц"=>"c","Ц"=>"c", "ч"=>"ch","Ч"=>"ch",
		"ш"=>"sh","Ш"=>"sh", "щ"=>"sch","Щ"=>"sch", "ъ"=>"","Ъ"=>"",
		"ы"=>"y","Ы"=>"y", "ь"=>"","Ь"=>"", "э"=>"e","Э"=>"e",
		"ю"=>"yu","Ю"=>"yu", "я"=>"ya","Я"=>"ya", "і"=>"i","І"=>"i",
		"ї"=>"yi","Ї"=>"yi", "є"=>"e","Є"=>"e"
	);
	return $str=iconv("UTF-8","UTF-8//IGNORE",strtr($string,$replace));
}


?>