: str_replace(): Passing null to parameter #2 ($replace) of type array|string is deprecated in
$slides = $this->getAll($sliderid);
foreach ($slides as $slide) {
$this->delete($slide['id']);
$this->markChanged($sliderid);
public function order($sliderid, $ids) {
if (is_array($ids) && count($ids) > 0) {
$this->table->update(array(
$this->markChanged($sliderid);
private function markChanged($sliderid) {
$helper = new HelperSliderChanged($this);
$helper->setSliderChanged($sliderid, 1);
public function convertDynamicSlideToSlides($slideId) {
$slideData = $this->get($slideId);
if ($slideData['generator_id'] > 0) {
$sliderObj = new Slider($this, $slideData['slider'], array(), true);
$rootSlide = new Slide($sliderObj, $slideData);
$rootSlide->initGenerator(array());
$slides = $rootSlide->expandSlide();
$this->shiftSlideOrdering($slideData['slider'], $slideData['ordering'], count($slides));
foreach ($slides as $slide) {
$row['title'] = Str::substr($row['title'], 0, 200);
$row['description'] = Str::substr($row['description'], 0, 2000);
// set the proper ordering
// Make sure to mark only one slide as start slide
$this->table->insert($row);
Database::query("UPDATE {$this->getTableName()} SET published = 0, first = 0 WHERE id = :id", array(
":id" => $slideData['id']
public static function prepareSample(&$layers) {
for ($i = 0; $i < count($layers); $i++) {
if (isset($layers[$i]['type'])) {
switch ($layers[$i]['type']) {
ComponentContent::prepareSample($layers[$i]);
ComponentRow::prepareSample($layers[$i]);
ComponentCol::prepareSample($layers[$i]);
ComponentLayer::prepareSample($layers[$i]);
ComponentLayer::prepareSample($layers[$i]);
public function convertSlideDataToDatabaseRow($slideData, $sliderID = false) {
$slideData['version'] = SmartSlider3Info::$version;
$publish_up = '1970-01-01 00:00:00';
if (isset($slideData['publish_up'])) {
if ($slideData['publish_up'] != '0000-00-00 00:00:00') {
$publish_up = date('Y-m-d H:i:s', strtotime($slideData['publish_up']));
$publish_up = '1970-01-01 00:00:00';
$publish_down = '1970-01-01 00:00:00';
if (isset($slideData['publish_down'])) {
if ($slideData['publish_down'] != '0000-00-00 00:00:00') {
$publish_down = date('Y-m-d H:i:s', strtotime($slideData['publish_down']));
$publish_down = '1970-01-01 00:00:00';
'title' => $slideData['title'],
'description' => $slideData['description'],
'thumbnail' => $slideData['thumbnail'],
'published' => (isset($slideData['published']) ? $slideData['published'] : 1),
'publish_up' => $publish_up,
'publish_down' => $publish_down
if ($sliderID !== false) {
$row['slider'] = $sliderID;
$row['slide'] = $slideData['layers'];
if (isset($slideData['first'])) {
$row['first'] = intval($slideData['first']);
if (isset($slideData['generator_id']) && $slideData['generator_id'] > 0) {
$row['generator_id'] = intval($slideData['generator_id']);
unset($slideData['title']);
unset($slideData['layers']);
unset($slideData['description']);
unset($slideData['thumbnail']);
unset($slideData['published']);
unset($slideData['first']);
unset($slideData['publish_up']);
unset($slideData['publish_down']);
unset($slideData['ordering']);
unset($slideData['generator_id']);
$row['params'] = $slideData;
private function removeFourByteChars($text) {
return preg_replace('/[\x{10000}-\x{10FFFF}]/u', "\xEF\xBF\xBD", $text);
private function getNextOrdering($sliderID) {
$query = "SELECT MAX(ordering) AS ordering FROM " . $this->getTableName() . " WHERE slider = :id";
$result = Database::queryRow($query, array(
":id" => intval($sliderID)
if (isset($result['ordering'])) {
return $result['ordering'] + 1;
* @param int $slidesCount
private function shiftSlideOrdering($sliderID, $offset, $slidesCount = 1) {
// Shift the afterwards slides with the slides count
Database::query("UPDATE {$this->getTableName()} SET ordering = ordering + " . $slidesCount . " WHERE slider = :sliderid AND ordering > :ordering", array(
":sliderid" => intval($sliderID),
":ordering" => intval($offset)