116 lines
3.2 KiB
PHP
116 lines
3.2 KiB
PHP
<?php
|
|
|
|
class BlockInfos extends Module
|
|
{
|
|
private $_html;
|
|
|
|
public function __construct()
|
|
{
|
|
$this->name = 'blockinfos';
|
|
$this->tab = 'Blocks';
|
|
$this->version = 1.1;
|
|
|
|
parent::__construct();
|
|
|
|
$this->displayName = $this->l('Info block');
|
|
$this->description = $this->l('Adds a block with several information links');
|
|
}
|
|
|
|
public function install()
|
|
{
|
|
if (!parent::install() OR !$this->registerHook('leftColumn'))
|
|
return false;
|
|
Db::getInstance()->Execute('
|
|
INSERT INTO `'._DB_PREFIX_.'block_cms`(`id_block`, `id_cms`)
|
|
VALUES
|
|
('.intval($this->id).', 1),
|
|
('.intval($this->id).', 2),
|
|
('.intval($this->id).', 3),
|
|
('.intval($this->id).', 4)');
|
|
return true;
|
|
}
|
|
|
|
public function uninstall()
|
|
{
|
|
Db::getInstance()->Execute('DELETE FROM `'._DB_PREFIX_.'block_cms` WHERE `id_block` ='.intval($this->id));
|
|
parent::uninstall();
|
|
}
|
|
|
|
public function getContent()
|
|
{
|
|
if(isset($_POST['btnSubmit']))
|
|
$this->_postProcess();
|
|
$this-> _displayForm();
|
|
return $this->_html;
|
|
}
|
|
|
|
private function _displayForm()
|
|
{
|
|
global $cookie;
|
|
|
|
$this->_html .=
|
|
'<form action="'.$_SERVER['REQUEST_URI'].'" method="post">
|
|
<fieldset>
|
|
<legend>'.$this->l('Selected files displayed').'</legend>
|
|
<span>'.$this->l('Please check files that will be displayed in this module').'.</span><br /><br />
|
|
<table cellspacing="0" cellpadding="0" class="table" style="width: 29.5em;">
|
|
<thead>
|
|
<tr>
|
|
<th><input type="checkbox" name="checkme" class="noborder" onclick="checkDelBoxes(this.form, \'categoryBox[]\', this.checked)" /></th>
|
|
<th>'.$this->l('ID').'</th>
|
|
<th>'.$this->l('Name').'</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>';
|
|
$cms = CMS::listCms(intval($cookie->id_lang));
|
|
foreach($cms AS $row)
|
|
$this->_html .='
|
|
<tr><td><input type="checkbox" class="noborder" value="'.intval($row['id_cms']).'" name="categoryBox[]" '.((CMS::isInBlock(intval($row['id_cms']), intval($this->id))) ? 'checked="checked"' : '').'></td><td>'.intval($row['id_cms']).'</td><td>'.$row['meta_title'].'</td></tr>';
|
|
$this->_html .='
|
|
</tbody>
|
|
</table>
|
|
<br />
|
|
<input type="submit" name="btnSubmit" class="button" value="'.$this->l('Update').'">
|
|
</fieldset>
|
|
</form>';
|
|
}
|
|
|
|
private function _postProcess()
|
|
{
|
|
if (Tools::isSubmit('btnSubmit'))
|
|
{
|
|
$categoryBox = Tools::getValue('categoryBox');
|
|
if ($categoryBox AND is_array($categoryBox) AND count($categoryBox))
|
|
{
|
|
foreach ($categoryBox AS $row)
|
|
$cms[] = intval($row);
|
|
if (CMS::updateCmsToBlock($cms, intval($this->id)))
|
|
$this->_html .= '<div class="conf confirm">'.$this->l('Cms Updated').'</div>';
|
|
}
|
|
else
|
|
{
|
|
Db::getInstance()->Execute('
|
|
DELETE FROM `'._DB_PREFIX_.'block_cms`
|
|
WHERE `id_block` ='.intval($this->id));
|
|
}
|
|
}
|
|
}
|
|
|
|
function hookLeftColumn($params)
|
|
{
|
|
global $smarty, $cookie;
|
|
|
|
$cms = CMS::listCms($cookie->id_lang, $this->id);
|
|
$id_cms = array();
|
|
foreach($cms AS $row)
|
|
$id_cms[] = intval($row['id_cms']);
|
|
$smarty->assign('cmslinks', $id_cms ? CMS::getLinks($cookie->id_lang, $id_cms) : array());
|
|
return $this->display(__FILE__, 'blockinfos.tpl');
|
|
}
|
|
|
|
function hookRightColumn($params)
|
|
{
|
|
return $this->hookLeftColumn($params);
|
|
}
|
|
}
|