- 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, '
الوصــول الشــامل
<a href="/ar/universal" class="atraf-btn">تصفح مشاريعنــا</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,
}
}
نبـذة عن البرنامج
يهدف هذا البرنامج إلى توفير مجموعة من الأجهزة المساعدة مثل الكراسي المتحركة، والووكر، والعكازات، وأجهزة السمع، وغيرها من الوسائل الداعمة التي تساعد الأشخاص ذوي الإعاقة والمصابين على تحسين قدرتهم على الحركة والتنقل والتواصل، وتمكينهم من ممارسة حياتهم اليومية بكرامة واستقلالية.
الأهـداف
توفير الأجهزة المساعدة.
تعزيز الاستقلالية والتنقل.
دعم الاندماج المجتمعي.
تخفيف الأعباء الأسرية.
/* 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, '
الوصــول الشــامل
<a href="/ar/universal" class="atraf-btn">تصفح مشاريعنــا</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,
}
}
نبـذة عن البرنامج
يهدف هذا البرنامج إلى توفير مجموعة من الأجهزة المساعدة مثل الكراسي المتحركة، والووكر، والعكازات، وأجهزة السمع، وغيرها من الوسائل الداعمة التي تساعد الأشخاص ذوي الإعاقة والمصابين على تحسين قدرتهم على الحركة والتنقل والتواصل، وتمكينهم من ممارسة حياتهم اليومية بكرامة واستقلالية.
الأهـداف
توفير الأجهزة المساعدة.
تعزيز الاستقلالية والتنقل.
دعم الاندماج المجتمعي.
تخفيف الأعباء الأسرية.
/* 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 الوصــول الشــامل\r\n\r\n \r\n\r\n \r\n <a>تصفح مشاريعنــا</a>\r\n \r\n \r\n \r\n\t\t \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\nmodule.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\n\r\n \r\nنبـذة عن البرنامج\r\n \r\n \r\n يهدف هذا البرنامج إلى توفير مجموعة من الأجهزة المساعدة مثل الكراسي المتحركة، والووكر، والعكازات، وأجهزة السمع، وغيرها من الوسائل الداعمة التي تساعد الأشخاص ذوي الإعاقة والمصابين على تحسين قدرتهم على الحركة والتنقل والتواصل، وتمكينهم من ممارسة حياتهم اليومية بكرامة واستقلالية.\r\n \r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n الأهـداف\r\n\r\n \r\n\r\n \r\n توفير الأجهزة المساعدة.\r\n\r\n\r\n\r\n \r\n تعزيز الاستقلالية والتنقل.\r\n\r\n\r\n\r\n \r\n دعم الاندماج المجتمعي.\r\n\r\n\r\n\r\n \r\n تخفيف الأعباء الأسرية.\r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n\r\n \r\n\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, 'ar') (Line: 89)
Drupal\Core\Field\FormatterBase->view(Object, 'ar') (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, '
الوصــول الشــامل
<a href="/ar/universal" class="atraf-btn">تصفح مشاريعنــا</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,
}
}
نبـذة عن البرنامج
يهدف هذا البرنامج إلى توفير مجموعة من الأجهزة المساعدة مثل الكراسي المتحركة، والووكر، والعكازات، وأجهزة السمع، وغيرها من الوسائل الداعمة التي تساعد الأشخاص ذوي الإعاقة والمصابين على تحسين قدرتهم على الحركة والتنقل والتواصل، وتمكينهم من ممارسة حياتهم اليومية بكرامة واستقلالية.
الأهـداف
توفير الأجهزة المساعدة.
تعزيز الاستقلالية والتنقل.
دعم الاندماج المجتمعي.
تخفيف الأعباء الأسرية.
/* 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, '
الوصــول الشــامل
<a href="/ar/universal" class="atraf-btn">تصفح مشاريعنــا</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,
}
}
نبـذة عن البرنامج
يهدف هذا البرنامج إلى توفير مجموعة من الأجهزة المساعدة مثل الكراسي المتحركة، والووكر، والعكازات، وأجهزة السمع، وغيرها من الوسائل الداعمة التي تساعد الأشخاص ذوي الإعاقة والمصابين على تحسين قدرتهم على الحركة والتنقل والتواصل، وتمكينهم من ممارسة حياتهم اليومية بكرامة واستقلالية.
الأهـداف
توفير الأجهزة المساعدة.
تعزيز الاستقلالية والتنقل.
دعم الاندماج المجتمعي.
تخفيف الأعباء الأسرية.
/* 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 الوصــول الشــامل\r\n\r\n \r\n\r\n \r\n <a>تصفح مشاريعنــا</a>\r\n \r\n \r\n \r\n\t\t \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\nmodule.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\n\r\n \r\nنبـذة عن البرنامج\r\n \r\n \r\n يهدف هذا البرنامج إلى توفير مجموعة من الأجهزة المساعدة مثل الكراسي المتحركة، والووكر، والعكازات، وأجهزة السمع، وغيرها من الوسائل الداعمة التي تساعد الأشخاص ذوي الإعاقة والمصابين على تحسين قدرتهم على الحركة والتنقل والتواصل، وتمكينهم من ممارسة حياتهم اليومية بكرامة واستقلالية.\r\n \r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n الأهـداف\r\n\r\n \r\n\r\n \r\n توفير الأجهزة المساعدة.\r\n\r\n\r\n\r\n \r\n تعزيز الاستقلالية والتنقل.\r\n\r\n\r\n\r\n \r\n دعم الاندماج المجتمعي.\r\n\r\n\r\n\r\n \r\n تخفيف الأعباء الأسرية.\r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n\r\n \r\n\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, 'ar') (Line: 89)
Drupal\Core\Field\FormatterBase->view(Object, 'ar') (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, '
الوصــول الشــامل
<a href="/ar/universal" class="atraf-btn">تصفح مشاريعنــا</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,
}
}
نبـذة عن البرنامج
يهدف هذا البرنامج إلى توفير مجموعة من الأجهزة المساعدة مثل الكراسي المتحركة، والووكر، والعكازات، وأجهزة السمع، وغيرها من الوسائل الداعمة التي تساعد الأشخاص ذوي الإعاقة والمصابين على تحسين قدرتهم على الحركة والتنقل والتواصل، وتمكينهم من ممارسة حياتهم اليومية بكرامة واستقلالية.
الأهـداف
توفير الأجهزة المساعدة.
تعزيز الاستقلالية والتنقل.
دعم الاندماج المجتمعي.
تخفيف الأعباء الأسرية.
/* 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, '
الوصــول الشــامل
<a href="/ar/universal" class="atraf-btn">تصفح مشاريعنــا</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,
}
}
نبـذة عن البرنامج
يهدف هذا البرنامج إلى توفير مجموعة من الأجهزة المساعدة مثل الكراسي المتحركة، والووكر، والعكازات، وأجهزة السمع، وغيرها من الوسائل الداعمة التي تساعد الأشخاص ذوي الإعاقة والمصابين على تحسين قدرتهم على الحركة والتنقل والتواصل، وتمكينهم من ممارسة حياتهم اليومية بكرامة واستقلالية.
الأهـداف
توفير الأجهزة المساعدة.
تعزيز الاستقلالية والتنقل.
دعم الاندماج المجتمعي.
تخفيف الأعباء الأسرية.
/* 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 الوصــول الشــامل\r\n\r\n \r\n\r\n \r\n <a>تصفح مشاريعنــا</a>\r\n \r\n \r\n \r\n\t\t \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\nmodule.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\n\r\n \r\nنبـذة عن البرنامج\r\n \r\n \r\n يهدف هذا البرنامج إلى توفير مجموعة من الأجهزة المساعدة مثل الكراسي المتحركة، والووكر، والعكازات، وأجهزة السمع، وغيرها من الوسائل الداعمة التي تساعد الأشخاص ذوي الإعاقة والمصابين على تحسين قدرتهم على الحركة والتنقل والتواصل، وتمكينهم من ممارسة حياتهم اليومية بكرامة واستقلالية.\r\n \r\n\r\n \r\n\r\n\r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n\r\n\r\n \r\n\r\n الأهـداف\r\n\r\n \r\n\r\n \r\n توفير الأجهزة المساعدة.\r\n\r\n\r\n\r\n \r\n تعزيز الاستقلالية والتنقل.\r\n\r\n\r\n\r\n \r\n دعم الاندماج المجتمعي.\r\n\r\n\r\n\r\n \r\n تخفيف الأعباء الأسرية.\r\n\r\n \r\n\r\n \r\n\r\n\r\n\r\n\r\n \r\n\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, 'ar') (Line: 89)
Drupal\Core\Field\FormatterBase->view(Object, 'ar') (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)