You are here

function _floating_block_admin_convert_text_to_array in Floating block 8

Same name and namespace in other branches
  1. 6 floating_block.admin.inc \_floating_block_admin_convert_text_to_array()
  2. 7 floating_block.admin.inc \_floating_block_admin_convert_text_to_array()

Converts a string representation of floating block settings to an array.

Parameters

string $floating_blocks: A string representation of floating block settings.

Return value

array An array representation of floating block settings.

2 calls to _floating_block_admin_convert_text_to_array()
FloatingBlockUnitTest::testBlockExampleBasic in src/Tests/FloatingBlockUnitTest.php
Tests block_example functionality.
SettingsForm::validateForm in src/Form/SettingsForm.php
Form validation handler.

File

./floating_block.module, line 55
The floating_block module allows parts of the site to stay on the page when scrolling.

Code

function _floating_block_admin_convert_text_to_array($floating_blocks) {
  $floating_blocks = preg_split("/(\r\n|\n)/", $floating_blocks, NULL, PREG_SPLIT_NO_EMPTY);
  $output = array();
  foreach ($floating_blocks as $floating_block) {
    $settings = explode('|', $floating_block);
    $instance = [
      'selector' => $settings[0],
    ];
    if (isset($settings[1])) {
      preg_match_all("/([^=|,]*)=([^=|,]*),?/", $settings[1], $matches, PREG_SET_ORDER);
      foreach ($matches as $match) {
        $instance[$match[1]] = $match[2];
      }
    }
    $output[] = $instance;
  }
  return $output;
}