Thank you! I will give it a test on a dev site.
A bit more work and I was able to discover that the moodle_sync_template needed to enabled too, for any of this to work. I realized the
function: core_course_duplicate_course
was being called too, so to duplicate a course, if a template was being used. Think it works as designed, just a bit more documentation could be helpful. Both moodle_sync_course and moodle_sync_template should be enabled and configured.
I think this does work as designed, it was just a bit confusing that the private files system would be needed in the debug settings.
I appreciate that @ultrabob ! People I work for at first just want it turned off, but I think with time, they will want this notification, understand it better.
Do think my post here is a duplicate :
https://www.drupal.org/project/commerce_license/issues/3327540#comment-1...
✨
Allow administrators to disable email notification sending on license expiration
Needs review
I have applied #9 patch and it works with the new - 3.0.2 Stable release released 25 June 2025
Hi, just reporting I was able to apply the patch #9 cleanly ( against 3.0.2 Stable release released 25 June 2025) and it does appear to be working well. This is on D 10.4.8 - using it in production.
Thank you all.
goose2000 → created an issue.
goose2000 → created an issue.
goose2000 → created an issue.
goose2000 → created an issue.
goose2000 → created an issue.
I was able to apply the patch fine:
git apply fix_syntax_errors-3500066-2.patch
I think most errors are now gone, but found a new one I think:
Drupal 10.4.7
PHP 8.1
TypeError: Drupal\Component\Utility\NestedArray::getValue(): Argument #2 ($parents) must be of type array, null given, called in D:\wwwroot\pss-2024-dev\web\modules\contrib\conditional_fields\src\ConditionalFieldsFormHelper.php on line 905 in Drupal\Component\Utility\NestedArray::getValue() (line 69 of D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Component\Utility\NestedArray.php).
#0 D:\wwwroot\pss-2024-dev\web\modules\contrib\conditional_fields\src\ConditionalFieldsFormHelper.php(905): Drupal\Component\Utility\NestedArray::getValue(Array, NULL)
#1 D:\wwwroot\pss-2024-dev\web\modules\contrib\conditional_fields\src\ConditionalFieldsFormHelper.php(830): Drupal\conditional_fields\ConditionalFieldsFormHelper::formFieldGetValues(NULL, Object(Drupal\Core\Form\FormState))
#2 [internal function]: Drupal\conditional_fields\ConditionalFieldsFormHelper::formValidate(Array, Object(Drupal\Core\Form\FormState))
#3 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Form\FormValidator.php(82): call_user_func_array(Array, Array)
#4 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Form\FormValidator.php(274): Drupal\Core\Form\FormValidator->executeValidateHandlers(Array, Object(Drupal\Core\Form\FormState))
#5 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Form\FormValidator.php(118): Drupal\Core\Form\FormValidator->doValidateForm(Array, Object(Drupal\Core\Form\FormState), 'node_recertific...')
#6 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Form\FormBuilder.php(593): Drupal\Core\Form\FormValidator->validateForm('node_recertific...', Array, Object(Drupal\Core\Form\FormState))
#7 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Form\FormBuilder.php(326): Drupal\Core\Form\FormBuilder->processForm('node_recertific...', Array, Object(Drupal\Core\Form\FormState))
#8 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Controller\FormController.php(73): Drupal\Core\Form\FormBuilder->buildForm(Object(Drupal\node\NodeForm), Object(Drupal\Core\Form\FormState))
#9 D:\wwwroot\pss-2024-dev\web\core\modules\layout_builder\src\Controller\LayoutBuilderHtmlEntityFormController.php(39): Drupal\Core\Controller\FormController->getContentResult(Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\RouteMatch))
#10 [internal function]: Drupal\layout_builder\Controller\LayoutBuilderHtmlEntityFormController->getContentResult(Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\RouteMatch))
#11 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber.php(123): call_user_func_array(Array, Array)
#12 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Render\Renderer.php(638): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#13 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber.php(124): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#14 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber.php(97): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->wrapControllerExecutionInRenderContext(Array, Array)
#15 D:\wwwroot\pss-2024-dev\vendor\symfony\http-kernel\HttpKernel.php(181): Drupal\Core\EventSubscriber\EarlyRenderingControllerWrapperSubscriber->Drupal\Core\EventSubscriber\{closure}()
#16 D:\wwwroot\pss-2024-dev\vendor\symfony\http-kernel\HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#17 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\Session.php(53): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#18 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#19 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#20 D:\wwwroot\pss-2024-dev\web\core\modules\big_pipe\src\StackMiddleware\ContentLength.php(32): Drupal\Core\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#21 D:\wwwroot\pss-2024-dev\web\core\modules\page_cache\src\StackMiddleware\PageCache.php(116): Drupal\big_pipe\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#22 D:\wwwroot\pss-2024-dev\web\core\modules\page_cache\src\StackMiddleware\PageCache.php(90): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#23 D:\wwwroot\pss-2024-dev\web\core\modules\ban\src\BanMiddleware.php(50): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#24 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\ReverseProxyMiddleware.php(48): Drupal\ban\BanMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#25 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#26 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#27 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\AjaxPageState->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#28 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\DrupalKernel.php(741): Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#29 D:\wwwroot\pss-2024-dev\web\index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#30 {main}
Now on Drupal 10.4.7 - patch NOT applied yet, just documenting. Error:
ArgumentCountError: Too few arguments to function Drupal\conditional_fields\ConditionalFieldsElementAlterHelper::__construct(), 0 passed in D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Component\DependencyInjection\Container.php on line 261 and exactly 2 expected in Drupal\conditional_fields\ConditionalFieldsElementAlterHelper->__construct() (line 38 of D:\wwwroot\pss-2024-dev\web\modules\contrib\conditional_fields\src\ConditionalFieldsElementAlterHelper.php).
#0 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Component\DependencyInjection\Container.php(261): Drupal\conditional_fields\ConditionalFieldsElementAlterHelper->__construct()
#1 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Component\DependencyInjection\Container.php(179): Drupal\Component\DependencyInjection\Container->createService(Array, 'conditional_fie...')
#2 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal.php(197): Drupal\Component\DependencyInjection\Container->get('conditional_fie...')
#3 D:\wwwroot\pss-2024-dev\web\modules\contrib\conditional_fields\conditional_fields.module(102): Drupal::service('conditional_fie...')
#4 [internal function]: conditional_fields_element_after_build(Array, Object(Drupal\Core\Form\FormState))
#5 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Form\FormBuilder.php(1082): call_user_func_array('conditional_fie...', Array)
#6 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Form\FormBuilder.php(1074): Drupal\Core\Form\FormBuilder->doBuildForm('views_exposed_f...', Array, Object(Drupal\Core\Form\FormState))
#7 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Form\FormBuilder.php(579): Drupal\Core\Form\FormBuilder->doBuildForm('views_exposed_f...', Array, Object(Drupal\Core\Form\FormState))
#8 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Form\FormBuilder.php(326): Drupal\Core\Form\FormBuilder->processForm('views_exposed_f...', Array, Object(Drupal\Core\Form\FormState))
#9 D:\wwwroot\pss-2024-dev\web\core\modules\views\src\Plugin\views\exposed_form\ExposedFormPluginBase.php(134): Drupal\Core\Form\FormBuilder->buildForm('\\Drupal\\views\\F...', Object(Drupal\Core\Form\FormState))
#10 D:\wwwroot\pss-2024-dev\web\core\modules\views\src\ViewExecutable.php(1298): Drupal\views\Plugin\views\exposed_form\ExposedFormPluginBase->renderExposedForm()
#11 D:\wwwroot\pss-2024-dev\web\core\modules\views\src\Plugin\views\display\PathPluginBase.php(393): Drupal\views\ViewExecutable->build()
#12 D:\wwwroot\pss-2024-dev\web\core\modules\views\src\Plugin\views\display\Page.php(198): Drupal\views\Plugin\views\display\PathPluginBase->execute()
#13 D:\wwwroot\pss-2024-dev\web\core\modules\views\src\ViewExecutable.php(1690): Drupal\views\Plugin\views\display\Page->execute()
#14 D:\wwwroot\pss-2024-dev\web\core\modules\views\src\Element\View.php(81): Drupal\views\ViewExecutable->executeDisplay('page_1', Array)
#15 [internal function]: Drupal\views\Element\View::preRenderViewElement(Array)
#16 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Security\DoTrustedCallbackTrait.php(113): call_user_func_array(Array, Array)
#17 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Render\Renderer.php(875): Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_ren...', 'exception', 'Drupal\\Core\\Ren...')
#18 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Render\Renderer.php(432): Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array)
#19 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Render\Renderer.php(248): Drupal\Core\Render\Renderer->doRender(Array, false)
#20 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Render\MainContent\HtmlRenderer.php(238): Drupal\Core\Render\Renderer->render(Array, false)
#21 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Render\Renderer.php(638): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}()
#22 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Render\MainContent\HtmlRenderer.php(239): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#23 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Render\MainContent\HtmlRenderer.php(128): Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\CurrentRouteMatch))
#24 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\EventSubscriber\MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\CurrentRouteMatch))
#25 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#26 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher.php(111): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#27 D:\wwwroot\pss-2024-dev\vendor\symfony\http-kernel\HttpKernel.php(186): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view')
#28 D:\wwwroot\pss-2024-dev\vendor\symfony\http-kernel\HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#29 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\Session.php(53): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#30 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#31 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#32 D:\wwwroot\pss-2024-dev\web\core\modules\big_pipe\src\StackMiddleware\ContentLength.php(32): Drupal\Core\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#33 D:\wwwroot\pss-2024-dev\web\core\modules\page_cache\src\StackMiddleware\PageCache.php(116): Drupal\big_pipe\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#34 D:\wwwroot\pss-2024-dev\web\core\modules\page_cache\src\StackMiddleware\PageCache.php(90): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#35 D:\wwwroot\pss-2024-dev\web\core\modules\ban\src\BanMiddleware.php(50): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#36 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\ReverseProxyMiddleware.php(48): Drupal\ban\BanMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#37 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#38 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#39 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\AjaxPageState->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#40 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\DrupalKernel.php(741): Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#41 D:\wwwroot\pss-2024-dev\web\index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#42 {main}
Hi - did get some testing done.
Upgrading drupal/ckeditor_bootstrap_tabs (dev-2.0.x 71b4aeb => dev-2.0.x cd0eb48): Checking out cd0eb480a8 from cache
And it is working for me on all tabs pages except one, so I know this must be some very local issue, particular to my content ( I will continue to troubleshoot this for myself, may be a bootstrap layout builder issue )
Editing my tabs fine here (basic page node) :
https://www.awesomescreenshot.com/video/39874452?key=3955205a5936623263a...
It is working well ! Thanks all.
goose2000 → created an issue.
Feels like a lot possibilities could happen, makes me wonder if ECA / ECA commerce could be part of some recipe in this?
I watch "Module of the Week" pretty regularly, good stuff.
goose2000 → created an issue.
Hello from long ago,
This might be a solution if you are just setting up a Drupal site from the start
Hi, wondering about this in my project. If I understand correctly, if a transition stays the same, and the entity exists (edit form, not create form) - no email is sent.
Example: content type "Job Reference" has reference email field, when the reference is created (submitted to submitted transition) email template is fired of to the reference person to complete the form.
However, job applicant realizes email address was bad, and needs to correct that, hits the edit tabs and fixes the email address. Clicks Save, (submitted to submitted transition still) and this time, no email is sent to the corrected email address.
Well, this is my experience. I get how this would not work for other use cases, would be nice to have a global configuration :
Send email template(s) to same state transitions (submitted to submitted) Y/N ?
goose2000 → created an issue.
Okay, sorry, I got the patch downloaded from gitlab now, I'll try this on my development instance.
@idiaz.roncero - thanks for looking. I want to help review / test:
data.domEvent.preventDefault();
Is this in the module? tabs.js ? I Don't see anything in the MR.
Just letting know this patch #14 applied fine and is working well for client site. Adds nice functionality, I think end users anticipate with the form being done in steps, why not edit in those steps. D10.4
I see now this is really a duplicate - see :
https://www.drupal.org/project/forms_steps/issues/3230835
💬
How to edit content with Steps and not with default Form?
Needs review
goose2000 → created an issue.
+1 @bdunphy "unban/unblock an IP"
Thinking of a use case for the unban:
- building a never ending list of banned IPs would be bad. They are forever rotating.
- build a que event that looks at when an IP was banned (compared to NOW). Put that into a token.
- condition - >if the IP was banned 30 days ago....
- Action -> unban that IP.
goose2000 → created an issue.
goose2000 → created an issue.
Needed to upgrade to D10.4.3 (security release)
Error: Call to undefined method Drupal\layout_builder\SectionComponent::getThirdPartySettings() in Drupal\block_breakpoint\EventSubscriber\BlockComponentRenderArray->onBuildRender() (line 34 of D:\wwwroot\pss-2024-dev\web\modules\contrib\block_breakpoint\src\EventSubscriber\BlockComponentRenderArray.php).
I tries to apply the patch again but would not take this time on this core :
D:\wwwroot\pss-2024-dev\web>git apply 3015152-213.patch
error: patch failed: core/misc/cspell/dictionary.txt:315
error: core/misc/cspell/dictionary.txt: patch does not apply
I had themes left over in my configuration, from D7 migration project. I felt the drush commands did a more through job of getting DB and config matching. #11 worked good for me clearing out these old theme and block configurations. I can now import SINGLE config changes (like a view) from my development site easy. THANKS ALL.
[notice] Synchronized configuration: delete riley.settings.
[notice] Synchronized configuration: delete block.block.adminimal_user_online.
[notice] Synchronized configuration: delete block.block.adminimal_user_new.
[notice] Synchronized configuration: delete block.block.adminimal_comment_recent.
[notice] Synchronized configuration: delete block.block.adminimal_block_20.
[notice] Synchronized configuration: delete block.block.adminimal_block_42.
[notice] Synchronized configuration: delete block.block.adminimal_block_55.
[notice] Synchronized configuration: delete block.block.adminimal_block_58.
[notice] Synchronized configuration: delete block.block.adminimal_menu_menu_site_tools.
[notice] Synchronized configuration: delete block.block.bartik_user_login.
[notice] Synchronized configuration: delete block.block.garland_block_20.
[notice] Synchronized configuration: delete block.block.garland_block_42.
[notice] Synchronized configuration: delete block.block.garland_block_55.
[notice] Synchronized configuration: delete block.block.garland_block_58.
[notice] Synchronized configuration: delete block.block.garland_menu_menu_site_tools.
[notice] Synchronized configuration: delete block.block.riley_block_20.
[notice] Synchronized configuration: delete block.block.riley_block_42.
[notice] Synchronized configuration: delete block.block.riley_block_55.
[notice] Synchronized configuration: delete block.block.riley_menu_menu_site_tools.
[notice] Synchronized configuration: delete block.block.adminimal_block_1.
[notice] Synchronized configuration: delete block.block.adminimal_block_2.
[notice] Synchronized configuration: delete block.block.adminimal_block_22.
[notice] Synchronized configuration: delete block.block.adminimal_block_23.
[notice] Synchronized configuration: delete block.block.adminimal_block_28.
[notice] Synchronized configuration: delete block.block.adminimal_block_29.
[notice] Synchronized configuration: delete block.block.adminimal_block_30.
[notice] Synchronized configuration: delete block.block.adminimal_block_31.
[notice] Synchronized configuration: delete block.block.adminimal_block_32.
[notice] Synchronized configuration: delete block.block.adminimal_block_33.
[notice] Synchronized configuration: delete block.block.adminimal_block_34.
[notice] Synchronized configuration: delete block.block.adminimal_block_35.
[notice] Synchronized configuration: delete block.block.adminimal_block_36.
[notice] Synchronized configuration: delete block.block.adminimal_block_37.
[notice] Synchronized configuration: delete block.block.adminimal_block_38.
[notice] Synchronized configuration: delete block.block.adminimal_block_46.
[notice] Synchronized configuration: delete block.block.adminimal_block_49.
[notice] Synchronized configuration: delete block.block.adminimal_block_51.
[notice] Synchronized configuration: delete block.block.adminimal_block_6.
[notice] Synchronized configuration: delete block.block.adminimal_block_61.
[notice] Synchronized configuration: delete block.block.adminimal_system_main.
[notice] Synchronized configuration: delete block.block.bartik_search_form.
[notice] Synchronized configuration: delete block.block.bartik_system_main.
[notice] Synchronized configuration: delete block.block.bartik_system_powered_by.
[notice] Synchronized configuration: delete block.block.garland_block_1.
[notice] Synchronized configuration: delete block.block.garland_block_2.
[notice] Synchronized configuration: delete block.block.garland_block_22.
[notice] Synchronized configuration: delete block.block.garland_block_23.
[notice] Synchronized configuration: delete block.block.garland_block_28.
[notice] Synchronized configuration: delete block.block.garland_block_29.
[notice] Synchronized configuration: delete block.block.garland_block_30.
[notice] Synchronized configuration: delete block.block.garland_block_31.
[notice] Synchronized configuration: delete block.block.garland_block_32.
[notice] Synchronized configuration: delete block.block.garland_block_33.
[notice] Synchronized configuration: delete block.block.garland_block_34.
[notice] Synchronized configuration: delete block.block.garland_block_35.
[notice] Synchronized configuration: delete block.block.garland_block_36.
[notice] Synchronized configuration: delete block.block.garland_block_37.
[notice] Synchronized configuration: delete block.block.garland_block_38.
[notice] Synchronized configuration: delete block.block.garland_block_46.
[notice] Synchronized configuration: delete block.block.garland_block_49.
[notice] Synchronized configuration: delete block.block.garland_block_51.
[notice] Synchronized configuration: delete block.block.garland_block_6.
[notice] Synchronized configuration: delete block.block.garland_block_61.
[notice] Synchronized configuration: delete block.block.garland_system_main.
[notice] Synchronized configuration: delete block.block.riley_block_1.
[notice] Synchronized configuration: delete block.block.riley_block_2.
[notice] Synchronized configuration: delete block.block.riley_block_22.
[notice] Synchronized configuration: delete block.block.riley_block_23.
[notice] Synchronized configuration: delete block.block.riley_block_28.
[notice] Synchronized configuration: delete block.block.riley_block_29.
[notice] Synchronized configuration: delete block.block.riley_block_30.
[notice] Synchronized configuration: delete block.block.riley_block_31.
[notice] Synchronized configuration: delete block.block.riley_block_32.
[notice] Synchronized configuration: delete block.block.riley_block_33.
[notice] Synchronized configuration: delete block.block.riley_block_34.
[notice] Synchronized configuration: delete block.block.riley_block_35.
[notice] Synchronized configuration: delete block.block.riley_block_36.
[notice] Synchronized configuration: delete block.block.riley_block_37.
[notice] Synchronized configuration: delete block.block.riley_block_38.
[notice] Synchronized configuration: delete block.block.riley_block_46.
[notice] Synchronized configuration: delete block.block.riley_block_49.
[notice] Synchronized configuration: delete block.block.riley_block_51.
[notice] Synchronized configuration: delete block.block.riley_block_6.
[notice] Synchronized configuration: delete block.block.riley_block_61.
[notice] Synchronized configuration: delete block.block.riley_block_64.
[notice] Synchronized configuration: delete block.block.riley_system_main.
[notice] Synchronized configuration: delete block.block.adminimal_search_form.
[notice] Synchronized configuration: delete block.block.riley_block_50.
[notice] Synchronized configuration: delete block.block.riley_block_52.
[notice] Synchronized configuration: delete block.block.riley_block_53.
[notice] Synchronized configuration: delete block.block.garland_block_39.
[notice] Synchronized configuration: delete block.block.garland_block_40.
[notice] Synchronized configuration: delete block.block.garland_block_41.
[notice] Synchronized configuration: delete block.block.garland_block_43.
[notice] Synchronized configuration: delete block.block.garland_block_44.
[notice] Synchronized configuration: delete block.block.garland_block_45.
[notice] Synchronized configuration: delete block.block.garland_block_47.
[notice] Synchronized configuration: delete block.block.garland_block_50.
[notice] Synchronized configuration: delete block.block.garland_block_52.
[notice] Synchronized configuration: delete block.block.garland_block_53.
[notice] Synchronized configuration: delete block.block.garland_block_56.
[notice] Synchronized configuration: delete block.block.garland_block_57.
[notice] Synchronized configuration: delete block.block.adminimal_block_39.
[notice] Synchronized configuration: delete block.block.adminimal_block_40.
[notice] Synchronized configuration: delete block.block.adminimal_block_41.
[notice] Synchronized configuration: delete block.block.adminimal_block_43.
[notice] Synchronized configuration: delete block.block.adminimal_block_44.
[notice] Synchronized configuration: delete block.block.adminimal_block_45.
[notice] Synchronized configuration: delete block.block.adminimal_block_47.
[notice] Synchronized configuration: delete block.block.adminimal_block_50.
[notice] Synchronized configuration: delete block.block.adminimal_block_52.
[notice] Synchronized configuration: delete block.block.adminimal_block_53.
[notice] Synchronized configuration: delete block.block.adminimal_block_56.
[notice] Synchronized configuration: delete block.block.adminimal_block_57.
[notice] Synchronized configuration: delete adminimal.settings.
[notice] Finalizing configuration synchronization.
[success] The configuration was imported successfully.
This issue still exists for the latest version Simplenews. Not sure if form_alter() is the right way to correct this in Drupal 10.
dev-4.x 344532a
dev-4.x 91c4849
goose2000 → created an issue.
goose2000 → created an issue.
goose2000 → created an issue.
goose2000 → created an issue.
As a workaround to the error, I re-installed and enabled Commerce Purchasable Entity
composer require 'drupal/commerce_purchasable_entity:1.x-dev@dev'
And can now save user permissions. Seems like Drupal core or testing should be looking for this, uninstall & permissions test case.
goose2000 → created an issue.
I know this is closed but I just wanted to add, a pretty similar experience (some module differences). I can send test emails that look great with images (media library), inline CSS, etc.
Then I went to send the real campaign, no images. I am using:
D 10.3.10
Media
Media Library
Mime Mail: 8.x-1.0-alpha6
Mail System : 8.x-4.5
SMTP: 8.x-1.4
Simplenews : dev-4.x 6c01c1f
And applied the patch again
3015152-213.patch.
and back in business. Just leaving this for myself and any other who comes this way.
I have updated Drupal drupal/core (10.3.5 => 10.3.10) And I have WSOD again.
Error: Call to undefined method Drupal\layout_builder\SectionComponent::getThirdPartySettings() in Drupal\block_breakpoint\EventSubscriber\BlockComponentRenderArray->onBuildRender() (line 34 of D:\wwwroot\pss-2024-dev\web\modules\contrib\block_breakpoint\src\EventSubscriber\BlockComponentRenderArray.php).
#0 [internal function]: Drupal\block_breakpoint\EventSubscriber\BlockComponentRenderArray->onBuildRender(Object(Drupal\layout_builder\Event\SectionComponentBuildRenderArrayEvent), 'section_compone...', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#1 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher.php(111): call_user_func(Array, Object(Drupal\layout_builder\Event\SectionComponentBuildRenderArrayEvent), 'section_compone...', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#2 D:\wwwroot\pss-2024-dev\web\core\modules\layout_builder\src\SectionComponent.php(90): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Drupal\layout_builder\Event\SectionComponentBuildRenderArrayEvent), 'section_compone...')
#3 D:\wwwroot\pss-2024-dev\web\core\modules\layout_builder\src\Section.php(88): Drupal\layout_builder\SectionComponent->toRenderArray(Array, false)
#4 D:\wwwroot\pss-2024-dev\web\core\modules\layout_builder\src\Entity\LayoutBuilderEntityViewDisplay.php(331): Drupal\layout_builder\Section->toRenderArray(Array)
#5 D:\wwwroot\pss-2024-dev\web\core\modules\layout_builder\src\Entity\LayoutBuilderEntityViewDisplay.php(291): Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay->buildSections(Object(Drupal\node\Entity\Node))
#6 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Entity\EntityViewBuilder.php(340): Drupal\layout_builder\Entity\LayoutBuilderEntityViewDisplay->buildMultiple(Array)
#7 D:\wwwroot\pss-2024-dev\web\core\modules\node\src\NodeViewBuilder.php(24): Drupal\Core\Entity\EntityViewBuilder->buildComponents(Array, Array, Array, 'full')
#8 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Entity\EntityViewBuilder.php(282): Drupal\node\NodeViewBuilder->buildComponents(Array, Array, Array, 'full')
#9 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Entity\EntityViewBuilder.php(239): Drupal\Core\Entity\EntityViewBuilder->buildMultiple(Array)
#10 [internal function]: Drupal\Core\Entity\EntityViewBuilder->build(Array)
#11 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Security\DoTrustedCallbackTrait.php(113): call_user_func_array(Array, Array)
#12 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Render\Renderer.php(870): Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_ren...', 'exception', 'Drupal\\Core\\Ren...')
#13 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Render\Renderer.php(432): Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array)
#14 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Render\Renderer.php(248): Drupal\Core\Render\Renderer->doRender(Array, false)
#15 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Render\MainContent\HtmlRenderer.php(238): Drupal\Core\Render\Renderer->render(Array, false)
#16 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Render\Renderer.php(638): Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}()
#17 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Render\MainContent\HtmlRenderer.php(239): Drupal\Core\Render\Renderer->executeInRenderContext(Object(Drupal\Core\Render\RenderContext), Object(Closure))
#18 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\Render\MainContent\HtmlRenderer.php(128): Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\CurrentRouteMatch))
#19 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\EventSubscriber\MainContentViewSubscriber.php(90): Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object(Symfony\Component\HttpFoundation\Request), Object(Drupal\Core\Routing\CurrentRouteMatch))
#20 [internal function]: Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#21 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher.php(111): call_user_func(Array, Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view', Object(Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher))
#22 D:\wwwroot\pss-2024-dev\vendor\symfony\http-kernel\HttpKernel.php(186): Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch(Object(Symfony\Component\HttpKernel\Event\ViewEvent), 'kernel.view')
#23 D:\wwwroot\pss-2024-dev\vendor\symfony\http-kernel\HttpKernel.php(76): Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object(Symfony\Component\HttpFoundation\Request), 1)
#24 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\Session.php(53): Symfony\Component\HttpKernel\HttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#25 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\KernelPreHandle.php(48): Drupal\Core\StackMiddleware\Session->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#26 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\ContentLength.php(28): Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#27 D:\wwwroot\pss-2024-dev\web\core\modules\big_pipe\src\StackMiddleware\ContentLength.php(32): Drupal\Core\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#28 D:\wwwroot\pss-2024-dev\web\core\modules\page_cache\src\StackMiddleware\PageCache.php(106): Drupal\big_pipe\StackMiddleware\ContentLength->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#29 D:\wwwroot\pss-2024-dev\web\core\modules\page_cache\src\StackMiddleware\PageCache.php(85): Drupal\page_cache\StackMiddleware\PageCache->pass(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#30 D:\wwwroot\pss-2024-dev\web\core\modules\ban\src\BanMiddleware.php(50): Drupal\page_cache\StackMiddleware\PageCache->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#31 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\ReverseProxyMiddleware.php(48): Drupal\ban\BanMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#32 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\NegotiationMiddleware.php(51): Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#33 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\AjaxPageState.php(36): Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#34 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\StackMiddleware\StackedHttpKernel.php(51): Drupal\Core\StackMiddleware\AjaxPageState->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#35 D:\wwwroot\pss-2024-dev\web\core\lib\Drupal\Core\DrupalKernel.php(741): Drupal\Core\StackMiddleware\StackedHttpKernel->handle(Object(Symfony\Component\HttpFoundation\Request), 1, true)
#36 D:\wwwroot\pss-2024-dev\web\index.php(19): Drupal\Core\DrupalKernel->handle(Object(Symfony\Component\HttpFoundation\Request))
#37 {main}
I believe I have this issue. I have a page where after I add a style (class) to a link , the page saves fine and mu button style is displayed.
Then if I go back to make some further edits, and I click on any of the tabs, the browser completely freezes, I can get no error message from the console. This is in the latest Chrome.
Bootstrap 5 theme.
D 10.3.5
Dev Version:
2.0.x-dev
About commerce_webform_order_demo - I found I needed to install webform_entity_handler (dependency) first. Then I could enable it on the Extend page fine.
goose2000 → created an issue.
Hi, well, there is a setting within the Policy tab, for "Skip sending" - I don't have this set for the Workbench emails, but it does feel like a clue. I keep experimenting....
goose2000 → created an issue.
Found I needed to set the Default Transport to my SMTP sender. Embarrassing. 8 (
goose2000 → created an issue.
goose2000 → created an issue.
I ran #38 against D10.3.5 and it applied clean.
Ran my misbehaving migrations and it got me caught up to the D7 site I'm working with!
Thank you!
I just ran into this today - patches ok to use on D10.3.5 ? Thanks for any thought
Thanks for all this. I have for the time being, set a limit of 5 for my custom field, it works fine.
I agree something is going on with ajax, and maybe layout builder. The content type this occurs on, does not use layout builder, but yes it is used in other places.
multi-valued or field set to unlimited ? I'm working with the Unlimited field setting.
I have not got a chance to test in a fresh or non-layout builder environment yet.
Closed is fine, I may follow with comments / results later.
goose2000 → created an issue.
I am getting this error too, triggered when "Add another item" is clicked in a add form:
TypeError: Drupal\address\Plugin\Field\FieldWidget\AddressDefaultWidget::errorElement(): Argument #1 ($element) must be of type array, null given, called in D:\wwwroot\pss-2024-fix\web\core\lib\Drupal\Core\Field\WidgetBase.php on line 580 in Drupal\address\Plugin\Field\FieldWidget\AddressDefaultWidget->errorElement() (line 188 of D:\wwwroot\pss-2024-fix\web\modules\contrib\address\src\Plugin\Field\FieldWidget\AddressDefaultWidget.php).
Drupal 10.3.5
PHP 8.1.29
Version: 2.0.2
Testing note, if I try adding the CT (B) by itself, stand alone form (not in a referenced form), all the file uploading and links appear as you would expect.
goose2000 → created an issue.
I will just report, I am on D10.3.5 and this patch applied clean and fixed the issue for me.
Thank you guys!
@uv516
@tjhellmann
I was confused by this at first too. But go to the Formatted text option. Then on the next screen you will find the Markup option.
Update:
Updated to dev version
Development version: 8.x-3.x-dev updated 17 Oct 2024 at 19:22 UTC
No difference.
Next, I gave all permission to my Role 'Applicant'
It worked - now I just need to carefully undo 200+ permissions to find the magic key.
I am having this problem with simple inline form. So I tried to set the content type to no use Auto Entity Label at all, set to Disabled on the configuration, still I get this error.
This entity (node: %AutoEntityLabel%) cannot be referenced.
Drupal 10.3.5
Auto Entity Label 8.x-3.3
Ok, take this back, it did work with Field Permissions module. I was tricked when I used the NodeAuth link initially, every things was working, I got curious and tried to remove the key part:
?authkey=3dea2fadba170df0ff28a386b86a9394a5093e49e1b72ee731a214b4454dd59b
And it would still let me edit, but later tested, in a different browser, and I got access denied - great !
So I concluded I was in some sort of edit session that was initiated by the original node_auth link.
goose2000 → created an issue.
Thank you, just want to confirm this patch applied and fixed this command on my webform 6.2.7
Hi, following this, I would like to do this. Although, in my case, my users are all authenticated and exist before shopping.
Is that doable? More doable? The video in the library, 3 conditions met and add new role was helpful, thank you.
Any idea about these install requirements ? Is there any safe work around we could do to the info .yml ?
commerce_webform_order.info.yml
name: Commerce Webform Order
description: This module integrates webform with commerce modules.
package: Commerce (contrib)
core_version_requirement: ^9.4 || ^10
type: module
dependencies:
- commerce:commerce (>= 2.19)
- commerce:commerce_cart
- commerce:commerce_checkout
- commerce:commerce_order
- commerce:commerce_price
- commerce:commerce_store
- webform:webform (>= 6.1)
simplytest_dependencies:
- commerce_webform_order:commerce_webform_order_demo
# Information added by Drupal.org packaging script on 2023-12-05
version: '3.0.0-beta10'
project: 'commerce_webform_order'
datestamp: 1701773645
Any ideas? I can see my that my private file system is working with my web server IUSR fine, so doesn't appear to be a permissions issue.
I am having this issue too, just letting know it is reproducible, enable info :
Machine name: commerce_webform_order
Version: 3.0.0-beta10
Requires: CommerceAddressFieldEntityInline Entity FormTokenDatetimeViewsFilterUserSystemCommerce CartCommerce OrderCommerce PriceCommerce StoreOptionsTextPathPath aliasCommerce Number PatternEntity Reference RevisionsProfileState MachineCommerce ProductCommerce CheckoutWebform (>= 6.1) (incompatible with version * ? *)
Required by: Commerce Webform Order Demo (disabled)
Drupal 10.3.5
Webform 6.2.7 Stable release
Well, did a little test to see PHP run the command line version of GS on my server :
<html>
<head>
<title>Test GS</title>
</head>
<body>
<?php
//$ver = shell_exec("gswin64c.exe --version");
$ver = exec("gswin64c.exe" . " --version");
print "$ver";
print "<br>A";
?>
</body>
</html>
And this returned fine :
10.03.1
A
So not having a PHP / GS disconnect. I guess this is a permissions issue? I am on a Windows 2019 server.
Thanks for ideas.
I updated my project to Drupal 10.3.5 and then I was able too apply the patch: 3015152-213.patch.
Was able to install and get the module running (I am using Layout Builder in places) !
Hope this core patch does get accepted into D11.
Thank you
Hi - will do, that will be more helpful / graceful. The patch is a bit complicated, I am still working on getting that in place.
goose2000 → created an issue.
goose2000 → created an issue.
goose2000 → created an issue.
goose2000 → created an issue.
Okay, might hit this again and reopen.
goose2000 → created an issue.
Is this in the dev version now ?
goose2000 → created an issue.
I am new to LB, granted. I cannot see any UI where I can align how a block would align within a section (left, right center).
Do I need the "Layout Builder Blocks" module?
I saw this shown in a Vardot video - alignment of blocks inside the section.
Thanks for any pointers.
Wow! Where can I send a little coffee $ @jsutta
I'll be trying it out tomorrow on a dev site.
goose2000 → created an issue.
I noticed today, that upon initial creation of a node, there is no requirement to complete the revision log.
Later, found that any edit, revision change to that same node, DOES require a log message.
So, I think this is one of those "did not meet the users expectation." type bug. Think you should require a log message initially, from the very get-go.
I guess I should have described my environment:
Windows server 2022 with Node.js installed.
I started then to go down a rabbit hole trying to learn difference between commonJS require() and then the newer ESM import methods. I tried to convert the script to use ESM import commands, but that got a different error.
Also tried to downgrade my node-fetch, but it didn't seem to stick. node-fetch -v always showed 3.0.0
https://stackoverflow.com/questions/74278936/i-am-unable-to-downgrade-th...
Thanks for the response, I think it's very cool system for accessibility.
goose2000 → created an issue.
I would like this SSO solution to continue too, used it for a long time. I have been able to get a CAS server solution going but this has always been lighter weight for Moodle.
I can install and test...
goose2000 → created an issue.
Regardless of how the Libraries report page displays, I found everything to be working, studying the init() function below, when I deleted the library directory, it for sure triggered the warning/error message therein. Put it back and all was fine. Closing.
/**
* Implements hook_init().
*
* Nags the user about the missing library on OAuth2 admin pages.
*/
function oauth2_server_init() {
$item = menu_get_item();
if (is_array($item)) {
if ($item['access'] && strpos($item['path'], 'admin/structure/oauth2-servers') === 0) {
$path = oauth2_server_get_library_path();
// Check for the existence of one file from the library.
if (!$path || !file_exists($path . '/src/OAuth2/Server.php')) {
$message = t('The OAuth2 server library is required for the OAuth2 module to function.
Download the library from <a href="https://github.com/bshaffer/oauth2-server-php" target="_blank">GitHub</a> and place it in <em>!path</em>.', array('!path' => $path));
drupal_set_message($message, 'error');
}
}
}
}