Skip to content

Commit

Permalink
more fixes from testing
Browse files Browse the repository at this point in the history
  • Loading branch information
matdave committed Nov 10, 2022
1 parent 554dedb commit f24252b
Show file tree
Hide file tree
Showing 18 changed files with 57 additions and 31 deletions.
3 changes: 3 additions & 0 deletions assets/components/twilio/css/mgr.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
.x-panel-tbar, .x-panel-tbar .x-toolbar, .x-panel-bbar, .x-panel-bbar .x-toolbar, .x-panel-btns {
max-width: 100%;
}
7 changes: 6 additions & 1 deletion core/components/twilio/controllers/totp.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,11 @@ public function process(array $scriptProperties = array())
$this->checkDevice($deviceID, $user);
if ($this->modx->getOption('twilio.totp_email_on_login', null, false) && !empty($deviceID)) {
$lang = $user->getOption('manager_language');
$this->modx->lexicon->load("$lang:twilio:email");
if ($lang) {
$this->modx->lexicon->load("$lang:twilio:email");
} else {
$this->modx->lexicon->load("twilio:email");
}
$code = $this->twilio->getCode($user);
if ($code) {
$subject = $this->modx->lexicon('twilio.totp.code.email.subject');
Expand All @@ -33,6 +37,7 @@ public function getPageTitle()
}
public function loadCustomCssJs()
{
$this->addCss($this->twilio->getOption('cssUrl') . 'mgr.css');
$this->addCss($this->twilio->getOption('cssUrl') . '2fa.css');
$this->addJavascript($this->twilio->getOption('jsUrl') . 'mgr/widgets/totp.panel.js?v=' . $this->version);
$this->addLastJavascript($this->twilio->getOption('jsUrl') . 'mgr/sections/totp.js?v=' . $this->version);
Expand Down
1 change: 1 addition & 0 deletions core/components/twilio/controllers/users.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ public function process(array $scriptProperties = []) {}

public function loadCustomCssJs()
{
$this->addCss($this->twilio->getOption('cssUrl') . 'mgr.css');
$this->addJavascript($this->twilio->getOption('jsUrl') . 'mgr/widgets/users.grid.js?v=' . $this->version);
$this->addJavascript($this->twilio->getOption('jsUrl') . 'mgr/widgets/users.panel.js?v=' . $this->version);
$this->addLastJavascript($this->twilio->getOption('jsUrl') . 'mgr/sections/users.js?v=' . $this->version);
Expand Down
8 changes: 5 additions & 3 deletions core/components/twilio/elements/plugins/Twilio.php
Original file line number Diff line number Diff line change
@@ -1,13 +1,15 @@
<?php
$twilio = $modx->getService('twilio', 'Twilio', $modx->getOption('twilio.core_path', null, $modx->getOption('core_path') . 'components/twilio/') . 'model/twilio/');
if (!($twilio instanceof \Twilio)) return '';

use xPDO\xPDO;

$twilio = new MODX\Twilio\Twilio($modx, $scriptProperties);

$className = "\\MODX\\Twilio\\Event\\{$modx->event->name}";
if (class_exists($className)) {
/** @var \MODX\Twilio\Event\Event $event */
$event = new $className($twilio, $scriptProperties);
$event->run();
} else {
$modx->log(\xPDO::LOG_LEVEL_ERROR, "Class {$className} not found");
$modx->log(xPDO::LOG_LEVEL_ERROR, "Class {$className} not found");
}
return;
6 changes: 3 additions & 3 deletions core/components/twilio/elements/snippets/TwilioActivation.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
* @var modX $modx
* @var array $scriptProperties
*/
$twilio = $modx->getService('twilio', 'Twilio', $modx->getOption('twilio.core_path', null, $modx->getOption('core_path') . 'components/twilio/') . 'model/twilio/');
if (!($twilio instanceof \Twilio)) return '';

return (new \MODX\Twilio\Snippet\Activation($twilio, $scriptProperties))->process();
$twilio = new MODX\Twilio\Twilio($modx, $scriptProperties);

return (new \MODX\Twilio\Snippet\Activation($twilio, $scriptProperties))->process();
6 changes: 3 additions & 3 deletions core/components/twilio/elements/snippets/TwilioGetPhone.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
* @var modX $modx
* @var array $scriptProperties
*/
$twilio = $modx->getService('twilio', 'Twilio', $modx->getOption('twilio.core_path', null, $modx->getOption('core_path') . 'components/twilio/') . 'model/twilio/');
if (!($twilio instanceof \Twilio)) return '';

return (new \MODX\Twilio\Snippet\GetPhone($twilio, $scriptProperties))->process();
$twilio = new MODX\Twilio\Twilio($modx, $scriptProperties);

return (new \MODX\Twilio\Snippet\GetPhone($twilio, $scriptProperties))->process();
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,6 @@
* @var array $scriptProperties
*/
$twilio = $modx->getService('twilio', 'Twilio', $modx->getOption('twilio.core_path', null, $modx->getOption('core_path') . 'components/twilio/') . 'model/twilio/');
if (!($twilio instanceof \Twilio)) return '';
if (!($twilio instanceof \MODX\Twilio)) return '';

return (new \MODX\Twilio\Snippet\SendVerification($twilio, $scriptProperties))->process();
return (new \MODX\Twilio\Snippet\SendVerification($twilio, $scriptProperties))->process();
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
* @var modX $modx
* @var array $scriptProperties
*/
$twilio = $modx->getService('twilio', 'Twilio', $modx->getOption('twilio.core_path', null, $modx->getOption('core_path') . 'components/twilio/') . 'model/twilio/');
if (!($twilio instanceof \Twilio)) return '';

$twilio = new MODX\Twilio\Twilio($modx, $scriptProperties);

return (new \MODX\Twilio\Snippet\TotpChallenge($twilio, $scriptProperties))->process();
4 changes: 2 additions & 2 deletions core/components/twilio/elements/snippets/TwilioTOTPCreate.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
* @var modX $modx
* @var array $scriptProperties
*/
$twilio = $modx->getService('twilio', 'Twilio', $modx->getOption('twilio.core_path', null, $modx->getOption('core_path') . 'components/twilio/') . 'model/twilio/');
if (!($twilio instanceof \Twilio)) return '';

$twilio = new MODX\Twilio\Twilio($modx, $scriptProperties);

return (new \MODX\Twilio\Snippet\TotpCreate($twilio, $scriptProperties))->process();
4 changes: 2 additions & 2 deletions core/components/twilio/elements/snippets/TwilioTOTPqr.php
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?php

$twilio = $modx->getService('twilio', 'Twilio', $modx->getOption('twilio.core_path', null, $modx->getOption('core_path') . 'components/twilio/') . 'model/twilio/');
if (!($twilio instanceof \Twilio)) return '';

$twilio = new MODX\Twilio\Twilio($modx, $scriptProperties);

return (new \MODX\Twilio\Snippet\TotpQR($twilio, $scriptProperties))->process();
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@
* @var modX $modx
* @var array $scriptProperties
*/
$twilio = $modx->getService('twilio', 'Twilio', $modx->getOption('twilio.core_path', null, $modx->getOption('core_path') . 'components/twilio/') . 'model/twilio/');
if (!($twilio instanceof \Twilio)) return '';

return (new \MODX\Twilio\Snippet\ValidatePhone($twilio, $scriptProperties))->process();
$twilio = new MODX\Twilio\Twilio($modx, $scriptProperties);

return (new \MODX\Twilio\Snippet\ValidatePhone($twilio, $scriptProperties))->process();
4 changes: 2 additions & 2 deletions core/components/twilio/elements/snippets/TwilioVerify.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
* @var modX $modx
* @var array $scriptProperties
*/
$twilio = $modx->getService('twilio', 'Twilio', $modx->getOption('twilio.core_path', null, $modx->getOption('core_path') . 'components/twilio/') . 'model/twilio/');
if (!($twilio instanceof \Twilio)) return '';

$twilio = new MODX\Twilio\Twilio($modx, $scriptProperties);

return (new \MODX\Twilio\Snippet\Verify($twilio, $scriptProperties))->process();
8 changes: 6 additions & 2 deletions core/components/twilio/index.class.php
Original file line number Diff line number Diff line change
Expand Up @@ -27,8 +27,12 @@ public function initialize()
$user = $this->modx->user;
$profile = $user->getOne('Profile');
$extended = $profile->get('extended');
unset($extended['twilio_top']['binding']);
$userTwilio = $extended['twilio_totp'];
if (isset($extended['twilio_totp'])) {
unset($extended['twilio_top']['binding']);
$userTwilio = $extended['twilio_totp'];
} else {
$userTwilio = [];
}
$userTwilio['user'] = $user->id;

$this->twilio->options['user'] = $userTwilio;
Expand Down
6 changes: 4 additions & 2 deletions core/components/twilio/src/Event/Event.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,20 @@

namespace MODX\Twilio\Event;

use MODX\Twilio\Twilio;

abstract class Event
{
/** @var \modX */
protected $modx;

/** @var \Twilio */
/** @var Twilio */
protected $twilio;

/** @var array */
protected $sp = [];

public function __construct(\Twilio &$twilio, array $scriptProperties)
public function __construct(Twilio &$twilio, array $scriptProperties)
{
$this->twilio =& $twilio;
$this->modx =& $this->twilio->modx;
Expand Down
4 changes: 3 additions & 1 deletion core/components/twilio/src/Event/OnBeforeManagerPageInit.php
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@

namespace MODX\Twilio\Event;

use xPDO\xPDO;

class OnBeforeManagerPageInit extends Event
{
public function run()
Expand All @@ -12,7 +14,7 @@ public function run()
if (!$user || $user->id === 0) {
return false;
}
if ($enforceTotp && !$_SESSION['twilio_totp_verified'] && $action['controller'] !== 'totp') {
if ($enforceTotp && !$_SESSION['twilio_totp_verified'] && $action !== 'totp') {
$this->modx->sendRedirect(MODX_MANAGER_URL . 'index.php?a=totp&namespace=twilio');
}
}
Expand Down
1 change: 1 addition & 0 deletions core/components/twilio/src/Processors/TOTP/Create.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@
use MODX\Revolution\Processors\Processor;
use MODX\Revolution\modUser;
use MODX\Revolution\modUserSetting;
use xPDO\xPDO;

class Create extends Processor
{
Expand Down
6 changes: 5 additions & 1 deletion core/components/twilio/src/Processors/TOTP/Email.php
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,11 @@ public function handleUser($id): bool
$uri = $userTwilio['binding']['uri'];
$qr = 'https://chart.googleapis.com/chart?chs=200x200&chld=M|0&cht=qr&chl=' . urlencode($uri);
$lang = $user->getOption('manager_language');
$this->modx->lexicon->load("$lang:twilio:email");
if ($lang) {
$this->modx->lexicon->load("$lang:twilio:email");
} else {
$this->modx->lexicon->load("twilio:email");
}
$subject = $this->modx->lexicon('twilio.totp.qr.email.subject');
$body = $this->modx->lexicon('twilio.totp.qr.email.body', array(
'username' => $user->get('username'),
Expand Down
6 changes: 4 additions & 2 deletions core/components/twilio/src/Snippet/Snippet.php
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
<?php
namespace MODX\Twilio\Snippet;

use MODX\Twilio\Twilio;

abstract class Snippet
{
/** @var \modX */
protected $modx;

/** @var \Twilio */
/** @var Twilio */
protected $twilio;

/** @var array */
Expand All @@ -15,7 +17,7 @@ abstract class Snippet
/** @var bool */
protected $debug = false;

public function __construct(\Twilio &$twilio, array $sp = [])
public function __construct(Twilio $twilio, array $sp = [])
{
$this->twilio =& $twilio;
$this->modx =& $this->twilio->modx;
Expand Down

0 comments on commit f24252b

Please sign in to comment.