Файл: concrete5.7.5.6/concrete/controllers/single_page/dashboard/system/multilingual/page_report.php
Строк: 82
<?php
namespace ConcreteControllerSinglePageDashboardSystemMultilingual;
use ConcreteCorePageControllerDashboardPageController;
use ConcreteCorePageEditResponse;
use Loader;
use ConcreteCoreMultilingualPageSectionSection as MultilingualSection;
use ConcreteCoreMultilingualPagePageList as MultilingualPageList;
defined('C5_EXECUTE') or die("Access Denied.");
class PageReport extends DashboardPageController
{
public $helpers = array('form');
public function view()
{
$this->requireAsset('core/sitemap');
$list = MultilingualSection::getList();
$sections = array();
usort($list, function($item) {
if ($item->getLocale() == Config::get('concrete.multilingual.default_locale')) {
return -1;
} else {
return 1;
}
});
foreach ($list as $pc) {
$sections[$pc->getCollectionID()] = $pc->getLanguageText() . " (" . $pc->getLocale() . ")";
}
$this->set('sections', $sections);
$this->set('sectionList', $list);
if (!isset($_REQUEST['sectionID']) && (count($sections) > 0)) {
foreach ($sections as $key => $value) {
$sectionID = $key;
break;
}
} else {
$sectionID = $_REQUEST['sectionID'];
}
if (!isset($_REQUEST['targets']) && (count($sections) > 1)) {
$i = 0;
foreach ($sections as $key => $value) {
if ($key != $sectionID) {
$targets[$key] = $key;
break;
}
$i++;
}
} else {
$targets = $_REQUEST['targets'];
}
if (!isset($targets) || (!is_array($targets))) {
$targets = array();
}
$targetList = array();
foreach ($targets as $key => $value) {
$targetList[] = MultilingualSection::getByID($key);
}
$this->set('targets', $targets);
$this->set('targetList', $targetList);
$this->set('sectionID', $sectionID);
$this->set('fh', Core::make('multilingual/interface/flag'));
if (isset($sectionID) && $sectionID > 0) {
$pl = new MultilingualPageList();
$pc = Page::getByID($sectionID);
$path = $pc->getCollectionPath();
if (strlen($path) > 1) {
$pl->filterByPath($path);
}
if ($_REQUEST['keywords']) {
$pl->filterByName($_REQUEST['keywords']);
}
$pl->setItemsPerPage(25);
if (!$_REQUEST['showAllPages']) {
$pl->filterByMissingTargets($targetList);
}
$pagination = $pl->getPagination();
$this->set('pagination', $pagination);
$this->set('pages', $pagination->getCurrentPageResults());
$this->set('section', MultilingualSection::getByID($sectionID));
$this->set('pl', $pl);
}
}
}