| 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/mover3.php |
<?php
//ini_set('display_errors',1);error_reporting(E_ALL);
$js_temp=' {
"d8124a62-ceab-4c9d-a6af-b49b5b0d9230": {
"0": {
"value": "<p>teaser<\/p>"
}
},
"dd7ab764-3a30-403a-a2f0-ee7fcc08a2a8": {
"0": {
"value": "<p>full<\/p>"
}
},
"682ee4d8-36b4-4dfe-aca5-7ee505e18e5d": {
"file": "images\/apply_f2.png",
"title": "",
"link": "",
"target": "0",
"rel": "",
"lightbox_image": "",
"spotlight_effect": "",
"caption": "",
"width": 32,
"height": 32
}
}';
$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 * FROM zzz_zoo_category', 0, $count);
$rows = $db->loadObjectList();
$h[]= ' Из <select name="from_cat_id">';
$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->name;
}
$h[]= '</select>';
$h[]= ' В <select id="to_cat_id" name="to_cat_id">';
$h[]=ShowTree($db,0, 0, 0, 2,$_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]<>'')
{
$h[]= '<fieldset>';
$db->setQuery('SELECT i.*
FROM zzz_zoo_category c, zzz_zoo_category_item ci, zzz_zoo_item i
WHERE ci.category_id=c.id AND ci.item_id=i.id and c.id='.$_POST[from_cat_id].' limit 0, 50', 0, $count);
$rows = $db->loadObjectList();
foreach ($rows as $row){
$elements=json_decode($row->elements,true);
$param_teaser=$elements['0b389f74-6f93-4bcd-a725-f8b654b8d3b9']['0']['value'];
$param_full=$elements['890117e1-2056-461b-96c3-c7e8f4a2a98b']['0']['value'];
$param_title=$row->name;
$param_title=str_replace("«",'"',$param_title);
$param_title=str_replace("»",'"',$param_title);
$param_title=str_replace('"','\"',$param_title);
$h[]= '<b>title: </b>'.$param_title.'<br>';
$param_alias=myalias($row->name).'-'.$row->id;
$h[]= '<b>alias: </b>'.$param_alias.'<br>';
preg_match_all("~".'\<img'."(.*?)".'\/\>'."~is", $param_full, $m); $m=$m[1][0];
preg_match_all("~".'src\=\"'."(.*?)".'"'."~is", $m, $m); $m=$m[1][0];
if(!file_exists('../'.$m))$h[]=$null_value;
$h[]= '<img src="'.JRoute::_( '../'.$m ).'" align="right" width=100 /><br>';
$param_path_image=$m;
//$param_teaser=strip_tags($param_teaser,'<p><a><br><h1><h2><h3><h4><h5><h6><ul><li>');
$h[]= '<b>teaser: </b>'.$param_teaser.'<br>';
$h[]= '<b>full: </b>'.mb_substr(strip_tags($param_full),0,50).' ... '.mb_substr(strip_tags($param_full),-50,50).'<br>';
//save---------------------------------
if ($_POST['save']=='1' and $_POST[to_cat_id]<>'' and mvGetValue($db,'val','SELECT id val FROM #__zoo_item WHERE alias="'.$param_alias.'"')=='')
{
$js=json_decode($js_temp,true);
$js['d8124a62-ceab-4c9d-a6af-b49b5b0d9230']['0']['value']=$param_teaser;
$js['dd7ab764-3a30-403a-a2f0-ee7fcc08a2a8']['0']['value']=$param_full;
$js['682ee4d8-36b4-4dfe-aca5-7ee505e18e5d']['file']=$param_path_image;
$js_text=json_encode($js, JSON_FORCE_OBJECT);
$js_text=str_replace("\\","\\\\",$js_text);
$js_text=str_replace('"','\"',$js_text);
$par=json_decode($js_param_temp,true);
$par['metadata.title']=$param_title;
$par['config.primary_category']=$_POST[to_cat_id];
$par['metadata.description']=$param_teaser;
$par=json_encode($par, JSON_FORCE_OBJECT);
$par=str_replace("\\","\\\\",$par);
$par=str_replace('"','\"',$par);
$query = "INSERT INTO #__zoo_item
(id,application_id,type,name,alias,
created,modified,modified_by,publish_up,publish_down,
priority,hits,state,access,created_by,
created_by_alias,searchable,elements,params)
VALUES
(NULL, 2, \"page\", \"{$param_title}\", \"{$param_alias}\",
\"{$row->created}\", \"{$row->modified}\", 949, '0000-00-00 00:00:00', '0000-00-00 00:00:00',
0, {$row->hits}, 1, 1, 949,
'', 1, \"{$js_text}\", \"{$par}\");";
$db->setquery($query);$b=$db->query($query);
if (!$b) $h[]= '<span style="color:red;">Ошибка при сохранении материала в базу данных!</span><br>';
if (empty($js_real))
{
$item_id=mvGetValue($db,'val','SELECT id val FROM #__zoo_item WHERE alias="'.$param_alias.'"');
//save cat
if (!empty($item_id) and !empty($_POST[to_cat_id])){
$query = "INSERT INTO #__zoo_category_item (category_id, item_id)
VALUES (\"{$_POST[to_cat_id]}\", \"{$item_id}\");";
$db->setquery($query);$b=$db->query($query);
if (!$b){
$h[]= '<span style="color:red;">Ошибка при сохранении категории в базу данных!</span><br>';
}
else{
$h[]= '<span style="color:green;">Категория удачно сохранена в базу данных</span><br>';
}
}
else{
$h[]= '<span style="color:red;">Отсутствуют данные для сохранения категории!</span><br>';
}
//tags
if (!$b){
$h[]= '<span style="color:red;">Ошибка при сохранении записи в базу данных!</span><br>';
}
else{
$h[]= '<span style="color:green;">Запись удачно сохранена в базу данных</span><br>';
if (count($kw)<>0){
if (!empty($item_id)){
foreach ($kw as $kword){
$word=trim($kword);
if (mvGetValue($db,'val','SELECT item_id val FROM #__zoo_tag WHERE item_id="'.$item_id.'" and name="'.$word.'"')==''){
$query = "INSERT INTO #__zoo_tag (item_id,name)
VALUES (\"{$item_id}\", \"{$word}\");";
$db->setquery($query);$b=$db->query($query);
}
if (!$b)
$h[]= '<span style="color:red;">Ошибка при сохранении ключевого слова в базу данных!</span><br>';
else
$h[]= '<span style="color:green;">Ключевое слово удачно сохранено в базу данных</span><br>';
}
}
else{
$h[]= '<span style="color:red;">Item_id пустой!</span><br>';
}
}
else{
$h[]= '<span style="color:red;">Ключевые слова отсутствуют!</span><br>';
}
}
}
}
$h[]= '<hr>';
}
$h[]= '</fieldset>';
}
$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->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));
}
?>