Edit File by line

Deprecated: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in /home/sportsfever/public_html/filemanger/function.php on line 93
/home/sportsfe.../httpdocs/wp-conte.../plugins/smart-sl.../Nextend/SmartSli.../Applicat.../Model
File: ModelSliders.php
<?php
[0] Fix | Delete
[1] Fix | Delete
[2] Fix | Delete
namespace Nextend\SmartSlider3\Application\Model;
[3] Fix | Delete
[4] Fix | Delete
[5] Fix | Delete
use Exception;
[6] Fix | Delete
use Nextend\Framework\Cache\AbstractCache;
[7] Fix | Delete
use Nextend\Framework\Data\Data;
[8] Fix | Delete
use Nextend\Framework\Database\Database;
[9] Fix | Delete
use Nextend\Framework\Misc\Str;
[10] Fix | Delete
use Nextend\Framework\Model\AbstractModelTable;
[11] Fix | Delete
use Nextend\Framework\Notification\Notification;
[12] Fix | Delete
use Nextend\Framework\Platform\Platform;
[13] Fix | Delete
use Nextend\SmartSlider3\Application\Helper\HelperSliderChanged;
[14] Fix | Delete
use Nextend\SmartSlider3\Slider\Admin\AdminSlider;
[15] Fix | Delete
use Nextend\SmartSlider3\Slider\Slider;
[16] Fix | Delete
use Nextend\SmartSlider3\SmartSlider3Info;
[17] Fix | Delete
[18] Fix | Delete
class ModelSliders extends AbstractModelTable {
[19] Fix | Delete
[20] Fix | Delete
/**
[21] Fix | Delete
* @var ModelSlidersXRef
[22] Fix | Delete
*/
[23] Fix | Delete
private $xref;
[24] Fix | Delete
[25] Fix | Delete
private $sliderTitleLength = 200;
[26] Fix | Delete
[27] Fix | Delete
protected function createConnectorTable() {
[28] Fix | Delete
[29] Fix | Delete
$this->xref = new ModelSlidersXRef($this);
[30] Fix | Delete
[31] Fix | Delete
return Database::getTable('nextend2_smartslider3_sliders');
[32] Fix | Delete
}
[33] Fix | Delete
[34] Fix | Delete
public function get($id) {
[35] Fix | Delete
return Database::queryRow("SELECT * FROM " . $this->getTableName() . " WHERE id = :id", array(
[36] Fix | Delete
":id" => $id
[37] Fix | Delete
));
[38] Fix | Delete
}
[39] Fix | Delete
[40] Fix | Delete
public function getByAlias($alias) {
[41] Fix | Delete
return Database::queryRow("SELECT id FROM " . $this->getTableName() . " WHERE alias = :alias", array(
[42] Fix | Delete
":alias" => $alias
[43] Fix | Delete
));
[44] Fix | Delete
}
[45] Fix | Delete
[46] Fix | Delete
public function getWithThumbnail($id) {
[47] Fix | Delete
$slidesModel = new ModelSlides($this);
[48] Fix | Delete
[49] Fix | Delete
return Database::queryRow("SELECT sliders.*,xref.group_id, IF(sliders.thumbnail != '',sliders.thumbnail,(SELECT slides.thumbnail from " . $slidesModel->getTableName() . " AS slides WHERE slides.slider = sliders.id AND slides.published = 1 AND slides.generator_id = 0 AND slides.thumbnail NOT LIKE '' ORDER BY slides.first DESC, slides.ordering ASC LIMIT 1)) AS thumbnail,
[50] Fix | Delete
IF(sliders.type != 'group',
[51] Fix | Delete
(SELECT count(*) FROM " . $slidesModel->getTableName() . " AS slides2 WHERE slides2.slider = sliders.id GROUP BY slides2.slider),
[52] Fix | Delete
(SELECT count(*) FROM " . $this->xref->getTableName() . " AS xref2 WHERE xref2.group_id = sliders.id GROUP BY xref2.group_id)
[53] Fix | Delete
) AS slides
[54] Fix | Delete
FROM " . $this->getTableName() . " AS sliders
[55] Fix | Delete
LEFT JOIN " . $this->xref->getTableName() . " AS xref ON xref.slider_id = sliders.id
[56] Fix | Delete
WHERE sliders.id = :id", array(
[57] Fix | Delete
":id" => $id
[58] Fix | Delete
));
[59] Fix | Delete
}
[60] Fix | Delete
[61] Fix | Delete
public function invalidateCache() {
[62] Fix | Delete
Database::query("DELETE FROM `" . Database::parsePrefix('#__nextend2_section_storage') . "` WHERE `application` LIKE 'cache'");
[63] Fix | Delete
[64] Fix | Delete
Database::query("DELETE FROM `" . Database::parsePrefix('#__nextend2_section_storage') . "` WHERE `application` LIKE 'smartslider' AND `section` LIKE 'sliderChanged';");
[65] Fix | Delete
}
[66] Fix | Delete
[67] Fix | Delete
public function refreshCache($sliderid) {
[68] Fix | Delete
AbstractCache::clearGroup(Slider::getCacheId($sliderid));
[69] Fix | Delete
AbstractCache::clearGroup(AdminSlider::getCacheId($sliderid));
[70] Fix | Delete
$this->markChanged($sliderid);
[71] Fix | Delete
}
[72] Fix | Delete
[73] Fix | Delete
public function getSlidersCount($status = '*', $witGroup = false) {
[74] Fix | Delete
$wheres = array();
[75] Fix | Delete
$join = "";
[76] Fix | Delete
[77] Fix | Delete
if ($status !== '*') {
[78] Fix | Delete
$wheres[] = " WHERE _sliders.slider_status LIKE " . Database::quote($status);
[79] Fix | Delete
}
[80] Fix | Delete
[81] Fix | Delete
if ($witGroup) {
[82] Fix | Delete
$join = "LEFT JOIN " . $this->xref->getTableName() . " AS xref ON xref.slider_id = _sliders.id ";
[83] Fix | Delete
$wheres[] = "(xref.group_id IS NULL OR xref.group_id = 0)";
[84] Fix | Delete
}
[85] Fix | Delete
[86] Fix | Delete
$data = Database::queryRow("SELECT COUNT(*) AS sliders FROM " . $this->getTableName() . " as _sliders " . $join . " " . implode(' AND ', $wheres));
[87] Fix | Delete
[88] Fix | Delete
[89] Fix | Delete
if (!empty($data)) {
[90] Fix | Delete
return intval($data['sliders']);
[91] Fix | Delete
}
[92] Fix | Delete
[93] Fix | Delete
return 0;
[94] Fix | Delete
}
[95] Fix | Delete
[96] Fix | Delete
/**
[97] Fix | Delete
* @return mixed
[98] Fix | Delete
*/
[99] Fix | Delete
public function getAll($groupID = '*', $status = '*', $orderBy = 'ordering', $orderByDirection = 'ASC', $page = null, $limit = 'all') {
[100] Fix | Delete
$slidesModel = new ModelSlides($this);
[101] Fix | Delete
[102] Fix | Delete
if (empty($orderBy)) {
[103] Fix | Delete
$orderBy = 'ordering';
[104] Fix | Delete
}
[105] Fix | Delete
if (empty($orderByDirection)) {
[106] Fix | Delete
$orderByDirection = 'ASC';
[107] Fix | Delete
}
[108] Fix | Delete
[109] Fix | Delete
$_orderby = $orderBy . ' ' . $orderByDirection;
[110] Fix | Delete
$limitQuery = "";
[111] Fix | Delete
[112] Fix | Delete
$wheres = array();
[113] Fix | Delete
if ($groupID !== '*') {
[114] Fix | Delete
if ($groupID == 0) {
[115] Fix | Delete
$wheres[] = "(xref.group_id IS NULL OR xref.group_id = 0)";
[116] Fix | Delete
if ($page !== null && $limit != 'all') {
[117] Fix | Delete
$first = intval($page) * intval($limit);
[118] Fix | Delete
$limitQuery = "LIMIT " . $first . "," . intval($limit);
[119] Fix | Delete
}
[120] Fix | Delete
} else {
[121] Fix | Delete
if ($orderBy == 'ordering') {
[122] Fix | Delete
$_orderby = 'xref.' . $orderBy . ' ' . $orderByDirection;
[123] Fix | Delete
}
[124] Fix | Delete
[125] Fix | Delete
$wheres[] = "xref.group_id = '" . $groupID . "'";
[126] Fix | Delete
}
[127] Fix | Delete
}
[128] Fix | Delete
[129] Fix | Delete
if ($status !== '*') {
[130] Fix | Delete
$wheres[] = "sliders.slider_status LIKE " . Database::quote($status);
[131] Fix | Delete
}
[132] Fix | Delete
[133] Fix | Delete
[134] Fix | Delete
$sliders = Database::queryAll("
[135] Fix | Delete
SELECT sliders.*,
[136] Fix | Delete
IF(sliders.thumbnail != '',
[137] Fix | Delete
sliders.thumbnail,
[138] Fix | Delete
IF(sliders.type != 'group',
[139] Fix | Delete
(SELECT slides.thumbnail FROM " . $slidesModel->getTableName() . " AS slides WHERE slides.slider = sliders.id AND slides.published = 1 AND slides.generator_id = 0 AND slides.thumbnail NOT LIKE '' ORDER BY slides.first DESC, slides.ordering ASC LIMIT 1),
[140] Fix | Delete
''
[141] Fix | Delete
)
[142] Fix | Delete
) AS thumbnail,
[143] Fix | Delete
[144] Fix | Delete
IF(sliders.type != 'group',
[145] Fix | Delete
(SELECT count(*) FROM " . $slidesModel->getTableName() . " AS slides2 WHERE slides2.slider = sliders.id GROUP BY slides2.slider),
[146] Fix | Delete
(SELECT count(*) FROM " . $this->xref->getTableName() . " AS xref2 LEFT JOIN " . $this->getTableName() . " AS sliders2 ON sliders2.id = xref2.slider_id WHERE xref2.group_id = sliders.id AND sliders2.slider_status LIKE 'published' GROUP BY xref2.group_id)
[147] Fix | Delete
) AS slides
[148] Fix | Delete
FROM " . $this->getTableName() . " AS sliders
[149] Fix | Delete
LEFT JOIN " . $this->xref->getTableName() . " AS xref ON xref.slider_id = sliders.id
[150] Fix | Delete
WHERE " . implode(' AND ', $wheres) . "
[151] Fix | Delete
ORDER BY " . $_orderby . " " . $limitQuery);
[152] Fix | Delete
[153] Fix | Delete
[154] Fix | Delete
return $sliders;
[155] Fix | Delete
}
[156] Fix | Delete
[157] Fix | Delete
public function _getAll() {
[158] Fix | Delete
return Database::queryAll("SELECT sliders.* FROM " . $this->getTableName() . " AS sliders");
[159] Fix | Delete
}
[160] Fix | Delete
[161] Fix | Delete
public function getSearchResults($keyword = "") {
[162] Fix | Delete
$slidesModel = new ModelSlides($this);
[163] Fix | Delete
$wheres = array();
[164] Fix | Delete
$orderByExtra = "";
[165] Fix | Delete
$id = intval($keyword);
[166] Fix | Delete
if ($id > 0) {
[167] Fix | Delete
$wheres[] = "sliders.id LIKE '%" . $id . "%'";
[168] Fix | Delete
$orderByExtra = "(sliders.id = '" . $id . "') DESC, ";
[169] Fix | Delete
}
[170] Fix | Delete
[171] Fix | Delete
$wheres[] = "sliders.alias LIKE " . Database::quote('%' . $keyword . '%') . " OR sliders.title LIKE " . Database::quote('%' . $keyword . '%');
[172] Fix | Delete
[173] Fix | Delete
return Database::queryAll("SELECT sliders.*,
[174] Fix | Delete
xref.group_id,
[175] Fix | Delete
IF(sliders.thumbnail != '',
[176] Fix | Delete
sliders.thumbnail,
[177] Fix | Delete
IF(sliders.type != 'group',
[178] Fix | Delete
(SELECT slides.thumbnail FROM " . $slidesModel->getTableName() . " AS slides WHERE slides.slider = sliders.id AND slides.published = 1 AND slides.generator_id = 0 AND slides.thumbnail NOT LIKE '' ORDER BY slides.first DESC, slides.ordering ASC LIMIT 1),
[179] Fix | Delete
''
[180] Fix | Delete
)
[181] Fix | Delete
) AS thumbnail,
[182] Fix | Delete
IF(sliders.type != 'group',
[183] Fix | Delete
(SELECT count(*) FROM " . $slidesModel->getTableName() . " AS slides2 WHERE slides2.slider = sliders.id GROUP BY slides2.slider),
[184] Fix | Delete
(SELECT count(*) FROM " . $this->xref->getTableName() . " AS xref2 LEFT JOIN " . $this->getTableName() . " AS sliders2 ON sliders2.id = xref2.slider_id WHERE xref2.group_id = sliders.id AND sliders2.slider_status LIKE 'published' GROUP BY xref2.group_id)
[185] Fix | Delete
) AS slides
[186] Fix | Delete
FROM " . $this->getTableName() . " AS sliders
[187] Fix | Delete
LEFT JOIN " . $this->xref->getTableName() . " AS xref ON xref.slider_id = sliders.id
[188] Fix | Delete
WHERE
[189] Fix | Delete
(
[190] Fix | Delete
xref.group_id IS NULL
[191] Fix | Delete
OR xref.group_id = 0
[192] Fix | Delete
OR (SELECT _sliders.slider_status FROM " . $this->getTableName() . " AS _sliders WHERE _sliders.id = xref.group_id ) LIKE 'published'
[193] Fix | Delete
)
[194] Fix | Delete
AND sliders.slider_status LIKE 'published'
[195] Fix | Delete
AND (" . implode(' OR ', $wheres) . ")
[196] Fix | Delete
GROUP BY sliders.id
[197] Fix | Delete
ORDER BY " . $orderByExtra . "sliders.title ASC");
[198] Fix | Delete
[199] Fix | Delete
}
[200] Fix | Delete
[201] Fix | Delete
public function getGroups($status = '*') {
[202] Fix | Delete
[203] Fix | Delete
$wheres = array(
[204] Fix | Delete
"type LIKE 'group'"
[205] Fix | Delete
);
[206] Fix | Delete
[207] Fix | Delete
if ($status !== '*') {
[208] Fix | Delete
$wheres[] = "slider_status LIKE " . Database::quote($status);
[209] Fix | Delete
}
[210] Fix | Delete
[211] Fix | Delete
return Database::queryAll("SELECT id, title FROM " . $this->getTableName() . " WHERE " . implode(' AND ', $wheres) . " ORDER BY title ASC");
[212] Fix | Delete
}
[213] Fix | Delete
[214] Fix | Delete
public function getFallbackUsage($sliderIDs) {
[215] Fix | Delete
$wheres = array();
[216] Fix | Delete
foreach ($sliderIDs as $id) {
[217] Fix | Delete
$wheres[] = 'params LIKE \'%"fallback-slider":"' . $id . '"%\'';
[218] Fix | Delete
}
[219] Fix | Delete
[220] Fix | Delete
return Database::queryAll("SELECT id FROM " . $this->getTableName() . " as sliders WHERE " . implode(" OR ", $wheres));
[221] Fix | Delete
}
[222] Fix | Delete
[223] Fix | Delete
public function import($slider, $groupID = 0) {
[224] Fix | Delete
try {
[225] Fix | Delete
$this->table->insert(array(
[226] Fix | Delete
'title' => $slider['title'],
[227] Fix | Delete
'type' => $slider['type'],
[228] Fix | Delete
'thumbnail' => empty($slider['thumbnail']) ? '' : $slider['thumbnail'],
[229] Fix | Delete
'params' => $slider['params']->toJSON(),
[230] Fix | Delete
'time' => date('Y-m-d H:i:s', Platform::getTimestamp()),
[231] Fix | Delete
'ordering' => -1
[232] Fix | Delete
));
[233] Fix | Delete
[234] Fix | Delete
$sliderID = $this->table->insertId();
[235] Fix | Delete
[236] Fix | Delete
if (isset($slider['alias'])) {
[237] Fix | Delete
$this->updateAlias($sliderID, $slider['alias']);
[238] Fix | Delete
}
[239] Fix | Delete
[240] Fix | Delete
$this->xref->add($groupID, $sliderID);
[241] Fix | Delete
$this->reindexOrdering();
[242] Fix | Delete
[243] Fix | Delete
SmartSlider3Info::sliderChanged();
[244] Fix | Delete
[245] Fix | Delete
return $sliderID;
[246] Fix | Delete
} catch (Exception $e) {
[247] Fix | Delete
throw new Exception($e->getMessage());
[248] Fix | Delete
}
[249] Fix | Delete
}
[250] Fix | Delete
[251] Fix | Delete
public function replace($slider, $groupID) {
[252] Fix | Delete
[253] Fix | Delete
if (isset($slider['id']) && $slider['id'] > 0) {
[254] Fix | Delete
[255] Fix | Delete
$groups = $this->xref->getGroups($slider['id']);
[256] Fix | Delete
[257] Fix | Delete
$this->deletePermanently($slider['id']);
[258] Fix | Delete
[259] Fix | Delete
try {
[260] Fix | Delete
$this->table->insert(array(
[261] Fix | Delete
'id' => $slider['id'],
[262] Fix | Delete
'title' => $slider['title'],
[263] Fix | Delete
'type' => $slider['type'],
[264] Fix | Delete
'thumbnail' => empty($slider['thumbnail']) ? '' : $slider['thumbnail'],
[265] Fix | Delete
'params' => $slider['params']->toJSON(),
[266] Fix | Delete
'time' => date('Y-m-d H:i:s', Platform::getTimestamp())
[267] Fix | Delete
));
[268] Fix | Delete
[269] Fix | Delete
$sliderID = $this->table->insertId();
[270] Fix | Delete
[271] Fix | Delete
if (isset($slider['alias'])) {
[272] Fix | Delete
$this->updateAlias($sliderID, $slider['alias']);
[273] Fix | Delete
}
[274] Fix | Delete
[275] Fix | Delete
if ($groupID) {
[276] Fix | Delete
$this->xref->add($groupID, $sliderID);
[277] Fix | Delete
}
[278] Fix | Delete
[279] Fix | Delete
if (!empty($groups)) {
[280] Fix | Delete
foreach ($groups as $group) {
[281] Fix | Delete
if ($groupID != $group['group_id']) {
[282] Fix | Delete
$this->xref->add($group['group_id'], $sliderID);
[283] Fix | Delete
}
[284] Fix | Delete
}
[285] Fix | Delete
}
[286] Fix | Delete
[287] Fix | Delete
SmartSlider3Info::sliderChanged();
[288] Fix | Delete
[289] Fix | Delete
return $sliderID;
[290] Fix | Delete
} catch (Exception $e) {
[291] Fix | Delete
throw new Exception($e->getMessage());
[292] Fix | Delete
}
[293] Fix | Delete
}
[294] Fix | Delete
[295] Fix | Delete
return $this->import($slider);
[296] Fix | Delete
}
[297] Fix | Delete
[298] Fix | Delete
/**
[299] Fix | Delete
* @param $sliderId
[300] Fix | Delete
* @param $params Data
[301] Fix | Delete
*/
[302] Fix | Delete
public function importUpdate($sliderId, $params) {
[303] Fix | Delete
[304] Fix | Delete
$this->table->update(array(
[305] Fix | Delete
'params' => $params->toJson()
[306] Fix | Delete
), array(
[307] Fix | Delete
"id" => $sliderId
[308] Fix | Delete
));
[309] Fix | Delete
}
[310] Fix | Delete
[311] Fix | Delete
public function create($slider, $groupID = 0) {
[312] Fix | Delete
if (!isset($slider['version'])) {
[313] Fix | Delete
$slider['version'] = SmartSlider3Info::$version;
[314] Fix | Delete
}
[315] Fix | Delete
[316] Fix | Delete
if (!isset($slider['title'])) return false;
[317] Fix | Delete
if ($slider['title'] == '') $slider['title'] = n2_('New slider');
[318] Fix | Delete
[319] Fix | Delete
if (Str::strlen($slider['title']) > $this->sliderTitleLength) {
[320] Fix | Delete
$slider['title'] = Str::substr($slider['title'], 0, $this->sliderTitleLength);
[321] Fix | Delete
}
[322] Fix | Delete
[323] Fix | Delete
$title = $slider['title'];
[324] Fix | Delete
unset($slider['title']);
[325] Fix | Delete
$type = $slider['type'];
[326] Fix | Delete
unset($slider['type']);
[327] Fix | Delete
[328] Fix | Delete
$thumbnail = '';
[329] Fix | Delete
if (!empty($slider['thumbnail'])) {
[330] Fix | Delete
$thumbnail = $slider['thumbnail'];
[331] Fix | Delete
unset($slider['thumbnail']);
[332] Fix | Delete
}
[333] Fix | Delete
[334] Fix | Delete
try {
[335] Fix | Delete
$this->table->insert(array(
[336] Fix | Delete
'title' => $title,
[337] Fix | Delete
'type' => $type,
[338] Fix | Delete
'params' => json_encode($slider),
[339] Fix | Delete
'thumbnail' => $thumbnail,
[340] Fix | Delete
'time' => date('Y-m-d H:i:s', Platform::getTimestamp()),
[341] Fix | Delete
'ordering' => -1
[342] Fix | Delete
));
[343] Fix | Delete
[344] Fix | Delete
$sliderID = $this->table->insertId();
[345] Fix | Delete
[346] Fix | Delete
$this->xref->add($groupID, $sliderID);
[347] Fix | Delete
$this->reindexOrdering();
[348] Fix | Delete
[349] Fix | Delete
SmartSlider3Info::sliderChanged();
[350] Fix | Delete
[351] Fix | Delete
return $sliderID;
[352] Fix | Delete
} catch (Exception $e) {
[353] Fix | Delete
throw new Exception($e->getMessage());
[354] Fix | Delete
}
[355] Fix | Delete
}
[356] Fix | Delete
[357] Fix | Delete
public function saveSimple($id, $title, $params) {
[358] Fix | Delete
if ($id <= 0) return false;
[359] Fix | Delete
[360] Fix | Delete
$params['version'] = SmartSlider3Info::$version;
[361] Fix | Delete
[362] Fix | Delete
if (empty($title)) $title = n2_('New slider');
[363] Fix | Delete
[364] Fix | Delete
if (Str::strlen($title) > $this->sliderTitleLength) {
[365] Fix | Delete
$title = Str::substr($title, 0, $this->sliderTitleLength);
[366] Fix | Delete
}
[367] Fix | Delete
[368] Fix | Delete
$this->table->update(array(
[369] Fix | Delete
'title' => $title,
[370] Fix | Delete
'params' => json_encode($params)
[371] Fix | Delete
), array(
[372] Fix | Delete
"id" => $id
[373] Fix | Delete
));
[374] Fix | Delete
}
[375] Fix | Delete
[376] Fix | Delete
public function save($id, $slider) {
[377] Fix | Delete
$slider['version'] = SmartSlider3Info::$version;
[378] Fix | Delete
[379] Fix | Delete
if (!isset($slider['title']) || $id <= 0) return false;
[380] Fix | Delete
$response = array(
[381] Fix | Delete
'changedFields' => array()
[382] Fix | Delete
);
[383] Fix | Delete
if ($slider['title'] == '') $slider['title'] = n2_('New slider');
[384] Fix | Delete
[385] Fix | Delete
$title = $slider['title'];
[386] Fix | Delete
unset($slider['title']);
[387] Fix | Delete
if (Str::strlen($title) > $this->sliderTitleLength) {
[388] Fix | Delete
$title = Str::substr($title, 0, $this->sliderTitleLength);
[389] Fix | Delete
}
[390] Fix | Delete
[391] Fix | Delete
$alias = $slider['alias'];
[392] Fix | Delete
unset($slider['alias']);
[393] Fix | Delete
$type = $slider['type'];
[394] Fix | Delete
unset($slider['type']);
[395] Fix | Delete
[396] Fix | Delete
$thumbnail = '';
[397] Fix | Delete
if (!empty($slider['thumbnail'])) {
[398] Fix | Delete
$thumbnail = $slider['thumbnail'];
[399] Fix | Delete
unset($slider['thumbnail']);
[400] Fix | Delete
}
[401] Fix | Delete
[402] Fix | Delete
$this->table->update(array(
[403] Fix | Delete
'title' => $title,
[404] Fix | Delete
'type' => $type,
[405] Fix | Delete
'params' => json_encode($slider),
[406] Fix | Delete
'thumbnail' => $thumbnail
[407] Fix | Delete
), array(
[408] Fix | Delete
"id" => $id
[409] Fix | Delete
));
[410] Fix | Delete
[411] Fix | Delete
$aliasResult = $this->updateAlias($id, $alias);
[412] Fix | Delete
if ($aliasResult !== false) {
[413] Fix | Delete
if ($aliasResult['oldAlias'] !== $aliasResult['newAlias']) {
[414] Fix | Delete
if ($aliasResult['newAlias'] === null) {
[415] Fix | Delete
Notification::notice(n2_('Alias removed'));
[416] Fix | Delete
$response['changedFields']['slideralias'] = '';
[417] Fix | Delete
} else if ($aliasResult['newAlias'] === '') {
[418] Fix | Delete
Notification::error(n2_('Alias must contain one or more letters'));
[419] Fix | Delete
$response['changedFields']['slideralias'] = '';
[420] Fix | Delete
} else {
[421] Fix | Delete
Notification::notice(sprintf(n2_('Alias updated to: %s'), $aliasResult['newAlias']));
[422] Fix | Delete
$response['changedFields']['slideralias'] = $aliasResult['newAlias'];
[423] Fix | Delete
}
[424] Fix | Delete
}
[425] Fix | Delete
}
[426] Fix | Delete
[427] Fix | Delete
$this->markChanged($id);
[428] Fix | Delete
[429] Fix | Delete
SmartSlider3Info::sliderChanged();
[430] Fix | Delete
[431] Fix | Delete
return $response;
[432] Fix | Delete
}
[433] Fix | Delete
[434] Fix | Delete
public function updateAlias($sliderID, $alias) {
[435] Fix | Delete
$isNull = false;
[436] Fix | Delete
if (empty($alias)) {
[437] Fix | Delete
$isNull = true;
[438] Fix | Delete
} else {
[439] Fix | Delete
[440] Fix | Delete
$alias = strtolower($alias);
[441] Fix | Delete
$alias = preg_replace('/&.+?;/', '', $alias); // kill entities
[442] Fix | Delete
$alias = str_replace('.', '-', $alias);
[443] Fix | Delete
[444] Fix | Delete
$alias = preg_replace('/[^%a-z0-9 _-]/', '', $alias);
[445] Fix | Delete
$alias = preg_replace('/\s+/', '-', $alias);
[446] Fix | Delete
$alias = preg_replace('|-+|', '-', $alias);
[447] Fix | Delete
$alias = preg_replace('|^-*|', '', $alias);
[448] Fix | Delete
[449] Fix | Delete
if (empty($alias)) {
[450] Fix | Delete
$isNull = true;
[451] Fix | Delete
}
[452] Fix | Delete
}
[453] Fix | Delete
[454] Fix | Delete
$slider = $this->get($sliderID);
[455] Fix | Delete
if ($isNull) {
[456] Fix | Delete
if ($slider['alias'] == 'null') {
[457] Fix | Delete
} else {
[458] Fix | Delete
Database::query('UPDATE ' . $this->table->getTableName() . ' SET `alias` = NULL WHERE id = ' . intval($sliderID));
[459] Fix | Delete
[460] Fix | Delete
return array(
[461] Fix | Delete
'oldAlias' => $slider['alias'],
[462] Fix | Delete
'newAlias' => null
[463] Fix | Delete
);
[464] Fix | Delete
}
[465] Fix | Delete
} else {
[466] Fix | Delete
if (!is_numeric($alias)) {
[467] Fix | Delete
if ($slider['alias'] == $alias) {
[468] Fix | Delete
return array(
[469] Fix | Delete
'oldAlias' => $slider['alias'],
[470] Fix | Delete
'newAlias' => $alias
[471] Fix | Delete
);
[472] Fix | Delete
} else {
[473] Fix | Delete
$_alias = $alias;
[474] Fix | Delete
for ($i = 2; $i < 12; $i++) {
[475] Fix | Delete
$sliderWithAlias = $this->getByAlias($_alias);
[476] Fix | Delete
if (!$sliderWithAlias) {
[477] Fix | Delete
$this->table->update(array(
[478] Fix | Delete
'alias' => $_alias
[479] Fix | Delete
), array(
[480] Fix | Delete
"id" => $sliderID
[481] Fix | Delete
));
[482] Fix | Delete
[483] Fix | Delete
return array(
[484] Fix | Delete
'oldAlias' => $slider['alias'],
[485] Fix | Delete
'newAlias' => $_alias
[486] Fix | Delete
);
[487] Fix | Delete
break;
[488] Fix | Delete
} else {
[489] Fix | Delete
$_alias = $alias . $i;
[490] Fix | Delete
}
[491] Fix | Delete
}
[492] Fix | Delete
}
[493] Fix | Delete
}
[494] Fix | Delete
[495] Fix | Delete
return array(
[496] Fix | Delete
'oldAlias' => $slider['alias'],
[497] Fix | Delete
'newAlias' => ''
[498] Fix | Delete
);
[499] Fix | Delete
12
It is recommended that you Edit text format, this type of Fix handles quite a lot in one request
Function