Skip to content

Commit 39bed6e

Browse files
committed
Add debug logs
1 parent eccef76 commit 39bed6e

3 files changed

Lines changed: 51 additions & 1 deletion

File tree

src/components/com_externallogin/src/Model/ServerModel.php

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -84,12 +84,18 @@ public function getItem($pk = null)
8484
{
8585
// Load the server
8686
$id = $this->getState('server.id');
87+
Log::add('ServerModel getItem() called with server.id: ' . $id, Log::INFO, 'externallogin');
88+
8789
$item = $this->getTable();
90+
Log::add('ServerModel got table: ' . get_class($item), Log::INFO, 'externallogin');
8891

8992
if (!$item->load($id) || $item->published != 1) {
93+
Log::add('ServerModel: server not found or not published (id: ' . $id . ')', Log::ERROR, 'externallogin');
9094
throw new Exception(Text::_('COM_EXTERNALLOGIN_ERROR_SERVER_UNPUBLISHED'));
9195
}
9296

97+
Log::add('ServerModel: loaded server #' . $id . ' (plugin: ' . $item->plugin . ')', Log::INFO, 'externallogin');
98+
9399
/** @var CMSApplication */
94100
$app = Factory::getApplication();
95101
$menu = $app->getMenu()->getActive();
@@ -131,10 +137,18 @@ public function getItem($pk = null)
131137
// Return the service/URL
132138
$user = $this->getCurrentUser();
133139
if (!$user->guest) {
140+
Log::add('User is already logged in, return ' . (string)$uri . '.', Log::INFO, 'externallogin');
134141
return $uri;
135142
}
143+
144+
Log::add('ServerModel: User is guest, preparing login URL', Log::INFO, 'externallogin');
145+
136146
$app->setUserState('com_externallogin.server', $item->id);
147+
Log::add('ServerModel: Set user state com_externallogin.server = ' . $item->id, Log::INFO, 'externallogin');
148+
137149
$dispatcher = Factory::getContainer()->get(DispatcherInterface::class);
150+
Log::add('ServerModel: Got dispatcher: ' . get_class($dispatcher), Log::INFO, 'externallogin');
151+
138152
$event = new ContentPrepareEvent(
139153
'onGetLoginUrl',
140154
[
@@ -143,12 +157,21 @@ public function getItem($pk = null)
143157
]
144158
);
145159
$event->setArgument('service', $uri);
160+
Log::add('ServerModel: Created event, dispatching onGetLoginUrl for server plugin: ' . $item->plugin, Log::INFO, 'externallogin');
161+
146162
$dispatcher->dispatch('onGetLoginUrl', $event);
163+
Log::add('ServerModel: Event dispatched', Log::INFO, 'externallogin');
164+
147165
$results = $event->getArgument('result', []);
148166

167+
// Debug logging
168+
Log::add('onGetLoginUrl service: ' . (string)$uri . ', results: ' . json_encode($results) . ' (type: ' . gettype($results) . ')', Log::INFO, 'externallogin');
169+
149170
if (empty($results)) {
171+
Log::add('ServerModel: No results from onGetLoginUrl event handlers!', Log::ERROR, 'externallogin');
150172
throw new Exception(Text::_('COM_EXTERNALLOGIN_ERROR_OCCURS'));
151173
}
174+
Log::add('ServerModel: Returning redirect URL: ' . (is_array($results) ? $results[0] : $results), Log::INFO, 'externallogin');
152175
return $results[0];
153176
}
154177
}

src/components/com_externallogin/src/View/Server/HtmlView.php

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,20 @@ public function display($tpl = null)
4141
/** @var CMSApplication */
4242
$app = Factory::getApplication();
4343

44+
Log::add('Server View display() called', Log::INFO, 'externallogin');
45+
4446
try {
4547
/** @var LoginServerModel */
4648
$model = $this->getModel();
49+
Log::add('Server View got model: ' . get_class($model), Log::INFO, 'externallogin');
50+
4751
$item = $model->getItem();
52+
Log::add('Server View got item (redirect URL): ' . (string) $item, Log::INFO, 'externallogin');
53+
4854
$app->redirect((string) $item, 302);
4955
} catch (Throwable $exception) {
50-
Log::add($exception->getMessage(), Log::ERROR, 'externallogin');
56+
Log::add('Server View exception: ' . $exception->getMessage(), Log::ERROR, 'externallogin');
57+
Log::add('Server View exception trace: ' . $exception->getTraceAsString(), Log::ERROR, 'externallogin');
5158
$app->enqueueMessage($exception->getMessage(), 'error');
5259
$app->redirect('index.php', 302);
5360
return;

src/plugins/system/caslogin/src/Extension/Caslogin.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,7 @@ public function __construct($config)
8383
'system-caslogin-groups',
8484
]
8585
);
86+
Log::add('CAS plugin constructed, plugin enabled', Log::INFO, 'externallogin');
8687
}
8788

8889
/**
@@ -500,27 +501,46 @@ public function onAfterInitialise(): void
500501
*/
501502
public function onGetLoginUrl(Event $event): void
502503
{
504+
Log::add('CAS onGetLoginUrl method ENTERED!', Log::INFO, 'externallogin');
505+
503506
$server = $event->getArgument('subject');
504507
$service = $event->getArgument('service');
505508

509+
// Debug logging
510+
Log::add('CAS onGetLoginUrl called. Server: ' . ($server ? ('id=' . $server->id . ', plugin=' . $server->plugin) : 'null') . ', Service: ' . ($service ? (string)$service : 'null'), Log::INFO, 'externallogin');
511+
506512
if ($server && $server->plugin == 'system.caslogin') {
513+
Log::add('CAS onGetLoginUrl: Plugin matches, generating URL...', Log::INFO, 'externallogin');
514+
507515
if ($service instanceof Uri) {
508516
$service = (string) $service;
509517
}
510518

511519
$url = $this->getUrl($server->params) . '/login?service=' . urlencode($service);
520+
Log::add('CAS onGetLoginUrl: Base URL: ' . $url, Log::INFO, 'externallogin');
512521

513522
if ($server->params->get('locale')) {
514523
[$locale] = explode('-', Factory::getApplication()->getLanguage()->getTag());
515524
$url .= '&locale=' . $locale;
525+
Log::add('CAS onGetLoginUrl: Added locale: ' . $locale, Log::INFO, 'externallogin');
516526
}
517527

528+
Log::add('CAS onGetLoginUrl: Event class: ' . get_class($event) . ', is ResultAware: ' . ($event instanceof ResultAwareInterface ? 'YES' : 'NO'), Log::INFO, 'externallogin');
529+
518530
if ($event instanceof ResultAwareInterface) {
519531
$event->addResult($url);
532+
Log::add('CAS onGetLoginUrl: Called addResult()', Log::INFO, 'externallogin');
520533
} else {
521534
$event->setArgument('result', [$url]);
535+
Log::add('CAS onGetLoginUrl: Called setArgument() with array [url]', Log::INFO, 'externallogin');
522536
}
537+
// Debug logging
538+
Log::add('CAS login URL constructed: ' . $url . ' (service: ' . $service . ')', Log::INFO, 'externallogin');
539+
} else {
540+
Log::add('CAS onGetLoginUrl: Plugin does NOT match! Expected system.caslogin, got: ' . ($server ? $server->plugin : 'null'), Log::WARNING, 'externallogin');
523541
}
542+
543+
Log::add('CAS onGetLoginUrl method EXITING', Log::INFO, 'externallogin');
524544
}
525545

526546
/**

0 commit comments

Comments
 (0)