| Current Path : /var/www/iplanru/data/www/i-plan.ru/administrator/components/com_mover/ |
| Current File : /var/www/iplanru/data/www/i-plan.ru/administrator/components/com_mover/mover_main.php |
<?php
//ini_set('display_errors',1);error_reporting(E_ALL);
$js_temp=' {
"aed9068f-8fd9-4c38-89d1-83187a602ac5": {
"0": {
"value": "24900"
}
},
"dbf6c773-0a69-432c-a462-b56e620e2e5e": {
"0": {
"value": "37350"
}
},
"5ca958c9-4ac5-4d08-821f-b9640e731bd7": {
"0": {
"value": "Intesco Research Group"
}
},
"667ea4d6-3745-40b5-b2a2-41fdc13b9a47": {
"0": {
"value": "2013-02-27 00:00:00"
}
},
"d12d446f-f969-49f8-af79-f82080cdbc3f": {
"0": {
"value": "\u0412 \u043f\u0435\u0447\u0430\u0442\u043d\u043e\u043c \u0438\u043b\u0438 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u043d\u043e\u043c \u0432\u0438\u0434\u0435"
}
},
"b66a2a93-01c7-4487-9fe3-61ab4c4c7c88": {
"0": {
"value": "99"
}
},
"9ef0426c-06d1-45da-88e6-477d9d8398fe": {
"file": "images\/pdf\/478.pdf",
"hits": "1",
"download_limit": "",
"size": "540074"
},
"18e62309-487e-480c-9b95-96ebf6c01918": {
"option": {
"0": "broshyurovannaya-pechatnaya-versiya-raboty",
"1": "pereschet-dlya-banka-dlya-investora",
"2": "obnovlenie-dannykh-pod-zakaz",
"3": "khotite-deshevle-zakazhite-obzor-rynka"
},
"select": "1"
},
"f77754eb-050a-4b6c-a373-545766210121": {
"0": {
"value": ""
}
},
"7f743a10-621b-4606-ba91-d4a7eebe3992": {
"0": {
"value": ""
}
},
"8df3b01b-134d-4eba-88ea-687647a4a9fa": {
"0": {
"value": ""
}
},
"73b058b8-a242-4b81-8d0a-2f975c99d0ca": {
"0": {
"value": ""
}
},
"23a97f6f-2601-4c88-8324-168c705b61fe": {
"0": {
"value": ""
}
},
"57172c66-27cb-442d-a964-19f64f744a3b": {
"file": "\/images\/stories\/bp\/bp_478.png",
"title": "",
"link": "",
"target": "0",
"rel": "",
"lightbox_image": "",
"spotlight_effect": "",
"caption": "",
"width": 209,
"height": 296
},
"0da4853c-3022-4e57-94b4-84387cddac10": {
"value": "98"
},
"de591069-db09-4b13-a174-2c3412ce0242": {
"value": "99"
},
"538e0b12-f56b-4d39-bc95-0ed5c9287a0f": {
"value": ""
}
}';
$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">';
$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, 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]<>'')
{
$h[]= '<fieldset>';
$db->setQuery('SELECT * FROM aaa_articles a, aaa_content c
where c.id=a.id and (a.type="mi" or a.type="bp") and c.catid='.$_POST[from_cat_id].'
order by c.id limit 600,200', 0, $count);
$rows = $db->loadObjectList();
foreach ($rows as $row){
$it=$row->introtext;
preg_match_all("~".'\<img'."(.*?)".'\/\>'."~is", $it, $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" /><br>';
$param_path_image=$m;
$h[]= '<b>title: </b>'.$row->title.'<br>';
$param_title=$row->title;
$h[]= '<b>id: </b>'.$row->id.'<br>';
$param_id=$row->id;
$param_alias=myalias($row->title);
if (mvGetValue($db,'val','SELECT id val FROM #__zoo_item where alias="'.$param_alias.'"')<>'')
$param_alias=$param_alias.'-'.$param_id;
$h[]= '<b>alias: </b>'.$row->alias.'==='.$param_alias.'<br>';
$h[]= '<b>created: </b>'.$row->created.'<br>';
$param_created=$row->created;
$h[]= '<b>modified: </b>'.$row->modified.'<br>';
$param_modified=$row->modified;
$h[]= '<b>metakey: </b>'.$row->metakey.'<br>';
$param_metakey=$row->metakey;
if (empty($row->metadesc))$row->metadesc=$param_title;
$h[]= '<b>metadesc: </b>'.$row->metadesc.'<br>';
$param_metadesc=$row->metadesc;
$h[]= '<b>hits: </b>'.$row->hits.'<br>';
$param_hits=$row->hits;
$price= preg_replace('~[^0-9]+~','',$row->price);
$h[]= '<b>price: </b>'.$price.'<br>';
preg_match_all("~".'Автор\:'."(.*?)".'\<\/tr\>'."~is", $it, $m); $m=strip_tags($m[1][0]);
if ($m=='')$h[]=$null_value;
$h[]= '<b>Автор: </b>'.$m.'<br>';
$param_autor=$m;
$h[]= '<b>Дата выхода: </b>'.$row->date.' 00:00:00'.'<br>';
$param_exit_date=$row->date.' 00:00:00';
if ($param_created=="0000-00-00 00:00:00") $param_created=$param_exit_date;
preg_match_all("~".'Способ предоставления\:'."(.*?)".'\<\/tr\>'."~is", $it, $m); $m=strip_tags($m[1][0]);
if ($m=='')$h[]=$null_value;
$h[]= '<b>Способ предоставления: </b>'.$m.'<br>';
$param_sposob_predost=$m;
preg_match_all("~".'Количество страниц\:'."(.*?)".'\<\/tr\>'."~is", $it, $m); $m=strip_tags($m[1][0]);
if ($m=='')$h[]=$null_value;
$h[]= '<b>Количество страниц: </b>'.$m.'<br>';
$param_page_count=$m;
preg_match_all("~".'Демо-версия'."(.*?)".'Cкачать'."~is", $it, $m); $m=$m[1][0];
preg_match_all("~".'href\=\"'."(.*?)".'"'."~is", $m, $m); $m=$m[1][0];
$m='images/'.$m;
if (!file_exists('../'.$m))$h[]=$null_value;
$h[]= '<b>Демо-версия: </b><a href="'.JRoute::_( '../'.$m ).'">Cкачать</a><br>';
$param_pdf_link=$m;
preg_match_all("~".'Цена\:'."(.*?)".'руб.'."~is", $it, $m); $m=strip_tags($m[1][0]);
$m=str_replace(' ','',$m);
if ($m=='')$h[]=$null_value;
$h[]= '<b>Цена (ru): </b>'.$m.'<br>';
$param_cost_ru=$m;
preg_match_all("~".'Цена английской версии\:'."(.*?)".'руб.'."~is", $it, $m); $m=strip_tags($m[1][0]);
$m=str_replace(' ','',$m);
if ($m=='')$h[]=$null_value;
$h[]= '<b>Цена (en): </b>'.$m.'<br>';
$param_cost_en=$m;
preg_match_all("~".'ОПИСАНИЕ'."(.*?)".'Ключевые слова'."~is", $it, $m); $m=$m[1][0];
if ($m=='')$h[]=$null_value;
$h[]= '<b>Описание: </b>'.mb_substr(strip_tags($m),0,50).' ... '.mb_substr(strip_tags($m),-50,50).'<br>';
$param_description=$m;
$m=$row->about;
if ($m=='')$h[]=$null_value;
$h[]= '<b>about: </b>'.mb_substr(strip_tags($m),0,50).' ... '.mb_substr(strip_tags($m),-50,50).'<br>';
$param_about=$m;
$m=$row->oglav;
if ($m=='')$h[]=$null_value;
$h[]= '<b>oglav: </b>'.mb_substr(strip_tags($m),0,50).' ... '.mb_substr(strip_tags($m),-50,50).'<br>';
$param_oglav=$m;
$m=$row->prilog;
if ($m=='')$h[]=$null_value;
$h[]= '<b>prilog: </b>'.mb_substr(strip_tags($m),0,50).' ... '.mb_substr(strip_tags($m),-50,50).'<br>';
$param_prilog=$m;
preg_match_all("~".'Ключевые слова'."(.*?)".'Ссылка на страницу'."~is", $it, $m); $m=strip_tags($m[1][0]);
$m=str_replace('бизнес-плана:','',$m);
$m=str_replace('исследования:','',$m);
$m=str_replace(':','',$m);
if ($m=='')$h[]=$null_value;
$h[]= '<b>Ключевые слова: </b>'.$m.'<br>';
$param_keywords=$m;
//save---------------------------------
if ($_POST['save']=='1' and $_POST[to_cat_id]<>'')
{
$js_real=mvGetValue($db,'val',"select elements as val from #__zoo_item where id={$param_id}");
if (!empty($js_real)) $js_temp=$js_real;
$js=json_decode($js_temp,true);
$js['aed9068f-8fd9-4c38-89d1-83187a602ac5']['0']['value']=$param_cost_ru;
$js['dbf6c773-0a69-432c-a462-b56e620e2e5e']['0']['value']=$param_cost_en;
$js['5ca958c9-4ac5-4d08-821f-b9640e731bd7']['0']['value']=$param_autor;
$js['667ea4d6-3745-40b5-b2a2-41fdc13b9a47']['0']['value']=$param_exit_date;
$js['d12d446f-f969-49f8-af79-f82080cdbc3f']['0']['value']=$param_sposob_predost;
$js['b66a2a93-01c7-4487-9fe3-61ab4c4c7c88']['0']['value']=$param_page_count;
$js['9ef0426c-06d1-45da-88e6-477d9d8398fe']['file']=$param_pdf_link;
$js['7f743a10-621b-4606-ba91-d4a7eebe3992']['0']['value']=$param_description;
$js['8df3b01b-134d-4eba-88ea-687647a4a9fa']['0']['value']=$param_about;
$js['73b058b8-a242-4b81-8d0a-2f975c99d0ca']['0']['value']=$param_oglav;
$js['23a97f6f-2601-4c88-8324-168c705b61fe']['0']['value']=$param_prilog;
$js['57172c66-27cb-442d-a964-19f64f744a3b']['file']=$param_path_image;
$js_text=json_encode($js, JSON_FORCE_OBJECT);
$js_text=str_replace("\\","\\\\",$js_text);
$js_text=str_replace('"','\"',$js_text);
$kw=explode(",",$param_keywords);
$kw2=explode(",",$param_metakey);
$kw=array_merge($kw,$kw2);
unset($kw2);
$kw=array_unique($kw);
foreach($kw as $key=>$value){
$word=$value;
$word=trim($word);
$word=str_replace("\r","",$word);
$kw[$key]=str_replace("\n","",$word);
}
$par=json_decode($js_param_temp,true);
$par['metadata.title']=$param_title;
$par['config.primary_category']=$_POST[to_cat_id];
$par['metadata.description']=$param_metadesc;
$par['metadata.keywords']=implode(", ",$kw);
$par=json_encode($par, JSON_FORCE_OBJECT);
$par=str_replace("\\","\\\\",$par);
$par=str_replace('"','\"',$par);
if (empty($js_real))
{
$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
(\"{$param_id}\", 1, \"product\", \"{$param_title}\", \"{$param_alias}\",
\"{$param_created}\", \"{$param_modified}\", 949, '0000-00-00 00:00:00', '0000-00-00 00:00:00',
0, {$param_hits}, 1, 1, 949,
'', 1, \"{$js_text}\", \"{$par}\");";
$h[]= '<span style="color:blue;">Создание нового материала</span><br>';
}
else
{
$query = "UPDATE #__zoo_item
SET elements=\"{$js_text}\",params=\"{$par}\"
WHERE id={$param_id}";
$h[]= '<span style="color:blue;">Обновление материала</span><br>';
}
$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));
}
?>