How to use getLocation method of Token class

Best Cucumber Common Library code snippet using Token.getLocation

Logger.php

Source:Logger.php Github

copy

Full Screen

...86 }87 /**88 * @return mixed89 */90 public static function getLocation()91 {92 return self::$location;93 }94 /**95 * @param mixed $location96 */97 public static function setLocation(): void98 {99 self::$location = 'Gabon';100 }101 /**102 * @return mixed103 */104 public static function getUser()105 {106 return self::user;107 }108 /**109 * @param mixed $user110 */111 public static function setUser(): void112 {113 if (Sentinel::guard('web')->check()) {114 self::$user = Sentinel::getUser();115 }116 self::$user = 'Visiteur';117 }118 /**119 * @return mixed120 */121 public static function getTable()122 {123 return self::$table;124 }125 /**126 * @param mixed $table127 */128 public static function setTable(): void129 {130 self::$table = '';131 }132 /**133 * @return mixed134 */135 public static function getLoggerToken()136 {137 return self::$logger_token;138 }139 /**140 * @param mixed $logger_token141 */142 public static function setLoggerToken(): void143 {144 self::$logger_token =self::str_randomize(70);145 }146 static function tableName($model)147 {148 return (new $model())->getTable();149 }150 protected static function str_randomize($length)151 {152 $characters = '0123456789abcdefghijklmnopqrstuvwxyz';153 $charactersLength = strlen($characters);154 $randomString = '';155 for ($i = 0; $i < $length; $i++) {156 $randomString .= $characters[rand(0, $charactersLength - 1)];157 }158 return $randomString;159 }160 public static function fetchLog($model)161 {162 Log::create(163 [164 'action' => FETCH_ACTION,165 'adresseIp' =>self::getAdresseIp(),166 'location' =>self::getLocation(),167 'user' =>self::getUser(),168 'table' =>self::tableName($model),169 'logger_token' =>self::getLoggerToken(),170 ]171 );172 }173 public static function fetchEmptyLog($model)174 {175 Log::create(176 [177 'action' => FETCH_EMPTY,178 'adresseIp' =>self::getAdresseIp(),179 'location' =>self::getLocation(),180 'user' =>self::getUser(),181 'table' =>self::tableName($model),182 'logger_token' =>self::getLoggerToken(),183 ]184 );185 }186 public static function notFoundLog($model, $id)187 {188 Log::create(189 [190 'action' => NOT_FOUND . '' . $id,191 'adresseIp' =>self::getAdresseIp(),192 'location' =>self::getLocation(),193 'user' =>self::getUser(),194 'table' =>self::tableName($model),195 'logger_token' =>self::getLoggerToken(),196 ]197 );198 }199 public static function createLog($model)200 {201 Log::create(202 [203 'action' => STORE_ACTION,204 'adresseIp' =>self::getAdresseIp(),205 'location' =>self::getLocation(),206 'user' =>self::getUser(),207 'table' =>self::tableName($model),208 'logger_token' =>self::getLoggerToken(),209 ]210 );211 }212 public static function createFailureLog($model)213 {214 Log::create(215 [216 'action' => STORE_FAILURE_ACTION,217 'adresseIp' =>self::getAdresseIp(),218 'location' =>self::getLocation(),219 'user' =>self::getUser(),220 'table' =>self::tableName($model),221 'logger_token' =>self::getLoggerToken(),222 ]223 );224 }225 public static function showLog($model, $id)226 {227 Log::create(228 [229 'action' => SHOW_ACTION . '' . $id,230 'adresseIp' =>self::getAdresseIp(),231 'location' =>self::getLocation(),232 'user' =>self::getUser(),233 'table' =>self::tableName($model),234 'logger_token' =>self::getLoggerToken(),235 ]236 );237 }238 public static function showFailureLog($model, $id)239 {240 Log::create(241 [242 'action' => SHOW_FAILURE_ACTION . '' . $id,243 'adresseIp' =>self::getAdresseIp(),244 'location' =>self::getLocation(),245 'user' =>self::getUser(),246 'table' =>self::tableName($model),247 'logger_token' =>self::getLoggerToken(),248 ]249 );250 }251 public static function editLog($model, $id)252 {253 Log::create(254 [255 'action' => EDIT_ACTION . ' ' . $id,256 'adresseIp' =>self::getAdresseIp(),257 'location' =>self::getLocation(),258 'user' =>self::getUser(),259 'table' =>self::tableName($model),260 'logger_token' =>self::getLoggerToken(),261 ]262 );263 }264 public static function editFailureLog($model, $id)265 {266 Log::create(267 [268 'action' => EDIT_FAILURE_ACTION . '' . $id,269 'adresseIp' =>self::getAdresseIp(),270 'location' =>self::getLocation(),271 'user' =>self::getUser(),272 'table' =>self::tableName($model),273 'logger_token' =>self::getLoggerToken(),274 ]275 );276 }277 public static function updateLog($model, $id)278 {279 Log::create(280 [281 'action' => UPDATE_ACTION . '' . $id,282 'adresseIp' =>self::getAdresseIp(),283 'location' =>self::getLocation(),284 'user' =>self::getUser(),285 'table' =>self::tableName($model),286 'logger_token' =>self::getLoggerToken(),287 ]288 );289 }290 public static function updateFailureLog($model, $id)291 {292 Log::create(293 [294 'action' => UPDATE_FAILURE_ACTION . '' . $id,295 'adresseIp' =>self::getAdresseIp(),296 'location' =>self::getLocation(),297 'user' =>self::getUser(),298 'table' =>self::tableName($model),299 'logger_token' =>self::getLoggerToken(),300 ]301 );302 }303 public static function storeLog($model)304 {305 Log::create(306 [307 'action' => STORE_ACTION,308 'adresseIp' =>self::getAdresseIp(),309 'location' =>self::getLocation(),310 'user' =>self::getUser(),311 'table' =>self::tableName($model),312 'logger_token' =>self::getLoggerToken(),313 ]314 );315 }316 public static function storeFailureLog($model)317 {318 Log::create(319 [320 'action' => STORE_FAILURE_ACTION,321 'adresseIp' =>self::getAdresseIp(),322 'location' =>self::getLocation(),323 'user' =>self::getUser(),324 'table' =>self::tableName($model),325 'logger_token' =>self::getLoggerToken(),326 ]327 );328 }329 public static function deleteLog($model, $id)330 {331 Log::create(332 [333 'action' => DELETE_ACTION . '' . $id,334 'adresseIp' =>self::getAdresseIp(),335 'location' =>self::getLocation(),336 'user' =>self::getUser(),337 'table' =>self::tableName($model),338 'logger_token' =>self::getLoggerToken(),339 ]340 );341 }342 public static function deleteFailureLog($model, $id)343 {344 Log::create(345 [346 'action' => DELETE_FAILURE_ACTION . '' . $id,347 'adresseIp' =>self::getAdresseIp(),348 'location' =>self::getLocation(),349 'user' =>self::getUser(),350 'table' =>self::tableName($model),351 'logger_token' =>self::getLoggerToken(),352 ]353 );354 }355}...

Full Screen

Full Screen

Version20161208083436.php

Source:Version20161208083436.php Github

copy

Full Screen

...56 /** @var FacebookClient $client */57 $client = $this->container->get('campaignchain.channel.facebook.rest.client');58 /** @var Page $page */59 foreach ($pages as $page) {60 $pageToken = $tokenService->getToken($page->getLocation());61 // If no Facebook user is related to the page, we'll restore62 // the assignment.63 if (!$page->getUsers() || !count($page->getUsers())) {64 if($pageToken) {65 /** @var FacebookClient $connection */66 $connection = $client->connect($pageToken->getAccessToken());67 $response = $connection->getRoles($page->getIdentifier());68 $pageAdmins = $response['data'];69 foreach ($pageAdmins as $pageAdmin) {70 /** @var User $localUser */71 $localUser = $em->getRepository('CampaignChain\Location\FacebookBundle\Entity\User')72 ->findOneByIdentifier($pageAdmin['id']);73 if ($localUser) {74 $localUser->addPage($page);75 $page->addUser($localUser);76 $em->flush();77 $this->write(78 'Mapped Facebook page "'.79 $page->getLocation()->getName() . '" (' . $page->getIdentifier() . ') '.80 'to Facebook user "'.81 $localUser->getLocation()->getName() . '" (' . $localUser->getIdentifier() . ') '82 );83 }84 }85 }86 }87 if($pageToken){88 continue;89 }90 $userToken = $tokenService->getToken($page->getUsers()[0]->getLocation());91 $connection = $client->connect($userToken->getAccessToken());92 if ($connection) {93 $response = $connection->getMyPages();94 $pagesData = $response['data'];95 if (is_array($pagesData) && count($pagesData)) {96 // Restructure response data97 foreach ($pagesData as $pageData) {98 $tokens[$pageData['id']] = $pageData['access_token'];99 }100 // Apply retrieved tokens to Pages where they are missing.101 $token = new Token();102 $token->setApplication($oauthApp);103 $token->setLocation($page->getLocation());104 $token->setAccessToken($tokens[$page->getIdentifier()]);105 $this->write(106 'Inserted token for Facebook page "' . $page->getLocation()->getName() . '" (' . $page->getIdentifier() . ')'107 );108 $em->persist($token);109 }110 }111 }112 $em->flush();113 $em->getConnection()->commit();114 } catch (\Exception $e) {115 $this->write($e->getMessage());116 throw $e;117 }118 }119 }120 /**...

Full Screen

Full Screen

SessionTest.php

Source:SessionTest.php Github

copy

Full Screen

...19 $sessionId = 'SESSIONID';20 $session = new Session($this->opentok, $sessionId);21 $this->assertEquals($sessionId, $session->getSessionId());22 $this->assertEquals(MediaMode::ROUTED, $session->getMediaMode());23 $this->assertEmpty($session->getLocation());24 }25 public function testSessionWithIdAndLocation()26 {27 $sessionId = 'SESSIONID';28 $location = '12.34.56.78';29 $session = new Session($this->opentok, $sessionId, array( 'location' => $location ));30 $this->assertEquals($sessionId, $session->getSessionId());31 $this->assertEquals(MediaMode::ROUTED, $session->getMediaMode());32 $this->assertEquals($location, $session->getLocation());33 }34 public function testSessionWithIdAndMediaMode()35 {36 $sessionId = 'SESSIONID';37 $mediaMode = MediaMode::RELAYED;38 $session = new Session($this->opentok, $sessionId, array( 'mediaMode' => $mediaMode ));39 $this->assertEquals($sessionId, $session->getSessionId());40 $this->assertEquals($mediaMode, $session->getMediaMode());41 $this->assertEmpty($session->getLocation());42 $mediaMode = MediaMode::ROUTED;43 $session = new Session($this->opentok, $sessionId, array( 'mediaMode' => $mediaMode ));44 $this->assertEquals($sessionId, $session->getSessionId());45 $this->assertEquals($mediaMode, $session->getMediaMode());46 $this->assertEmpty($session->getLocation());47 }48 public function testSessionWithIdAndLocationAndMediaMode()49 {50 $sessionId = 'SESSIONID';51 $location = '12.34.56.78';52 $mediaMode = MediaMode::RELAYED;53 $session = new Session($this->opentok, $sessionId, array( 'location' => $location, 'mediaMode' => $mediaMode ));54 $this->assertEquals($sessionId, $session->getSessionId());55 $this->assertEquals($mediaMode, $session->getMediaMode());56 $this->assertEquals($location, $session->getLocation());57 $mediaMode = MediaMode::ROUTED;58 $session = new Session($this->opentok, $sessionId, array( 'location' => $location, 'mediaMode' => $mediaMode ));59 $this->assertEquals($sessionId, $session->getSessionId());60 $this->assertEquals($mediaMode, $session->getMediaMode());61 $this->assertEquals($location, $session->getLocation());62 }63 /**64 * @dataProvider badParameterProvider65 * @expectedException InvalidArgumentException66 */67 public function testInitializationWithBadParams($sessionId, $props)68 {69 if (!$props || empty($props)) {70 $session = new Session($this->opentok, $sessionId);71 } else {72 $session = new Session($this->opentok, $sessionId, $props);73 }74 }75 public function badParameterProvider()76 {77 return array(78 array(array(), array()),79 array('SESSIONID', array( 'location' => 'NOTALOCATION') ),80 array('SESSIONID', array( 'mediaMode' => 'NOTAMODE' ) ),81 array('SESSIONID', array( 'location' => '127.0.0.1', 'mediaMode' => 'NOTAMODE' ) ),82 array('SESSIONID', array( 'location' => 'NOTALOCATION', 'mediaMode' => MediaMode::RELAYED ) )83 );84 }85 public function testInitializationWithExtraneousParams()86 {87 $sessionId = 'SESSIONID';88 $session = new Session($this->opentok, $sessionId, array( 'notrealproperty' => 'notrealvalue' ));89 $this->assertEquals($sessionId, $session->getSessionId());90 $this->assertEmpty($session->getLocation());91 $this->assertEquals(MediaMode::ROUTED, $session->getMediaMode());92 }93 public function testCastingToString()94 {95 $sessionId = 'SESSIONID';96 $session = new Session($this->opentok, $sessionId);97 $this->assertEquals($sessionId, (string)$session);98 }99 public function testGeneratesToken()100 {101 $sessionId = '1_MX4xMjM0NTY3OH4-VGh1IEZlYiAyNyAwNDozODozMSBQU1QgMjAxNH4wLjI0NDgyMjI';102 $bogusApiKey = '12345678';103 $bogusApiSecret = '0123456789abcdef0123456789abcdef0123456789';104 $opentok = new OpenTok($bogusApiKey, $bogusApiSecret);...

Full Screen

Full Screen

LC_Page_Test.php

Source:LC_Page_Test.php Github

copy

Full Screen

...73 // セッションに文字列が格納されているか74 $this->assertEquals($token, $_SESSION[TRANSACTION_ID_NAME]);75 }76 /**77 * LC_Page::getLocation() のテストケース.78 */79 function testGetLocation()80 {81 $objPage = new LC_Page();82 $_SERVER['DOCUMENT_ROOT'] = realpath(dirname(__FILE__) . "/../../../html");83 $url = $objPage->getLocation("/abouts/index.php");84 $this->assertEquals(HTTP_URL . "abouts/index.php", $url);85 unset($_SERVER['DOCUMENT_ROOT']);86 }87 /**88 * LC_Page::getLocation() のテストケース.89 *90 * 絶対パス91 */92 function testGetLocationWithFullPath()93 {94 $objPage = new LC_Page();95 $_SERVER['DOCUMENT_ROOT'] = realpath(dirname(__FILE__) . "/../../../html");96 $url = $objPage->getLocation(ROOT_URLPATH . 'abouts/index.php');97 $this->assertEquals(HTTP_URL . "abouts/index.php", $url);98 unset($_SERVER['DOCUMENT_ROOT']);99 }100 /**101 * LC_Page::getLocation() のテストケース.102 *103 * QueryString 付与104 */105 function testGetLocationWithQueryString()106 {107 $objPage = new LC_Page();108 $_SERVER['DOCUMENT_ROOT'] = realpath(dirname(__FILE__) . "/../../../html");109 $queryString = array('mode' => 'update', 'type' => 'text');110 $url = $objPage->getLocation("/abouts/index.php", $queryString);111 $this->assertEquals(HTTP_URL . "abouts/index.php?mode=update&type=text", $url);112 unset($_SERVER['DOCUMENT_ROOT']);113 }114 /**115 * LC_Page::getLocation() のテストケース.116 *117 * HTTPS_URL 使用118 */119 function testGetLocationUseSSL()120 {121 $objPage = new LC_Page();122 $_SERVER['DOCUMENT_ROOT'] = realpath(dirname(__FILE__) . "/../../../html");123 $queryString = array('mode' => 'update', 'type' => 'text');124 $url = $objPage->getLocation("/abouts/index.php", $queryString, true);125 $this->assertEquals(HTTPS_URL . "abouts/index.php?mode=update&type=text", $url);126 unset($_SERVER['DOCUMENT_ROOT']);127 }128 /**129 * LC_Page::getLocation() のテストケース.130 *131 * DocumentRoot 指定132 */133 function testGetLocationWithDocumentRoot()134 {135 $objPage = new LC_Page();136 $documentRoot = realpath(dirname(__FILE__) . "/../../../html");137 $queryString = array('mode' => 'update', 'type' => 'text');138 $url = $objPage->getLocation("/abouts/index.php", array(),139 false, $documentRoot);140 $this->assertEquals(HTTP_URL . "abouts/index.php", $url);141 }142}143?>...

Full Screen

Full Screen

InstagramSocialMediaTest.php

Source:InstagramSocialMediaTest.php Github

copy

Full Screen

...26 * @var string $media_id27 */28 protected $media_id_without_location = 21;29 /**30 * This method tests getLocation method when providing empty parameter.31 */32 public function testGetLocationEmptyParam()33 {34 $this->setExpectedException('\Exception');35 $instagram = new InstagramSocialMedia(false);36 $location = $instagram->getLocation(false);37 }38 /**39 * This method tests getLocation method when providing empty token and media40 * id.41 */42 public function testGetLocationEmptyTokenEmptyMediaID()43 {44 $this->setExpectedException('\Exception');45 $instagram = new InstagramSocialMedia(array());46 $location = $instagram->getLocation(0);47 }48 /**49 * This method tests getLocation method when not providing token.50 */51 public function testGetLocationWithoutToken()52 {53 $this->setExpectedException('\Exception');54 $instagram = new InstagramSocialMedia(false);55 $location = $instagram->getLocation($this->media_id);56 }57 /**58 * This method tests getLocation method when not providing media id.59 */60 public function testGetLocationWithoutMediaID()61 {62 $this->setExpectedException('\Exception');63 $instagram = new InstagramSocialMedia($this->getArguments());64 $location = $instagram->getLocation(0);65 }66 /**67 * This method tests getLocation method when providing media id without68 * location.69 */70 public function testGetLocationMediaWithoutLocation()71 {72 $instagram = new InstagramSocialMedia($this->getArguments());73 74 $json = $instagram->getLocation($this->media_id_without_location);75 76 $this->assertFalse($json);77 }78 /**79 * This method tests getLocation method when providing media id with80 * location.81 */82 public function testGetLocationMediaWithLocation()83 {84 $instagram = new InstagramSocialMedia($this->getArguments());85 $json = $instagram->getLocation($this->media_id);86 87 $this->assertArrayResponse($json);88 }89 /**90 * Prepare a list of arguments required for the location of the object.91 *92 * @return array Argument list93 */94 protected function getArguments()95 {96 $arg = array();97 $arg[InstagramSocialMedia::PARAM_ACCESS_TOKEN] = $this->instagram_access_token;98 $arg[FacebookSocialMedia::PARAM_ACCESS_TOKEN] = $this->facebook_access_token;99 ...

Full Screen

Full Screen

GetPlacesFeed.php

Source:GetPlacesFeed.php Github

copy

Full Screen

...24 $excludeList = [];25 // Initialize an array to store the Photo objects.26 $photos = array();27 $locations = $instagram->location->findPlaces($_POST['place'], $excludeList, $rankToken);28 $locationFeed = $instagram->location->getFeed($locations->getItems()[0]->getLocation()->getFacebookPlacesId(),29 $locations->getRankToken(),30 null);31 // Creates the Photo object with the data received from Instagram.32 foreach ($locationFeed->getItems() as $item) 33 {34 if($item->getLocation() != null && $item->getCarouselMedia() == null)35 {36 $photo = new Photo($item->getTakenAt(), 37 $item->getLocation()->getName(),38 $item->getLocation()->getLat(),39 $item->getLocation()->getLng(),40 $item->getUser()->getUsername(),41 $item->getUser()->getIsPrivate(),42 $item->getUser()->getProfilePicUrl(),43 $item->getImageVersions2()->getCandidates()[0]->getUrl());44 if($item->getLocation()->getAddress() != null)45 $photo->setAddress($item->getLocation()->getAddress());46 if($item->getLocation()->getCity() != null)47 $photo->setAddress($item->getLocation()->getCity());48 if($item->getCaption() != null)49 $photo->setCaption($item->getCaption()->getText());50 if($item->getLikeCount() != null)51 $photo->setLikes($item->getLikeCount());52 $photos[] = $photo;53 }54 }55 $response = new Response('OK', null, $photos, "", $locations->getRankToken());56 }57 catch (\Exception $exception) 58 {59 $response = new Response('ERROR', $exception->getMessage(), null, null, null);60 }61 finally...

Full Screen

Full Screen

GetTagFeed.php

Source:GetTagFeed.php Github

copy

Full Screen

...31 $tagFeed = $instagram->hashtag->getFeed($_POST['tag'], $rankToken, $nextMaxID);32 // Creates the Photo object with the data received from Instagram.33 foreach ($tagFeed->getItems() as $item) 34 {35 if($item->getLocation() != null && $item->getCarouselMedia() == null)36 {37 $photo = new Photo($item->getTakenAt(), 38 $item->getLocation()->getName(),39 $item->getLocation()->getLat(),40 $item->getLocation()->getLng(),41 $item->getUser()->getUsername(),42 $item->getUser()->getIsPrivate(),43 $item->getUser()->getProfilePicUrl(),44 $item->getImageVersions2()->getCandidates()[0]->getUrl());45 if($item->getLocation()->getAddress() != null)46 $photo->setAddress($item->getLocation()->getAddress());47 if($item->getLocation()->getCity() != null)48 $photo->setAddress($item->getLocation()->getCity());49 if($item->getCaption() != null)50 $photo->setCaption($item->getCaption()->getText());51 if($item->getLikeCount() != null)52 $photo->setLikes($item->getLikeCount());53 $photos[] = $photo;54 }55 }56 $response = new Response('OK', null, $photos, $tagFeed->getNextMaxId(), sizeof($tagFeed->getItems()), $rankToken);57 }58 catch (\Exception $exception) 59 {60 $response = new Response('ERROR', $exception->getMessage(), null, null, null, null);61 }62 finally...

Full Screen

Full Screen

MarkerContinuationTokenTrait.php

Source:MarkerContinuationTokenTrait.php Github

copy

Full Screen

...74 * Gets for location for previous request.75 *76 * @return string77 */78 public function getLocation()79 {80 $this->createContinuationTokenIfNotExist();81 return $this->continuationToken->getLocation();82 }83 public function getLocationMode()84 {85 $this->createContinuationTokenIfNotExist();86 if ($this->continuationToken->getLocation() == '') {87 return parent::getLocationMode();88 } else {89 return $this->getLocation();90 }91 }92}...

Full Screen

Full Screen

getLocation

Using AI Code Generation

copy

Full Screen

1$token = new Token();2$token->getLocation();3$token = new Token();4$token->getLocation();5$token = new Token();6$token->getLocation();7$token = new Token();8$token->getLocation();9$token = new Token();10$token->getLocation();11$token = new Token();12$token->getLocation();13$token = new Token();14$token->getLocation();15$token = new Token();16$token->getLocation();17$token = new Token();18$token->getLocation();19$token = new Token();20$token->getLocation();21$token = new Token();22$token->getLocation();23$token = new Token();24$token->getLocation();25$token = new Token();26$token->getLocation();27$token = new Token();28$token->getLocation();29$token = new Token();30$token->getLocation();31$token = new Token();32$token->getLocation();33$token = new Token();34$token->getLocation();35$token = new Token();36$token->getLocation();

Full Screen

Full Screen

getLocation

Using AI Code Generation

copy

Full Screen

1include 'Token.php';2$token = new Token();3$location = $token->getLocation();4if($location == 'home') {5 echo "User is at home";6} else {7 echo "User is at work";8}

Full Screen

Full Screen

getLocation

Using AI Code Generation

copy

Full Screen

1require_once 'Token.class.php';2$token = new Token();3$token->getLocation();4function getLocation() {5$ip = $_SERVER['REMOTE_ADDR'];6echo "Your IP: {$ip} - {$details->city}, {$details->region}, {$details->country}7";8}

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Cucumber Common Library automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Most used method in Token

Trigger getLocation code on LambdaTest Cloud Grid

Execute automation tests with getLocation on a cloud-based Grid of 3000+ real browsers and operating systems for both web and mobile applications.

Test now for Free

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful