- 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, '
Around the World
Areas of Work
Wherever there is pain, we strive to be there. Our hands extend with goodness across continents to reach the most
vulnerable groups.
Our Geographic Presence
We Reach 15 Countries
Wijdan Charity operates according to a well-planned expansion strategy targeting "crisis hotspots" and the "most impoverished" areas. We have representative offices and strategic partnerships that enable us to respond quickly to disasters.
Fields of Giving
Countries We Operate In
We focus our efforts in areas affected by conflicts, natural disasters, and extreme poverty.
View Projects
Turkey
Orphan sponsorship, educational support, winter relief, seasonal projects.
View Projects
Palestine
Emergency medical relief, home rehabilitation, food baskets.
View Projects
Syria
Building residential villages, bread and water, medical centers.
View Projects
Yemen
Combating malnutrition, water supply, supporting underprivileged families.
View Projects
Africa
Drilling wells, building mosques and schools, eye surgeries.
View Projects
Afghanistan
Emergency relief, educational support, empowerment projects.
0
Country
0
City and Region
+0
Continents
+0
Local Partner
// 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 / 50; // Faster animation
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() {
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
') (Line: 110)
gavias_content_builder_render_element('gva_column', Array, '
Around the World
Areas of Work
Wherever there is pain, we strive to be there. Our hands extend with goodness across continents to reach the most
vulnerable groups.
Our Geographic Presence
We Reach 15 Countries
Wijdan Charity operates according to a well-planned expansion strategy targeting "crisis hotspots" and the "most impoverished" areas. We have representative offices and strategic partnerships that enable us to respond quickly to disasters.
Fields of Giving
Countries We Operate In
We focus our efforts in areas affected by conflicts, natural disasters, and extreme poverty.
View Projects
Turkey
Orphan sponsorship, educational support, winter relief, seasonal projects.
View Projects
Palestine
Emergency medical relief, home rehabilitation, food baskets.
View Projects
Syria
Building residential villages, bread and water, medical centers.
View Projects
Yemen
Combating malnutrition, water supply, supporting underprivileged families.
View Projects
Africa
Drilling wells, building mosques and schools, eye surgeries.
View Projects
Afghanistan
Emergency relief, educational support, empowerment projects.
0
Country
0
City and Region
+0
Continents
+0
Local Partner
// 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 / 50; // Faster animation
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() {
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
') (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","padding_top":"0","padding_bottom":"0","margin_top":"0","margin_bottom":"0","class":"aboutus"},"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 Around the World\r\n Areas of Work\r\n \r\n \r\n Wherever there is pain, we strive to be there. Our hands extend with goodness across continents to reach the most \r\nvulnerable groups.\r\n \r\n \r\n \r\n \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 Our Geographic Presence\r\n We Reach 15 Countries\r\n \r\n Wijdan Charity operates according to a well-planned expansion strategy targeting \"crisis hotspots\" and the \"most impoverished\" areas. We have representative offices and strategic partnerships that enable us to respond quickly to disasters.\r\n\r\n \r\n \r\n \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\nFields of Giving\r\nCountries We Operate In\r\n\r\nWe focus our efforts in areas affected by conflicts, natural disasters, and extreme poverty.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nTurkey\r\n\r\n\r\nOrphan sponsorship, educational support, winter relief, seasonal projects.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nPalestine\r\n\r\n\r\nEmergency medical relief, home rehabilitation, food baskets.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nSyria\r\n\r\n\r\nBuilding residential villages, bread and water, medical centers.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nYemen\r\n\r\n\r\nCombating malnutrition, water supply, supporting underprivileged families.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nAfrica\r\n\r\n\r\nDrilling wells, building mosques and schools, eye surgeries.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nAfghanistan\r\n\r\n\r\nEmergency relief, educational support, empowerment projects.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","animate_delay":"0"},"editing":false,"element_name":"gva_text_noeditor"},{"settings":{"animate_delay":"0","content":" \r\n \r\n \r\n \r\n \r\n \r\n 0\r\n Country\r\n \r\n \r\n 0\r\n City and Region\r\n \r\n \r\n +0\r\n Continents\r\n \r\n \r\n +0\r\n Local Partner\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 / 50; // Faster animation\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 alert('Cart toggle clicked');\r\n }\r\n function toggleMobileMenu() {\r\n alert('Mobile menu clicked');\r\n }\r\n "},"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, '
Around the World
Areas of Work
Wherever there is pain, we strive to be there. Our hands extend with goodness across continents to reach the most
vulnerable groups.
Our Geographic Presence
We Reach 15 Countries
Wijdan Charity operates according to a well-planned expansion strategy targeting "crisis hotspots" and the "most impoverished" areas. We have representative offices and strategic partnerships that enable us to respond quickly to disasters.
Fields of Giving
Countries We Operate In
We focus our efforts in areas affected by conflicts, natural disasters, and extreme poverty.
View Projects
Turkey
Orphan sponsorship, educational support, winter relief, seasonal projects.
View Projects
Palestine
Emergency medical relief, home rehabilitation, food baskets.
View Projects
Syria
Building residential villages, bread and water, medical centers.
View Projects
Yemen
Combating malnutrition, water supply, supporting underprivileged families.
View Projects
Africa
Drilling wells, building mosques and schools, eye surgeries.
View Projects
Afghanistan
Emergency relief, educational support, empowerment projects.
0
Country
0
City and Region
+0
Continents
+0
Local Partner
// 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 / 50; // Faster animation
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() {
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
') (Line: 110)
gavias_content_builder_render_element('gva_column', Array, '
Around the World
Areas of Work
Wherever there is pain, we strive to be there. Our hands extend with goodness across continents to reach the most
vulnerable groups.
Our Geographic Presence
We Reach 15 Countries
Wijdan Charity operates according to a well-planned expansion strategy targeting "crisis hotspots" and the "most impoverished" areas. We have representative offices and strategic partnerships that enable us to respond quickly to disasters.
Fields of Giving
Countries We Operate In
We focus our efforts in areas affected by conflicts, natural disasters, and extreme poverty.
View Projects
Turkey
Orphan sponsorship, educational support, winter relief, seasonal projects.
View Projects
Palestine
Emergency medical relief, home rehabilitation, food baskets.
View Projects
Syria
Building residential villages, bread and water, medical centers.
View Projects
Yemen
Combating malnutrition, water supply, supporting underprivileged families.
View Projects
Africa
Drilling wells, building mosques and schools, eye surgeries.
View Projects
Afghanistan
Emergency relief, educational support, empowerment projects.
0
Country
0
City and Region
+0
Continents
+0
Local Partner
// 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 / 50; // Faster animation
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() {
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
') (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","padding_top":"0","padding_bottom":"0","margin_top":"0","margin_bottom":"0","class":"aboutus"},"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 Around the World\r\n Areas of Work\r\n \r\n \r\n Wherever there is pain, we strive to be there. Our hands extend with goodness across continents to reach the most \r\nvulnerable groups.\r\n \r\n \r\n \r\n \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 Our Geographic Presence\r\n We Reach 15 Countries\r\n \r\n Wijdan Charity operates according to a well-planned expansion strategy targeting \"crisis hotspots\" and the \"most impoverished\" areas. We have representative offices and strategic partnerships that enable us to respond quickly to disasters.\r\n\r\n \r\n \r\n \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\nFields of Giving\r\nCountries We Operate In\r\n\r\nWe focus our efforts in areas affected by conflicts, natural disasters, and extreme poverty.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nTurkey\r\n\r\n\r\nOrphan sponsorship, educational support, winter relief, seasonal projects.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nPalestine\r\n\r\n\r\nEmergency medical relief, home rehabilitation, food baskets.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nSyria\r\n\r\n\r\nBuilding residential villages, bread and water, medical centers.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nYemen\r\n\r\n\r\nCombating malnutrition, water supply, supporting underprivileged families.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nAfrica\r\n\r\n\r\nDrilling wells, building mosques and schools, eye surgeries.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nAfghanistan\r\n\r\n\r\nEmergency relief, educational support, empowerment projects.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","animate_delay":"0"},"editing":false,"element_name":"gva_text_noeditor"},{"settings":{"animate_delay":"0","content":" \r\n \r\n \r\n \r\n \r\n \r\n 0\r\n Country\r\n \r\n \r\n 0\r\n City and Region\r\n \r\n \r\n +0\r\n Continents\r\n \r\n \r\n +0\r\n Local Partner\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 / 50; // Faster animation\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 alert('Cart toggle clicked');\r\n }\r\n function toggleMobileMenu() {\r\n alert('Mobile menu clicked');\r\n }\r\n "},"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, '
Around the World
Areas of Work
Wherever there is pain, we strive to be there. Our hands extend with goodness across continents to reach the most
vulnerable groups.
Our Geographic Presence
We Reach 15 Countries
Wijdan Charity operates according to a well-planned expansion strategy targeting "crisis hotspots" and the "most impoverished" areas. We have representative offices and strategic partnerships that enable us to respond quickly to disasters.
Fields of Giving
Countries We Operate In
We focus our efforts in areas affected by conflicts, natural disasters, and extreme poverty.
View Projects
Turkey
Orphan sponsorship, educational support, winter relief, seasonal projects.
View Projects
Palestine
Emergency medical relief, home rehabilitation, food baskets.
View Projects
Syria
Building residential villages, bread and water, medical centers.
View Projects
Yemen
Combating malnutrition, water supply, supporting underprivileged families.
View Projects
Africa
Drilling wells, building mosques and schools, eye surgeries.
View Projects
Afghanistan
Emergency relief, educational support, empowerment projects.
0
Country
0
City and Region
+0
Continents
+0
Local Partner
// 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 / 50; // Faster animation
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() {
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
') (Line: 110)
gavias_content_builder_render_element('gva_row', Array, '
Around the World
Areas of Work
Wherever there is pain, we strive to be there. Our hands extend with goodness across continents to reach the most
vulnerable groups.
Our Geographic Presence
We Reach 15 Countries
Wijdan Charity operates according to a well-planned expansion strategy targeting "crisis hotspots" and the "most impoverished" areas. We have representative offices and strategic partnerships that enable us to respond quickly to disasters.
Fields of Giving
Countries We Operate In
We focus our efforts in areas affected by conflicts, natural disasters, and extreme poverty.
View Projects
Turkey
Orphan sponsorship, educational support, winter relief, seasonal projects.
View Projects
Palestine
Emergency medical relief, home rehabilitation, food baskets.
View Projects
Syria
Building residential villages, bread and water, medical centers.
View Projects
Yemen
Combating malnutrition, water supply, supporting underprivileged families.
View Projects
Africa
Drilling wells, building mosques and schools, eye surgeries.
View Projects
Afghanistan
Emergency relief, educational support, empowerment projects.
0
Country
0
City and Region
+0
Continents
+0
Local Partner
// 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 / 50; // Faster animation
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() {
alert('Cart toggle clicked');
}
function toggleMobileMenu() {
alert('Mobile menu clicked');
}
') (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","padding_top":"0","padding_bottom":"0","margin_top":"0","margin_bottom":"0","class":"aboutus"},"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 Around the World\r\n Areas of Work\r\n \r\n \r\n Wherever there is pain, we strive to be there. Our hands extend with goodness across continents to reach the most \r\nvulnerable groups.\r\n \r\n \r\n \r\n \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 Our Geographic Presence\r\n We Reach 15 Countries\r\n \r\n Wijdan Charity operates according to a well-planned expansion strategy targeting \"crisis hotspots\" and the \"most impoverished\" areas. We have representative offices and strategic partnerships that enable us to respond quickly to disasters.\r\n\r\n \r\n \r\n \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\nFields of Giving\r\nCountries We Operate In\r\n\r\nWe focus our efforts in areas affected by conflicts, natural disasters, and extreme poverty.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nTurkey\r\n\r\n\r\nOrphan sponsorship, educational support, winter relief, seasonal projects.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nPalestine\r\n\r\n\r\nEmergency medical relief, home rehabilitation, food baskets.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nSyria\r\n\r\n\r\nBuilding residential villages, bread and water, medical centers.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nYemen\r\n\r\n\r\nCombating malnutrition, water supply, supporting underprivileged families.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nAfrica\r\n\r\n\r\nDrilling wells, building mosques and schools, eye surgeries.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\nView Projects\r\n\r\n\r\n\r\n\r\n\r\n\r\nAfghanistan\r\n\r\n\r\nEmergency relief, educational support, empowerment projects.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","animate_delay":"0"},"editing":false,"element_name":"gva_text_noeditor"},{"settings":{"animate_delay":"0","content":" \r\n \r\n \r\n \r\n \r\n \r\n 0\r\n Country\r\n \r\n \r\n 0\r\n City and Region\r\n \r\n \r\n +0\r\n Continents\r\n \r\n \r\n +0\r\n Local Partner\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 / 50; // Faster animation\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 alert('Cart toggle clicked');\r\n }\r\n function toggleMobileMenu() {\r\n alert('Mobile menu clicked');\r\n }\r\n "},"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)