You are here

function _floating_block_admin_convert_text_to_array in Floating block 7

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

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

Parameters

$floating_blocks: A string representation of floating block settings.

Return value

An array representation of floating block settings.

4 calls to _floating_block_admin_convert_text_to_array()
FloatingBlockSettingsUnitTest::testFloatingBlockSettingsConversions in tests/floating_block.test
Test _floating_block_admin_convert_array_to_text() and _floating_block_admin_convert_text_to_array().
floating_block_admin_submit in ./floating_block.admin.inc
Submit handler for floating_block admin form.
floating_block_admin_validate in ./floating_block.admin.inc
floating_block_update_7000 in ./floating_block.install
Change variable name from floating_block_to_apply to floating_blocks and migrate settings to new format.

File

./floating_block.admin.inc, line 72
Admin page callbacks for the floating_block module.

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);
    $output[$settings[0]] = array();
    if (isset($settings[1])) {
      preg_match_all("/([^=|,]*)=([^=|,]*),?/", $settings[1], $matches, PREG_SET_ORDER);
      foreach ($matches as $match) {
        $output[$settings[0]][$match[1]] = $match[2];
      }
    }
  }
  return $output;
}