- Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in element_gva_column->render_content() (line 462 of themes/gavias_kunco/gva_content_builder/gva_column.php).
element_gva_column->render_content(Array, '
Integration & Inclusion
<a href="/en/merger-en" class="atraf-btn">Explore Our Projects</a>
// Simple Scripts for Interactions
const counters = document.querySelectorAll('.counter');
const options = { threshold: 0.5 };
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const counter = entry.target;
const target = +counter.getAttribute('data-target');
let count = 0;
const increment = target / 100;
const updateCounter = () => {
count += increment;
if (count < target) {
counter.innerText = Math.ceil(count);
requestAnimationFrame(updateCounter);
} else {
counter.innerText = target;
}
};
updateCounter();
observer.unobserve(counter);
}
});
}, options);
counters.forEach(counter => observer.observe(counter));
// Reveal Animation
const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');
const revealObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('active');
}
})
}, { threshold: 0.1 });
reveals.forEach(el => revealObserver.observe(el));
function toggleCart() {
// Placeholder for cart toggle logic
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
module.exports = {
content: ["./about.html"],
important: '.vicdan-embed-wrapper',
theme: {
extend: {
colors: {
brand: {
primary: '#6d2435',
secondary: '#b2946b',
green: '#617f67',
salmon: '#a75756',
beige: '#f2d7b4',
dark: '#282828'
}
},
fontFamily: {
sans: ['IBM Plex Sans Arabic', 'sans-serif'],
}
}
},
corePlugins: {
preflight: false,
}
}
Program Overview
The program aims to address the social and economic barriers that limit the participation of persons with disabilities and their families, ensuring their full inclusion and empowering them to play an active role in social and economic life.
Objectives
Strengthening social inclusion.
Improving economic opportunities.
Supporting families.
Empowering active participation.
/* COUNTER */
document.querySelectorAll('.atraf-counter').forEach(counter=>{
const update=()=>{
const target=+counter.getAttribute('data-target');
const count=+counter.innerText;
const inc=target/100;
if(count{
window.open('sites/default/files/program_access.png','_blank');
});
') (Line: 110)
gavias_content_builder_render_element('gva_column', Array, '
Integration & Inclusion
<a href="/en/merger-en" class="atraf-btn">Explore Our Projects</a>
// Simple Scripts for Interactions
const counters = document.querySelectorAll('.counter');
const options = { threshold: 0.5 };
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const counter = entry.target;
const target = +counter.getAttribute('data-target');
let count = 0;
const increment = target / 100;
const updateCounter = () => {
count += increment;
if (count < target) {
counter.innerText = Math.ceil(count);
requestAnimationFrame(updateCounter);
} else {
counter.innerText = target;
}
};
updateCounter();
observer.unobserve(counter);
}
});
}, options);
counters.forEach(counter => observer.observe(counter));
// Reveal Animation
const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');
const revealObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('active');
}
})
}, { threshold: 0.1 });
reveals.forEach(el => revealObserver.observe(el));
function toggleCart() {
// Placeholder for cart toggle logic
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
module.exports = {
content: ["./about.html"],
important: '.vicdan-embed-wrapper',
theme: {
extend: {
colors: {
brand: {
primary: '#6d2435',
secondary: '#b2946b',
green: '#617f67',
salmon: '#a75756',
beige: '#f2d7b4',
dark: '#282828'
}
},
fontFamily: {
sans: ['IBM Plex Sans Arabic', 'sans-serif'],
}
}
},
corePlugins: {
preflight: false,
}
}
Program Overview
The program aims to address the social and economic barriers that limit the participation of persons with disabilities and their families, ensuring their full inclusion and empowering them to play an active role in social and economic life.
Objectives
Strengthening social inclusion.
Improving economic opportunities.
Supporting families.
Empowering active participation.
/* COUNTER */
document.querySelectorAll('.atraf-counter').forEach(counter=>{
const update=()=>{
const target=+counter.getAttribute('data-target');
const count=+counter.innerText;
const inc=target/100;
if(count{
window.open('sites/default/files/program_access.png','_blank');
});
') (Line: 58)
gavias_content_builder_render_el(Array) (Line: 22)
gavias_content_builder_frontend('[{"settings":{"element":"gva_row","bg_particles":"off","bg_position":"center top","bg_repeat":"no-repeat","bg_attachment":"scroll","bg_size":"cover","style_space":"remove_margin remove_padding remove_padding_col","layout":"container-fw"},"columns":[{"settings":{"element":"gva_column"},"col_lg":12,"elements":[{"settings":{"content":"\r\n\r\n \r\n \r\n \r\n \r\n \r\n Integration & Inclusion\r\n\r\n \r\n <a>Explore Our Projects</a>\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n // Simple Scripts for Interactions\r\n const counters = document.querySelectorAll('.counter');\r\n const options = { threshold: 0.5 };\r\n\r\n const observer = new IntersectionObserver((entries) => {\r\n entries.forEach(entry => {\r\n if (entry.isIntersecting) {\r\n const counter = entry.target;\r\n const target = +counter.getAttribute('data-target');\r\n let count = 0;\r\n const increment = target / 100;\r\n\r\n const updateCounter = () => {\r\n count += increment;\r\n if (count < target) {\r\n counter.innerText = Math.ceil(count);\r\n requestAnimationFrame(updateCounter);\r\n } else {\r\n counter.innerText = target;\r\n }\r\n };\r\n updateCounter();\r\n observer.unobserve(counter);\r\n }\r\n });\r\n }, options);\r\n\r\n counters.forEach(counter => observer.observe(counter));\r\n\r\n // Reveal Animation\r\n const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');\r\n const revealObserver = new IntersectionObserver((entries) => {\r\n entries.forEach(entry => {\r\n if (entry.isIntersecting) {\r\n entry.target.classList.add('active');\r\n }\r\n })\r\n }, { threshold: 0.1 });\r\n\r\n reveals.forEach(el => revealObserver.observe(el));\r\n\r\n function toggleCart() {\r\n // Placeholder for cart toggle logic\r\n alert('Cart toggle clicked');\r\n }\r\n function toggleMobileMenu() {\r\n alert('Mobile menu clicked');\r\n }\r\n\r\n module.exports = {\r\n content: [\"./about.html\"],\r\n important: '.vicdan-embed-wrapper',\r\n theme: {\r\n extend: {\r\n colors: {\r\n brand: {\r\n primary: '#6d2435',\r\n secondary: '#b2946b',\r\n green: '#617f67',\r\n salmon: '#a75756',\r\n beige: '#f2d7b4',\r\n dark: '#282828'\r\n }\r\n },\r\n fontFamily: {\r\n sans: ['IBM Plex Sans Arabic', 'sans-serif'],\r\n }\r\n }\r\n },\r\n corePlugins: {\r\n preflight: false,\r\n }\r\n }\r\n\r\n","animate_delay":"0"},"editing":false,"element_name":"gva_text_noeditor"},{"settings":{"content":"\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\nProgram Overview\r\n \r\n\r\n \r\nThe program aims to address the social and economic barriers that limit the participation of persons with disabilities and their families, ensuring their full inclusion and empowering them to play an active role in social and economic life.\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n Objectives\r\n\r\n \r\n\r\n \r\n \r\n Strengthening social inclusion.\r\n\r\n\r\n\r\n\r\n Improving economic opportunities.\r\n\r\n\r\n\r\n \r\n Supporting families.\r\n\r\n\r\n\r\n \r\n Empowering active participation.\r\n\r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n/* COUNTER */\r\ndocument.querySelectorAll('.atraf-counter').forEach(counter=>{\r\n const update=()=>{\r\n const target=+counter.getAttribute('data-target');\r\n const count=+counter.innerText;\r\n const inc=target/100;\r\n\r\n if(count{\r\n window.open('sites/default/files/program_access.png','_blank');\r\n});\r\n\r\n","animate_delay":"0"},"editing":false,"element_name":"gva_text_noeditor"}],"editing":false,"element_name":"gva_column"}],"editing":false,"element_name":"gva_row"}]') (Line: 47)
Drupal\gavias_content_builder\Plugin\Field\FieldFormatter\GaviasContentBuilderFormatter->viewElements(Object, 'en') (Line: 89)
Drupal\Core\Field\FormatterBase->view(Object, 'en') (Line: 263)
Drupal\Core\Entity\Entity\EntityViewDisplay->buildMultiple(Array) (Line: 351)
Drupal\Core\Entity\EntityViewBuilder->buildComponents(Array, Array, Array, 'full') (Line: 24)
Drupal\node\NodeViewBuilder->buildComponents(Array, Array, Array, 'full') (Line: 293)
Drupal\Core\Entity\EntityViewBuilder->buildMultiple(Array) (Line: 250)
Drupal\Core\Entity\EntityViewBuilder->build(Array)
call_user_func_array(Array, Array) (Line: 100)
Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_render callbacks must be methods of a class that implements \Drupal\Core\Security\TrustedCallbackInterface or be an anonymous function. The callback was %s. Support for this callback implementation is deprecated in 8.8.0 and will be removed in Drupal 9.0.0. See https://www.drupal.org/node/2966725', 'silenced_deprecation', 'Drupal\Core\Render\Element\RenderCallbackInterface') (Line: 781)
Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array) (Line: 372)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 200)
Drupal\Core\Render\Renderer->render(Array, ) (Line: 226)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 573)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 227)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 117)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object)
call_user_func(Array, Object, 'kernel.view', Object) (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object) (Line: 156)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 68)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 191)
Drupal\page_cache\StackMiddleware\PageCache->fetch(Object, 1, 1) (Line: 128)
Drupal\page_cache\StackMiddleware\PageCache->lookup(Object, 1, 1) (Line: 82)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 52)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 708)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
- Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in element_gva_column->render_content() (line 463 of themes/gavias_kunco/gva_content_builder/gva_column.php).
element_gva_column->render_content(Array, '
Integration & Inclusion
<a href="/en/merger-en" class="atraf-btn">Explore Our Projects</a>
// Simple Scripts for Interactions
const counters = document.querySelectorAll('.counter');
const options = { threshold: 0.5 };
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const counter = entry.target;
const target = +counter.getAttribute('data-target');
let count = 0;
const increment = target / 100;
const updateCounter = () => {
count += increment;
if (count < target) {
counter.innerText = Math.ceil(count);
requestAnimationFrame(updateCounter);
} else {
counter.innerText = target;
}
};
updateCounter();
observer.unobserve(counter);
}
});
}, options);
counters.forEach(counter => observer.observe(counter));
// Reveal Animation
const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');
const revealObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('active');
}
})
}, { threshold: 0.1 });
reveals.forEach(el => revealObserver.observe(el));
function toggleCart() {
// Placeholder for cart toggle logic
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
module.exports = {
content: ["./about.html"],
important: '.vicdan-embed-wrapper',
theme: {
extend: {
colors: {
brand: {
primary: '#6d2435',
secondary: '#b2946b',
green: '#617f67',
salmon: '#a75756',
beige: '#f2d7b4',
dark: '#282828'
}
},
fontFamily: {
sans: ['IBM Plex Sans Arabic', 'sans-serif'],
}
}
},
corePlugins: {
preflight: false,
}
}
Program Overview
The program aims to address the social and economic barriers that limit the participation of persons with disabilities and their families, ensuring their full inclusion and empowering them to play an active role in social and economic life.
Objectives
Strengthening social inclusion.
Improving economic opportunities.
Supporting families.
Empowering active participation.
/* COUNTER */
document.querySelectorAll('.atraf-counter').forEach(counter=>{
const update=()=>{
const target=+counter.getAttribute('data-target');
const count=+counter.innerText;
const inc=target/100;
if(count{
window.open('sites/default/files/program_access.png','_blank');
});
') (Line: 110)
gavias_content_builder_render_element('gva_column', Array, '
Integration & Inclusion
<a href="/en/merger-en" class="atraf-btn">Explore Our Projects</a>
// Simple Scripts for Interactions
const counters = document.querySelectorAll('.counter');
const options = { threshold: 0.5 };
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const counter = entry.target;
const target = +counter.getAttribute('data-target');
let count = 0;
const increment = target / 100;
const updateCounter = () => {
count += increment;
if (count < target) {
counter.innerText = Math.ceil(count);
requestAnimationFrame(updateCounter);
} else {
counter.innerText = target;
}
};
updateCounter();
observer.unobserve(counter);
}
});
}, options);
counters.forEach(counter => observer.observe(counter));
// Reveal Animation
const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');
const revealObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('active');
}
})
}, { threshold: 0.1 });
reveals.forEach(el => revealObserver.observe(el));
function toggleCart() {
// Placeholder for cart toggle logic
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
module.exports = {
content: ["./about.html"],
important: '.vicdan-embed-wrapper',
theme: {
extend: {
colors: {
brand: {
primary: '#6d2435',
secondary: '#b2946b',
green: '#617f67',
salmon: '#a75756',
beige: '#f2d7b4',
dark: '#282828'
}
},
fontFamily: {
sans: ['IBM Plex Sans Arabic', 'sans-serif'],
}
}
},
corePlugins: {
preflight: false,
}
}
Program Overview
The program aims to address the social and economic barriers that limit the participation of persons with disabilities and their families, ensuring their full inclusion and empowering them to play an active role in social and economic life.
Objectives
Strengthening social inclusion.
Improving economic opportunities.
Supporting families.
Empowering active participation.
/* COUNTER */
document.querySelectorAll('.atraf-counter').forEach(counter=>{
const update=()=>{
const target=+counter.getAttribute('data-target');
const count=+counter.innerText;
const inc=target/100;
if(count{
window.open('sites/default/files/program_access.png','_blank');
});
') (Line: 58)
gavias_content_builder_render_el(Array) (Line: 22)
gavias_content_builder_frontend('[{"settings":{"element":"gva_row","bg_particles":"off","bg_position":"center top","bg_repeat":"no-repeat","bg_attachment":"scroll","bg_size":"cover","style_space":"remove_margin remove_padding remove_padding_col","layout":"container-fw"},"columns":[{"settings":{"element":"gva_column"},"col_lg":12,"elements":[{"settings":{"content":"\r\n\r\n \r\n \r\n \r\n \r\n \r\n Integration & Inclusion\r\n\r\n \r\n <a>Explore Our Projects</a>\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n // Simple Scripts for Interactions\r\n const counters = document.querySelectorAll('.counter');\r\n const options = { threshold: 0.5 };\r\n\r\n const observer = new IntersectionObserver((entries) => {\r\n entries.forEach(entry => {\r\n if (entry.isIntersecting) {\r\n const counter = entry.target;\r\n const target = +counter.getAttribute('data-target');\r\n let count = 0;\r\n const increment = target / 100;\r\n\r\n const updateCounter = () => {\r\n count += increment;\r\n if (count < target) {\r\n counter.innerText = Math.ceil(count);\r\n requestAnimationFrame(updateCounter);\r\n } else {\r\n counter.innerText = target;\r\n }\r\n };\r\n updateCounter();\r\n observer.unobserve(counter);\r\n }\r\n });\r\n }, options);\r\n\r\n counters.forEach(counter => observer.observe(counter));\r\n\r\n // Reveal Animation\r\n const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');\r\n const revealObserver = new IntersectionObserver((entries) => {\r\n entries.forEach(entry => {\r\n if (entry.isIntersecting) {\r\n entry.target.classList.add('active');\r\n }\r\n })\r\n }, { threshold: 0.1 });\r\n\r\n reveals.forEach(el => revealObserver.observe(el));\r\n\r\n function toggleCart() {\r\n // Placeholder for cart toggle logic\r\n alert('Cart toggle clicked');\r\n }\r\n function toggleMobileMenu() {\r\n alert('Mobile menu clicked');\r\n }\r\n\r\n module.exports = {\r\n content: [\"./about.html\"],\r\n important: '.vicdan-embed-wrapper',\r\n theme: {\r\n extend: {\r\n colors: {\r\n brand: {\r\n primary: '#6d2435',\r\n secondary: '#b2946b',\r\n green: '#617f67',\r\n salmon: '#a75756',\r\n beige: '#f2d7b4',\r\n dark: '#282828'\r\n }\r\n },\r\n fontFamily: {\r\n sans: ['IBM Plex Sans Arabic', 'sans-serif'],\r\n }\r\n }\r\n },\r\n corePlugins: {\r\n preflight: false,\r\n }\r\n }\r\n\r\n","animate_delay":"0"},"editing":false,"element_name":"gva_text_noeditor"},{"settings":{"content":"\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\nProgram Overview\r\n \r\n\r\n \r\nThe program aims to address the social and economic barriers that limit the participation of persons with disabilities and their families, ensuring their full inclusion and empowering them to play an active role in social and economic life.\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n Objectives\r\n\r\n \r\n\r\n \r\n \r\n Strengthening social inclusion.\r\n\r\n\r\n\r\n\r\n Improving economic opportunities.\r\n\r\n\r\n\r\n \r\n Supporting families.\r\n\r\n\r\n\r\n \r\n Empowering active participation.\r\n\r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n/* COUNTER */\r\ndocument.querySelectorAll('.atraf-counter').forEach(counter=>{\r\n const update=()=>{\r\n const target=+counter.getAttribute('data-target');\r\n const count=+counter.innerText;\r\n const inc=target/100;\r\n\r\n if(count{\r\n window.open('sites/default/files/program_access.png','_blank');\r\n});\r\n\r\n","animate_delay":"0"},"editing":false,"element_name":"gva_text_noeditor"}],"editing":false,"element_name":"gva_column"}],"editing":false,"element_name":"gva_row"}]') (Line: 47)
Drupal\gavias_content_builder\Plugin\Field\FieldFormatter\GaviasContentBuilderFormatter->viewElements(Object, 'en') (Line: 89)
Drupal\Core\Field\FormatterBase->view(Object, 'en') (Line: 263)
Drupal\Core\Entity\Entity\EntityViewDisplay->buildMultiple(Array) (Line: 351)
Drupal\Core\Entity\EntityViewBuilder->buildComponents(Array, Array, Array, 'full') (Line: 24)
Drupal\node\NodeViewBuilder->buildComponents(Array, Array, Array, 'full') (Line: 293)
Drupal\Core\Entity\EntityViewBuilder->buildMultiple(Array) (Line: 250)
Drupal\Core\Entity\EntityViewBuilder->build(Array)
call_user_func_array(Array, Array) (Line: 100)
Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_render callbacks must be methods of a class that implements \Drupal\Core\Security\TrustedCallbackInterface or be an anonymous function. The callback was %s. Support for this callback implementation is deprecated in 8.8.0 and will be removed in Drupal 9.0.0. See https://www.drupal.org/node/2966725', 'silenced_deprecation', 'Drupal\Core\Render\Element\RenderCallbackInterface') (Line: 781)
Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array) (Line: 372)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 200)
Drupal\Core\Render\Renderer->render(Array, ) (Line: 226)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 573)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 227)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 117)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object)
call_user_func(Array, Object, 'kernel.view', Object) (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object) (Line: 156)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 68)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 191)
Drupal\page_cache\StackMiddleware\PageCache->fetch(Object, 1, 1) (Line: 128)
Drupal\page_cache\StackMiddleware\PageCache->lookup(Object, 1, 1) (Line: 82)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 52)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 708)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)
- Deprecated function: implode(): Passing glue string after array is deprecated. Swap the parameters in element_gva_row->render_content() (line 317 of themes/gavias_kunco/gva_content_builder/gva_row.php).
element_gva_row->render_content(Array, '
Integration & Inclusion
<a href="/en/merger-en" class="atraf-btn">Explore Our Projects</a>
// Simple Scripts for Interactions
const counters = document.querySelectorAll('.counter');
const options = { threshold: 0.5 };
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const counter = entry.target;
const target = +counter.getAttribute('data-target');
let count = 0;
const increment = target / 100;
const updateCounter = () => {
count += increment;
if (count < target) {
counter.innerText = Math.ceil(count);
requestAnimationFrame(updateCounter);
} else {
counter.innerText = target;
}
};
updateCounter();
observer.unobserve(counter);
}
});
}, options);
counters.forEach(counter => observer.observe(counter));
// Reveal Animation
const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');
const revealObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('active');
}
})
}, { threshold: 0.1 });
reveals.forEach(el => revealObserver.observe(el));
function toggleCart() {
// Placeholder for cart toggle logic
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
module.exports = {
content: ["./about.html"],
important: '.vicdan-embed-wrapper',
theme: {
extend: {
colors: {
brand: {
primary: '#6d2435',
secondary: '#b2946b',
green: '#617f67',
salmon: '#a75756',
beige: '#f2d7b4',
dark: '#282828'
}
},
fontFamily: {
sans: ['IBM Plex Sans Arabic', 'sans-serif'],
}
}
},
corePlugins: {
preflight: false,
}
}
Program Overview
The program aims to address the social and economic barriers that limit the participation of persons with disabilities and their families, ensuring their full inclusion and empowering them to play an active role in social and economic life.
Objectives
Strengthening social inclusion.
Improving economic opportunities.
Supporting families.
Empowering active participation.
/* COUNTER */
document.querySelectorAll('.atraf-counter').forEach(counter=>{
const update=()=>{
const target=+counter.getAttribute('data-target');
const count=+counter.innerText;
const inc=target/100;
if(count{
window.open('sites/default/files/program_access.png','_blank');
});
') (Line: 110)
gavias_content_builder_render_element('gva_row', Array, '
Integration & Inclusion
<a href="/en/merger-en" class="atraf-btn">Explore Our Projects</a>
// Simple Scripts for Interactions
const counters = document.querySelectorAll('.counter');
const options = { threshold: 0.5 };
const observer = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
const counter = entry.target;
const target = +counter.getAttribute('data-target');
let count = 0;
const increment = target / 100;
const updateCounter = () => {
count += increment;
if (count < target) {
counter.innerText = Math.ceil(count);
requestAnimationFrame(updateCounter);
} else {
counter.innerText = target;
}
};
updateCounter();
observer.unobserve(counter);
}
});
}, options);
counters.forEach(counter => observer.observe(counter));
// Reveal Animation
const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');
const revealObserver = new IntersectionObserver((entries) => {
entries.forEach(entry => {
if (entry.isIntersecting) {
entry.target.classList.add('active');
}
})
}, { threshold: 0.1 });
reveals.forEach(el => revealObserver.observe(el));
function toggleCart() {
// Placeholder for cart toggle logic
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
module.exports = {
content: ["./about.html"],
important: '.vicdan-embed-wrapper',
theme: {
extend: {
colors: {
brand: {
primary: '#6d2435',
secondary: '#b2946b',
green: '#617f67',
salmon: '#a75756',
beige: '#f2d7b4',
dark: '#282828'
}
},
fontFamily: {
sans: ['IBM Plex Sans Arabic', 'sans-serif'],
}
}
},
corePlugins: {
preflight: false,
}
}
Program Overview
The program aims to address the social and economic barriers that limit the participation of persons with disabilities and their families, ensuring their full inclusion and empowering them to play an active role in social and economic life.
Objectives
Strengthening social inclusion.
Improving economic opportunities.
Supporting families.
Empowering active participation.
/* COUNTER */
document.querySelectorAll('.atraf-counter').forEach(counter=>{
const update=()=>{
const target=+counter.getAttribute('data-target');
const count=+counter.innerText;
const inc=target/100;
if(count{
window.open('sites/default/files/program_access.png','_blank');
});
') (Line: 62)
gavias_content_builder_render_el(Array) (Line: 22)
gavias_content_builder_frontend('[{"settings":{"element":"gva_row","bg_particles":"off","bg_position":"center top","bg_repeat":"no-repeat","bg_attachment":"scroll","bg_size":"cover","style_space":"remove_margin remove_padding remove_padding_col","layout":"container-fw"},"columns":[{"settings":{"element":"gva_column"},"col_lg":12,"elements":[{"settings":{"content":"\r\n\r\n \r\n \r\n \r\n \r\n \r\n Integration & Inclusion\r\n\r\n \r\n <a>Explore Our Projects</a>\r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n // Simple Scripts for Interactions\r\n const counters = document.querySelectorAll('.counter');\r\n const options = { threshold: 0.5 };\r\n\r\n const observer = new IntersectionObserver((entries) => {\r\n entries.forEach(entry => {\r\n if (entry.isIntersecting) {\r\n const counter = entry.target;\r\n const target = +counter.getAttribute('data-target');\r\n let count = 0;\r\n const increment = target / 100;\r\n\r\n const updateCounter = () => {\r\n count += increment;\r\n if (count < target) {\r\n counter.innerText = Math.ceil(count);\r\n requestAnimationFrame(updateCounter);\r\n } else {\r\n counter.innerText = target;\r\n }\r\n };\r\n updateCounter();\r\n observer.unobserve(counter);\r\n }\r\n });\r\n }, options);\r\n\r\n counters.forEach(counter => observer.observe(counter));\r\n\r\n // Reveal Animation\r\n const reveals = document.querySelectorAll('.reveal, .reveal-left, .reveal-right');\r\n const revealObserver = new IntersectionObserver((entries) => {\r\n entries.forEach(entry => {\r\n if (entry.isIntersecting) {\r\n entry.target.classList.add('active');\r\n }\r\n })\r\n }, { threshold: 0.1 });\r\n\r\n reveals.forEach(el => revealObserver.observe(el));\r\n\r\n function toggleCart() {\r\n // Placeholder for cart toggle logic\r\n alert('Cart toggle clicked');\r\n }\r\n function toggleMobileMenu() {\r\n alert('Mobile menu clicked');\r\n }\r\n\r\n module.exports = {\r\n content: [\"./about.html\"],\r\n important: '.vicdan-embed-wrapper',\r\n theme: {\r\n extend: {\r\n colors: {\r\n brand: {\r\n primary: '#6d2435',\r\n secondary: '#b2946b',\r\n green: '#617f67',\r\n salmon: '#a75756',\r\n beige: '#f2d7b4',\r\n dark: '#282828'\r\n }\r\n },\r\n fontFamily: {\r\n sans: ['IBM Plex Sans Arabic', 'sans-serif'],\r\n }\r\n }\r\n },\r\n corePlugins: {\r\n preflight: false,\r\n }\r\n }\r\n\r\n","animate_delay":"0"},"editing":false,"element_name":"gva_text_noeditor"},{"settings":{"content":"\r\n\r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\nProgram Overview\r\n \r\n\r\n \r\nThe program aims to address the social and economic barriers that limit the participation of persons with disabilities and their families, ensuring their full inclusion and empowering them to play an active role in social and economic life.\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n Objectives\r\n\r\n \r\n\r\n \r\n \r\n Strengthening social inclusion.\r\n\r\n\r\n\r\n\r\n Improving economic opportunities.\r\n\r\n\r\n\r\n \r\n Supporting families.\r\n\r\n\r\n\r\n \r\n Empowering active participation.\r\n\r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n\r\n\r\n\r\n/* COUNTER */\r\ndocument.querySelectorAll('.atraf-counter').forEach(counter=>{\r\n const update=()=>{\r\n const target=+counter.getAttribute('data-target');\r\n const count=+counter.innerText;\r\n const inc=target/100;\r\n\r\n if(count{\r\n window.open('sites/default/files/program_access.png','_blank');\r\n});\r\n\r\n","animate_delay":"0"},"editing":false,"element_name":"gva_text_noeditor"}],"editing":false,"element_name":"gva_column"}],"editing":false,"element_name":"gva_row"}]') (Line: 47)
Drupal\gavias_content_builder\Plugin\Field\FieldFormatter\GaviasContentBuilderFormatter->viewElements(Object, 'en') (Line: 89)
Drupal\Core\Field\FormatterBase->view(Object, 'en') (Line: 263)
Drupal\Core\Entity\Entity\EntityViewDisplay->buildMultiple(Array) (Line: 351)
Drupal\Core\Entity\EntityViewBuilder->buildComponents(Array, Array, Array, 'full') (Line: 24)
Drupal\node\NodeViewBuilder->buildComponents(Array, Array, Array, 'full') (Line: 293)
Drupal\Core\Entity\EntityViewBuilder->buildMultiple(Array) (Line: 250)
Drupal\Core\Entity\EntityViewBuilder->build(Array)
call_user_func_array(Array, Array) (Line: 100)
Drupal\Core\Render\Renderer->doTrustedCallback(Array, Array, 'Render #pre_render callbacks must be methods of a class that implements \Drupal\Core\Security\TrustedCallbackInterface or be an anonymous function. The callback was %s. Support for this callback implementation is deprecated in 8.8.0 and will be removed in Drupal 9.0.0. See https://www.drupal.org/node/2966725', 'silenced_deprecation', 'Drupal\Core\Render\Element\RenderCallbackInterface') (Line: 781)
Drupal\Core\Render\Renderer->doCallback('#pre_render', Array, Array) (Line: 372)
Drupal\Core\Render\Renderer->doRender(Array, ) (Line: 200)
Drupal\Core\Render\Renderer->render(Array, ) (Line: 226)
Drupal\Core\Render\MainContent\HtmlRenderer->Drupal\Core\Render\MainContent\{closure}() (Line: 573)
Drupal\Core\Render\Renderer->executeInRenderContext(Object, Object) (Line: 227)
Drupal\Core\Render\MainContent\HtmlRenderer->prepare(Array, Object, Object) (Line: 117)
Drupal\Core\Render\MainContent\HtmlRenderer->renderResponse(Array, Object, Object) (Line: 90)
Drupal\Core\EventSubscriber\MainContentViewSubscriber->onViewRenderArray(Object, 'kernel.view', Object)
call_user_func(Array, Object, 'kernel.view', Object) (Line: 111)
Drupal\Component\EventDispatcher\ContainerAwareEventDispatcher->dispatch('kernel.view', Object) (Line: 156)
Symfony\Component\HttpKernel\HttpKernel->handleRaw(Object, 1) (Line: 68)
Symfony\Component\HttpKernel\HttpKernel->handle(Object, 1, 1) (Line: 57)
Drupal\Core\StackMiddleware\Session->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\KernelPreHandle->handle(Object, 1, 1) (Line: 191)
Drupal\page_cache\StackMiddleware\PageCache->fetch(Object, 1, 1) (Line: 128)
Drupal\page_cache\StackMiddleware\PageCache->lookup(Object, 1, 1) (Line: 82)
Drupal\page_cache\StackMiddleware\PageCache->handle(Object, 1, 1) (Line: 47)
Drupal\Core\StackMiddleware\ReverseProxyMiddleware->handle(Object, 1, 1) (Line: 52)
Drupal\Core\StackMiddleware\NegotiationMiddleware->handle(Object, 1, 1) (Line: 23)
Stack\StackedHttpKernel->handle(Object, 1, 1) (Line: 708)
Drupal\Core\DrupalKernel->handle(Object) (Line: 19)