<?php

namespace App\Reports\Sources\UsersProfilesAccess;

class PopulateQuickColumns extends \App\Reports\Sources\PopulateAbstract
{

	public function populate() :void
	{

		// INITS ----------------------------------------------------------------------------------

		$reportTable = $this->tableManager->getTableName();

		$activeColumns = array_keys( $this->columnsManager->getStdColumns() );

		$this->reportGenerationStatusUpdate('extractMainDataFromDb', 'updateAccessDetails', 0);

		if (in_array('sectionName', $activeColumns)) {
			\App\Loader_Lang::getInstance()->loadAppFile("_customLoad/usersAccess/options.lang.php");
			$_LANG = \App\Loader_Lang::getInstance()->getAll();
		}

		// update the section name -- option
		$reportCopyInfo = new \App\Reports\Db\ManageRecords\Update($reportTable, 'rep', $activeColumns);
		$reportCopyInfo->addCaseStructureColumn("sectionName",   "idSection",   (Array)$_LANG['usersAccess']['options']);
		$reportCopyInfo->addFilter("rep.type", "=", "option");
		$reportCopyInfo->populate();

		// update the section name -- section
		$reportCopyInfo = new \App\Reports\Db\ManageRecords\Update($reportTable, 'rep', $activeColumns);
		$reportCopyInfo->addCaseStructureColumn("sectionName",   "idSection",   (Array)$_LANG['menu']);
		$reportCopyInfo->addFilter("rep.type", "=", "section");
		$reportCopyInfo->populate();
	}

}

