public function getChangeDescription()
 {
     if ($this->count === 1) {
         return $this->changeInfos[0]->getChangeDescription();
     }
     return Strings::firstUpper(StringUtils::verbToPastTense($this->getAction())) . " {$this->count} term-meta";
 }
Пример #2
0
 public function getChangeDescription()
 {
     if ($this->action === 'activate') {
         return "Site language switched to '{$this->languageName}'";
     }
     return Strings::capitalize(StringUtils::verbToPastTense($this->action)) . " translation '{$this->languageName}'";
 }
Пример #3
0
 public function getChangeDescription()
 {
     if ($this->count === 1) {
         return $this->changeInfos[0]->getChangeDescription();
     }
     return Strings::capitalize(StringUtils::verbToPastTense($this->getAction())) . " {$this->count} options";
 }
Пример #4
0
 public function getChangeDescription()
 {
     if ($this->action === 'switch') {
         return "Theme switched to '{$this->themeName}'";
     }
     return Strings::capitalize(StringUtils::verbToPastTense($this->action)) . " theme '{$this->themeName}'";
 }
Пример #5
0
 public function getChangeDescription()
 {
     if ($this->count === 1) {
         return $this->changeInfos[0]->getChangeDescription();
     }
     return sprintf("%s %d %s", Strings::capitalize(StringUtils::verbToPastTense($this->getAction())), $this->count, StringUtils::pluralize($this->getEntityName()));
 }
Пример #6
0
 public function getChangeDescription()
 {
     $verb = "Edited";
     $subject = "term-meta '{$this->metaKey}'";
     $rest = "for term '{$this->termName}'";
     if ($this->getAction() === "create" || $this->getAction() === "delete") {
         $verb = Strings::firstUpper(StringUtils::verbToPastTense($this->getAction()));
     }
     return sprintf("%s %s %s", $verb, $subject, $rest);
 }
Пример #7
0
 public function getChangeDescription()
 {
     if ($this->count === 1) {
         return $this->changeInfos[0]->getChangeDescription();
     }
     $taxonomies = StringUtils::pluralize($this->getTaxonomyName());
     if ($this->getAction() === "delete") {
         return "Deleted {$this->count} {$taxonomies}";
     }
     return parent::getChangeDescription();
 }
Пример #8
0
 public function getChangeDescription()
 {
     $entityName = $this->getScope();
     $action = $this->getAction();
     if ($this->count === 1) {
         $defaultDescription = $this->changeInfos[0]->getChangeDescription();
     } else {
         $defaultDescription = sprintf("%s %d %s", Strings::capitalize(StringUtils::verbToPastTense($action)), $this->count, StringUtils::pluralize($entityName));
     }
     $tags = array_map(function (TrackedChangeInfo $changeInfo) {
         return $changeInfo->getCustomTags();
     }, $this->changeInfos);
     return apply_filters("vp_bulk_change_description_{$entityName}", $defaultDescription, $action, $this->count, $tags);
 }
 public function getChangeDescription()
 {
     switch ($this->action) {
         case "install":
             // Pre-1.0-beta2 message, see also WP-219
             return "Installed VersionPress";
         case "activate":
             return "Activated VersionPress " . $this->versionPressVersion;
         case "deactivate":
             return "Deactivated VersionPress";
         default:
             // just in case, this path shouldn't really be reached
             return Strings::capitalize(StringUtils::verbToPastTense($this->action)) . " VersionPress";
     }
 }
Пример #10
0
 public function getChangeDescription()
 {
     $verb = "Edited";
     $subject = "post-meta '{$this->metaKey}'";
     $rest = "for {$this->postType} '{$this->postTitle}'";
     if ($this->metaKey === "_thumbnail_id") {
         // featured image
         $verb = "Changed";
         $subject = "featured image";
         if ($this->getAction() === "create") {
             $verb = "Set";
         }
         if ($this->getAction() === "delete") {
             $verb = "Removed";
         }
     } elseif ($this->getAction() === "create" || $this->getAction() === "delete") {
         $verb = Strings::firstUpper(StringUtils::verbToPastTense($this->getAction()));
     }
     return sprintf("%s %s %s", $verb, $subject, $rest);
 }
Пример #11
0
 public function getChangeDescription()
 {
     /** @var PostChangeInfo $postChangeInfo */
     $postChangeInfo = $this->changeInfos[0];
     $postTypePlural = StringUtils::pluralize($postChangeInfo->getPostType());
     if ($postTypePlural === "nav_menu_item") {
         return "Updated menu items";
     }
     if ($this->count === 1) {
         return $this->changeInfos[0]->getChangeDescription();
     }
     switch ($this->getAction()) {
         case "trash":
             return "Moved {$this->count} {$postTypePlural} to trash";
         case "untrash":
             return "Moved {$this->count} {$postTypePlural} from trash";
         case "edit":
             return "Updated {$this->count} {$postTypePlural}";
     }
     return parent::getChangeDescription();
 }
Пример #12
0
 /**
  * Creates two branches with a conflict in `content`. Asserts that
  * dates are merged automatically but the content conflicts.
  *
  * @test
  * @dataProvider driverProvider
  * @param string $driver
  */
 public function conflictingContentsCreatedConflict($driver)
 {
     if (DIRECTORY_SEPARATOR == '\\' && $driver == MergeDriverInstaller::DRIVER_BASH) {
         $this->markTestSkipped('No Bash on Windows.');
         return;
     }
     $this->installMergeDriver($driver);
     MergeDriverTestUtils::writeIniFile('file.ini', '2011-11-11 11:11:11');
     MergeDriverTestUtils::commit('Initial commit to common ancestor');
     MergeDriverTestUtils::runGitCommand('git checkout -b test-branch');
     MergeDriverTestUtils::writeIniFile('file.ini', '2012-12-12 12:12:12', 'Modified in branch');
     MergeDriverTestUtils::commit('Commit to branch');
     MergeDriverTestUtils::runGitCommand('git checkout master');
     MergeDriverTestUtils::writeIniFile('file.ini', '2013-03-03 13:13:13', 'Modified in master');
     MergeDriverTestUtils::commit('Commit to master');
     MergeAsserter::assertMergeConflict('git merge test-branch');
     $expected = StringUtils::crlfize(file_get_contents(__DIR__ . '/expected-merge-conflict.ini'));
     $actual = StringUtils::crlfize(file_get_contents(self::$repositoryDir . '/file.ini'));
     $this->assertEquals($expected, $actual);
 }
    /**
     * @test
     */
    public function stringContaingNullPlaceholderIsDeserializedToOriginalString()
    {
        $data = ["Section" => ["data" => "<null>"]];
        $ini = StringUtils::crlfize(<<<'INI'
[Section]
data = "<null>"

INI
);
        $this->assertSame($ini, IniSerializer::serialize($data));
        $this->assertSame($data, IniSerializer::deserialize($ini));
    }
Пример #14
0
    /** @var \VersionPress\Storages\StorageFactory $storageFactory */
    $storageFactory = $versionPressContainer->resolve(VersionPressServices::STORAGE_FACTORY);
    /** @var \VersionPress\Storages\DirectoryStorage $termStorage */
    $termStorage = $storageFactory->getStorage('term');
    $termId = isset($newEntity['vp_term_id']) ? $newEntity['vp_term_id'] : $oldEntity['vp_term_id'];
    $term = $termStorage->loadEntity($termId);
    $tags['VP-Term-Name'] = $term['name'];
    return $tags;
}, 10, 4);
add_filter('vp_entity_files_term_taxonomy', function ($files, $oldEntity, $newEntity) {
    $files[] = ["type" => "all-storage-files", "entity" => "option"];
    // sometimes term change can affect option (e.g. deleting menu)
    return $files;
}, 10, 3);
add_filter('vp_bulk_change_description_composer', function ($description, $action, $count) {
    return sprintf("%s %d Composer packages", Strings::capitalize(StringUtils::verbToPastTense($action)), $count);
}, 10, 3);
add_filter('vp_bulk_change_description_revert', function ($description, $action, $count) {
    if ($action === 'undo' || $action === 'rollback') {
        return "Reverted" . " {$count} changes";
    }
    return $description;
}, 10, 3);
add_filter('vp_meta_entity_tags_postmeta', function ($tags, $oldEntity, $newEntity, $action, $oldParent, $newParent) {
    $tags['VP-Post-Type'] = isset($newParent['post_type']) ? $newParent['post_type'] : $oldParent['post_type'];
    $tags['VP-Post-Title'] = isset($newParent['post_title']) ? $newParent['post_title'] : $oldParent['post_title'];
    return $tags;
}, 10, 6);
add_filter('vp_meta_entity_files_postmeta', function ($files, $oldEntity, $newEntity, $oldParentEntity, $newParentEntity) {
    $postType = isset($newParentEntity['post_type']) ? $newParentEntity['post_type'] : $oldParentEntity['post_type'];
    if ($postType !== "attachment") {
 /**
  * Transforms PHP primitives, arrays, objects etc. to INI. Complex structures like arrays and objects
  * can take multiple lines (every scalar value is on new line).
  *
  * @return array
  */
 private static function parseSerializedString()
 {
     $type = self::$value[self::$index];
     self::$index += 2;
     // <type>:
     switch ($type) {
         case 's':
             $length = intval(StringUtils::substringFromTo(self::$value, self::$index, strpos(self::$value, ':', self::$index)));
             self::$index += strlen($length) + 2;
             // :"
             $str = substr(self::$value, self::$index, $length);
             self::$index += strlen($str) + 2;
             // ";
             return ['type' => 'string', 'value' => $str];
         case 'i':
             $number = StringUtils::substringFromTo(self::$value, self::$index, strpos(self::$value, ';', self::$index));
             self::$index += strlen($number) + 1;
             // ;
             return ['type' => 'int', 'value' => intval($number)];
         case 'd':
             $number = StringUtils::substringFromTo(self::$value, self::$index, strpos(self::$value, ';', self::$index));
             self::$index += strlen($number) + 1;
             // ;
             return ['type' => 'double', 'value' => doubleval($number)];
         case 'b':
             $strVal = StringUtils::substringFromTo(self::$value, self::$index, strpos(self::$value, ';', self::$index));
             self::$index += 2;
             // <0|1>;
             return ['type' => 'boolean', 'value' => $strVal === '1'];
         case 'a':
             $length = intval(StringUtils::substringFromTo(self::$value, self::$index, strpos(self::$value, ':', self::$index)));
             self::$index += strlen($length) + 2;
             // :{
             $subItems = [];
             for ($i = 0; $i < $length; $i++) {
                 $key = self::parseSerializedString()['value'];
                 $value = self::parseSerializedString();
                 $subItems[$key] = $value;
             }
             self::$index += 1;
             // }
             return ['type' => 'array', 'value' => $subItems];
         case 'O':
             $classNameLength = intval(StringUtils::substringFromTo(self::$value, self::$index, strpos(self::$value, ':', self::$index)));
             self::$index += strlen($classNameLength) + 2;
             // :"
             $className = substr(self::$value, self::$index, $classNameLength);
             self::$index += $classNameLength + 2;
             // ":
             $attributeCount = intval(StringUtils::substringFromTo(self::$value, self::$index, strpos(self::$value, ':', self::$index)));
             self::$index += strlen($attributeCount) + 2;
             // :{
             $attribute = [];
             for ($i = 0; $i < $attributeCount; $i++) {
                 $attributeName = self::parseSerializedString()['value'];
                 $attributeName = str_replace("*", '*', $attributeName);
                 $attributeName = str_replace("{$className}", '-', $attributeName);
                 $attributeValue = self::parseSerializedString();
                 $attribute[$attributeName] = $attributeValue;
             }
             self::$index += 1;
             // }
             return ['type' => 'object', 'class' => $className, 'value' => $attribute];
         case 'N':
             return ['type' => 'null'];
         case 'r':
         case 'R':
             $number = StringUtils::substringFromTo(self::$value, self::$index, strpos(self::$value, ';', self::$index));
             self::$index += strlen($number) + 1;
             // ;
             return ['type' => $type === 'r' ? '*pointer*' : '*reference*', 'value' => intval($number)];
         default:
             return [];
     }
 }
    /** @test */
    public function full()
    {
        $ini = StringUtils::crlfize(<<<'INI'
[4FABE013BD2443C0BB80BBA89FF7AF6A]
post_date = "2013-04-02 11:23:53"
post_date_gmt = "2013-04-02 11:23:53"
post_content = "[av_section color='alternate_color' custom_bg='' src='' position='top left' repeat='no-repeat' attach='scroll' padding='default' shadow='no-shadow']
[av_table purpose='pricing' caption='']
[av_row row_style='avia-heading-row'][av_cell col_style='']Private Plan[/av_cell][av_cell col_style='avia-highlight-col']Business Plan[/av_cell][av_cell col_style='']Mega Plan[/av_cell][/av_row]
[av_row row_style='avia-pricing-row'][av_cell col_style='']10$
<small>per month</small>[/av_cell][av_cell col_style='avia-highlight-col']20$
<small>per month</small>[/av_cell][av_cell col_style='']50$
<small>per month</small>[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='']1 GB Bandwidth[/av_cell][av_cell col_style='avia-highlight-col']10 GB Bandwidth[/av_cell][av_cell col_style='']Unlimited Bandwidth[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='']10 MB Max File Size[/av_cell][av_cell col_style='avia-highlight-col']50 MB Max File Size[/av_cell][av_cell col_style='']No Maximum File Size[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='']3 GHZ CPU[/av_cell][av_cell col_style='avia-highlight-col']5 GHZ CPU[/av_cell][av_cell col_style='']5 GHZ CPU[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='']256 MB Memory[/av_cell][av_cell col_style='avia-highlight-col']1024 MB Memory[/av_cell][av_cell col_style='']4 GB Memory[/av_cell][/av_row]
[av_row row_style='avia-button-row'][av_cell col_style=''][av_button label='Get Private Plan' link='manually,http://' link_target='' color='theme-color-subtle' custom_bg='#444444' custom_font='#ffffff' size='medium' position='center' icon_select='yes' icon='25']

[/av_cell][av_cell col_style='avia-highlight-col'][av_button label='Get Business Plan' link='manually,http://' link_target='' color='theme-color' custom_bg='#444444' custom_font='#ffffff' size='medium' position='center' icon_select='yes' icon='29']

[/av_cell][av_cell col_style=''][av_button label='Get Mega Plan' link='manually,http://' link_target='' color='theme-color-subtle' custom_bg='#444444' custom_font='#ffffff' size='medium' position='center' icon_select='yes' icon='44']

[/av_cell][/av_row]
[/av_table]
[/av_section]

[av_table purpose='pricing' caption='']
[av_row row_style='avia-heading-row'][av_cell col_style='avia-desc-col']Plan[/av_cell][av_cell col_style='']Business[/av_cell][av_cell col_style='']Mega[/av_cell][/av_row]
[av_row row_style='avia-pricing-row'][av_cell col_style='avia-desc-col'][/av_cell][av_cell col_style='']20$
<small>per month</small>[/av_cell][av_cell col_style='']50$
<small>per month</small>[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='avia-desc-col']Bandwidth[/av_cell][av_cell col_style='']10 GB[/av_cell][av_cell col_style='']Unlimited[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='avia-desc-col']Max File Size[/av_cell][av_cell col_style='']50 MB[/av_cell][av_cell col_style='']No Maximum[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='avia-desc-col']CPU[/av_cell][av_cell col_style='']3 GHZ[/av_cell][av_cell col_style='']5 GHZ[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='avia-desc-col']Memory[/av_cell][av_cell col_style='']1024 MB[/av_cell][av_cell col_style='']4 GB[/av_cell][/av_row]
[av_row row_style='avia-button-row'][av_cell col_style='avia-desc-col'][/av_cell][av_cell col_style=''][av_button label='Get Business Plan' link='manually,http://' link_target='' color='theme-color' custom_bg='#444444' custom_font='#ffffff' size='medium' position='center' icon_select='yes' icon='29']

[/av_cell][av_cell col_style=''][av_button label='Get Mega Plan' link='manually,http://' link_target='' color='theme-color-subtle' custom_bg='#444444' custom_font='#ffffff' size='medium' position='center' icon_select='yes' icon='44']

[/av_cell][/av_row]
[/av_table]

[av_table purpose='tabular' caption='This is a neat table caption']
[av_row row_style='avia-heading-row'][av_cell col_style='avia-desc-col']Configurations[/av_cell][av_cell col_style='']DUAL 1.8GHZ[/av_cell][av_cell col_style='']DUAL 2GHZ[/av_cell][av_cell col_style='']DUAL 2.5GHZ[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='avia-desc-col']Model[/av_cell][av_cell col_style='']M9454LL/A[/av_cell][av_cell col_style='']M9455LL/A[/av_cell][av_cell col_style='']M9457LL/A[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='avia-desc-col']g5 Processor[/av_cell][av_cell col_style='']Dual 1.8GHz PowerPC G5[/av_cell][av_cell col_style='']Dual 2GHz PowerPC G5[/av_cell][av_cell col_style='']Dual 2.5GHz PowerPC G5[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='avia-desc-col']Frontside Bus[/av_cell][av_cell col_style='']900MHz per processor[/av_cell][av_cell col_style='']1GHz per processor[/av_cell][av_cell col_style='']1.25GHz per processor
[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='avia-desc-col']Level 2 Cache[/av_cell][av_cell col_style='']512K per processor [/av_cell][av_cell col_style='']512K per processor [/av_cell][av_cell col_style='']512K per processor
[/av_cell][/av_row]
[av_row row_style='avia-button-row'][av_cell col_style='avia-desc-col'][/av_cell][av_cell col_style=''][av_button label='Click me' link='manually,http://' link_target='' color='blue' custom_bg='#444444' custom_font='#ffffff' size='small' position='center' icon_select='yes' icon='25']

[/av_cell][av_cell col_style=''][av_button label='Click me' link='manually,http://' link_target='' color='red' custom_bg='#444444' custom_font='#ffffff' size='small' position='center' icon_select='yes' icon='25']

[/av_cell][av_cell col_style=''][av_button label='Click me' link='manually,http://' link_target='' color='green' custom_bg='#444444' custom_font='#ffffff' size='small' position='center' icon_select='yes' icon='25']

[/av_cell][/av_row]
[/av_table]

[av_table purpose='tabular' caption='This is a neat table caption']
[av_row row_style='avia-heading-row'][av_cell col_style='']Configurations[/av_cell][av_cell col_style='']DUAL 1.8GHZ[/av_cell][av_cell col_style='']DUAL 2GHZ[/av_cell][av_cell col_style='']DUAL 2.5GHZ[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='']Model[/av_cell][av_cell col_style='']M9454LL/A[/av_cell][av_cell col_style='']M9455LL/A[/av_cell][av_cell col_style='']M9457LL/A[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='']g5 Processor[/av_cell][av_cell col_style='']Dual 1.8GHz PowerPC G5[/av_cell][av_cell col_style='']Dual 2GHz PowerPC G5[/av_cell][av_cell col_style='']Dual 2.5GHz PowerPC G5[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='']Frontside Bus[/av_cell][av_cell col_style='']900MHz per processor[/av_cell][av_cell col_style='']1GHz per processor[/av_cell][av_cell col_style='']1.25GHz per processor
[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='']Level 2 Cache[/av_cell][av_cell col_style='']512K per processor [/av_cell][av_cell col_style='']512K per processor [/av_cell][av_cell col_style='']512K per processor
[/av_cell][/av_row]
[/av_table]"
post_content_filtered = ""
post_title = "Pricing and data Table"
post_excerpt = ""
post_status = "publish"
post_type = "page"
comment_status = "open"
ping_status = "open"
post_password = ""
post_name = "pricing-and-data-tables"
to_ping = ""
pinged = ""
menu_order = 0
post_mime_type = ""
guid = "http://www.kriesi.at/themes/enfold/?page_id=862"
vp_id = "4FABE013BD2443C0BB80BBA89FF7AF6A"
vp_post_author = "D040169AA8054643B5C2E8D06016C85A"

INI
);
        $data = ["4FABE013BD2443C0BB80BBA89FF7AF6A" => ["post_date" => "2013-04-02 11:23:53", "post_date_gmt" => "2013-04-02 11:23:53", "post_content" => StringUtils::crlfize(<<<'INI'
[av_section color='alternate_color' custom_bg='' src='' position='top left' repeat='no-repeat' attach='scroll' padding='default' shadow='no-shadow']
[av_table purpose='pricing' caption='']
[av_row row_style='avia-heading-row'][av_cell col_style='']Private Plan[/av_cell][av_cell col_style='avia-highlight-col']Business Plan[/av_cell][av_cell col_style='']Mega Plan[/av_cell][/av_row]
[av_row row_style='avia-pricing-row'][av_cell col_style='']10$
<small>per month</small>[/av_cell][av_cell col_style='avia-highlight-col']20$
<small>per month</small>[/av_cell][av_cell col_style='']50$
<small>per month</small>[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='']1 GB Bandwidth[/av_cell][av_cell col_style='avia-highlight-col']10 GB Bandwidth[/av_cell][av_cell col_style='']Unlimited Bandwidth[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='']10 MB Max File Size[/av_cell][av_cell col_style='avia-highlight-col']50 MB Max File Size[/av_cell][av_cell col_style='']No Maximum File Size[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='']3 GHZ CPU[/av_cell][av_cell col_style='avia-highlight-col']5 GHZ CPU[/av_cell][av_cell col_style='']5 GHZ CPU[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='']256 MB Memory[/av_cell][av_cell col_style='avia-highlight-col']1024 MB Memory[/av_cell][av_cell col_style='']4 GB Memory[/av_cell][/av_row]
[av_row row_style='avia-button-row'][av_cell col_style=''][av_button label='Get Private Plan' link='manually,http://' link_target='' color='theme-color-subtle' custom_bg='#444444' custom_font='#ffffff' size='medium' position='center' icon_select='yes' icon='25']

[/av_cell][av_cell col_style='avia-highlight-col'][av_button label='Get Business Plan' link='manually,http://' link_target='' color='theme-color' custom_bg='#444444' custom_font='#ffffff' size='medium' position='center' icon_select='yes' icon='29']

[/av_cell][av_cell col_style=''][av_button label='Get Mega Plan' link='manually,http://' link_target='' color='theme-color-subtle' custom_bg='#444444' custom_font='#ffffff' size='medium' position='center' icon_select='yes' icon='44']

[/av_cell][/av_row]
[/av_table]
[/av_section]

[av_table purpose='pricing' caption='']
[av_row row_style='avia-heading-row'][av_cell col_style='avia-desc-col']Plan[/av_cell][av_cell col_style='']Business[/av_cell][av_cell col_style='']Mega[/av_cell][/av_row]
[av_row row_style='avia-pricing-row'][av_cell col_style='avia-desc-col'][/av_cell][av_cell col_style='']20$
<small>per month</small>[/av_cell][av_cell col_style='']50$
<small>per month</small>[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='avia-desc-col']Bandwidth[/av_cell][av_cell col_style='']10 GB[/av_cell][av_cell col_style='']Unlimited[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='avia-desc-col']Max File Size[/av_cell][av_cell col_style='']50 MB[/av_cell][av_cell col_style='']No Maximum[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='avia-desc-col']CPU[/av_cell][av_cell col_style='']3 GHZ[/av_cell][av_cell col_style='']5 GHZ[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='avia-desc-col']Memory[/av_cell][av_cell col_style='']1024 MB[/av_cell][av_cell col_style='']4 GB[/av_cell][/av_row]
[av_row row_style='avia-button-row'][av_cell col_style='avia-desc-col'][/av_cell][av_cell col_style=''][av_button label='Get Business Plan' link='manually,http://' link_target='' color='theme-color' custom_bg='#444444' custom_font='#ffffff' size='medium' position='center' icon_select='yes' icon='29']

[/av_cell][av_cell col_style=''][av_button label='Get Mega Plan' link='manually,http://' link_target='' color='theme-color-subtle' custom_bg='#444444' custom_font='#ffffff' size='medium' position='center' icon_select='yes' icon='44']

[/av_cell][/av_row]
[/av_table]

[av_table purpose='tabular' caption='This is a neat table caption']
[av_row row_style='avia-heading-row'][av_cell col_style='avia-desc-col']Configurations[/av_cell][av_cell col_style='']DUAL 1.8GHZ[/av_cell][av_cell col_style='']DUAL 2GHZ[/av_cell][av_cell col_style='']DUAL 2.5GHZ[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='avia-desc-col']Model[/av_cell][av_cell col_style='']M9454LL/A[/av_cell][av_cell col_style='']M9455LL/A[/av_cell][av_cell col_style='']M9457LL/A[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='avia-desc-col']g5 Processor[/av_cell][av_cell col_style='']Dual 1.8GHz PowerPC G5[/av_cell][av_cell col_style='']Dual 2GHz PowerPC G5[/av_cell][av_cell col_style='']Dual 2.5GHz PowerPC G5[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='avia-desc-col']Frontside Bus[/av_cell][av_cell col_style='']900MHz per processor[/av_cell][av_cell col_style='']1GHz per processor[/av_cell][av_cell col_style='']1.25GHz per processor
[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='avia-desc-col']Level 2 Cache[/av_cell][av_cell col_style='']512K per processor [/av_cell][av_cell col_style='']512K per processor [/av_cell][av_cell col_style='']512K per processor
[/av_cell][/av_row]
[av_row row_style='avia-button-row'][av_cell col_style='avia-desc-col'][/av_cell][av_cell col_style=''][av_button label='Click me' link='manually,http://' link_target='' color='blue' custom_bg='#444444' custom_font='#ffffff' size='small' position='center' icon_select='yes' icon='25']

[/av_cell][av_cell col_style=''][av_button label='Click me' link='manually,http://' link_target='' color='red' custom_bg='#444444' custom_font='#ffffff' size='small' position='center' icon_select='yes' icon='25']

[/av_cell][av_cell col_style=''][av_button label='Click me' link='manually,http://' link_target='' color='green' custom_bg='#444444' custom_font='#ffffff' size='small' position='center' icon_select='yes' icon='25']

[/av_cell][/av_row]
[/av_table]

[av_table purpose='tabular' caption='This is a neat table caption']
[av_row row_style='avia-heading-row'][av_cell col_style='']Configurations[/av_cell][av_cell col_style='']DUAL 1.8GHZ[/av_cell][av_cell col_style='']DUAL 2GHZ[/av_cell][av_cell col_style='']DUAL 2.5GHZ[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='']Model[/av_cell][av_cell col_style='']M9454LL/A[/av_cell][av_cell col_style='']M9455LL/A[/av_cell][av_cell col_style='']M9457LL/A[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='']g5 Processor[/av_cell][av_cell col_style='']Dual 1.8GHz PowerPC G5[/av_cell][av_cell col_style='']Dual 2GHz PowerPC G5[/av_cell][av_cell col_style='']Dual 2.5GHz PowerPC G5[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='']Frontside Bus[/av_cell][av_cell col_style='']900MHz per processor[/av_cell][av_cell col_style='']1GHz per processor[/av_cell][av_cell col_style='']1.25GHz per processor
[/av_cell][/av_row]
[av_row row_style=''][av_cell col_style='']Level 2 Cache[/av_cell][av_cell col_style='']512K per processor [/av_cell][av_cell col_style='']512K per processor [/av_cell][av_cell col_style='']512K per processor
[/av_cell][/av_row]
[/av_table]
INI
), "post_content_filtered" => "", "post_title" => "Pricing and data Table", "post_excerpt" => "", "post_status" => "publish", "post_type" => "page", "comment_status" => "open", "ping_status" => "open", "post_password" => "", "post_name" => "pricing-and-data-tables", "to_ping" => "", "pinged" => "", "menu_order" => 0, "post_mime_type" => "", "guid" => "http://www.kriesi.at/themes/enfold/?page_id=862", "vp_id" => "4FABE013BD2443C0BB80BBA89FF7AF6A", "vp_post_author" => "D040169AA8054643B5C2E8D06016C85A"]];
        $this->assertEquals($data, IniSerializer::deserialize($ini), "Deserialization failed - arrays are different");
        $this->assertEquals($ini, IniSerializer::serialize($data), "Serialization failed - strings are different");
    }
    /**
     * @test
     */
    public function full()
    {
        $data = ["avia_options_enfold" => ["option_name" => "avia_options_enfold", "option_value" => StringUtils::crlfize(<<<'VAL'
a:1:{s:4:"avia";a:174:{s:21:"default_layout_target";s:5431:"
					<style type='text/css'>
						.avprev-layout-container, .avprev-layout-container *{
							-moz-box-sizing: border-box;
							-webkit-box-sizing: border-box;
							box-sizing: border-box;
						}
						#avia_default_layout_target .avia_target_inside{min-height: 300px;}
						#boxed .avprev-layout-container{ padding:23px; border:1px solid #e1e1e1; background-color: #555;}
						#boxed .avprev-layout-container-inner{border:none; overflow: hidden;}
						.avprev-layout-container-inner{border: 1px solid #e1e1e1; background:#fff;}
						.avprev-layout-content-container{overflow:hidden; margin:0 auto; position:relative;}
						.avprev-layout-container-sizer{margin:0 auto; position:relative; z-index:5;}
						.avprev-layout-content-container .avprev-layout-container-sizer{display:table;}
						.avprev-layout-content-container .avprev-layout-container-sizer .av-cell{display:table-cell; padding: 20px;}
						.avprev-layout-content-container .avprev-layout-container-sizer:after{ background: #F8F8F8; position: absolute; top: 0; left: 99%; width: 100%; height: 100%; content: ''; z-index:1;}
						.avprev-layout-header{border-bottom:1px solid #e1e1e1; padding:20px; overflow: hidden;}
						.avprev-layout-slider{border-bottom:1px solid #e1e1e1; padding:30px 20px; background:#3B740F url('http://boocommerce.com/wp-content/themes/enfold/framework/images/layout/diagonal-bold-light.png') top left repeat; color:#fff;}
						.avprev-layout-content{border-right:1px solid #e1e1e1; width:73%; }
						.avprev-layout-sidebar{border-left:1px solid #e1e1e1; background:#f8f8f8; left:-1px; position:relative; min-height:141px;}
						.avprev-layout-menu-description{float:left;}
						.avprev-layout-menu{float:right; color:#999;}


						#header_right .avprev-layout-header{border-left:1px solid #e1e1e1; width:130px; float:right; border-bottom:none; min-height: 220px;}
						#header_left .avprev-layout-header{border-right:1px solid #e1e1e1; width:130px; float:left; border-bottom:none; min-height: 220px;}

						#header_right .avprev-layout-content-container{border-right:1px solid #e1e1e1; right:-1px;}
						#header_left  .avprev-layout-content-container{border-left:1px solid #e1e1e1; left:-1px;}

						#header_left .avprev-layout-menu, #header_right .avprev-layout-menu{float:none; padding-top:23px; clear:both; }
						#header_left .avprev-layout-divider, #header_right .avprev-layout-divider{display:none;}
						#header_left .avprev-layout-menuitem, #header_right .avprev-layout-menuitem{display:block; border-bottom:1px dashed #e1e1e1; padding:3px;}
						#header_left .avprev-layout-menuitem-first, #header_right .avprev-layout-menuitem-first{border-top:1px dashed #e1e1e1;}
						#header_left .avprev-layout-header .avprev-layout-container-sizer, #header_right .avprev-layout-header .avprev-layout-container-sizer{width:100%!important;}


						.avprev-layout-container-widget{display:none; border:1px solid #e1e1e1; padding:7px; font-size:12px; margin-top:5px; text-align:center;}
						.avprev-layout-container-social{margin-top:5px; text-align:center;}
						.av-active .pr-icons{display:block; }

						#header_left .avprev-layout-container-widget.av-active, #header_right .avprev-layout-container-widget.av-active{display:block;}
						#header_left .avprev-layout-container-social.av-active, #header_right .avprev-layout-container-widget.av-social{display:block;}

					</style>

					<small class=''>A rough preview of the frontend.</small>
					<div class='avprev-layout-container'>
						<div class='avprev-layout-container-inner'>
							<div class='avprev-layout-header'>
								<div class='avprev-layout-container-sizer'>
									<strong class='avprev-layout-menu-description'>Logo + Main Menu Area</strong>
									<div class='avprev-layout-menu'>
									<span class='avprev-layout-menuitem avprev-layout-menuitem-first'>Home</span>
									<span class='avprev-layout-divider'>|</span>
									<span class='avprev-layout-menuitem'>About</span>
									<span class='avprev-layout-divider'>|</span>
									<span class='avprev-layout-menuitem'>Contact</span>
									</div>
								</div>

								<div class='avprev-layout-container-social'>
									<span class='pr-icons'>
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_facebook.png' alt='' />
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_twitter.png' alt='' />
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_flickr.png' alt='' />
			</span>
								</div>

								<div class='avprev-layout-container-widget'>
									<strong>Widgets</strong>
								</div>

							</div>

							<div class='avprev-layout-content-container'>
								<div class='avprev-layout-slider'>
									<strong>Fullwidth Area (eg: Fullwidth Slideshow)</strong>
								</div>

								<div class='avprev-layout-container-sizer'>
									<div class='avprev-layout-content av-cell'><strong>Content Area</strong><p>This is the content area. The content area holds all your blog entries, pages, products etc</p></div>
									<div class='avprev-layout-sidebar av-cell'><strong>Sidebar</strong><p>This area holds all your sidebar widgets</p>
									</div>
								</div>
							</div>

						</div>
					</div>


					";s:16:"avia_tab_layout1";s:0:"";s:16:"avia_tab_layout5";s:0:"";s:16:"color-body_style";s:9:"stretched";s:15:"header_position";s:10:"header_top";s:20:"layout_align_content";s:20:"content_align_center";s:18:"sidebarmenu_sticky";s:18:"conditional_sticky";s:19:"sidebarmenu_widgets";s:0:"";s:18:"sidebarmenu_social";s:0:"";s:17:"avia_tab5ewwe_end";s:0:"";s:13:"avia_tab5wewe";s:0:"";s:17:"responsive_active";s:7:"enabled";s:15:"responsive_size";s:6:"1310px";s:13:"content_width";s:2:"73";s:14:"combined_width";s:3:"100";s:16:"avia_tab4543_end";s:0:"";s:23:"avia_tab_container_end2";s:0:"";s:21:"theme_settings_export";s:0:"";s:18:"config_file_upload";s:0:"";s:15:"iconfont_upload";s:0:"";s:9:"frontpage";s:0:"";s:8:"blogpage";s:0:"";s:4:"logo";s:0:"";s:7:"favicon";s:0:"";s:15:"websave_windows";s:0:"";s:6:"markup";s:0:"";s:15:"lightbox_active";s:4:"true";s:9:"analytics";s:0:"";s:12:"color_scheme";s:4:"Blue";s:16:"advanced_styling";s:0:"";s:24:"default_slideshow_target";s:4536:"
					<style type='text/css'>

						#boxed .live_bg_wrap{ padding:23px;   border:1px solid #e1e1e1; background-position: top center;}
						.live_bg_small{font-size:10px; color:#999;}
						.live_bg_wrap{ padding: 0; background:#f8f8f8; overflow:hidden; background-position: top center;}
						.live_bg_wrap div{overflow:hidden; position:relative;}
						.live_bg_wrap h3{margin: 0 0 5px 0 ; color:inherit;}
						.live_bg_wrap .main_h3{font-weight:bold; font-size:17px;  }
						.border{border:1px solid; border-bottom-style:none; border-bottom-width:0; padding:13px; width:562px;}
						#boxed .border{  width:514px;}

						.live_header_color {position: relative;width: 100%;left: }
						.bg2{border:1px solid; margin:4px; display:block; float:right; width:220px; padding:5px; max-width:80%}
						.content_p{display:block; float:left; width:250px; max-width: 100%;}
						.live-socket_color{font-size:11px;}
						.live-footer_color a{text-decoration:none;}
						.live-socket_color a{text-decoration:none;  position:absolute; top:28%; right:13px;}

						#avia_preview .webfont_google_webfont{  font-weight:normal; }
						.webfont_default_font{  font-weight:normal; font-size:13px; line-height:1.7em;}

						div .link_controller_list a{ width:95px; font-size:11px;}
						.avia_half{width: 267px; float:left; height:183px;}
						.avia_half .bg2{float:none; margin-left:0;}
						.avia_half_2{border-left:none; padding-left:14px;}
						#boxed  .avia_half { width: 243px; }
						.live-slideshow_color{text-align:center;}
						.text_small_outside{position:relative; top:-15px; display:block; left: 10px;}

						#header_left .live-header_color{float:left; width:101px; height: 380px; border-bottom:1px solid; border-right: none;}
						#header_right .live-header_color{float:right; width:101px; height: 380px; border-bottom:1px solid; border-left: none;}
						.av-sub-logo-area{overflow:hidden;}

						#boxed #header_left .live-header_color, #boxed #header_right .live-header_color{height: 380px;}
						#boxed #header_right .avia_half, #boxed #header_left .avia_half{width: 179px; height: 215px;}
						#header_right .avia_half, #header_left .avia_half{width: 203px; height: 215px;}
						#boxed .live-socket_color{border-bottom:1px solid;}
					</style>





					<small class='live_bg_small'>A rough preview of the frontend.</small>

					<div id='avia_preview' class='live_bg_wrap webfont_default_font'>
					<div class='avprev-design-container'>
					<!--<small class='text_small_outside'>Next Event: in 10 hours 5 minutes.</small>-->


						<div class='live-header_color border'>
							<span class='text'>Logo Area</span>
							<a class='a_link' href='#'>A link</a>
							<a class='an_activelink' href='#'>A hovered link</a>
							<div class='bg2'>Highlight Background + Border Color</div>
						</div>

						<div class='av-sub-logo-area'>

						<!--<div class='live-slideshow_color border'>
							<h3 class='webfont_google_webfont main_h3'>Slideshow Area/Page Title Area</h3>
								<p class='slide_p'>Slideshow caption<br/>
									<a class='a_link' href='#'>A link</a>
									<a class='an_activelink' href='#'>A hovered link</a>
								</p>
						</div>-->

						<div class='live-main_color border avia_half'>
							<h3 class='webfont_google_webfont main_h3'>Main Content heading</h3>
								<p class='content_p'>This is default content with a default heading. Font color, headings and link colors can be choosen below. <br/>
									<a class='a_link' href='#'>A link</a>
									<a class='an_activelink' href='#'>A hovered link</a>
								</p>

								<div class='bg2'>Highlight Background + Border Color</div>
						</div>



						<div class='live-alternate_color border avia_half avia_half_2'>
								<h3 class='webfont_google_webfont main_h3'>Alternate Content Area</h3>
								<p>This is content of an alternate content area. Choose font color, headings and link colors below. <br/>
									<a class='a_link' href='#'>A link</a>
									<a class='an_activelink' href='#'>A hovered link</a>
								</p>

								<div class='bg2'>Highlight Background + Border Color</div>
						</div>

						<div class='live-footer_color border'>
							<h3 class='webfont_google_webfont'>Demo heading (Footer)</h3>
							<p>This is text on the footer background</p>
							<a class='a_link' href='#'>Link | Link 2</a>
						</div>

						<div class='live-socket_color border'>Socket Text <a class='a_link' href='#'>Link | Link 2</a></div>
					</div>
					</div>
					</div>

					";s:9:"avia_tab1";s:0:"";s:9:"avia_tab2";s:0:"";s:24:"colorset-header_color-bg";s:7:"#ffffff";s:25:"colorset-header_color-bg2";s:7:"#f8f8f8";s:29:"colorset-header_color-primary";s:7:"#719430";s:31:"colorset-header_color-secondary";s:7:"#8bba34";s:27:"colorset-header_color-color";s:7:"#666666";s:28:"colorset-header_color-border";s:7:"#e1e1e1";s:14:"hrheader_color";s:0:"";s:25:"colorset-header_color-img";s:0:"";s:33:"colorset-header_color-customimage";s:0:"";s:25:"colorset-header_color-pos";s:8:"top left";s:28:"colorset-header_color-repeat";s:9:"no-repeat";s:28:"colorset-header_color-attach";s:6:"scroll";s:13:"avia_tab_end2";s:0:"";s:9:"avia_tab3";s:0:"";s:22:"colorset-main_color-bg";s:7:"#ffffff";s:23:"colorset-main_color-bg2";s:7:"#f8f8f8";s:27:"colorset-main_color-primary";s:7:"#719430";s:29:"colorset-main_color-secondary";s:7:"#8bba34";s:25:"colorset-main_color-color";s:7:"#666666";s:26:"colorset-main_color-border";s:7:"#e1e1e1";s:12:"hrmain_color";s:0:"";s:23:"colorset-main_color-img";s:0:"";s:31:"colorset-main_color-customimage";s:0:"";s:23:"colorset-main_color-pos";s:8:"top left";s:26:"colorset-main_color-repeat";s:9:"no-repeat";s:26:"colorset-main_color-attach";s:6:"scroll";s:13:"avia_tab_end3";s:0:"";s:9:"avia_tab4";s:0:"";s:27:"colorset-alternate_color-bg";s:7:"#ffffff";s:28:"colorset-alternate_color-bg2";s:7:"#f8f8f8";s:32:"colorset-alternate_color-primary";s:7:"#719430";s:34:"colorset-alternate_color-secondary";s:7:"#8bba34";s:30:"colorset-alternate_color-color";s:7:"#666666";s:31:"colorset-alternate_color-border";s:7:"#e1e1e1";s:17:"hralternate_color";s:0:"";s:28:"colorset-alternate_color-img";s:0:"";s:36:"colorset-alternate_color-customimage";s:0:"";s:28:"colorset-alternate_color-pos";s:8:"top left";s:31:"colorset-alternate_color-repeat";s:9:"no-repeat";s:31:"colorset-alternate_color-attach";s:6:"scroll";s:13:"avia_tab_end4";s:0:"";s:9:"avia_tab5";s:0:"";s:24:"colorset-footer_color-bg";s:7:"#ffffff";s:25:"colorset-footer_color-bg2";s:7:"#f8f8f8";s:29:"colorset-footer_color-primary";s:7:"#719430";s:31:"colorset-footer_color-secondary";s:7:"#8bba34";s:27:"colorset-footer_color-color";s:7:"#666666";s:28:"colorset-footer_color-border";s:7:"#e1e1e1";s:14:"hrfooter_color";s:0:"";s:25:"colorset-footer_color-img";s:0:"";s:33:"colorset-footer_color-customimage";s:0:"";s:25:"colorset-footer_color-pos";s:8:"top left";s:28:"colorset-footer_color-repeat";s:9:"no-repeat";s:28:"colorset-footer_color-attach";s:6:"scroll";s:13:"avia_tab_end5";s:0:"";s:9:"avia_tab6";s:0:"";s:24:"colorset-socket_color-bg";s:7:"#ffffff";s:25:"colorset-socket_color-bg2";s:7:"#f8f8f8";s:29:"colorset-socket_color-primary";s:7:"#719430";s:31:"colorset-socket_color-secondary";s:7:"#8bba34";s:27:"colorset-socket_color-color";s:7:"#666666";s:28:"colorset-socket_color-border";s:7:"#e1e1e1";s:14:"hrsocket_color";s:0:"";s:25:"colorset-socket_color-img";s:0:"";s:33:"colorset-socket_color-customimage";s:0:"";s:25:"colorset-socket_color-pos";s:8:"top left";s:28:"colorset-socket_color-repeat";s:9:"no-repeat";s:28:"colorset-socket_color-attach";s:6:"scroll";s:13:"avia_tab_end6";s:0:"";s:10:"avia_tab54";s:0:"";s:16:"color-body_color";s:7:"#eeeeee";s:14:"color-body_img";s:0:"";s:22:"color-body_customimage";s:0:"";s:14:"color-body_pos";s:8:"top left";s:17:"color-body_repeat";s:9:"no-repeat";s:17:"color-body_attach";s:6:"scroll";s:13:"avia_tab5_end";s:0:"";s:14:"google_webfont";s:9:"Open Sans";s:12:"default_font";s:32:"Helvetica-Neue,Helvetica-websave";s:15:"avia_tabwe5_end";s:0:"";s:22:"avia_tab_container_end";s:0:"";s:9:"quick_css";s:0:"";s:14:"archive_layout";s:13:"sidebar_right";s:11:"blog_layout";s:13:"sidebar_right";s:13:"single_layout";s:13:"sidebar_right";s:11:"page_layout";s:13:"sidebar_right";s:19:"smartphones_sidebar";s:0:"";s:16:"page_nesting_nav";s:4:"true";s:17:"widgetdescription";s:0:"";s:18:"header_conditional";s:0:"";s:21:"default_header_target";s:5802:"
					<style type='text/css'>

					#avia_options_page #avia_default_header_target{background:#555; border:none; padding:10px 10px; width: 610px;}
					#avia_header_preview{color:#999; border:1px solid #e1e1e1; padding:15px 45px; overflow:hidden; background-color:#fff; position: relative;}

					#pr-main-area{line-height:69px; overflow:hidden;}
					#pr-menu{float:right; font-size:12px;}

					#pr-logo{ max-width: 150px; max-height: 70px; float:left;}
					#avia_header_preview.large #pr-logo{ max-width: 250px; max-height: 115px;}
					#avia_header_preview.large #pr-main-area{line-height:115px;}

					#search_icon{opacity:0.5; margin-left: 10px; top:3px; position:relative; display:none;}
					#search_icon.header_searchicon{display:inline;}
					#pr-content-area{display:block; clear:both; padding:15px 45px; overflow:hidden; background-color:#fff; text-align:center; border:1px solid #e1e1e1; border-top:none;}
					.logo_right #pr-logo{float:right}
					.logo_center{text-align:center;}
					.logo_center #pr-logo{float:none}
					.menu_left #pr-menu{float:left}
					#avia_options_page .bottom_nav_header#pr-main-area{line-height: 1em;}
					.bottom_nav_header #pr-menu{float:none; clear:both; }
					.bottom_nav_header.logo_right #pr-menu{text-align:right;}


					#pr-menu-2nd{height: 17px; color:#aaa; border:1px solid #e1e1e1; padding:5px 45px; overflow:hidden; background-color:#f8f8f8; border-bottom:none; display:none; font-size:11px;}
					.extra_header_active #pr-menu-2nd{display:block;}
					.pr-secondary-items{display:none;}
					.secondary_left .pr-secondary-items, .secondary_right .pr-secondary-items{display:block; float:left; margin:0 10px 0 0;}
					.secondary_right .pr-secondary-items{float:right; margin:0  0 0 10px;}

					.pr-icons{opacity:0.3; display:none; position:relative; top:1px;}
					.icon_active_left.extra_header_active #pr-menu-2nd .pr-icons{display:block; float:left; margin:0 10px 0 0;}
					.icon_active_right.extra_header_active #pr-menu-2nd .pr-icons{display:block; float:right; margin:0 0 0 10px ;}

					.icon_active_main #pr-main-icon{float:right; position:relative; }
					.icon_active_main #pr-main-icon .pr-icons{display:block; top: 3px; margin: 0 0 0 17px;}
					.icon_active_main .logo_right #pr-main-icon {left:-138px;}
					.icon_active_main .large .logo_right #pr-main-icon {left:-55px;}
					.icon_active_main .bottom_nav_header #pr-main-icon{top:30px;}
					.icon_active_main .large .bottom_nav_header #pr-main-icon{top:50px;}
					.icon_active_main .logo_right.bottom_nav_header #pr-main-icon{float:left; left:-17px;}
					.icon_active_main .logo_center.bottom_nav_header #pr-main-icon{float: right; top: 42px; position: absolute; right: 24px;}
					.icon_active_main .logo_center.bottom_nav_header #pr-main-icon .pr-icons{margin:0; top:0px;}

					.pr-phone-items{display:none;}
					.phone_active_left  .pr-phone-items{display:block; float:left;}
					.phone_active_right .pr-phone-items{display:block; float:right;}

					.header_stretch #avia_header_preview, .header_stretch #pr-menu-2nd{ padding-left: 15px; padding-right: 15px; }
					.header_stretch .icon_active_main .logo_right.menu_left #pr-main-icon {left:-193px;}

					.inner-content{color:#999; text-align: justify; }

					#pr-breadcrumb{height: 23px; line-height:23px; color:#aaa; border:1px solid #e1e1e1; padding:5px 45px; overflow:hidden; background-color:#f8f8f8; border-top:none; font-size:16px;}
					#pr-breadcrumb .some-breadcrumb{float:right; font-size:11px;}
					#pr-breadcrumb.title_bar .some-breadcrumb, #pr-breadcrumb.hidden_title_bar{ display:none; }

					</style>

					<div id='pr-stretch-wrap' >
						<small class='live_bg_small'>A rough layout preview of the header area</small>
						<div id='pr-phone-wrap' >
							<div id='pr-social-wrap' >
								<div id='pr-seconary-menu-wrap' >
									<div id='pr-menu-2nd'><span class='pr-icons'>
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_facebook.png' alt='' />
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_twitter.png' alt='' />
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_flickr.png' alt='' />
			</span><span class='pr-secondary-items'>Login | Signup | etc</span><span class='pr-phone-items'>Phone: 555-4432</span></div>
									<div id='avia_header_preview' >
										<div id='pr-main-area' >
											<img id='pr-logo' src='http://boocommerce.com/wp-content/themes/enfold/images/layout/logo.png' alt=''/>
											<div id='pr-main-icon'><span class='pr-icons'>
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_facebook.png' alt='' />
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_twitter.png' alt='' />
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_flickr.png' alt='' />
			</span></div>
											<div id='pr-menu'>Home | About | Contact <img id='search_icon' src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/search.png' alt='' /></div>
										</div>
									</div>
								</div>
							</div>
						</div>
						<div id='pr-breadcrumb'>Some Title <span class='some-breadcrumb'>Home  &#187; Admin  &#187; Header </span></div>
						<div id='pr-content-area'> Content / Slideshows / etc
						<div class='inner-content'>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium sem.</div>
						</div>
					</div>
					";s:13:"header_layout";s:0:"";s:11:"header_size";s:0:"";s:18:"header_custom_size";s:3:"150";s:16:"header_title_bar";s:20:"title_bar_breadcrumb";s:13:"header_sticky";s:4:"true";s:16:"header_shrinking";s:4:"true";s:14:"header_stretch";s:0:"";s:17:"header_searchicon";s:4:"true";s:10:"hr_header1";s:0:"";s:13:"header_social";s:0:"";s:21:"header_secondary_menu";s:0:"";s:19:"header_phone_active";s:0:"";s:5:"phone";s:0:"";s:24:"transparency_description";s:0:"";s:23:"header_replacement_logo";s:0:"";s:23:"header_replacement_menu";s:0:"";s:24:"header_mobile_activation";s:17:"mobile_menu_phone";s:22:"header_mobile_behavior";s:0:"";s:24:"header_conditional_close";s:0:"";s:17:"socialdescription";s:0:"";i:0;a:1:{s:12:"social_icons";a:0:{}}s:22:"display_widgets_socket";s:3:"all";s:14:"footer_columns";s:1:"4";s:9:"copyright";s:0:"";s:13:"footer_social";s:0:"";s:10:"blog_style";s:12:"single-small";s:22:"avia_share_links_start";s:0:"";s:17:"single_post_style";s:10:"single-big";s:27:"single_post_related_entries";s:24:"av-related-style-tooltip";s:16:"blog-meta-author";s:4:"true";s:18:"blog-meta-comments";s:4:"true";s:18:"blog-meta-category";s:4:"true";s:14:"blog-meta-date";s:4:"true";s:19:"blog-meta-html-info";s:4:"true";s:13:"blog-meta-tag";s:4:"true";s:14:"share_facebook";s:4:"true";s:13:"share_twitter";s:4:"true";s:15:"share_pinterest";s:4:"true";s:11:"share_gplus";s:4:"true";s:12:"share_reddit";s:4:"true";s:14:"share_linkedin";s:4:"true";s:12:"share_tumblr";s:4:"true";s:8:"share_vk";s:4:"true";s:10:"share_mail";s:4:"true";s:20:"avia_share_links_end";s:0:"";s:6:"import";s:0:"";s:16:"updates_username";s:0:"";s:15:"updates_api_key";s:0:"";s:19:"update_notification";s:0:"";s:17:"responsive_layout";s:27:"responsive responsive_large";}}
VAL
), "autoload" => "yes"]];
        $ini = StringUtils::crlfize(<<<'INI'
[avia_options_enfold]
option_name = "avia_options_enfold"
option_value = "a:1:{s:4:\"avia\";a:174:{s:21:\"default_layout_target\";s:5431:\"
					<style type='text/css'>
						.avprev-layout-container, .avprev-layout-container *{
							-moz-box-sizing: border-box;
							-webkit-box-sizing: border-box;
							box-sizing: border-box;
						}
						#avia_default_layout_target .avia_target_inside{min-height: 300px;}
						#boxed .avprev-layout-container{ padding:23px; border:1px solid #e1e1e1; background-color: #555;}
						#boxed .avprev-layout-container-inner{border:none; overflow: hidden;}
						.avprev-layout-container-inner{border: 1px solid #e1e1e1; background:#fff;}
						.avprev-layout-content-container{overflow:hidden; margin:0 auto; position:relative;}
						.avprev-layout-container-sizer{margin:0 auto; position:relative; z-index:5;}
						.avprev-layout-content-container .avprev-layout-container-sizer{display:table;}
						.avprev-layout-content-container .avprev-layout-container-sizer .av-cell{display:table-cell; padding: 20px;}
						.avprev-layout-content-container .avprev-layout-container-sizer:after{ background: #F8F8F8; position: absolute; top: 0; left: 99%; width: 100%; height: 100%; content: ''; z-index:1;}
						.avprev-layout-header{border-bottom:1px solid #e1e1e1; padding:20px; overflow: hidden;}
						.avprev-layout-slider{border-bottom:1px solid #e1e1e1; padding:30px 20px; background:#3B740F url('http://boocommerce.com/wp-content/themes/enfold/framework/images/layout/diagonal-bold-light.png') top left repeat; color:#fff;}
						.avprev-layout-content{border-right:1px solid #e1e1e1; width:73%; }
						.avprev-layout-sidebar{border-left:1px solid #e1e1e1; background:#f8f8f8; left:-1px; position:relative; min-height:141px;}
						.avprev-layout-menu-description{float:left;}
						.avprev-layout-menu{float:right; color:#999;}


						#header_right .avprev-layout-header{border-left:1px solid #e1e1e1; width:130px; float:right; border-bottom:none; min-height: 220px;}
						#header_left .avprev-layout-header{border-right:1px solid #e1e1e1; width:130px; float:left; border-bottom:none; min-height: 220px;}

						#header_right .avprev-layout-content-container{border-right:1px solid #e1e1e1; right:-1px;}
						#header_left  .avprev-layout-content-container{border-left:1px solid #e1e1e1; left:-1px;}

						#header_left .avprev-layout-menu, #header_right .avprev-layout-menu{float:none; padding-top:23px; clear:both; }
						#header_left .avprev-layout-divider, #header_right .avprev-layout-divider{display:none;}
						#header_left .avprev-layout-menuitem, #header_right .avprev-layout-menuitem{display:block; border-bottom:1px dashed #e1e1e1; padding:3px;}
						#header_left .avprev-layout-menuitem-first, #header_right .avprev-layout-menuitem-first{border-top:1px dashed #e1e1e1;}
						#header_left .avprev-layout-header .avprev-layout-container-sizer, #header_right .avprev-layout-header .avprev-layout-container-sizer{width:100%!important;}


						.avprev-layout-container-widget{display:none; border:1px solid #e1e1e1; padding:7px; font-size:12px; margin-top:5px; text-align:center;}
						.avprev-layout-container-social{margin-top:5px; text-align:center;}
						.av-active .pr-icons{display:block; }

						#header_left .avprev-layout-container-widget.av-active, #header_right .avprev-layout-container-widget.av-active{display:block;}
						#header_left .avprev-layout-container-social.av-active, #header_right .avprev-layout-container-widget.av-social{display:block;}

					</style>

					<small class=''>A rough preview of the frontend.</small>
					<div class='avprev-layout-container'>
						<div class='avprev-layout-container-inner'>
							<div class='avprev-layout-header'>
								<div class='avprev-layout-container-sizer'>
									<strong class='avprev-layout-menu-description'>Logo + Main Menu Area</strong>
									<div class='avprev-layout-menu'>
									<span class='avprev-layout-menuitem avprev-layout-menuitem-first'>Home</span>
									<span class='avprev-layout-divider'>|</span>
									<span class='avprev-layout-menuitem'>About</span>
									<span class='avprev-layout-divider'>|</span>
									<span class='avprev-layout-menuitem'>Contact</span>
									</div>
								</div>

								<div class='avprev-layout-container-social'>
									<span class='pr-icons'>
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_facebook.png' alt='' />
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_twitter.png' alt='' />
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_flickr.png' alt='' />
			</span>
								</div>

								<div class='avprev-layout-container-widget'>
									<strong>Widgets</strong>
								</div>

							</div>

							<div class='avprev-layout-content-container'>
								<div class='avprev-layout-slider'>
									<strong>Fullwidth Area (eg: Fullwidth Slideshow)</strong>
								</div>

								<div class='avprev-layout-container-sizer'>
									<div class='avprev-layout-content av-cell'><strong>Content Area</strong><p>This is the content area. The content area holds all your blog entries, pages, products etc</p></div>
									<div class='avprev-layout-sidebar av-cell'><strong>Sidebar</strong><p>This area holds all your sidebar widgets</p>
									</div>
								</div>
							</div>

						</div>
					</div>


					\";s:16:\"avia_tab_layout1\";s:0:\"\";s:16:\"avia_tab_layout5\";s:0:\"\";s:16:\"color-body_style\";s:9:\"stretched\";s:15:\"header_position\";s:10:\"header_top\";s:20:\"layout_align_content\";s:20:\"content_align_center\";s:18:\"sidebarmenu_sticky\";s:18:\"conditional_sticky\";s:19:\"sidebarmenu_widgets\";s:0:\"\";s:18:\"sidebarmenu_social\";s:0:\"\";s:17:\"avia_tab5ewwe_end\";s:0:\"\";s:13:\"avia_tab5wewe\";s:0:\"\";s:17:\"responsive_active\";s:7:\"enabled\";s:15:\"responsive_size\";s:6:\"1310px\";s:13:\"content_width\";s:2:\"73\";s:14:\"combined_width\";s:3:\"100\";s:16:\"avia_tab4543_end\";s:0:\"\";s:23:\"avia_tab_container_end2\";s:0:\"\";s:21:\"theme_settings_export\";s:0:\"\";s:18:\"config_file_upload\";s:0:\"\";s:15:\"iconfont_upload\";s:0:\"\";s:9:\"frontpage\";s:0:\"\";s:8:\"blogpage\";s:0:\"\";s:4:\"logo\";s:0:\"\";s:7:\"favicon\";s:0:\"\";s:15:\"websave_windows\";s:0:\"\";s:6:\"markup\";s:0:\"\";s:15:\"lightbox_active\";s:4:\"true\";s:9:\"analytics\";s:0:\"\";s:12:\"color_scheme\";s:4:\"Blue\";s:16:\"advanced_styling\";s:0:\"\";s:24:\"default_slideshow_target\";s:4536:\"
					<style type='text/css'>

						#boxed .live_bg_wrap{ padding:23px;   border:1px solid #e1e1e1; background-position: top center;}
						.live_bg_small{font-size:10px; color:#999;}
						.live_bg_wrap{ padding: 0; background:#f8f8f8; overflow:hidden; background-position: top center;}
						.live_bg_wrap div{overflow:hidden; position:relative;}
						.live_bg_wrap h3{margin: 0 0 5px 0 ; color:inherit;}
						.live_bg_wrap .main_h3{font-weight:bold; font-size:17px;  }
						.border{border:1px solid; border-bottom-style:none; border-bottom-width:0; padding:13px; width:562px;}
						#boxed .border{  width:514px;}

						.live_header_color {position: relative;width: 100%;left: }
						.bg2{border:1px solid; margin:4px; display:block; float:right; width:220px; padding:5px; max-width:80%}
						.content_p{display:block; float:left; width:250px; max-width: 100%;}
						.live-socket_color{font-size:11px;}
						.live-footer_color a{text-decoration:none;}
						.live-socket_color a{text-decoration:none;  position:absolute; top:28%; right:13px;}

						#avia_preview .webfont_google_webfont{  font-weight:normal; }
						.webfont_default_font{  font-weight:normal; font-size:13px; line-height:1.7em;}

						div .link_controller_list a{ width:95px; font-size:11px;}
						.avia_half{width: 267px; float:left; height:183px;}
						.avia_half .bg2{float:none; margin-left:0;}
						.avia_half_2{border-left:none; padding-left:14px;}
						#boxed  .avia_half { width: 243px; }
						.live-slideshow_color{text-align:center;}
						.text_small_outside{position:relative; top:-15px; display:block; left: 10px;}

						#header_left .live-header_color{float:left; width:101px; height: 380px; border-bottom:1px solid; border-right: none;}
						#header_right .live-header_color{float:right; width:101px; height: 380px; border-bottom:1px solid; border-left: none;}
						.av-sub-logo-area{overflow:hidden;}

						#boxed #header_left .live-header_color, #boxed #header_right .live-header_color{height: 380px;}
						#boxed #header_right .avia_half, #boxed #header_left .avia_half{width: 179px; height: 215px;}
						#header_right .avia_half, #header_left .avia_half{width: 203px; height: 215px;}
						#boxed .live-socket_color{border-bottom:1px solid;}
					</style>





					<small class='live_bg_small'>A rough preview of the frontend.</small>

					<div id='avia_preview' class='live_bg_wrap webfont_default_font'>
					<div class='avprev-design-container'>
					<!--<small class='text_small_outside'>Next Event: in 10 hours 5 minutes.</small>-->


						<div class='live-header_color border'>
							<span class='text'>Logo Area</span>
							<a class='a_link' href='#'>A link</a>
							<a class='an_activelink' href='#'>A hovered link</a>
							<div class='bg2'>Highlight Background + Border Color</div>
						</div>

						<div class='av-sub-logo-area'>

						<!--<div class='live-slideshow_color border'>
							<h3 class='webfont_google_webfont main_h3'>Slideshow Area/Page Title Area</h3>
								<p class='slide_p'>Slideshow caption<br/>
									<a class='a_link' href='#'>A link</a>
									<a class='an_activelink' href='#'>A hovered link</a>
								</p>
						</div>-->

						<div class='live-main_color border avia_half'>
							<h3 class='webfont_google_webfont main_h3'>Main Content heading</h3>
								<p class='content_p'>This is default content with a default heading. Font color, headings and link colors can be choosen below. <br/>
									<a class='a_link' href='#'>A link</a>
									<a class='an_activelink' href='#'>A hovered link</a>
								</p>

								<div class='bg2'>Highlight Background + Border Color</div>
						</div>



						<div class='live-alternate_color border avia_half avia_half_2'>
								<h3 class='webfont_google_webfont main_h3'>Alternate Content Area</h3>
								<p>This is content of an alternate content area. Choose font color, headings and link colors below. <br/>
									<a class='a_link' href='#'>A link</a>
									<a class='an_activelink' href='#'>A hovered link</a>
								</p>

								<div class='bg2'>Highlight Background + Border Color</div>
						</div>

						<div class='live-footer_color border'>
							<h3 class='webfont_google_webfont'>Demo heading (Footer)</h3>
							<p>This is text on the footer background</p>
							<a class='a_link' href='#'>Link | Link 2</a>
						</div>

						<div class='live-socket_color border'>Socket Text <a class='a_link' href='#'>Link | Link 2</a></div>
					</div>
					</div>
					</div>

					\";s:9:\"avia_tab1\";s:0:\"\";s:9:\"avia_tab2\";s:0:\"\";s:24:\"colorset-header_color-bg\";s:7:\"#ffffff\";s:25:\"colorset-header_color-bg2\";s:7:\"#f8f8f8\";s:29:\"colorset-header_color-primary\";s:7:\"#719430\";s:31:\"colorset-header_color-secondary\";s:7:\"#8bba34\";s:27:\"colorset-header_color-color\";s:7:\"#666666\";s:28:\"colorset-header_color-border\";s:7:\"#e1e1e1\";s:14:\"hrheader_color\";s:0:\"\";s:25:\"colorset-header_color-img\";s:0:\"\";s:33:\"colorset-header_color-customimage\";s:0:\"\";s:25:\"colorset-header_color-pos\";s:8:\"top left\";s:28:\"colorset-header_color-repeat\";s:9:\"no-repeat\";s:28:\"colorset-header_color-attach\";s:6:\"scroll\";s:13:\"avia_tab_end2\";s:0:\"\";s:9:\"avia_tab3\";s:0:\"\";s:22:\"colorset-main_color-bg\";s:7:\"#ffffff\";s:23:\"colorset-main_color-bg2\";s:7:\"#f8f8f8\";s:27:\"colorset-main_color-primary\";s:7:\"#719430\";s:29:\"colorset-main_color-secondary\";s:7:\"#8bba34\";s:25:\"colorset-main_color-color\";s:7:\"#666666\";s:26:\"colorset-main_color-border\";s:7:\"#e1e1e1\";s:12:\"hrmain_color\";s:0:\"\";s:23:\"colorset-main_color-img\";s:0:\"\";s:31:\"colorset-main_color-customimage\";s:0:\"\";s:23:\"colorset-main_color-pos\";s:8:\"top left\";s:26:\"colorset-main_color-repeat\";s:9:\"no-repeat\";s:26:\"colorset-main_color-attach\";s:6:\"scroll\";s:13:\"avia_tab_end3\";s:0:\"\";s:9:\"avia_tab4\";s:0:\"\";s:27:\"colorset-alternate_color-bg\";s:7:\"#ffffff\";s:28:\"colorset-alternate_color-bg2\";s:7:\"#f8f8f8\";s:32:\"colorset-alternate_color-primary\";s:7:\"#719430\";s:34:\"colorset-alternate_color-secondary\";s:7:\"#8bba34\";s:30:\"colorset-alternate_color-color\";s:7:\"#666666\";s:31:\"colorset-alternate_color-border\";s:7:\"#e1e1e1\";s:17:\"hralternate_color\";s:0:\"\";s:28:\"colorset-alternate_color-img\";s:0:\"\";s:36:\"colorset-alternate_color-customimage\";s:0:\"\";s:28:\"colorset-alternate_color-pos\";s:8:\"top left\";s:31:\"colorset-alternate_color-repeat\";s:9:\"no-repeat\";s:31:\"colorset-alternate_color-attach\";s:6:\"scroll\";s:13:\"avia_tab_end4\";s:0:\"\";s:9:\"avia_tab5\";s:0:\"\";s:24:\"colorset-footer_color-bg\";s:7:\"#ffffff\";s:25:\"colorset-footer_color-bg2\";s:7:\"#f8f8f8\";s:29:\"colorset-footer_color-primary\";s:7:\"#719430\";s:31:\"colorset-footer_color-secondary\";s:7:\"#8bba34\";s:27:\"colorset-footer_color-color\";s:7:\"#666666\";s:28:\"colorset-footer_color-border\";s:7:\"#e1e1e1\";s:14:\"hrfooter_color\";s:0:\"\";s:25:\"colorset-footer_color-img\";s:0:\"\";s:33:\"colorset-footer_color-customimage\";s:0:\"\";s:25:\"colorset-footer_color-pos\";s:8:\"top left\";s:28:\"colorset-footer_color-repeat\";s:9:\"no-repeat\";s:28:\"colorset-footer_color-attach\";s:6:\"scroll\";s:13:\"avia_tab_end5\";s:0:\"\";s:9:\"avia_tab6\";s:0:\"\";s:24:\"colorset-socket_color-bg\";s:7:\"#ffffff\";s:25:\"colorset-socket_color-bg2\";s:7:\"#f8f8f8\";s:29:\"colorset-socket_color-primary\";s:7:\"#719430\";s:31:\"colorset-socket_color-secondary\";s:7:\"#8bba34\";s:27:\"colorset-socket_color-color\";s:7:\"#666666\";s:28:\"colorset-socket_color-border\";s:7:\"#e1e1e1\";s:14:\"hrsocket_color\";s:0:\"\";s:25:\"colorset-socket_color-img\";s:0:\"\";s:33:\"colorset-socket_color-customimage\";s:0:\"\";s:25:\"colorset-socket_color-pos\";s:8:\"top left\";s:28:\"colorset-socket_color-repeat\";s:9:\"no-repeat\";s:28:\"colorset-socket_color-attach\";s:6:\"scroll\";s:13:\"avia_tab_end6\";s:0:\"\";s:10:\"avia_tab54\";s:0:\"\";s:16:\"color-body_color\";s:7:\"#eeeeee\";s:14:\"color-body_img\";s:0:\"\";s:22:\"color-body_customimage\";s:0:\"\";s:14:\"color-body_pos\";s:8:\"top left\";s:17:\"color-body_repeat\";s:9:\"no-repeat\";s:17:\"color-body_attach\";s:6:\"scroll\";s:13:\"avia_tab5_end\";s:0:\"\";s:14:\"google_webfont\";s:9:\"Open Sans\";s:12:\"default_font\";s:32:\"Helvetica-Neue,Helvetica-websave\";s:15:\"avia_tabwe5_end\";s:0:\"\";s:22:\"avia_tab_container_end\";s:0:\"\";s:9:\"quick_css\";s:0:\"\";s:14:\"archive_layout\";s:13:\"sidebar_right\";s:11:\"blog_layout\";s:13:\"sidebar_right\";s:13:\"single_layout\";s:13:\"sidebar_right\";s:11:\"page_layout\";s:13:\"sidebar_right\";s:19:\"smartphones_sidebar\";s:0:\"\";s:16:\"page_nesting_nav\";s:4:\"true\";s:17:\"widgetdescription\";s:0:\"\";s:18:\"header_conditional\";s:0:\"\";s:21:\"default_header_target\";s:5802:\"
					<style type='text/css'>

					#avia_options_page #avia_default_header_target{background:#555; border:none; padding:10px 10px; width: 610px;}
					#avia_header_preview{color:#999; border:1px solid #e1e1e1; padding:15px 45px; overflow:hidden; background-color:#fff; position: relative;}

					#pr-main-area{line-height:69px; overflow:hidden;}
					#pr-menu{float:right; font-size:12px;}

					#pr-logo{ max-width: 150px; max-height: 70px; float:left;}
					#avia_header_preview.large #pr-logo{ max-width: 250px; max-height: 115px;}
					#avia_header_preview.large #pr-main-area{line-height:115px;}

					#search_icon{opacity:0.5; margin-left: 10px; top:3px; position:relative; display:none;}
					#search_icon.header_searchicon{display:inline;}
					#pr-content-area{display:block; clear:both; padding:15px 45px; overflow:hidden; background-color:#fff; text-align:center; border:1px solid #e1e1e1; border-top:none;}
					.logo_right #pr-logo{float:right}
					.logo_center{text-align:center;}
					.logo_center #pr-logo{float:none}
					.menu_left #pr-menu{float:left}
					#avia_options_page .bottom_nav_header#pr-main-area{line-height: 1em;}
					.bottom_nav_header #pr-menu{float:none; clear:both; }
					.bottom_nav_header.logo_right #pr-menu{text-align:right;}


					#pr-menu-2nd{height: 17px; color:#aaa; border:1px solid #e1e1e1; padding:5px 45px; overflow:hidden; background-color:#f8f8f8; border-bottom:none; display:none; font-size:11px;}
					.extra_header_active #pr-menu-2nd{display:block;}
					.pr-secondary-items{display:none;}
					.secondary_left .pr-secondary-items, .secondary_right .pr-secondary-items{display:block; float:left; margin:0 10px 0 0;}
					.secondary_right .pr-secondary-items{float:right; margin:0  0 0 10px;}

					.pr-icons{opacity:0.3; display:none; position:relative; top:1px;}
					.icon_active_left.extra_header_active #pr-menu-2nd .pr-icons{display:block; float:left; margin:0 10px 0 0;}
					.icon_active_right.extra_header_active #pr-menu-2nd .pr-icons{display:block; float:right; margin:0 0 0 10px ;}

					.icon_active_main #pr-main-icon{float:right; position:relative; }
					.icon_active_main #pr-main-icon .pr-icons{display:block; top: 3px; margin: 0 0 0 17px;}
					.icon_active_main .logo_right #pr-main-icon {left:-138px;}
					.icon_active_main .large .logo_right #pr-main-icon {left:-55px;}
					.icon_active_main .bottom_nav_header #pr-main-icon{top:30px;}
					.icon_active_main .large .bottom_nav_header #pr-main-icon{top:50px;}
					.icon_active_main .logo_right.bottom_nav_header #pr-main-icon{float:left; left:-17px;}
					.icon_active_main .logo_center.bottom_nav_header #pr-main-icon{float: right; top: 42px; position: absolute; right: 24px;}
					.icon_active_main .logo_center.bottom_nav_header #pr-main-icon .pr-icons{margin:0; top:0px;}

					.pr-phone-items{display:none;}
					.phone_active_left  .pr-phone-items{display:block; float:left;}
					.phone_active_right .pr-phone-items{display:block; float:right;}

					.header_stretch #avia_header_preview, .header_stretch #pr-menu-2nd{ padding-left: 15px; padding-right: 15px; }
					.header_stretch .icon_active_main .logo_right.menu_left #pr-main-icon {left:-193px;}

					.inner-content{color:#999; text-align: justify; }

					#pr-breadcrumb{height: 23px; line-height:23px; color:#aaa; border:1px solid #e1e1e1; padding:5px 45px; overflow:hidden; background-color:#f8f8f8; border-top:none; font-size:16px;}
					#pr-breadcrumb .some-breadcrumb{float:right; font-size:11px;}
					#pr-breadcrumb.title_bar .some-breadcrumb, #pr-breadcrumb.hidden_title_bar{ display:none; }

					</style>

					<div id='pr-stretch-wrap' >
						<small class='live_bg_small'>A rough layout preview of the header area</small>
						<div id='pr-phone-wrap' >
							<div id='pr-social-wrap' >
								<div id='pr-seconary-menu-wrap' >
									<div id='pr-menu-2nd'><span class='pr-icons'>
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_facebook.png' alt='' />
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_twitter.png' alt='' />
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_flickr.png' alt='' />
			</span><span class='pr-secondary-items'>Login | Signup | etc</span><span class='pr-phone-items'>Phone: 555-4432</span></div>
									<div id='avia_header_preview' >
										<div id='pr-main-area' >
											<img id='pr-logo' src='http://boocommerce.com/wp-content/themes/enfold/images/layout/logo.png' alt=''/>
											<div id='pr-main-icon'><span class='pr-icons'>
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_facebook.png' alt='' />
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_twitter.png' alt='' />
				<img src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/social_flickr.png' alt='' />
			</span></div>
											<div id='pr-menu'>Home | About | Contact <img id='search_icon' src='http://boocommerce.com/wp-content/themes/enfold/framework/images/icons/search.png' alt='' /></div>
										</div>
									</div>
								</div>
							</div>
						</div>
						<div id='pr-breadcrumb'>Some Title <span class='some-breadcrumb'>Home  &#187; Admin  &#187; Header </span></div>
						<div id='pr-content-area'> Content / Slideshows / etc
						<div class='inner-content'>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Donec quam felis, ultricies nec, pellentesque eu, pretium sem.</div>
						</div>
					</div>
					\";s:13:\"header_layout\";s:0:\"\";s:11:\"header_size\";s:0:\"\";s:18:\"header_custom_size\";s:3:\"150\";s:16:\"header_title_bar\";s:20:\"title_bar_breadcrumb\";s:13:\"header_sticky\";s:4:\"true\";s:16:\"header_shrinking\";s:4:\"true\";s:14:\"header_stretch\";s:0:\"\";s:17:\"header_searchicon\";s:4:\"true\";s:10:\"hr_header1\";s:0:\"\";s:13:\"header_social\";s:0:\"\";s:21:\"header_secondary_menu\";s:0:\"\";s:19:\"header_phone_active\";s:0:\"\";s:5:\"phone\";s:0:\"\";s:24:\"transparency_description\";s:0:\"\";s:23:\"header_replacement_logo\";s:0:\"\";s:23:\"header_replacement_menu\";s:0:\"\";s:24:\"header_mobile_activation\";s:17:\"mobile_menu_phone\";s:22:\"header_mobile_behavior\";s:0:\"\";s:24:\"header_conditional_close\";s:0:\"\";s:17:\"socialdescription\";s:0:\"\";i:0;a:1:{s:12:\"social_icons\";a:0:{}}s:22:\"display_widgets_socket\";s:3:\"all\";s:14:\"footer_columns\";s:1:\"4\";s:9:\"copyright\";s:0:\"\";s:13:\"footer_social\";s:0:\"\";s:10:\"blog_style\";s:12:\"single-small\";s:22:\"avia_share_links_start\";s:0:\"\";s:17:\"single_post_style\";s:10:\"single-big\";s:27:\"single_post_related_entries\";s:24:\"av-related-style-tooltip\";s:16:\"blog-meta-author\";s:4:\"true\";s:18:\"blog-meta-comments\";s:4:\"true\";s:18:\"blog-meta-category\";s:4:\"true\";s:14:\"blog-meta-date\";s:4:\"true\";s:19:\"blog-meta-html-info\";s:4:\"true\";s:13:\"blog-meta-tag\";s:4:\"true\";s:14:\"share_facebook\";s:4:\"true\";s:13:\"share_twitter\";s:4:\"true\";s:15:\"share_pinterest\";s:4:\"true\";s:11:\"share_gplus\";s:4:\"true\";s:12:\"share_reddit\";s:4:\"true\";s:14:\"share_linkedin\";s:4:\"true\";s:12:\"share_tumblr\";s:4:\"true\";s:8:\"share_vk\";s:4:\"true\";s:10:\"share_mail\";s:4:\"true\";s:20:\"avia_share_links_end\";s:0:\"\";s:6:\"import\";s:0:\"\";s:16:\"updates_username\";s:0:\"\";s:15:\"updates_api_key\";s:0:\"\";s:19:\"update_notification\";s:0:\"\";s:17:\"responsive_layout\";s:27:\"responsive responsive_large\";}}"
autoload = "yes"

INI
);
        $this->assertEquals($ini, IniSerializer::serialize($data), "Serialization failed - strings are different");
        $this->assertEquals($data, IniSerializer::deserialize($ini), "Deserialization failed - arrays are different");
    }
Пример #18
0
 public function getChangeDescription()
 {
     return Strings::capitalize(StringUtils::verbToPastTense($this->action)) . " plugin '{$this->pluginName}'";
 }
Пример #19
0
 /**
  * PHP (Zend, not HHVM) has a bug that causes parse_ini_string() to fail when the line
  * ends with an escaped quote, like:
  *
  * ```
  * key = "start of some multiline value \"
  * continued here"
  * ```
  *
  * The workaround is to replace CR and LF chars inside the values (and ONLY inside the values)
  * with custom placeholders which will then be reverted back.
  *
  * @param string $iniString
  * @return mixed
  */
 private static function eolWorkaround_addPlaceholders($iniString)
 {
     $prefaceString = ' = "';
     // sequence of characters before string value
     $position = 0;
     $length = strlen($iniString);
     $result = "";
     // Read the string char by char
     while ($position < $length) {
         $nextPrefacePos = strpos($iniString, $prefaceString, $position);
         if ($nextPrefacePos === false) {
             // There are no more string values
             // Just append the rest of the string and we're done
             $result .= substr($iniString, $position);
             break;
         }
         // Append everything from the end of last string value to the start of another
         $result .= StringUtils::substringFromTo($iniString, $position, $nextPrefacePos + strlen($prefaceString));
         // Set position to the start of the string value
         $position = $nextPrefacePos + strlen($prefaceString);
         $stringBeginPos = $stringEndPos = $position;
         $isEndOfString = false;
         while (!$isEndOfString) {
             if ($iniString[$position] === '\\') {
                 // Found escaped character
                 // Skip this one and the following one
                 $position += 2;
                 continue;
             } else {
                 if ($iniString[$position] === '"') {
                     // This is it. Unescaped double-quote means that the string value ends here.
                     $isEndOfString = true;
                     $stringEndPos = $position;
                 } else {
                     // Regular character. Boooring - move along.
                     $position += 1;
                 }
             }
         }
         // OK. We have the beginning and the end. Let's replace all line-endings with placeholders.
         $value = StringUtils::substringFromTo($iniString, $stringBeginPos, $stringEndPos);
         $result .= self::getReplacedEolString($value, 'charsToPlaceholders');
     }
     return $result;
 }
Пример #20
0
 /**
  * Installs Gitignore to the repository root, or does nothing if the file already exists.
  */
 private function installGitignore()
 {
     $gitignorePath = VP_PROJECT_ROOT . '/.gitignore';
     $projectRoot = realpath(VP_PROJECT_ROOT);
     $vpGitignore = file_get_contents(__DIR__ . '/.gitignore.tpl');
     $gitIgnoreVariables = ['wp-content' => rtrim('/' . PathUtils::getRelativePath($projectRoot, realpath(WP_CONTENT_DIR)), '/'), 'wp-plugins' => rtrim('/' . PathUtils::getRelativePath($projectRoot, realpath(WP_PLUGIN_DIR)), '/'), 'abspath' => rtrim('/' . PathUtils::getRelativePath($projectRoot, realpath(ABSPATH)), '/'), 'abspath-parent' => rtrim('/' . PathUtils::getRelativePath($projectRoot, realpath(dirname(ABSPATH))), '/')];
     $vpGitignore = StringUtils::fillTemplateString($gitIgnoreVariables, $vpGitignore);
     if (is_file($gitignorePath)) {
         $currentGitignore = file_get_contents($gitignorePath);
         if (strpos($currentGitignore, $vpGitignore) !== false) {
             return;
         }
         file_put_contents($gitignorePath, "\n" . $vpGitignore, FILE_APPEND);
     } else {
         file_put_contents($gitignorePath, $vpGitignore);
     }
 }
 /**
  * Uninstalls a merge driver - removes 'vp-ini' sections from both .gitattributes
  * and .git/config.
  *
  * @param string $rootDir
  * @param string $pluginDir
  * @param string $vpdbDir
  */
 public static function uninstallMergeDriver($rootDir, $pluginDir, $vpdbDir)
 {
     $gitconfigPath = $rootDir . '/.git/config';
     $gitattributesPath = $rootDir . '/.gitattributes';
     $gitattributesContents = file_get_contents($pluginDir . '/src/Initialization/.gitattributes.tpl');
     $gitattributesVariables = ['vpdb-dir' => PathUtils::getRelativePath($rootDir, $vpdbDir)];
     $gitattributesContents = StringUtils::fillTemplateString($gitattributesVariables, $gitattributesContents);
     if (file_exists($gitattributesPath)) {
         $gitAttributes = file_get_contents($gitattributesPath);
         $gitAttributes = str_replace($gitattributesContents, '', $gitAttributes);
         if (trim($gitAttributes) === '') {
             unlink($gitattributesPath);
         } else {
             file_put_contents($gitattributesPath, $gitAttributes);
         }
     }
     if (file_exists($gitconfigPath)) {
         $gitConfig = file_get_contents($gitconfigPath);
         // https://regex101.com/r/eJ4rJ5/4
         $mergeDriverRegex = "/(\\[merge \\\"vp\\-ini\\\"\\]\\r?\\n)([^\\[]*)/";
         $gitConfig = preg_replace($mergeDriverRegex, '', $gitConfig, 1);
         file_put_contents($gitconfigPath, $gitConfig);
     }
 }
 public function getChangeDescription()
 {
     return Strings::capitalize(StringUtils::verbToPastTense($this->getAction())) . " {$this->count} translations";
 }
Пример #23
0
 function getChangeDescription()
 {
     return Strings::capitalize(StringUtils::verbToPastTense($this->getAction())) . " option '{$this->getEntityId()}'";
 }