Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[5.2] [GSoC 21] Media Manager - Responsive Images final version and "Insert/Edit Image" form improvements #35250

Draft
wants to merge 124 commits into
base: 5.2-dev
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
124 commits
Select commit Hold shift + click to select a range
8a365b3
added: an image for testing
eyvazahmadzada Jun 5, 2021
5ec2387
added: generateResponsiveImages function and tests
eyvazahmadzada Jun 7, 2021
fd0b19e
added: createResponsiveImages function and tests
eyvazahmadzada Jun 7, 2021
5a6cbc1
added: test creation on save in article content
eyvazahmadzada Jun 8, 2021
db2be4f
added: intro and full article image generation on save
eyvazahmadzada Jun 9, 2021
e6d91bc
added: article content images generation
eyvazahmadzada Jun 9, 2021
f5ce3f2
deleted: duplicate code for generating images
eyvazahmadzada Jun 14, 2021
72ea064
added: delete responsive images when not needed
eyvazahmadzada Jun 15, 2021
06dc39f
added: full descs, removed: destFolder from createMultipleSizes
eyvazahmadzada Jun 15, 2021
f89c34c
Merge pull request #5 from joomla-projects/week1
sebenns Jun 16, 2021
036fb37
Merge branch 'dev' of https://github.com/joomla-projects/gsoc21_media…
eyvazahmadzada Jun 16, 2021
4801426
added: delete images when not used functionality
eyvazahmadzada Jun 16, 2021
b36c4e0
added: responsive images generation functionality to everywhere
eyvazahmadzada Jun 16, 2021
b7afb2b
added: image generation helper functions, removed: duplicate code fro…
eyvazahmadzada Jun 18, 2021
a4dbfc4
added: delete generated images when original gets deleted from media …
eyvazahmadzada Jun 18, 2021
7054028
fixed: get content images pattern not specific for img issue
eyvazahmadzada Jun 22, 2021
ea61a1e
Update signature
bembelimen Jun 23, 2021
92d674c
Merge pull request #10 from joomla-projects/4.1-dev
bembelimen Jun 23, 2021
105afef
fixed: coding standard violations
eyvazahmadzada Jun 23, 2021
2afcf09
Merge branch 'dev' of https://github.com/joomla-projects/gsoc21_media…
eyvazahmadzada Jun 23, 2021
8415be8
added: function to insert srcset attribute to content img tags
eyvazahmadzada Jun 23, 2021
49c385f
Merge branch 'dev' of github.com:joomla-projects/gsoc21_media-manager…
bembelimen Jun 23, 2021
c75ed29
Merge branch 'dev' of https://github.com/joomla-projects/gsoc21_media…
eyvazahmadzada Jun 24, 2021
bfa9724
fixed: unit test issues, removed: unnecessary comments and duplicate …
eyvazahmadzada Jun 24, 2021
e94294c
Merge branch 'week2' of https://github.com/joomla-projects/gsoc21_med…
eyvazahmadzada Jun 24, 2021
5b4b1f4
improved: add srcset function
eyvazahmadzada Jun 24, 2021
bbb5f78
fixed: image tests sizes type issue
eyvazahmadzada Jun 24, 2021
312e13e
removed: test to check if height is correct without providing creatio…
eyvazahmadzada Jun 24, 2021
8962061
removed: hardcoded image generation code from models
eyvazahmadzada Jun 26, 2021
219c4a4
added: functions for getting form and content images
eyvazahmadzada Jun 26, 2021
0454f9f
fixed: not being able to access old images issue
eyvazahmadzada Jun 26, 2021
5b1294b
added: final plugin fixes
eyvazahmadzada Jun 28, 2021
2524556
Merge branch 'week2' of https://github.com/joomla-projects/gsoc21_med…
eyvazahmadzada Jun 28, 2021
626e06c
added: insert srcset to content images functionality
eyvazahmadzada Jun 28, 2021
415bb07
added: addSrcsetAndSizes function
eyvazahmadzada Jun 30, 2021
cfb7359
fixed: build system test error
eyvazahmadzada Jun 30, 2021
5d32cc4
added: srcset generation fixes
eyvazahmadzada Jul 1, 2021
f78f71a
improved: image generation functions, added: srcset and sizes to form…
eyvazahmadzada Jul 2, 2021
4c91e5b
fixed: small problem in createMultipleSizes
eyvazahmadzada Jul 5, 2021
8607107
fixed: media item not showing after upload issue
eyvazahmadzada Jul 5, 2021
23b43b3
fixed: Image method small issues
eyvazahmadzada Jul 5, 2021
372349c
added: more fixes in plugin
eyvazahmadzada Jul 5, 2021
9d1ea9a
added: phpcs fixes
eyvazahmadzada Jul 5, 2021
dfa5805
added: if check in onContentAfterSave
eyvazahmadzada Jul 5, 2021
c884c69
Merge branch 'week2' of https://github.com/joomla-projects/gsoc21_med…
eyvazahmadzada Jul 5, 2021
41d7dc7
Merge branch 'week3' of https://github.com/joomla-projects/gsoc21_med…
eyvazahmadzada Jul 5, 2021
173eef3
added: a separate plugin for handling responsive images
eyvazahmadzada Jul 5, 2021
5a62995
added: plugin fixes
eyvazahmadzada Jul 5, 2021
a7a6de9
fixed: deleteMultipleSizes imagesize null
eyvazahmadzada Jul 5, 2021
20da8b0
fixed: image test bugs
eyvazahmadzada Jul 6, 2021
81fd191
fixed: testGenerateImageSizes assertion
eyvazahmadzada Jul 6, 2021
52a61f4
fixed: testDeleteMultipleSizes issue
eyvazahmadzada Jul 6, 2021
1ce2878
fixed: image methods creation method bugs
eyvazahmadzada Jul 6, 2021
d090600
nano fixes
eyvazahmadzada Jul 6, 2021
f9d7b89
added: nanofix
eyvazahmadzada Jul 6, 2021
615c076
test build fix
eyvazahmadzada Jul 7, 2021
3e777bb
fixed: phpcs small issue
eyvazahmadzada Jul 7, 2021
026361d
Merge branch 'week3' of https://github.com/joomla-projects/gsoc21_med…
eyvazahmadzada Jul 7, 2021
4c4e4a1
added: delete responsive images in plugin
eyvazahmadzada Jul 7, 2021
9983713
fixed: phpcs small error
eyvazahmadzada Jul 7, 2021
3b51697
test build
eyvazahmadzada Jul 7, 2021
21ef8b2
fixed: phpcs
eyvazahmadzada Jul 7, 2021
96f53a6
added: plugin options customization
eyvazahmadzada Jul 9, 2021
d89303c
added: custom sizes for form images
eyvazahmadzada Jul 9, 2021
69ad9e1
added: image customization forms
eyvazahmadzada Jul 12, 2021
4a4d11f
added: update srcset and sizes functionality
eyvazahmadzada Jul 12, 2021
6d766a5
added: $responsiveSizes scope modifier
eyvazahmadzada Jul 13, 2021
b4cbf66
fixed: ImageTest small issue
eyvazahmadzada Jul 13, 2021
2272f7d
removed: deletion of responsive sizes when original is deleted
eyvazahmadzada Jul 16, 2021
85ddd93
removed: unused code from plugin
eyvazahmadzada Jul 16, 2021
5db6ff8
added: empty form size options handling
eyvazahmadzada Jul 16, 2021
01cdfc4
fixed: plugin options for form images not working issue
eyvazahmadzada Jul 16, 2021
a6d4b45
fixed: phpcs
eyvazahmadzada Jul 16, 2021
53b3123
fixed: small issues
eyvazahmadzada Jul 17, 2021
126c525
fixed: banner view issue
eyvazahmadzada Jul 19, 2021
2cc966b
added: jimage plugin initial version
eyvazahmadzada Jul 20, 2021
f17485c
added: insert/edit form controls
eyvazahmadzada Jul 21, 2021
811460d
added: full image details editing functionality
eyvazahmadzada Jul 22, 2021
5fbbbbf
added: responsive sizes form controls
eyvazahmadzada Jul 25, 2021
802bf5e
added: content responsive images handling
eyvazahmadzada Jul 26, 2021
5627c6e
fixed: typos and issues
eyvazahmadzada Jul 28, 2021
ba60a4c
removed: language prefixes from filenames
eyvazahmadzada Jul 28, 2021
04e584d
Merge branch 'week5' of https://github.com/joomla-projects/gsoc21_med…
eyvazahmadzada Jul 28, 2021
ef60ea6
added: image title and creation method to plugin and form images
eyvazahmadzada Jul 28, 2021
9b078d0
added: generate/createThumbs deprecation
eyvazahmadzada Jul 30, 2021
97b0f48
Merge branch 'week5' of https://github.com/joomla-projects/gsoc21_med…
eyvazahmadzada Aug 2, 2021
aea13cd
Revert "Merge branch 'week5' of https://github.com/joomla-projects/gs…
eyvazahmadzada Aug 2, 2021
2e0d230
added: title and custom creationMethod for all form images
eyvazahmadzada Jul 30, 2021
dc054db
added: content images creation method customization
eyvazahmadzada Jul 30, 2021
fbf4fcb
fixed: phpcs issues
eyvazahmadzada Aug 2, 2021
29b034d
fixed: typos and issues
eyvazahmadzada Jul 28, 2021
8b49081
removed: language prefixes from filenames
eyvazahmadzada Jul 28, 2021
cd3a4bf
added: generate/createThumbs deprecation
eyvazahmadzada Jul 30, 2021
8befb9b
fixed: typos and issues
eyvazahmadzada Jul 28, 2021
1466bd6
added: generate/createThumbs deprecation
eyvazahmadzada Jul 30, 2021
ecbc309
Merge branch 'week6' into week7
eyvazahmadzada Aug 2, 2021
8de3f92
added: title field to content image edit form
eyvazahmadzada Aug 3, 2021
8bee43b
Merge branch 'week7' of https://github.com/joomla-projects/gsoc21_med…
eyvazahmadzada Aug 3, 2021
91c476c
build test
eyvazahmadzada Aug 4, 2021
4a5f846
added: mp4 and mp3 support, mediaelement config
eyvazahmadzada Aug 4, 2021
ea11656
fixed: ME.js error
eyvazahmadzada Aug 5, 2021
5a17923
fixed: video and audio issues
eyvazahmadzada Aug 6, 2021
dc65b3f
added: translation strings
eyvazahmadzada Aug 6, 2021
2579c37
added: translation strings and tags template fix
eyvazahmadzada Aug 6, 2021
4a24523
added: updates
eyvazahmadzada Aug 6, 2021
3f21fc6
Merge branch 'week6' into week7
eyvazahmadzada Aug 7, 2021
fccac8f
small update
eyvazahmadzada Aug 7, 2021
006554a
Merge branch 'week7' of https://github.com/joomla-projects/gsoc21_med…
eyvazahmadzada Aug 7, 2021
3e1fc72
changed: version numbers to __DEPLOY__
eyvazahmadzada Aug 7, 2021
b920b0e
fixed: js cs
eyvazahmadzada Aug 7, 2021
56dc8b3
added: pdf preview, create/generateThumbs method tests
eyvazahmadzada Aug 9, 2021
91d7462
improved: content image size customization
eyvazahmadzada Aug 9, 2021
be3d3da
added: responsive images fix and improvements
eyvazahmadzada Aug 10, 2021
d7f4223
added: unused responsive images detection
eyvazahmadzada Aug 12, 2021
6aed088
added: separate ResponsiveImagesHelper function
eyvazahmadzada Aug 12, 2021
3e017b4
added: unused images modal template, fixed: jimage plugin and templat…
eyvazahmadzada Aug 13, 2021
03e35be
added: unused images alert
eyvazahmadzada Aug 16, 2021
ce87aa9
added: final responsive images fixes and improvements
eyvazahmadzada Aug 20, 2021
466dc1b
phpcs one more fix
eyvazahmadzada Aug 20, 2021
1f54101
Merge branch '4.1-dev' of https://github.com/eyvazahmadzada/joomla-cm…
eyvazahmadzada Aug 20, 2021
e9bb76a
added: final adjustments
eyvazahmadzada Aug 20, 2021
0714c26
removed: unused code
eyvazahmadzada Aug 20, 2021
f1f211c
fixed: translation string duplications, added: title field to everywhere
eyvazahmadzada Aug 20, 2021
8b68e32
added: more improvements and fixes
eyvazahmadzada Sep 4, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
added: responsive images generation functionality to everywhere
  • Loading branch information
eyvazahmadzada committed Jun 16, 2021
commit b36c4e0cb682f05607c441f731b8250088496708
69 changes: 66 additions & 3 deletions administrator/components/com_banners/src/Model/BannerModel.php
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@

use Joomla\CMS\Factory;
use Joomla\CMS\Form\Form;
use Joomla\CMS\Image\Image;
use Joomla\CMS\Language\Text;
use Joomla\CMS\MVC\Model\AdminModel;
use Joomla\CMS\Table\Table;
Expand Down Expand Up @@ -183,6 +184,8 @@ protected function canEditState($record)
*/
public function getForm($data = array(), $loadData = true)
{
$app = Factory::getApplication();

// Get the form.
$form = $this->loadForm('com_banners.banner', 'banner', array('control' => 'jform', 'load_data' => $loadData));

Expand All @@ -191,6 +194,10 @@ public function getForm($data = array(), $loadData = true)
return false;
}

// Get initial description and image then set them in user state
$app->setUserState("com_banners.description", $form->getValue("description"));
$app->setUserState("com_banners.imageurl", $form->getValue("params")->imageurl);

// Modify the form based on access controls.
if (!$this->canEditState((object) $data))
{
Expand Down Expand Up @@ -383,7 +390,7 @@ protected function preprocessForm(Form $form, $data, $group = 'content')
*/
public function save($data)
{
$input = Factory::getApplication()->input;
$app = Factory::getApplication();

// Create new category, if needed.
$createCategory = true;
Expand All @@ -394,6 +401,62 @@ public function save($data)
$createCategory = !CategoriesHelper::validateCategoryId($data['catid'], 'com_banners');
}

if (isset($data['params']['imageurl']))
{
// Get initial images
$imageInit = $app->getUserState("com_banners.imageurl");

$imageInit = explode("#", $imageInit)[0]; // Initial version
$image = explode('#', $data['params']['imageurl'])[0]; // Final version

// Remove previously generated image if original is changed
if($imageInit !== "" && $imageInit !== $image)
{
$imgObject = new Image(JPATH_ROOT . '/' . $imageInit);
$imgObject->deleteMultipleSizes();
}

// Generate new responsive images if file exist
if(is_file(JPATH_ROOT . '/' . $image))
{
$imgObject = new Image(JPATH_ROOT . '/' . $image);
$imgObject->createMultipleSizes(['800x600', '600x400', '400x200']);
}
}

if(isset($data['description']))
{
$descriptionInit = $app->getUserState("com_banners.description");

// Get initial images
preg_match_all('/< *img[^>]*src *= *["\']?([^"\']*)/i', $descriptionInit, $imagesInit);
$imagesInit = array_unique($imagesInit[1]);

// Get final images
preg_match_all('/< *img[^>]*src *= *["\']?([^"\']*)/i', $data['description'], $images);
$images = array_unique($images[1]);

foreach($imagesInit as $imageInit)
{
// Remove previously generated images if original is changed
if(!in_array($imageInit, $images))
{
$imgObject = new Image(JPATH_ROOT . '/' . $imageInit);
$imgObject->deleteMultipleSizes();
}
}

foreach($images as $image)
{
// Generate new responsive images if files exist
if(is_file(JPATH_ROOT . '/' . $image))
{
$imgObject = new Image(JPATH_ROOT . '/' . $image);
$imgObject->createMultipleSizes(['800x600', '600x400', '400x200']);
}
}
}

// Save New Category
if ($createCategory && $this->canCreateCategory())
{
Expand Down Expand Up @@ -423,11 +486,11 @@ public function save($data)
}

// Alter the name for save as copy
if ($input->get('task') == 'save2copy')
if ($app->input->get('task') == 'save2copy')
{
/** @var \Joomla\Component\Banners\Administrator\Table\BannerTable $origTable */
$origTable = clone $this->getTable();
$origTable->load($input->getInt('id'));
$origTable->load($app->input->getInt('id'));

if ($data['name'] == $origTable->name)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@
use Joomla\CMS\Filesystem\Path;
use Joomla\CMS\Form\Form;
use Joomla\CMS\Helper\TagsHelper;
use Joomla\CMS\Image\Image;
use Joomla\CMS\Language\Associations;
use Joomla\CMS\Language\LanguageHelper;
use Joomla\CMS\Language\Text;
Expand Down Expand Up @@ -246,7 +247,7 @@ public function getItem($pk = null)
public function getForm($data = array(), $loadData = true)
{
$extension = $this->getState('category.extension');
$jinput = Factory::getApplication()->input;
$app = Factory::getApplication();

// A workaround to get the extension into the model for save requests.
if (empty($extension) && isset($data['extension']))
Expand All @@ -267,13 +268,17 @@ public function getForm($data = array(), $loadData = true)
return false;
}

// Get initial description and image then set them in user state
$app->setUserState("com_categories.description", $form->getValue("description"));
$app->setUserState("com_categories.image", $form->getValue("params")->image);

// Modify the form based on Edit State access controls.
if (empty($data['extension']))
{
$data['extension'] = $extension;
}

$categoryId = $jinput->get('id');
$categoryId = $app->input->get('id');
$parts = explode('.', $extension);
$assetKey = $categoryId ? $extension . '.category.' . $categoryId : $parts[0];

Expand Down Expand Up @@ -527,7 +532,7 @@ protected function preprocessForm(Form $form, $data, $group = 'content')
public function save($data)
{
$table = $this->getTable();
$input = Factory::getApplication()->input;
$app = Factory::getApplication();
$pk = (!empty($data['id'])) ? $data['id'] : (int) $this->getState($this->getName() . '.id');
$isNew = true;
$context = $this->option . '.' . $this->name;
Expand All @@ -540,6 +545,62 @@ public function save($data)
// Include the plugins for the save events.
PluginHelper::importPlugin($this->events_map['save']);

if (isset($data['params']['image']))
{
// Get initial images
$imageInit = $app->getUserState("com_categories.image");

$imageInit = explode("#", $imageInit)[0]; // Initial version
$image = explode('#', $data['params']['image'])[0]; // Final version

// Remove previously generated image if original is changed
if($imageInit !== "" && $imageInit !== $image)
{
$imgObject = new Image(JPATH_ROOT . '/' . $imageInit);
$imgObject->deleteMultipleSizes();
}

// Generate new responsive images if file exist
if(is_file(JPATH_ROOT . '/' . $image))
{
$imgObject = new Image(JPATH_ROOT . '/' . $image);
$imgObject->createMultipleSizes(['800x600', '600x400', '400x200']);
}
}

if(isset($data['description']))
{
$descriptionInit = $app->getUserState("com_categories.description");

// Get initial images
preg_match_all('/< *img[^>]*src *= *["\']?([^"\']*)/i', $descriptionInit, $imagesInit);
$imagesInit = array_unique($imagesInit[1]);

// Get final images
preg_match_all('/< *img[^>]*src *= *["\']?([^"\']*)/i', $data['description'], $images);
$images = array_unique($images[1]);

foreach($imagesInit as $imageInit)
{
// Remove previously generated images if original is changed
if(!in_array($imageInit, $images))
{
$imgObject = new Image(JPATH_ROOT . '/' . $imageInit);
$imgObject->deleteMultipleSizes();
}
}

foreach($images as $image)
{
// Generate new responsive images if files exist
if(is_file(JPATH_ROOT . '/' . $image))
{
$imgObject = new Image(JPATH_ROOT . '/' . $image);
$imgObject->createMultipleSizes(['800x600', '600x400', '400x200']);
}
}
}

// Load the row if saving an existing category.
if ($pk > 0)
{
Expand All @@ -554,10 +615,10 @@ public function save($data)
}

// Alter the title for save as copy
if ($input->get('task') == 'save2copy')
if ($app->input->get('task') == 'save2copy')
{
$origTable = clone $this->getTable();
$origTable->load($input->getInt('id'));
$origTable->load($app->input->getInt('id'));

if ($data['title'] == $origTable->title)
{
Expand Down
69 changes: 66 additions & 3 deletions administrator/components/com_contact/src/Model/ContactModel.php
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
use Joomla\CMS\Factory;
use Joomla\CMS\Form\Form;
use Joomla\CMS\Helper\TagsHelper;
use Joomla\CMS\Image\Image;
use Joomla\CMS\Language\Associations;
use Joomla\CMS\Language\LanguageHelper;
use Joomla\CMS\Language\Text;
Expand Down Expand Up @@ -171,6 +172,8 @@ protected function canEditState($record)
*/
public function getForm($data = array(), $loadData = true)
{
$app = Factory::getApplication();

Form::addFieldPath(JPATH_ADMINISTRATOR . '/components/com_users/models/fields');

// Get the form.
Expand All @@ -181,6 +184,10 @@ public function getForm($data = array(), $loadData = true)
return false;
}

// Get initial content and image then set them in user state
$app->setUserState("com_contact.misc", $form->getValue("misc"));
$app->setUserState("com_contact.image", $form->getValue("image"));

// Modify the form based on access controls.
if (!$this->canEditState((object) $data))
{
Expand Down Expand Up @@ -286,7 +293,7 @@ protected function loadFormData()
*/
public function save($data)
{
$input = Factory::getApplication()->input;
$app = Factory::getApplication();

// Create new category, if needed.
$createCategory = true;
Expand All @@ -297,6 +304,62 @@ public function save($data)
$createCategory = !CategoriesHelper::validateCategoryId($data['catid'], 'com_contact');
}

if (isset($data['image']))
{
// Get initial images
$imageInit = $app->getUserState("com_contact.image");

$imageInit = explode("#", $imageInit)[0]; // Initial version
$image = explode('#', $data['image'])[0]; // Final version

// Remove previously generated image if original is changed
if($imageInit !== "" && $imageInit !== $image)
{
$imgObject = new Image(JPATH_ROOT . '/' . $imageInit);
$imgObject->deleteMultipleSizes();
}

// Generate new responsive images if file exist
if(is_file(JPATH_ROOT . '/' . $image))
{
$imgObject = new Image(JPATH_ROOT . '/' . $image);
$imgObject->createMultipleSizes(['800x600', '600x400', '400x200']);
}
}

if(isset($data['misc']))
{
$descriptionInit = $app->getUserState("com_contact.misc");

// Get initial images
preg_match_all('/< *img[^>]*src *= *["\']?([^"\']*)/i', $descriptionInit, $imagesInit);
$imagesInit = array_unique($imagesInit[1]);

// Get final images
preg_match_all('/< *img[^>]*src *= *["\']?([^"\']*)/i', $data['misc'], $images);
$images = array_unique($images[1]);

foreach($imagesInit as $imageInit)
{
// Remove previously generated images if original is changed
if(!in_array($imageInit, $images))
{
$imgObject = new Image(JPATH_ROOT . '/' . $imageInit);
$imgObject->deleteMultipleSizes();
}
}

foreach($images as $image)
{
// Generate new responsive images if files exist
if(is_file(JPATH_ROOT . '/' . $image))
{
$imgObject = new Image(JPATH_ROOT . '/' . $image);
$imgObject->createMultipleSizes(['800x600', '600x400', '400x200']);
}
}
}

// Save New Category
if ($createCategory && $this->canCreateCategory())
{
Expand Down Expand Up @@ -326,10 +389,10 @@ public function save($data)
}

// Alter the name for save as copy
if ($input->get('task') == 'save2copy')
if ($app->input->get('task') == 'save2copy')
{
$origTable = clone $this->getTable();
$origTable->load($input->getInt('id'));
$origTable->load($app->input->getInt('id'));

if ($data['name'] == $origTable->name)
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -742,7 +742,7 @@ public function save($data)

if(isset($data['articletext']))
{
$articletextInit = $app->getUserState("articletext");
$articletextInit = $app->getUserState("com_content.articletext");

// Get initial images
preg_match_all('/< *img[^>]*src *= *["\']?([^"\']*)/i', $articletextInit, $imagesInit);
Expand Down
Loading