aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag/CoreBundle/GuzzleSiteAuthenticator/GrabySiteConfigBuilder.php
diff options
context:
space:
mode:
authorJérémy Benoist <j0k3r@users.noreply.github.com>2017-05-09 17:10:03 +0200
committerGitHub <noreply@github.com>2017-05-09 17:10:03 +0200
commit0eb8220204953b874ebd2dbd0362973f3f45074c (patch)
tree3a77c57fc49d5ba00b90681232a1f814652fe797 /src/Wallabag/CoreBundle/GuzzleSiteAuthenticator/GrabySiteConfigBuilder.php
parent54c2d164a362e64a320438b439bf9dd6d2c02424 (diff)
parentd047530dc07ceb5a109cd0caa95055d8b071dbd4 (diff)
downloadwallabag-0eb8220204953b874ebd2dbd0362973f3f45074c.tar.gz
wallabag-0eb8220204953b874ebd2dbd0362973f3f45074c.tar.zst
wallabag-0eb8220204953b874ebd2dbd0362973f3f45074c.zip
Merge pull request #2751 from bdunogier/2.2-guzzle_subscribers_improvement
Improved Guzzle subscribers extensibility
Diffstat (limited to 'src/Wallabag/CoreBundle/GuzzleSiteAuthenticator/GrabySiteConfigBuilder.php')
-rw-r--r--src/Wallabag/CoreBundle/GuzzleSiteAuthenticator/GrabySiteConfigBuilder.php28
1 files changed, 27 insertions, 1 deletions
diff --git a/src/Wallabag/CoreBundle/GuzzleSiteAuthenticator/GrabySiteConfigBuilder.php b/src/Wallabag/CoreBundle/GuzzleSiteAuthenticator/GrabySiteConfigBuilder.php
index 6d4129e8..1c866f17 100644
--- a/src/Wallabag/CoreBundle/GuzzleSiteAuthenticator/GrabySiteConfigBuilder.php
+++ b/src/Wallabag/CoreBundle/GuzzleSiteAuthenticator/GrabySiteConfigBuilder.php
@@ -54,7 +54,7 @@ class GrabySiteConfigBuilder implements SiteConfigBuilder
54 'loginUri' => $config->login_uri ?: null, 54 'loginUri' => $config->login_uri ?: null,
55 'usernameField' => $config->login_username_field ?: null, 55 'usernameField' => $config->login_username_field ?: null,
56 'passwordField' => $config->login_password_field ?: null, 56 'passwordField' => $config->login_password_field ?: null,
57 'extraFields' => is_array($config->login_extra_fields) ? $config->login_extra_fields : [], 57 'extraFields' => $this->processExtraFields($config->login_extra_fields),
58 'notLoggedInXpath' => $config->not_logged_in_xpath ?: null, 58 'notLoggedInXpath' => $config->not_logged_in_xpath ?: null,
59 ]; 59 ];
60 60
@@ -65,4 +65,30 @@ class GrabySiteConfigBuilder implements SiteConfigBuilder
65 65
66 return new SiteConfig($parameters); 66 return new SiteConfig($parameters);
67 } 67 }
68
69 /**
70 * Processes login_extra_fields config, transforming an '=' separated array of strings
71 * into a key/value array.
72 *
73 * @param array|mixed $extraFieldsStrings
74 *
75 * @return array
76 */
77 protected function processExtraFields($extraFieldsStrings)
78 {
79 if (!is_array($extraFieldsStrings)) {
80 return [];
81 }
82
83 $extraFields = [];
84 foreach ($extraFieldsStrings as $extraField) {
85 if (strpos($extraField, '=') === false) {
86 continue;
87 }
88 list($fieldName, $fieldValue) = explode('=', $extraField, 2);
89 $extraFields[$fieldName] = $fieldValue;
90 }
91
92 return $extraFields;
93 }
68} 94}