<?
use yii\helpers\Html;
use yii\widgets\ActiveForm;
use yii\web\View;
use yii;
$this->title = 'Tilda';
$this->params['breadcrumbs'][] = ['label' => 'Tilda', 'url' => ['index'] ];
$this->params['breadcrumbs'][] = 'Экспорт';
	$arExportPages = array();
	$mainPage = '';
	$cat = $api->local->getProjectDir();
	$url = trim($url);
	if( $url ){
		$api->local->setProjectDir($cat.$url.DIRECTORY_SEPARATOR);
		if ($api->local->createBaseFolders() === false) {
?>
			<div class="row">
				<div class="col-md-12">
					<div class="callout callout-danger">
					<h5>Ошибка создания папок <?=$local->lastError?></h5>
					</div>
				</div>
			</div>
<?
		}
	}

?>
<div class="row">
<div class="col-md-12">
<div class="callout callout-danger">
<h5>Экспорт</h5>
URL:
<a class="uppercase" href="https://www.amic.ru/<?=$cat.$url.DIRECTORY_SEPARATOR?>">https://www.amic.ru/<?=$cat.$url.DIRECTORY_SEPARATOR?></a>
</div>
</div>
</div>
<div class="row">
<input type="hidden" value="<?=$proj?>" name="proj">
<?
foreach($pages as $k=>$i){
	$item = $api->getpageexport($i);
    $arExportPages[] = $item['id'];
	$api->local->setProject($item);
//	print_a($item);
?>
<div class="col-md-6">
<div class="card card-widget widget-user-2">

<div class="card-header">
<h3 class="card-title">
<input type="hidden" value="<?=$item['id']?>" name="Check[]">
<?
if( $item['id'] == $main ){
	$mainPage = $item['filename'];
?>
<label class="form-check-label">Главная страница</label>
<?
}
?>
</h3>
</div>
<div class="attachment-block clearfix">
<?
	if( isset( $item['img'] ) && $item['img'] != '' ){
		$img = $item['img'];
		$img = str_replace( basename($img), '-/resize/160x/'.basename($img), $img );
//
//-/resize/160x/
?>
	<img src="<?=$img?>" class="attachment-img m-2">
<?
	}
?>

<h3 class="widget-user-username"><?=$item['title']?></h3>
<p class="mx-2"><?=$item['date']?></p>
<div class="card-footer p-0">
<div class="card-body">
<p><?=$item['filename']?></p>
<?=$item['descr']?>
</div>
<div class="card-footer text-center">
<div class="progress progress-sm">
<div class="progress-bar bg-success progress-bar-striped" role="progressbar" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100" style="width: 100%">
<span class="sr-only">100% Complete (warning)</span>
</div>
</div>
</div>

</div>

</div>

</div>
</div>
<?
}
?>
<div class="col-12">
<div class="card card-default">
<div class="card-header">
<h3 class="card-title">
<i class="fas fa-exclamation-triangle"></i>
Alerts <i class="fa fa-sync fa-spin"></i>
</h3>
</div>

<div class="card-body">
<div class="alert alert-warning alert-dismissible">
<button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
<h5><i class="icon fas fa-ban"></i> Alert!</h5>

<?
// Загрузка глобальная

    /* копируем общие CSS файлы */
    $arFiles = $api->local->copyCssFiles('css');
    if (! $arFiles) {
        die('Error in copy CSS files [' . $api->lastError . ']');
    }

    /* копируем общие JS файлы */
    $arFiles = $api->local->copyJsFiles('js');
    if (! $arFiles) {
        die('Error in copy JS files [' . $api->lastError . ']');
    }

    /* копируем общие ШЬП файлы */
    $arFiles = $api->local->copyImagesFiles('img');
    if (! $arFiles) {
        die('Error in copy IMG files [' . $api->lastError . ']');
    }


    /* перебеираем теперь страницы и скачиваем каждую по одной */
	$countexport = 1;
    foreach ($arExportPages as $pageid) {
//        try {
			if( !in_array( $pageid, $pages ) ) continue;
 //           echo "Export page " . $pageid . "<br>\n";

            /* запрашиваем все данные для экспорта страницы */
            $tildapage = $api->getPageFullExport($pageid);
            if (! $tildapage || empty($tildapage['html'])) {
                echo "Error: cannot get page [$pageid] or page not publish<br>\n";
                continue;
            }

            /* временный фикс */
            $html = preg_replace(array('|//static.tildacdn.com/js/|','|//static.tildacdn.com/css/|'),array('',''), $tildapage['html']);
            if ($html > '') {
                $tildapage['html'] = $html;
            }

            $tildapage['export_imgpath'] = $api->local->arProject['export_imgpath'];
            $tildapage['needsync'] = '0';
//print_r($local->arSearchFiles);
            /* так как мы копировали общие файлы в одни папки, а в HTML они указывают на другие, то произведем замену */
            $html = preg_replace($api->local->arSearchFiles, $api->local->arReplaceFiles, $tildapage['html']);
            if ($html > '') {
				$html = str_replace( $api->local->getProjectDir() ,'',$html);
				$html = str_replace('href="/','href="',$html);
				$html = str_replace('src="/','src="',$html);
				$html = str_replace('src="/','src="//',$html);
				$html = str_replace('src="/yastatic.net','src="//yastatic.net',$html);
				$html = str_replace('rentafont_webfonts.js','../.js/rentafont_webfonts.js',$html);
				$html = str_replace('http://amic.ru/page'.$tildapage['id'],$api->local->getProjectDir().'/page'.$tildapage['id'],$html);
				$html = str_replace('https://amic.ru/page'.$tildapage['id'],$api->local->getProjectDir().'/page'.$tildapage['id'],$html);

				$html = str_replace('><',">\n<",$html);

				$matches = array();
				preg_match_all('|\<link(.*)|i', $html, $matches);
				foreach( $matches[1] as $item ){
					if( stristr( $item, '"canonical"') ){
						preg_match('|href="(.*)"|', $item, $m2);
						$html = str_replace( $m2[1], 'https://www.amic.ru/'.$api->local->getProjectDir(),$html);
					}

				}

				$tildapage['html'] = $html;
            }

            /* сохраним страницу  (при сохранении также происходит копирование картинок использованных на странице) */
            $tildapage = $api->local->savePage($tildapage);
            echo "<br>Save page $pageid - success<br>\n";

            $tildapage = $api->local->saveMetaPage($tildapage);

			$countexport++;
    }

?>
</div>
</div>
</div>
</div>
</div>
<div class="row">
<div class="col">
<?

    $dir =  Yii::getAlias('@webroot') . DIRECTORY_SEPARATOR . $api->local->getProjectDir();
	if( file_exists($dir.'index.html') ) unlink($dir.'index.html');
	if( @symlink( $dir.$mainPage, $dir.'index.html' ) ){
		echo '<h2><span class="badge badge-primary">Всё хорошо: index.html</span></h2>';
	}else{
		echo '<h2><span class="badge danger-primary">Ошибка создания index.html</span></h2>';
	}

?>
</div>
</div>


