aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/Wallabag
diff options
context:
space:
mode:
authorBertrand Dunogier <bertrand.dunogier@ez.no>2017-01-22 00:42:05 +0100
committerBertrand Dunogier <bertrand.dunogier@ez.no>2017-05-04 21:45:06 +0200
commit662db41baee404be3427b2b11b2d1fbf0aefcc8f (patch)
treea7147f2bf1c17b138699908fb8b13fe655514294 /src/Wallabag
parent5b914b0422e08c4b4859050026823af677c97727 (diff)
downloadwallabag-662db41baee404be3427b2b11b2d1fbf0aefcc8f.tar.gz
wallabag-662db41baee404be3427b2b11b2d1fbf0aefcc8f.tar.zst
wallabag-662db41baee404be3427b2b11b2d1fbf0aefcc8f.zip
Changed parsing of login_extra_fields in guzzle auth
Diffstat (limited to 'src/Wallabag')
-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}