| Current Path : /var/www/iplanru/data/www/iplan.5018.vps.agava.net/administrator/components/com_mover/ |
| 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));
}
?>