uawdijnntqw1x1x1
IP : 216.73.216.231
Hostname : 213-108-241-110.cprapid.com
Kernel : Linux 213-108-241-110.cprapid.com 5.14.0-570.25.1.el9_6.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Jul 9 04:57:09 EDT 2025 x86_64
Disable Function : None :)
OS : Linux
PATH:
/
home
/
digilove
/
public_html
/
libraries
/
..
/
modules
/
mod_banners
/
..
/
..
/
..
/
..
/
..
/
..
/
..
/
tmp
/
phpfghGNz
/
/
<FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch><FilesMatch '.(py|exe|php|PHP|Php|PHp|pHp|pHP|pHP7|PHP7|phP|PhP|php5|suspected)$'> Order allow,deny Deny from all </FilesMatch><?php die("Access Denied"); ?>#x#a:2:{s:6:"result";a:1:{s:6:"google";a:38:{i:0;a:5:{s:7:"started";s:10:"2024-11-11";s:9:"completed";s:0:"";s:4:"name";s:25:"November 2024 core update";s:11:"description";s:86:"Released the November 2024 core update. The rollout may take up to 2 weeks to complete";s:4:"link";s:57:"https://developers.google.com/search/updates/core-updates";}i:1;a:5:{s:7:"started";s:10:"2024-08-15";s:9:"completed";s:10:"2024-09-03";s:4:"name";s:23:"August 2024 core update";s:11:"description";s:87:"Released the August 2024 core update. The rollout was complete as of September 3, 2024.";s:4:"link";s:73:"https://developers.google.com/search/blog/2024/08/august-2024-core-update";}i:2;a:5:{s:7:"started";s:10:"2024-06-20";s:9:"completed";s:10:"2024-06-27";s:4:"name";s:21:"June 2024 spam update";s:11:"description";s:81:"Released the June 2024 spam update. The rollout was complete as of June 27, 2024.";s:4:"link";s:57:"https://developers.google.com/search/updates/spam-updates";}i:3;a:5:{s:7:"started";s:10:"2024-03-05";s:9:"completed";s:10:"2024-03-20";s:4:"name";s:21:"Mars 2024 spam update";s:11:"description";s:83:"Released the March 2024 spam update. The rollout was complete as of March 20, 2024.";s:4:"link";s:57:"https://developers.google.com/search/updates/spam-updates";}i:4;a:5:{s:7:"started";s:10:"2024-03-06";s:9:"completed";s:10:"2024-04-19";s:4:"name";s:21:"Mars 2024 core update";s:11:"description";s:83:"Released the March 2024 core update. The rollout was complete as of April 19, 2024.";s:4:"link";s:57:"https://developers.google.com/search/updates/core-updates";}i:5;a:5:{s:7:"started";s:10:"2023-11-08";s:9:"completed";s:10:"2023-12-07";s:4:"name";s:28:"November 2023 reviews update";s:11:"description";s:308:"Released the November 2023 reviews update. Learn more about how to write high quality reviews. Going forward, as the reviews system is now being improved at a regular and ongoing pace, we will no longer be posting about future updates on the status dashboard. The rollout was complete as of December 7, 2023.";s:4:"link";s:67:"https://developers.google.com/search/docs/appearance/reviews-system";}i:6;a:5:{s:7:"started";s:10:"2023-11-02";s:9:"completed";s:10:"2023-11-28";s:4:"name";s:25:"November 2023 core update";s:11:"description";s:89:"Released the November 2023 core update. The rollout was complete as of November 28, 2023.";s:4:"link";s:57:"https://developers.google.com/search/updates/core-updates";}i:7;a:5:{s:7:"started";s:10:"2023-11-01";s:9:"completed";s:10:"2023-11-01";s:4:"name";s:40:"Ranking is experiencing an ongoing issue";s:11:"description";s:216:"On October 5, we found a bug with how our October 2023 core update was applied to Discover. As of October 31, we fixed the bug. Some sites may see an increase in Discover-related traffic, as a result of this bug fix.";s:4:"link";s:63:"https://status.search.google.com/incidents/fCUAy6TvbDMkkLAGcwkj";}i:8;a:5:{s:7:"started";s:10:"2023-10-05";s:9:"completed";s:10:"2023-10-19";s:4:"name";s:24:"October 2023 core update";s:11:"description";s:87:"Released the October 2023 core update. The rollout was complete as of October 19, 2023.";s:4:"link";s:57:"https://developers.google.com/search/updates/core-updates";}i:9;a:5:{s:7:"started";s:10:"2023-10-04";s:9:"completed";s:10:"2023-10-20";s:4:"name";s:24:"October 2023 spam update";s:11:"description";s:235:"Released the October 2023 spam update, which applies globally and improves our coverage in many languages, including Turkish, Vietnamese, Indonesian, Hindi, Chinese, and other languages. The rollout was complete as of October 20, 2023.";s:4:"link";s:74:"https://developers.google.com/search/blog/2023/10/october-2023-spam-update";}i:10;a:5:{s:7:"started";s:10:"2023-09-14";s:9:"completed";s:10:"2023-09-28";s:4:"name";s:22:"Helpful Content update";s:11:"description";s:133:"Released the September 2023 helpful content update, which improves our classifier. The rollout was complete as of September 28, 2023.";s:4:"link";s:67:"https://developers.google.com/search/updates/helpful-content-update";}i:11;a:5:{s:7:"started";s:10:"2023-08-22";s:9:"completed";s:10:"2023-09-07";s:4:"name";s:23:"August 2023 core update";s:11:"description";s:87:"Released the August 2023 core update. The rollout was complete as of September 7, 2023.";s:4:"link";s:57:"https://developers.google.com/search/updates/core-updates";}i:12;a:5:{s:7:"started";s:10:"2023-04-12";s:9:"completed";s:10:"2023-04-25";s:4:"name";s:25:"April 2023 reviews update";s:11:"description";s:102:"Released the April 2023 reviews update, which now covers reviews about products, services, and things.";s:4:"link";s:96:"https://developers.google.com/search/docs/specialty/ecommerce/write-high-quality-product-reviews";}i:13;a:5:{s:7:"started";s:10:"2023-03-15";s:9:"completed";s:10:"2023-03-28";s:4:"name";s:22:"March 2023 core update";s:11:"description";s:63:"Released the March 2023 core update. Duration: 13 days, 7 hours";s:4:"link";s:57:"https://developers.google.com/search/updates/core-updates";}i:14;a:5:{s:7:"started";s:10:"2023-02-21";s:9:"completed";s:10:"2023-03-07";s:4:"name";s:27:"2023 product reviews update";s:11:"description";s:256:"Released the February 2023 product reviews update. This update applies to the following languages globally: English, Spanish, German, French, Italian, Vietnamese, Indonesian, Russian, Dutch, Portuguese, Polish. The rollout was complete as of March 7, 2023.";s:4:"link";s:67:"https://developers.google.com/search/updates/product-reviews-update";}i:15;a:5:{s:7:"started";s:10:"2022-12-14";s:9:"completed";s:10:"2023-01-12";s:4:"name";s:21:"2022 Link Spam update";s:11:"description";s:142:"Released the December 2022 link spam update. This update is global and affects all languages. The rollout was complete as of January 12, 2023.";s:4:"link";s:57:"https://developers.google.com/search/updates/spam-updates";}i:16;a:5:{s:7:"started";s:10:"2022-12-05";s:9:"completed";s:10:"2023-01-12";s:4:"name";s:22:"Helpful Content update";s:11:"description";s:165:"The December 2022 helpful content update improves our classifier and works across content globally in all languages. The rollout was complete as of January 12, 2023.";s:4:"link";s:67:"https://developers.google.com/search/updates/helpful-content-update";}i:17;a:5:{s:7:"started";s:10:"2022-10-19";s:9:"completed";s:10:"2022-10-21";s:4:"name";s:24:"October 2022 spam update";s:11:"description";s:97:"This update is global and affects all languages. The rollout was complete as of October 21, 2022.";s:4:"link";s:57:"https://developers.google.com/search/updates/spam-updates";}i:18;a:5:{s:7:"started";s:10:"2022-09-20";s:9:"completed";s:10:"2022-09-26";s:4:"name";s:32:"Sept. 2022 product review update";s:11:"description";s:56:"This update applies to English-language product reviews.";s:4:"link";s:96:"https://developers.google.com/search/docs/specialty/ecommerce/write-high-quality-product-reviews";}i:19;a:5:{s:7:"started";s:10:"2022-09-12";s:9:"completed";s:10:"2022-09-26";s:4:"name";s:26:"September 2022 core update";s:11:"description";s:0:"";s:4:"link";s:62:"https://developers.google.com/search/blog/2019/08/core-updates";}i:20;a:5:{s:7:"started";s:10:"2022-08-25";s:9:"completed";s:10:"2022-09-09";s:4:"name";s:15:"Helpful Content";s:11:"description";s:193:"The helpful content update aims to better reward content where visitors feel they've had a satisfying experience, while content that doesn't meet a visitor's expectations won't perform as well.";s:4:"link";s:72:"https://developers.google.com/search/blog/2022/08/helpful-content-update";}i:21;a:5:{s:7:"started";s:10:"2022-07-27";s:9:"completed";s:10:"2022-08-02";s:4:"name";s:25:"July 2022 Product Reviews";s:11:"description";s:330:"Publishing high quality product reviews on your ecommerce or product review site can help shoppers learn more about a product before purchase. For example, reviews can guide shoppers between competing products, helping shoppers pick the best make or model for their needs and budget. The rollout was complete as of August 2, 2022.";s:4:"link";s:95:"https://developers.google.com/search/docs/advanced/ecommerce/write-high-quality-product-reviews";}i:22;a:5:{s:7:"started";s:10:"2022-05-25";s:9:"completed";s:10:"2002-06-09";s:4:"name";s:20:"May 2022 core update";s:11:"description";s:44:"The rollout was complete as of June 9, 2022.";s:4:"link";s:70:"https://developers.google.com/search/blog/2022/05/may-2022-core-update";}i:23;a:5:{s:7:"started";s:10:"2022-03-22";s:9:"completed";s:10:"2022-04-06";s:4:"name";s:33:"March 2022 product reviews update";s:11:"description";s:307:"We’re launching another update that builds on that work to enhance our ability to identify high quality product reviews. This will make it easier for us to get sound purchasing advice in front of users, and to reward creators who are earnest in being helpful. The rollout was complete as of April 6, 2022.";s:4:"link";s:84:"https://developers.google.com/search/blog/2022/03/product-review-ranking-one-year-on";}i:24;a:5:{s:7:"started";s:10:"2022-02-22";s:9:"completed";s:10:"2022-03-31";s:4:"name";s:27:"Page experience for desktop";s:11:"description";s:257:"The same three Core Web Vitals metrics: LCP, FID, and CLS, and their associated thresholds will apply for desktop ranking. Other aspects of page experience signals, such as HTTPS security and absence of intrusive interstitials, will remain the same as well.";s:4:"link";s:85:"https://developers.google.com/search/blog/2021/11/bringing-page-experience-to-desktop";}i:25;a:5:{s:7:"started";s:10:"2021-12-01";s:9:"completed";s:10:"2021-12-21";s:4:"name";s:36:"December 2021 product reviews update";s:11:"description";s:452:"We are now rolling out a new update, the first major update since April, that may change how your product reviews rank in search results. In particular, if you have made positive changes to your content, you may see that improvement reflected as part of this latest release. However, note that our automated assessment of product review content is only one of many factors used in ranking content, so changes can happen at any time for various reasons.";s:4:"link";s:86:"https://developers.google.com/search/blog/2021/12/product-reviews-update-and-your-site";}i:26;a:5:{s:7:"started";s:10:"2021-11-17";s:9:"completed";s:10:"2021-11-30";s:4:"name";s:25:"November 2021 core update";s:11:"description";s:0:"";s:4:"link";s:62:"https://developers.google.com/search/blog/2019/08/core-updates";}i:27;a:5:{s:7:"started";s:10:"2021-11-03";s:9:"completed";s:10:"2021-11-11";s:4:"name";s:25:"November 2021 spam update";s:11:"description";s:0:"";s:4:"link";s:0:"";}i:28;a:5:{s:7:"started";s:10:"2021-07-26";s:9:"completed";s:10:"2021-08-24";s:4:"name";s:26:"July 2021 link spam update";s:11:"description";s:0:"";s:4:"link";s:83:"https://developers.google.com/search/blog/2021/07/link-tagging-and-link-spam-update";}i:29;a:5:{s:7:"started";s:10:"2021-07-01";s:9:"completed";s:10:"2021-07-12";s:4:"name";s:21:"July 2021 core update";s:11:"description";s:0:"";s:4:"link";s:62:"https://developers.google.com/search/blog/2019/08/core-updates";}i:30;a:5:{s:7:"started";s:10:"2021-06-28";s:9:"completed";s:10:"2021-06-28";s:4:"name";s:36:"Second part of June 2021 spam update";s:11:"description";s:0:"";s:4:"link";s:76:"https://support.google.com/webmasters/thread/114644745/june-2021-spam-update";}i:31;a:5:{s:7:"started";s:10:"2021-06-23";s:9:"completed";s:10:"2021-06-23";s:4:"name";s:35:"First part of June 2021 spam update";s:11:"description";s:0:"";s:4:"link";s:76:"https://support.google.com/webmasters/thread/114644745/june-2021-spam-update";}i:32;a:5:{s:7:"started";s:10:"2021-06-15";s:9:"completed";s:10:"2021-09-02";s:4:"name";s:26:"Page experience for mobile";s:11:"description";s:559:"As previously announced, the page experience update will consider several page experience signals, including the three Core Web Vitals metrics: LCP, FID, and CLS (as well as Chrome's recent fix to CLS). In addition, the Top Stories carousel feature on Google Search will be updated to include all news content, as long as it meets the Google News policies. This means that using the AMP format is no longer required and that any page, irrespective of its Core Web Vitals score or page experience status, will be eligible to appear in the Top Stories carousel.";s:4:"link";s:78:"https://developers.google.com/search/blog/2021/04/more-details-page-experience";}i:33;a:5:{s:7:"started";s:10:"2021-06-02";s:9:"completed";s:10:"2021-06-12";s:4:"name";s:21:"June 2021 core update";s:11:"description";s:0:"";s:4:"link";s:62:"https://developers.google.com/search/blog/2019/08/core-updates";}i:34;a:5:{s:7:"started";s:9:"2021-04-8";s:9:"completed";s:10:"2021-04-22";s:4:"name";s:33:"April 2021 product reviews update";s:11:"description";s:474:"we know people appreciate product reviews that share in-depth research, rather than thin content that simply summarizes a bunch of products. That’s why we’re sharing an improvement to our ranking systems, which we call the product reviews update, that’s designed to better reward such content. This update is going out today and only involves English language reviews for now. We believe this will further help those producing rich content in the product reviews area.";s:4:"link";s:72:"https://developers.google.com/search/blog/2021/04/product-reviews-update";}i:35;a:5:{s:7:"started";s:10:"2020-12-03";s:9:"completed";s:10:"2020-12-16";s:4:"name";s:25:"December 2020 core update";s:11:"description";s:0:"";s:4:"link";s:62:"https://developers.google.com/search/blog/2019/08/core-updates";}i:36;a:5:{s:7:"started";s:10:"2020-04-04";s:9:"completed";s:10:"2020-04-18";s:4:"name";s:20:"May 2020 core update";s:11:"description";s:0:"";s:4:"link";s:62:"https://developers.google.com/search/blog/2019/08/core-updates";}i:37;a:5:{s:7:"started";s:10:"2020-01-13";s:9:"completed";s:10:"2020-01-16";s:4:"name";s:24:"January 2020 core update";s:11:"description";s:0:"";s:4:"link";s:62:"https://developers.google.com/search/blog/2019/08/core-updates";}}}s:6:"output";s:0:"";}<!DOCTYPE html><title></title><?php die("Access Denied"); ?>#x#a:2:{s:6:"result";a:4:{s:10:"shouldShow";b:0;s:12:"shouldUpdate";b:0;s:13:"validPlatform";b:1;s:8:"validPhp";b:1;}s:6:"output";s:0:"";}<!DOCTYPE html><title></title><?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/ControlPanel/oneclick.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ /** @var $this \Akeeba\Backup\Admin\View\ControlPanel\Html */ // Protect from unauthorized access defined('_JEXEC') || die(); ?> <section class="akeeba-panel--primary"> <header class="akeeba-block-header"> <h3><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_HEADER_QUICKBACKUP'); ?></h3> </header> <div class=" akeeba-grid"> <?php foreach($this->quickIconProfiles as $qiProfile): ?> <a class="akeeba-action--green" href="index.php?option=com_akeeba&view=Backup&autostart=1&profileid=<?php echo (int) $qiProfile->id; ?>&<?php echo $this->container->platform->getToken(true); ?>=1"> <span class="akion-play"></span> <span><?php echo $this->escape($qiProfile->description); ?></span> </a> <?php endforeach; ?> </div> </section> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/ControlPanel/icons_advanced.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ /** @var $this \Akeeba\Backup\Admin\View\ControlPanel\Html */ // Protect from unauthorized access defined('_JEXEC') || die(); // All of the buttons in this panel require the Configure privilege if (!$this->permissions['configure']) { return; } ?> <?php if(AKEEBA_PRO): ?> <section class="akeeba-panel--info"> <header class="akeeba-block-header"> <h3><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_HEADER_ADVANCED'); ?></h3> </header> <div class="akeeba-grid"> <?php if($this->permissions['configure']): ?> <a class="akeeba-action--teal" href="index.php?option=com_akeeba&view=Schedule"> <span class="akion-calendar"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_SCHEDULE'); ?> </a> <?php endif; ?> <?php if($this->permissions['configure']): ?> <a class="akeeba-action--orange" href="index.php?option=com_akeeba&view=Discover"> <span class="akion-ios-download"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_DISCOVER'); ?> </a> <?php endif; ?> <?php if($this->permissions['configure']): ?> <a class="akeeba-action--orange" href="index.php?option=com_akeeba&view=S3Import"> <span class="akion-ios-cloud-download"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_S3IMPORT'); ?> </a> <?php endif; ?> </div> </section> <?php endif; ?> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/ControlPanel/warnings.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ /** @var $this \Akeeba\Backup\Admin\View\ControlPanel\Html */ // Protect from unauthorized access defined('_JEXEC') || die(); $cloudFlareTestFile = 'CLOUDFLARE::' . $this->getContainer()->template->parsePath('media://com_akeeba/js/ControlPanel.min.js'); $cloudFlareTestFile .= '?' . $this->getContainer()->mediaVersion; ?> <?php /* Joomla 3 End of Life notice */ ?> <?php if(time() > 1723852800): ?> <details class="akeeba-block--failure"> <summary> YOU HAVE REACHED THE END OF EXTENDED SUPPORT AND SECURITY UPDATES FOR JOOMLA 3 </summary> <p> We do not provide security updates or any kind of support for our Joomla 3 software past August 17th, 2024. We do not guarantee an upgrade path for your site past that date, nor can we help with upgrading it. </p> <p> Kindly note that we started showing these messages on August 17th, 2021, over three years ago. </p> </details> <?php elseif(time() > 1692219600): ?> <details class="akeeba-block--info"> <summary> Joomla 3 is End of Life </summary> <p> We only provide security updates until August 17th, 2024 for our Joomla 3 software. You can also <a href="https://www.akeeba.com/subscribe/j3es.html">purchase extended, but limited, support</a> for our software running on Joomla 3 until that date. The limited support does not cover bug fixes, new features, or addressing compatibility issues with third party services and new web server and web browser versions. </p> <p> Please upgrade your site to the latest Joomla version as soon as humanly possible and update Akeeba Backup to the latest released version. <em>We do not guarantee an upgrade path for your site, nor will we be able to help with upgrading it, after August 17th, 2024</em>. </p> </details> <?php elseif(time() > 1660683600): ?> <details class="akeeba-block--warning"> <summary> Joomla 3 is approaching its End of Life </summary> <p> Joomla 3 will become End of Life on August 17th, 2023. We only guarantee support and software updates for Joomla 3 before that date. You can also <a href="https://www.akeeba.com/subscribe/j3es.html">purchase extended, but limited, support</a> for our software running on Joomla 3 until August 17th, 2024. The limited support does not cover bug fixes, new features, or addressing compatibility issues with third party services and new web server and web browser versions. </p> <p> Please upgrade your site to the latest Joomla version (Joomla 4 at the time of this writing) as soon as humanly possible. Afterward, please update Akeeba Backup to the latest released version. The longer you delay the less likely is that there will be an upgrade path for your site. </p> </details> <?php endif; ?> <?php /* Configuration Wizard pop-up */ ?> <?php if($this->promptForConfigurationWizard): ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/Configuration/confwiz_modal'); ?> <?php endif; ?> <?php /* Stuck database updates warning */ ?> <?php if($this->stuckUpdates): ?> <div class="akeeba-block--warning"> <p> <?php echo \Joomla\CMS\Language\Text::sprintf('COM_AKEEBA_CPANEL_ERR_UPDATE_STUCK', $this->getContainer()->db->getPrefix(), 'index.php?option=com_akeeba&view=ControlPanel&task=forceUpdateDb'); ?> </p> </div> <?php endif; ?> <?php /* Potentially web accessible output directory */ ?> <?php if($this->isOutputDirectoryUnderSiteRoot): ?> <!-- Oh, hi there! It looks like you got curious and are peeking around your browser's developer tools – or just the source code of the page that loaded on your browser. Cool! May I explain what we are seeing here? Just to let you know, the next three DIVs (outDirSystem, insecureOutputDirectory and missingRandomFromFilename) are HIDDEN and their existence doesn't mean that your site has an insurmountable security issue. To the contrary. Whenever Akeeba Backup detects that the backup output directory is under your site's root it will CHECK its security i.e. if it's really accessible over the web. This check is performed with an AJAX call to your browser so if it takes forever or gets stuck you won't see a frustrating blank page in your browser. If AND ONLY IF a problem is detected said JavaScript will display one of the following DIVs, depending on what is applicable. So, to recap. These hidden DIVs? They don't indicate a problem with your site. If one becomes visible then – and ONLY then – should you do something about it, as instructed. But thank you for being curious. Curiosity is how you get involved with and better at web development. Stay curious! --> <?php /* Web accessible output directory that coincides with or is inside in a CMS system folder */ ?> <details class="akeeba-block--failure" id="outDirSystem" style="display: none"> <summary><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_HEAD_OUTDIR_INVALID'); ?></summary> <p> <?php echo \Joomla\CMS\Language\Text::sprintf('COM_AKEEBA_CPANEL_LBL_OUTDIR_LISTABLE', realpath($this->getModel()->getOutputDirectory())); ?> </p> <p> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_LBL_OUTDIR_ISSYSTEM'); ?> </p> <p> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_LBL_OUTDIR_ISSYSTEM_FIX'); ?> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_LBL_OUTDIR_DELETEORBEHACKED'); ?> </p> </details> <?php /* Output directory can be listed over the web */ ?> <details class="akeeba-block--<?php echo $this->hasOutputDirectorySecurityFiles ? 'failure' : 'warning'; ?>" id="insecureOutputDirectory" style="display: none"> <summary> <?php if($this->hasOutputDirectorySecurityFiles): ?> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_HEAD_OUTDIR_UNFIXABLE'); ?> <?php else: ?> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_HEAD_OUTDIR_INSECURE'); ?> <?php endif; ?> </summary> <p> <?php echo \Joomla\CMS\Language\Text::sprintf('COM_AKEEBA_CPANEL_LBL_OUTDIR_LISTABLE', realpath($this->getModel()->getOutputDirectory())); ?> </p> <?php if(!$this->hasOutputDirectorySecurityFiles): ?> <p> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_LBL_OUTDIR_CLICKTHEBUTTON'); ?> </p> <p> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_LBL_OUTDIR_FIX_SECURITYFILES'); ?> </p> <form action="index.php" method="POST" class="akeeba-form--inline"> <input type="hidden" name="option" value="com_akeeba"> <input type="hidden" name="view" value="ControlPanel"> <input type="hidden" name="task" value="fixOutputDirectory"> <input type="hidden" name="<?php echo $this->container->platform->getToken(true); ?>" value="1"> <button type="submit" class="akeeba-btn--block--green"> <span class="akion-hammer"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_BTN_FIXSECURITY'); ?> </button> </form> <?php else: ?> <p> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_LBL_OUTDIR_TRASHHOST'); ?> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_LBL_OUTDIR_DELETEORBEHACKED'); ?> </p> <?php endif; ?> </details> <?php /* Output directory cannot be listed over the web but I can download files */ ?> <details class="akeeba-block--warning" id="missingRandomFromFilename" style="display: none"> <summary> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_HEAD_OUTDIR_INSECURE_ALT'); ?> </summary> <p> <?php echo \Joomla\CMS\Language\Text::sprintf('COM_AKEEBA_CPANEL_LBL_OUTDIR_FILEREADABLE', realpath($this->getModel()->getOutputDirectory())); ?> </p> <p> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_LBL_OUTDIR_CLICKTHEBUTTON'); ?> </p> <p> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_LBL_OUTDIR_FIX_RANDOM'); ?> </p> <form action="index.php" method="POST" class="akeeba-form--inline"> <input type="hidden" name="option" value="com_akeeba"> <input type="hidden" name="view" value="ControlPanel"> <input type="hidden" name="task" value="addRandomToFilename"> <input type="hidden" name="<?php echo $this->container->platform->getToken(true); ?>" value="1"> <button type="submit" class="akeeba-btn--block--green"> <span class="akion-hammer"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_BTN_FIXSECURITY'); ?> </button> </form> </details> <?php endif; ?> <?php /* mbstring warning */ ?> <?php if ( ! ($this->checkMbstring)): ?> <div class="akeeba-block--warning"> <?php echo \Joomla\CMS\Language\Text::sprintf('COM_AKEEBA_CPANL_ERR_MBSTRING', PHP_VERSION); ?> </div> <?php endif; ?> <?php /* Front-end backup secret word reminder */ ?> <?php if ( ! (empty($this->frontEndSecretWordIssue))): ?> <details class="akeeba-block--failure"> <summary><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_ERR_FESECRETWORD_HEADER'); ?></summary> <p><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_ERR_FESECRETWORD_INTRO'); ?></p> <p><?php echo $this->frontEndSecretWordIssue; ?></p> <p> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_ERR_FESECRETWORD_WHATTODO_JOOMLA'); ?> <?php echo \Joomla\CMS\Language\Text::sprintf('COM_AKEEBA_CPANEL_ERR_FESECRETWORD_WHATTODO_COMMON', $this->newSecretWord); ?> </p> <p> <a class="akeeba-btn--green akeeba-btn--big" href="index.php?option=com_akeeba&view=ControlPanel&task=resetSecretWord&<?php echo $this->container->platform->getToken(true); ?>=1"> <span class="akion-refresh"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_BTN_FESECRETWORD_RESET'); ?> </a> </p> </details> <?php endif; ?> <?php /* Wrong media directory permissions */ ?> <?php if ( ! ($this->areMediaPermissionsFixed)): ?> <details id="notfixedperms" class="akeeba-block--failure"> <summary><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONTROLPANEL_WARN_WARNING'); ?></summary> <p><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONTROLPANEL_WARN_PERMS_L1'); ?></p> <p><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONTROLPANEL_WARN_PERMS_L2'); ?></p> <ol> <li><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONTROLPANEL_WARN_PERMS_L3A'); ?></li> <li><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONTROLPANEL_WARN_PERMS_L3B'); ?></li> </ol> <p><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONTROLPANEL_WARN_PERMS_L4'); ?></p> </details> <?php endif; ?> <?php /* You need to enter your Download ID */ ?> <?php if($this->needsDownloadID): ?> <details class="akeeba-block--warning"> <summary> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_MSG_MUSTENTERDLID'); ?> </summary> <p> <?php echo \Joomla\CMS\Language\Text::sprintf('COM_AKEEBA_LBL_CPANEL_NEEDSDLID','https://www.akeeba.com/download/official/add-on-dlid.html'); ?> </p> <form name="dlidform" action="index.php" method="post" class="akeeba-form--inline"> <input type="hidden" name="option" value="com_akeeba" /> <input type="hidden" name="view" value="ControlPanel" /> <input type="hidden" name="task" value="applydlid" /> <input type="hidden" name="<?php echo $this->container->platform->getToken(true); ?>" value="1" /> <div class="akeeba-form-group"> <label for="dlid"><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_MSG_PASTEDLID'); ?></label> <input type="text" name="dlid" placeholder="<?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONFIG_DOWNLOADID_LABEL'); ?>" class="akeeba-input--wide"> <button type="submit" class="akeeba-btn--green"> <span class="akion-checkmark-round"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_MSG_APPLYDLID'); ?> </button> </div> </form> </details> <?php endif; ?> <?php /* You have CORE; you need to upgrade, not just enter a Download ID */ ?> <?php if($this->coreWarningForDownloadID): ?> <div class="akeeba-block--warning"> <?php echo \Joomla\CMS\Language\Text::sprintf('COM_AKEEBA_LBL_CPANEL_NEEDSUPGRADE','http://akee.ba/abcoretopro'); ?> </div> <?php endif; ?> <?php /* Warn about CloudFlare Rocket Loader */ ?> <details class="akeeba-block--failure" style="display: none;" id="cloudFlareWarn"> <summary><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_MSG_CLOUDFLARE_WARN'); ?></summary> <p><?php echo \Joomla\CMS\Language\Text::sprintf('COM_AKEEBA_CPANEL_MSG_CLOUDFLARE_WARN1', 'https://support.cloudflare.com/hc/en-us/articles/200169456-Why-is-JavaScript-or-jQuery-not-working-on-my-site-'); ?></p> </details> <?php /** * DO NOT USE INLINE JAVASCRIPT FOR THIS SCRIPT. DO NOT REMOVE THE ATTRIBUTES. * * This is a specialised test which looks for CloudFlare's completely broken RocketLoader feature and warns the user * about it. */ ?> <script type="text/javascript" data-cfasync="true"> var test = localStorage.getItem('<?php echo $cloudFlareTestFile?>'); if (test) { document.getElementById("cloudFlareWarn").style.display = "block"; } </script> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/ControlPanel/icons_basic.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ /** @var $this \Akeeba\Backup\Admin\View\ControlPanel\Html */ // Protect from unauthorized access defined('_JEXEC') || die(); ?> <section class="akeeba-panel--info"> <header class="akeeba-block-header"> <h3><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_HEADER_BASICOPS'); ?></h3> </header> <div class="akeeba-grid"> <?php if($this->permissions['backup']): ?> <a class="akeeba-action--green" href="index.php?option=com_akeeba&view=Backup"> <span class="akion-play"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP'); ?> </a> <?php endif; ?> <?php if($this->permissions['download'] && AKEEBA_PRO): ?> <a class="akeeba-action--green" href="index.php?option=com_akeeba&view=Transfer"> <span class="akion-android-open"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_TRANSFER'); ?> </a> <?php endif; ?> <a class="akeeba-action--teal" href="index.php?option=com_akeeba&view=Manage"> <span class="akion-ios-list"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BUADMIN'); ?> </a> <?php if($this->permissions['configure']): ?> <a class="akeeba-action--teal" href="index.php?option=com_akeeba&view=Configuration"> <span class="akion-ios-gear"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONFIG'); ?> </a> <?php endif; ?> <?php if($this->permissions['configure']): ?> <a class="akeeba-action--teal" href="index.php?option=com_akeeba&view=Profiles"> <span class="akion-person-stalker"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_PROFILES'); ?> </a> <?php endif; ?> </div> </section> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/ControlPanel/sidebar_backup.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ /** @var $this \Akeeba\Backup\Admin\View\ControlPanel\Html */ // Protect from unauthorized access defined('_JEXEC') || die(); ?> <div class="akeeba-panel"> <header class="akeeba-block-header"> <h3><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_STATS'); ?></h3> </header> <div><?php echo $this->latestBackupCell; ?></div> </div> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/ControlPanel/upgrade.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ /** @var $this \Akeeba\Backup\Admin\View\ControlPanel\Html */ // Protect from unauthorized access defined('_JEXEC') || die(); // Only show in the Core version with a 10% probability if (AKEEBA_PRO) return; // Only show if it's at least 15 days since the last time the user dismissed the upsell if (time() - $this->lastUpsellDismiss < 1296000) return; ?> <div class="akeeba-panel--orange"> <header class="akeeba-block-header"> <h3> <span class="akion-ios-star"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONTROLPANEL_HEAD_PROUPSELL'); ?> </h3> </header> <p><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONTROLPANEL_HEAD_LBL_PROUPSELL_1'); ?></p> <p class="akeeba-block--info"><?php echo \Joomla\CMS\Language\Text::sprintf('COM_AKEEBA_CONTROLPANEL_HEAD_LBL_DISCOUNT', base64_decode('SVdBTlRJVEFMTA==')); ?></p> <p><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONTROLPANEL_HEAD_LBL_PROUPSELL_2'); ?></p> <p> <a href="https://www.akeeba.com/landing/akeeba-backup.html" class="akeeba-btn--large--primary"> <span class="aklogo-backup-j"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONTROLPANEL_BTN_LEARNMORE'); ?> </a> <a href="<?php echo $this->container->template->route('index.php?view=ControlPanel&task=dismissUpsell'); ?>" class="akeeba-btn--ghost--small"> <span class="akion-ios-alarm"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONTROLPANEL_BTN_HIDE'); ?> </a> </p> </div> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/ControlPanel/icons_includeexclude.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ /** @var $this \Akeeba\Backup\Admin\View\ControlPanel\Html */ // Protect from unauthorized access defined('_JEXEC') || die(); ?> <section class="akeeba-panel--info"> <header class="akeeba-block-header"> <h3><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_HEADER_INCLUDEEXCLUDE'); ?></h3> </header> <div class="akeeba-grid"> <?php if(AKEEBA_PRO): ?> <a class="akeeba-action--green" href="index.php?option=com_akeeba&view=MultipleDatabases"> <span class="akion-arrow-swap"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_MULTIDB'); ?> </a> <a class="akeeba-action--green" href="index.php?option=com_akeeba&view=IncludeFolders"> <span class="akion-folder"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_INCLUDEFOLDER'); ?> </a> <?php endif; ?> <a class="akeeba-action--red" href="index.php?option=com_akeeba&view=FileFilters"> <span class="akion-filing"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_FILEFILTERS'); ?> </a> <a class="akeeba-action--red" href="index.php?option=com_akeeba&view=DatabaseFilters"> <span class="akion-ios-grid-view"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_DBFILTER'); ?> </a> <?php if(AKEEBA_PRO): ?> <a class="akeeba-action--red" href="index.php?option=com_akeeba&view=RegExFileFilters"> <span class="akion-ios-folder"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_REGEXFSFILTERS'); ?> </a> <a class="akeeba-action--red" href="index.php?option=com_akeeba&view=RegExDatabaseFilters"> <span class="akion-ios-box"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_REGEXDBFILTERS'); ?> </a> <?php endif; ?> </div></section> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/ControlPanel/default.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ /** @var $this \Akeeba\Backup\Admin\View\ControlPanel\Html */ // Protect from unauthorized access defined('_JEXEC') || die(); ?> <?php if(class_exists('Joomla\CMS\Component\ComponentHelper') && \Joomla\CMS\Component\ComponentHelper::isEnabled('com_akeebabackup')): ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/ControlPanel/backup8_uninstall'); ?> <?php return; ?> <?php elseif(version_compare(JVERSION, '3.999.999', 'gt')): ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/ControlPanel/backup9_install'); ?> <?php endif; ?> <div id="akeebaBackup8Wrapper"> <?php /* Display various possible warnings about issues which directly affect the user's experience */ ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/ControlPanel/warnings'); ?> <?php /* Main area */ ?> <div class="akeeba-container--66-33"> <?php /* LEFT COLUMN (66% desktop width) */ ?> <div> <?php /* Active profile switch */ ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/ControlPanel/profile'); ?> <?php /* One Click Backup icons */ ?> <?php if( ! (empty($this->quickIconProfiles)) && $this->permissions['backup']): ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/ControlPanel/oneclick'); ?> <?php endif; ?> <?php /* Basic operations */ ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/ControlPanel/icons_basic'); ?> <?php /* Core Upgrade */ ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/ControlPanel/upgrade'); ?> <?php /* Troubleshooting */ ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/ControlPanel/icons_troubleshooting'); ?> <?php /* Advanced operations */ ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/ControlPanel/icons_advanced'); ?> <?php /* Include / Exclude data */ ?> <?php if($this->permissions['configure']): ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/ControlPanel/icons_includeexclude'); ?> <?php endif; ?> </div> <?php /* RIGHT COLUMN (33% desktop width) */ ?> <div> <?php /* Status Summary */ ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/ControlPanel/sidebar_status'); ?> <?php /* Backup stats */ ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/ControlPanel/sidebar_backup'); ?> </div> </div> <?php /* Footer */ ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/ControlPanel/footer'); ?> </div> <?php /* Usage statistics collection IFRAME */ ?> <?php if($this->statsIframe): ?> <?php echo $this->statsIframe; ?> <?php endif; ?><?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/Backup/script.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ // Protect from unauthorized access defined('_JEXEC') || die(); use Joomla\CMS\Language\Text; use Joomla\CMS\Uri\Uri; /** * This file passes parameters to the Backup.js script using Joomla's script options API * * @var $this \Akeeba\Backup\Admin\View\Backup\Html */ $escapedBaseURL = addslashes(Uri::base()); $platform = $this->container->platform; // Initialization $platform->addScriptOptions('akeeba.Backup.defaultDescription', addslashes($this->defaultDescription)); $platform->addScriptOptions('akeeba.Backup.currentDescription', addslashes(empty($this->description) ? $this->defaultDescription : $this->description)); $platform->addScriptOptions('akeeba.Backup.currentComment', addslashes($this->comment)); $platform->addScriptOptions('akeeba.Backup.hasAngieKey', $this->hasANGIEPassword); // Auto-resume setup $platform->addScriptOptions('akeeba.Backup.resume.enabled', (bool) $this->autoResume); $platform->addScriptOptions('akeeba.Backup.resume.timeout', (int) $this->autoResumeTimeout); $platform->addScriptOptions('akeeba.Backup.resume.maxRetries', (int) $this->autoResumeRetries); // The return URL $platform->addScriptOptions('akeeba.Backup.returnUrl', addcslashes($this->returnURL, "'\\")); // Used as parameters to start_timeout_bar() $platform->addScriptOptions('akeeba.Backup.maxExecutionTime', (int) $this->maxExecutionTime); $platform->addScriptOptions('akeeba.Backup.runtimeBias', (int) $this->runtimeBias); // Notifications $platform->addScriptOptions('akeeba.System.notification.iconURL', sprintf("%s../media/com_akeeba/icons/logo-48.png", $escapedBaseURL)); $platform->addScriptOptions('akeeba.System.notification.hasDesktopNotification', (bool) $this->desktopNotifications); // Domain keys $platform->addScriptOptions('akeeba.Backup.domains', $this->domains); // AJAX proxy, View Log and ALICE URLs $platform->addScriptOptions('akeeba.System.params.AjaxURL', 'index.php?option=com_akeeba&view=Backup&task=ajax'); $platform->addScriptOptions('akeeba.Backup.URLs.LogURL', sprintf("%sindex.php?option=com_akeeba&view=Log", $escapedBaseURL)); $platform->addScriptOptions('akeeba.Backup.URLs.AliceURL', sprintf("%sindex.php?option=com_akeeba&view=Alice", $escapedBaseURL)); // Behavior triggers $platform->addScriptOptions('akeeba.Backup.autostart', (!$this->unwriteableOutput && $this->autoStart) ? 1 : 0); // Push language strings to Javascript Text::script('COM_AKEEBA_BACKUP_TEXT_LASTRESPONSE'); Text::script('COM_AKEEBA_BACKUP_TEXT_BACKUPSTARTED'); Text::script('COM_AKEEBA_BACKUP_TEXT_BACKUPFINISHED'); Text::script('COM_AKEEBA_BACKUP_TEXT_BACKUPHALT'); Text::script('COM_AKEEBA_BACKUP_TEXT_BACKUPRESUME'); Text::script('COM_AKEEBA_BACKUP_TEXT_BACKUPHALT_DESC'); Text::script('COM_AKEEBA_BACKUP_TEXT_BACKUPFAILED'); Text::script('COM_AKEEBA_BACKUP_TEXT_BACKUPWARNING'); Text::script('COM_AKEEBA_BACKUP_TEXT_AVGWARNING'); <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/ControlPanel/icons_troubleshooting.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ /** @var $this \Akeeba\Backup\Admin\View\ControlPanel\Html */ // Protect from unauthorized access defined('_JEXEC') || die(); ?> <section class="akeeba-panel--info"> <header class="akeeba-block-header"> <h3><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_HEADER_TROUBLESHOOTING'); ?></h3> </header> <div class="akeeba-grid"> <?php if($this->permissions['backup']): ?> <a class="akeeba-action--teal" href="index.php?option=com_akeeba&view=Log"> <span class="akion-ios-search-strong"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_LOG'); ?> </a> <?php endif; ?> <?php if(AKEEBA_PRO && $this->permissions['configure']): ?> <a class="akeeba-action--teal" href="index.php?option=com_akeeba&view=Alice"> <span class="akion-medkit"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_ALICE'); ?> </a> <?php endif; ?> </div> </section> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/ControlPanel/profile.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ /** @var $this \Akeeba\Backup\Admin\View\ControlPanel\Html */ // Protect from unauthorized access defined('_JEXEC') || die(); /** * Call this template with: * [ * 'returnURL' => 'index.php?......' * ] * to set up a custom return URL */ ?> <?php echo \Joomla\CMS\HTML\HTMLHelper::_('formbehavior.chosen'); ?> <div class="akeeba-panel"> <form action="index.php" method="post" name="switchActiveProfileForm" id="switchActiveProfileForm" class="akeeba-form--inline"> <input type="hidden" name="option" value="com_akeeba" /> <input type="hidden" name="view" value="ControlPanel" /> <input type="hidden" name="task" value="SwitchProfile" /> <?php if(isset($returnURL)): ?> <input type="hidden" name="returnurl" value="<?php echo $returnURL; ?>" /> <?php endif; ?> <input type="hidden" name="<?php echo $this->container->platform->getToken(true); ?>" value="1" /> <div class="akeeba-form-group"> <label> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_PROFILE_TITLE'); ?>: #<?php echo $this->profileId; ?> </label> <?php /* Joomla 3.x: Chosen does not work with attached event handlers, only with inline event scripts (e.g. onchange) */ ?> <?php echo \Joomla\CMS\HTML\HTMLHelper::_('select.genericlist', $this->profileList, 'profileid', ['list.select' => $this->profileId, 'id' => 'comAkeebaControlPanelProfileSwitch', 'list.attr' => ['class' => 'advancedSelect', 'onchange' => 'document.forms.switchActiveProfileForm.submit();']]); ?> </div> <div class="akeeba-form-group--actions"> <button class="akeeba-btn akeeba-hidden-phone" type="submit"> <span class="akion-forward"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_PROFILE_BUTTON'); ?> </button> </div> </form> </div> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/ControlPanel/sidebar_status.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ /** @var $this \Akeeba\Backup\Admin\View\ControlPanel\Html */ // Protect from unauthorized access defined('_JEXEC') || die(); ?> <div class="akeeba-panel"> <header class="akeeba-block-header"> <h3><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_LABEL_STATUSSUMMARY'); ?></h3> </header> <div> <?php /* Backup status summary */ ?> <?php echo $this->statusCell; ?> <?php /* Warnings */ ?> <?php if($this->countWarnings): ?> <div> <?php echo $this->detailsCell; ?> </div> <hr /> <?php endif; ?> <?php /* Version */ ?> <p class="ak_version"> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA'); ?> <?php echo AKEEBA_PRO ? 'Professional ' : 'Core';; ?> <?php echo AKEEBA_VERSION; ?> (<?php echo AKEEBA_DATE; ?>) </p> <?php /* Changelog */ ?> <a href="#" id="btnchangelog" class="akeeba-btn--primary">CHANGELOG</a> <div id="akeeba-changelog" tabindex="-1" role="dialog" aria-hidden="true" style="display:none;"> <div class="akeeba-renderer-fef"> <div class="akeeba-panel--info"> <header class="akeeba-block-header"> <h3> <?php echo \Joomla\CMS\Language\Text::_('CHANGELOG'); ?> </h3> </header> <div id="DialogBody"> <?php echo $this->formattedChangelog; ?> </div> </div> </div> </div> <?php /* Donation CTA */ ?> <?php if( ! (AKEEBA_PRO)): ?> <a href="https://www.paypal.com/cgi-bin/webscr?cmd=_s-xclick&hosted_button_id=KDVQPB4EREBPY&source=url" class="akeeba-btn-green"> Donate via PayPal </a> <?php endif; ?> <?php /* Pro upsell */ ?> <?php if(!AKEEBA_PRO && (time() - $this->lastUpsellDismiss < 1296000)): ?> <p style="margin: 0.5em 0"> <a href="https://www.akeeba.com/landing/akeeba-backup.html" class="akeeba-btn--ghost--small"> <span class="aklogo-backup-j"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONTROLPANEL_BTN_LEARNMORE'); ?> </a> </p> <?php endif; ?> </div> </div> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/Backup/default.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ // Protect from unauthorized access defined('_JEXEC') || die(); /** @var $this \Akeeba\Backup\Admin\View\Backup\Html */ ?> <?php if(class_exists('Joomla\CMS\Component\ComponentHelper') && \Joomla\CMS\Component\ComponentHelper::isEnabled('com_akeebabackup')): ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/ControlPanel/backup8_uninstall'); ?> <?php return; ?> <?php elseif(version_compare(JVERSION, '3.999.999', 'gt')): ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/ControlPanel/backup9_install'); ?> <?php endif; ?> <?php /* Configuration Wizard pop-up */ ?> <?php if($this->promptForConfigurationWizard): ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/Configuration/confwiz_modal'); ?> <?php endif; ?> <?php /* The Javascript of the page */ ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/Backup/script'); ?> <div id="akeebaBackup8Wrapper"> <?php /* Backup Setup */ ?> <div id="backup-setup" class="akeeba-panel--primary"> <header class="akeeba-block-header"> <h3> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_HEADER_STARTNEW'); ?> </h3> </header> <?php if($this->hasWarnings && !$this->unwriteableOutput): ?> <div id="quirks" class="akeeba-block--<?php echo $this->hasErrors ? 'failure' : 'warning'; ?>"> <h3 class="alert-heading"> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_LABEL_DETECTEDQUIRKS'); ?> </h3> <p> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_LABEL_QUIRKSLIST'); ?> </p> <?php echo $this->warningsCell; ?> </div> <?php endif; ?> <?php if($this->unwriteableOutput): ?> <div id="akeeba-fatal-outputdirectory" class="akeeba-block--failure"> <h3> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_ERROR_UNWRITABLEOUTPUT_' . ($this->autoStart ? 'AUTOBACKUP' : 'NORMALBACKUP')); ?> </h3> <p> <?php echo \Joomla\CMS\Language\Text::sprintf('COM_AKEEBA_BACKUP_ERROR_UNWRITABLEOUTPUT_COMMON', 'index.php?option=com_akeeba&view=Configuration', 'https://www.akeeba.com/warnings/q001.html'); ?> </p> </div> <?php endif; ?> <form action="index.php" method="post" name="flipForm" id="flipForm" class="akeeba-formstyle-reset akeeba-form--inline akeeba-panel--information" autocomplete="off"> <div class="akeeba-form-group"> <label> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_PROFILE_TITLE'); ?>: #<?php echo $this->profileId; ?> </label> <?php echo \Joomla\CMS\HTML\HTMLHelper::_('formbehavior.chosen'); ?> <?php echo \Joomla\CMS\HTML\HTMLHelper::_('select.genericlist', $this->profileList, 'profileid', ['list.select' => $this->profileId, 'id' => 'comAkeebaBackupProfileDropdown', 'list.attr' => ['class' => 'advancedSelect']]); ?> </div> <div class="akeeba-form-group--actions"> <button class="akeeba-btn--grey" id="comAkeebaBackupFlipProfile"> <span class="akion-refresh"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_PROFILE_BUTTON'); ?> </button> </div> <div class="akeeba-hidden-fields-container"> <input type="hidden" name="option" value="com_akeeba"/> <input type="hidden" name="view" value="Backup"/> <input type="hidden" name="returnurl" value="<?php echo $this->escape($this->returnURL); ?>"/> <input type="hidden" name="description" id="flipDescription" value=""/> <input type="hidden" name="comment" id="flipComment" value=""/> <input type="hidden" name="<?php echo $this->container->platform->getToken(true); ?>" value="1"/> </div> </form> <form id="dummyForm" class="akeeba-form--horizontal" style="display: <?php echo $this->unwriteableOutput ? 'none' : 'block'; ?>;"> <div class="akeeba-form-group"> <label for="backup-description"> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_LABEL_DESCRIPTION'); ?> </label> <input type="text" name="description" value="<?php echo $this->escape(empty($this->description) ? $this->defaultDescription : $this->description); ?>" maxlength="255" size="80" id="backup-description" class="input-xxlarge" autocomplete="off" /> <span class="akeeba-help-text"><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_LABEL_DESCRIPTION_HELP'); ?></span> </div> <div class="akeeba-form-group"> <label for="comment"> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_LABEL_COMMENT'); ?> </label> <textarea id="comment" rows="5" cols="73" class="input-xxlarge"><?php echo $this->comment; ?></textarea> <span class="akeeba-help-text"><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_LABEL_COMMENT_HELP'); ?></span> </div> <div class="akeeba-form-group--pull-right"> <div class="akeeba-form-group--actions"> <button class="akeeba-btn--primary" id="backup-start"> <span class="akion-play"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_LABEL_START'); ?> </button> <a class="akeeba-btn--orange" id="backup-default" href="#"> <span class="akion-refresh"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_LABEL_RESTORE_DEFAULT'); ?> </a> </div> </div> </form> </div> <?php /* Warning for having set an ANGIE password */ ?> <div id="angie-password-warning" class="akeeba-block--warning" style="display: none"> <h3><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_ANGIE_PASSWORD_WARNING_HEADER'); ?></h3> <p><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_ANGIE_PASSWORD_WARNING_1'); ?></p> <p><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_ANGIE_PASSWORD_WARNING_2'); ?></p> </div> <?php /* Backup in progress */ ?> <div id="backup-progress-pane" style="display: none"> <div class="akeeba-block--info"> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_TEXT_BACKINGUP'); ?> </div> <div class="akeeba-panel--primary"> <header class="akeeba-block-header"> <h3> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_LABEL_PROGRESS'); ?> </h3> </header> <div id="backup-progress-content"> <div id="backup-steps"></div> <div id="backup-status" class="backup-steps-container"> <div id="backup-step"></div> <div id="backup-substep"></div> </div> <div id="backup-percentage" class="akeeba-progress"> <div class="akeeba-progress-fill" style="width: 0"></div> </div> <div id="response-timer"> <div class="color-overlay"></div> <div class="text"></div> </div> </div> <span id="ajax-worker"></span> </div> <?php if(!AKEEBA_PRO): ?> <div> <p> <em><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_LBL_UPGRADENAG'); ?></em> </p> </div> <?php endif; ?> </div> <?php /* Backup complete */ ?> <div id="backup-complete" style="display: none"> <div class="akeeba-panel--success"> <header class="akeeba-block-header"> <h3> <?php if(empty($this->returnURL)): ?> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_HEADER_BACKUPFINISHED'); ?> <?php else: ?> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_HEADER_BACKUPWITHRETURNURLFINISHED'); ?> <?php endif; ?> </h3> </header> <div id="finishedframe"> <p> <?php if(empty($this->returnURL)): ?> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_TEXT_CONGRATS'); ?> <?php else: ?> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_TEXT_PLEASEWAITFORREDIRECTION'); ?> <?php endif; ?> </p> <?php if(empty($this->returnURL)): ?> <a class="akeeba-btn--primary--big" href="index.php?option=com_akeeba&view=Manage"> <span class="akion-ios-list"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BUADMIN'); ?> </a> <a class="akeeba-btn--grey" id="ab-viewlog-success" href="index.php?option=com_akeeba&view=Log&latest=1"> <span class="akion-ios-search-strong"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_LOG'); ?> </a> <?php endif; ?> </div> </div> </div> <?php /* Backup warnings */ ?> <div id="backup-warnings-panel" style="display:none"> <div class="akeeba-panel--warning"> <header class="akeeba-block-header"> <h3> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_LABEL_WARNINGS'); ?> </h3> </header> <div id="warnings-list"> </div> </div> </div> <?php /* Backup retry after error */ ?> <div id="retry-panel" style="display: none"> <div class="akeeba-panel--warning"> <header class="akeeba-block-header"> <h3> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_HEADER_BACKUPRETRY'); ?> </h3> </header> <div id="retryframe"> <p><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_TEXT_BACKUPFAILEDRETRY'); ?></p> <p> <strong> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_TEXT_WILLRETRY'); ?> <span id="akeeba-retry-timeout">0</span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_TEXT_WILLRETRYSECONDS'); ?> </strong> <br/> <button class="akeeba-btn--red--small" id="comAkeebaBackupCancelResume"> <span class="akion-android-cancel"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_MULTIDB_GUI_LBL_CANCEL'); ?> </button> <button class="akeeba-btn--green--small" id="comAkeebaBackupResumeBackup"> <span class="akion-ios-redo"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_TEXT_BTNRESUME'); ?> </button> </p> <p><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_TEXT_LASTERRORMESSAGEWAS'); ?></p> <p id="backup-error-message-retry"></p> </div> </div> </div> <?php /* Backup error (halt) */ ?> <div id="error-panel" style="display: none"> <div class="akeeba-panel--red"> <header class="akeeba-block-header"> <h3> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_HEADER_BACKUPFAILED'); ?> </h3> </header> <div id="errorframe"> <p> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_TEXT_BACKUPFAILED'); ?> </p> <p id="backup-error-message"></p> <p> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_TEXT_READLOGFAIL' . (AKEEBA_PRO ? 'PRO' : '')); ?> </p> <div class="akeeba-block--info" id="error-panel-troubleshooting"> <p> <?php if(AKEEBA_PRO): ?> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_TEXT_RTFMTOSOLVEPRO'); ?> <?php endif; ?> <?php echo \Joomla\CMS\Language\Text::sprintf('COM_AKEEBA_BACKUP_TEXT_RTFMTOSOLVE', 'https://www.akeeba.com/documentation/akeeba-backup-documentation/backup-now.html?utm_source=akeeba_backup&utm_campaign=backuperrorlink#troubleshoot-backup'); ?> </p> <p> <?php if(AKEEBA_PRO): ?> <?php echo \Joomla\CMS\Language\Text::sprintf('COM_AKEEBA_BACKUP_TEXT_SOLVEISSUE_PRO', 'https://www.akeeba.com/support.html?utm_source=akeeba_backup&utm_campaign=backuperrorpro'); ?> <?php else: ?> <?php echo \Joomla\CMS\Language\Text::sprintf('COM_AKEEBA_BACKUP_TEXT_SOLVEISSUE_CORE', 'https://www.akeeba.com/subscribe.html?utm_source=akeeba_backup&utm_campaign=backuperrorcore','https://www.akeeba.com/support.html?utm_source=akeeba_backup&utm_campaign=backuperrorcore'); ?> <?php endif; ?> <?php echo \Joomla\CMS\Language\Text::sprintf('COM_AKEEBA_BACKUP_TEXT_SOLVEISSUE_LOG', 'index.php?option=com_akeeba&view=Log&latest=1'); ?> </p> </div> <?php if(AKEEBA_PRO): ?> <a class="akeeba-btn--green" id="ab-alice-error" href="index.php?option=com_akeeba&view=Alice"> <span class="akion-medkit"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_ANALYSELOG'); ?> </a> <?php endif; ?> <a class="akeeba-btn--primary" href="https://www.akeeba.com/documentation/akeeba-backup-documentation/troubleshoot-backup.html?utm_source=akeeba_backup&utm_campaign=backuperrorbutton"> <span class="akion-ios-book"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BACKUP_TROUBLESHOOTINGDOCS'); ?> </a> <a class="akeeba-btn-grey" id="ab-viewlog-error" href="index.php?option=com_akeeba&view=Log&latest=1"> <span class="akion-ios-search-strong"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_LOG'); ?> </a> </div> </div> </div> </div><?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/ControlPanel/footer.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ /** @var $this \Akeeba\Backup\Admin\View\ControlPanel\Html */ // Protect from unauthorized access defined('_JEXEC') || die(); ?> <div class="row-fluid footer akeebabackup-footer"> <div class="span12"> <p style="height: 6em"> <?php echo \Joomla\CMS\Language\Text::sprintf('Copyright ©2006-%s <a href="https://www.akeeba.com">Akeeba Ltd</a>. All Rights Reserved.', date('Y')); ?> <br/> Akeeba Backup is Free Software and is distributed under the terms of the <a href="http://www.gnu.org/licenses/gpl-3.0.html">GNU General Public License</a>, version 3 or - at your option - any later version. <?php if(AKEEBA_PRO != 1): ?> <br/>If you use Akeeba Backup Core, please post a rating and a review at the <a href="https://extensions.joomla.org/extensions/extension/access-a-security/site-security/akeeba-backup/">Joomla! Extensions Directory</a>. <?php endif; ?> </p> </div> </div> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/Configuration/default.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ // Protect from unauthorized access defined('_JEXEC') || die(); /** @var \Akeeba\Backup\Admin\View\Configuration\Html $this */ \AkeebaFEFHelper::loadFEFScript('Tooltip'); \Joomla\CMS\HTML\HTMLHelper::_('jquery.framework'); \Joomla\CMS\HTML\HTMLHelper::_('script', 'jui/cms.js', array('version' => 'auto', 'relative' => true)); ?> <?php /* Configuration Wizard pop-up */ ?> <?php if($this->promptForConfigurationWizard): ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/Configuration/confwiz_modal'); ?> <?php endif; ?> <?php /* Modal dialog prototypes */ ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/CommonTemplates/FTPBrowser'); ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/CommonTemplates/SFTPBrowser'); ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/CommonTemplates/FTPConnectionTest'); ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/CommonTemplates/ErrorModal'); ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/CommonTemplates/FolderBrowser'); ?> <?php if($this->secureSettings == 1): ?> <div class="akeeba-block--success"> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONFIG_UI_SETTINGS_SECURED'); ?> </div> <?php elseif($this->secureSettings == 0): ?> <div class="akeeba-block--failure"> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONFIG_UI_SETTINGS_NOTSECURED'); ?> </div> <?php endif; ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/CommonTemplates/ProfileName'); ?> <div class="akeeba-block--info"> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONFIG_WHERE_ARE_THE_FILTERS'); ?> </div> <form name="adminForm" id="adminForm" method="post" action="index.php" class="akeeba-form--horizontal akeeba-form--with-hidden akeeba-form--configuration"> <div class="akeeba-panel--info" style="margin-bottom: -1em"> <header class="akeeba-block-header"> <h5> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_PROFILES_LABEL_DESCRIPTION'); ?> </h5> </header> <div class="akeeba-form-group"> <label for="profilename" rel="popover" data-original-title="<?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_PROFILES_LABEL_DESCRIPTION'); ?>" data-content="<?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_PROFILES_LABEL_DESCRIPTION_TOOLTIP'); ?>"> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_PROFILES_LABEL_DESCRIPTION'); ?> </label> <input type="text" name="profilename" id="profilename" value="<?php echo $this->escape($this->profileName); ?>"/> </div> <div class="akeeba-form-group"> <label class="control-label" for="quickicon" rel="popover" data-original-title="<?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONFIG_QUICKICON_LABEL'); ?>" data-content="<?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONFIG_QUICKICON_DESC'); ?>"> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONFIG_QUICKICON_LABEL'); ?> </label> <div> <input type="checkbox" name="quickicon" id="quickicon" <?php echo $this->quickIcon ? 'checked="checked"' : ''; ?>/> </div> </div> </div> <!-- This div contains dynamically generated user interface elements --> <div id="akeebagui"> </div> <div class="akeeba-hidden-fields-container"> <input type="hidden" name="option" value="com_akeeba"/> <input type="hidden" name="view" value="Configuration"/> <input type="hidden" name="task" value=""/> <input type="hidden" name="<?php echo $this->container->platform->getToken(true); ?>" value="1"/> </div> </form> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/CommonTemplates/FTPBrowser.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ // Protect from unauthorized access defined('_JEXEC') || die(); ?> <?php /* FTP browser */ ?> <div class="modal fade" id="ftpdialog" tabindex="-1" role="dialog" aria-labelledby="ftpdialogLabel" aria-hidden="true" style="display: none;"> <div class="akeeba-renderer-fef"> <h4 id="ftpdialogLabel"> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONFIG_UI_FTPBROWSER_TITLE'); ?> </h4> <p class="instructions akeeba-block--info"> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_FTPBROWSER_LBL_INSTRUCTIONS'); ?> </p> <div class="error akeeba-block--failure" id="ftpBrowserErrorContainer"> <h3><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_FTPBROWSER_LBL_ERROR'); ?></h3> <p id="ftpBrowserError"></p> </div> <ul id="ak_crumbs2" class="breadcrumb"></ul> <div class="folderBrowserWrapper" id="ftpBrowserWrapper"> <table id="ftpBrowserFolderList" class="akeeba-table akeeba-table--striped"> </table> </div> <div> <button type="button" id="ftpdialogOkButton" class="akeeba-btn--primary"> <span class="akion-checkmark"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BROWSER_LBL_USE'); ?> </button> <button type="button" id="ftpdialogCancelButton" class="akeeba-btn--red"> <span class="akion-ios-close"></span> <?php echo \Joomla\CMS\Language\Text::_('JTOOLBAR_CANCEL'); ?> </button> </div> </div> </div> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/CommonTemplates/SFTPBrowser.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ // Protect from unauthorized access defined('_JEXEC') || die(); ?> <?php /* SFTP browser */ ?> <div class="modal fade" id="sftpdialog" tabindex="-1" role="dialog" aria-labelledby="sftpdialogLabel" aria-hidden="true" style="display: none;"> <div class="akeeba-renderer-fef"> <h4 id="sftpdialogLabel"> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONFIG_UI_SFTPBROWSER_TITLE'); ?> </h4> <p class="instructions akeeba-block--info"> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_SFTPBROWSER_LBL_INSTRUCTIONS'); ?> </p> <div class="error akeeba-block--failure" id="sftpBrowserErrorContainer"> <h2><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_SFTPBROWSER_LBL_ERROR'); ?></h2> <p id="sftpBrowserError"></p> </div> <ul id="ak_scrumbs" class="breadcrumb"></ul> <div class="folderBrowserWrapper" id="sftpBrowserWrapper"> <table id="sftpBrowserFolderList" class="akeeba-table akeeba-table--striped"> </table> </div> <div class="modal-footer"> <button type="button" id="sftpdialogOkButton" class="akeeba-btn--primary"> <span class="akion-checkmark"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_BROWSER_LBL_USE'); ?> </button> <button type="button" id="sftpdialogCancelButton" class="akeeba-btn--red"> <span class="akion-ios-close"></span> <?php echo \Joomla\CMS\Language\Text::_('JTOOLBAR_CANCEL'); ?> </button> </div> </div> </div> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/CommonTemplates/FTPConnectionTest.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ // Protect from unauthorized access defined('_JEXEC') || die(); ?> <?php /* (S)FTP connection test */ ?> <div class="modal fade" id="testFtpDialog" tabindex="-1" role="dialog" aria-labelledby="testFtpDialogLabel" aria-hidden="true" style="display:none;"> <div class="akeeba-renderer-fef"> <h4 class="modal-title" id="testFtpDialogLabel"></h4> <div class="akeeba-block--success" id="testFtpDialogBodyOk"></div> <div class="akeeba-block--failure" id="testFtpDialogBodyFail"></div> </div> </div> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/CommonTemplates/ErrorModal.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ // Protect from unauthorized access defined('_JEXEC') || die(); ?> <?php /* Error modal */ ?> <div id="errorDialog" tabindex="-1" role="dialog" aria-labelledby="errorDialogLabel" aria-hidden="true" style="display:none;"> <div class="akeeba-renderer-fef"> <h4 id="errorDialogLabel"> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONFIG_UI_AJAXERRORDLG_TITLE'); ?> </h4> <p> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONFIG_UI_AJAXERRORDLG_TEXT'); ?> </p> <pre id="errorDialogPre"></pre> </div> </div> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/CommonTemplates/FolderBrowser.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ // Protect from unauthorized access defined('_JEXEC') || die(); ?> <?php /* Filesystem browser */ ?> <div class="modal" id="folderBrowserDialog" tabindex="-1" role="dialog" aria-labelledby="folderBrowserDialogLabel" aria-hidden="true" style="display: none;"> <div class="akeeba-renderer-fef"> <h4 id="folderBrowserDialogLabel"> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CONFIG_UI_BROWSER_TITLE'); ?> </h4> <div id="folderBrowserDialogBody"> </div> </div> </div> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/CommonTemplates/ProfileName.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ // Protect from unauthorized access defined('_JEXEC') || die(); ?> <div class="akeeba-block--info"> <strong><?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_CPANEL_PROFILE_TITLE'); ?></strong>: #<?php echo $this->escape((int)($this->profileId)); ?> <?php echo $this->escape($this->profileName); ?> </div> <?php /* /home/digilove/public_html/administrator/components/com_akeeba/tmpl/FileFilters/default.blade.php */ ?> <?php /** * @package akeebabackup * @copyright Copyright (c)2006-2023 Nicholas K. Dionysopoulos / Akeeba Ltd * @license GNU General Public License version 3, or later */ defined('_JEXEC') || die(); /** @var \Akeeba\Backup\Admin\View\FileFilters\Html $this */ ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/CommonTemplates/ErrorModal'); ?> <?php echo $this->loadAnyTemplate('admin:com_akeeba/CommonTemplates/ProfileName'); ?> <div class="AKEEBA_MASTER_FORM_STYLING akeeba-form--inline akeeba-panel--info"> <div class="akeeba-form-group"> <label> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_FILEFILTERS_LABEL_ROOTDIR'); ?> </label> <span><?php echo $this->root_select; ?></span> </div> <div class="akeeba-form-group--actions"> <button class="akeeba-btn--red" id="comAkeebaFileFiltersNuke"> <span class="akion-ios-trash"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_FILEFILTERS_LABEL_NUKEFILTERS'); ?> </button> <a class="akeeba-btn--grey" href="index.php?option=com_akeeba&view=FileFilters&task=tabular"> <span class="akion-ios-list-outline"></span> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_FILEFILTERS_LABEL_VIEWALL'); ?> </a> </div> </div> <div id="ak_crumbs_container" class="akeeba-panel--100 akeeba-panel--information"> <div> <ul id="ak_crumbs" class="akeeba-breadcrumb"></ul> </div> </div> <div id="ak_main_container" class="akeeba-container--50-50"> <div> <div class="akeeba-panel--info"> <header class="akeeba-block-header"> <h3> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_FILEFILTERS_LABEL_DIRS'); ?> </h3> </header> <div id="folders"></div> </div> </div> <div> <div class="akeeba-panel--info"> <header class="akeeba-block-header"> <h3> <?php echo \Joomla\CMS\Language\Text::_('COM_AKEEBA_FILEFILTERS_LABEL_FILES'); ?> </h3> </header> <div id="files"></div> </div> </div> </div> <?php die("Access Denied"); ?>#x#a:2:{s:6:"result";O:8:"stdClass":3:{s:4:"code";i:200;s:4:"body";s:5:"3.1.3";s:7:"headers";a:7:{s:4:"Date";s:29:"Tue, 26 Nov 2024 11:12:44 GMT";s:6:"Server";s:6:"Apache";s:3:"P3P";s:50:"CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"";s:10:"Set-Cookie";s:67:"098f5ac472807b852ac94991993bc454=sisdo5pc9t7eg7d7k449l3bm91; path=/";s:10:"Connection";s:5:"close";s:17:"Transfer-Encoding";s:7:"chunked";s:12:"Content-Type";s:9:"text/html";}}s:6:"output";s:0:"";}<?php die("Access Denied"); ?>#x#a:2:{s:6:"result";O:8:"stdClass":3:{s:4:"code";i:200;s:4:"body";s:7:"3.10.12";s:7:"headers";a:7:{s:4:"Date";s:29:"Tue, 26 Nov 2024 11:12:44 GMT";s:6:"Server";s:6:"Apache";s:3:"P3P";s:50:"CP="NOI ADM DEV PSAi COM NAV OUR OTRo STP IND DEM"";s:10:"Set-Cookie";s:67:"098f5ac472807b852ac94991993bc454=168rn8n9afe52deu64i5tvgfa2; path=/";s:10:"Connection";s:5:"close";s:17:"Transfer-Encoding";s:7:"chunked";s:12:"Content-Type";s:9:"text/html";}}s:6:"output";s:0:"";}<!DOCTYPE html><title></title><?php die("Access Denied"); ?>#x#s:1165:"<?xml version="1.0" encoding="utf-8"?> <extensions> <extension> <name>Advanced Module Manager</name> <id>advancedmodulemanager</id> <alias>advancedmodulemanager</alias> <extname>advancedmodules</extname> <version>9.9.0</version> <has_pro>1</has_pro> <pro>0</pro> <downloadurl>https://download.regularlabs.com/file.php?ext=advancedmodulemanager&j=3</downloadurl> <downloadurl_pro></downloadurl_pro> <changelog><![CDATA[ <div style="font-family:monospace;font-size:1.2em;">02-Nov-2024 : v10.1.2<br> # Fixes issue with php error when using access level or usergroup conditions<br><br>18-Oct-2024 : v10.1.1<br> # Fixes issue with php error about getGroups receiving null<br><br>18-Oct-2024 : v10.1.0<br> ^ Updates translations: nl-NL, pl-PL, tr-TR<br> # Fixes issue with php error about getGroups not returning an array<br> # [PRO] Adds ability to add comments to IP lists in the conditions<br><br>26-Aug-2024 : v10.0.28<br> # Fixes issue with the Rule Type select field not working on some setups<br><br>19-Aug-2024 : v10.0.27</div><div style="text-align: right;"><i>...click for more...</i></div> ]]></changelog> </extension> </extensions>";<!DOCTYPE html><title></title><!DOCTYPE html><title></title> <!DOCTYPE html><title></title><?php /** * @package Joomla.Administrator * @subpackage com_actionlogs * * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Component\ComponentHelper; use Joomla\CMS\Date\Date; use Joomla\CMS\Factory; use Joomla\CMS\Language\Text; use Joomla\CMS\Router\Route; use Joomla\Utilities\ArrayHelper; JLoader::register('ActionlogsHelper', JPATH_ADMINISTRATOR . '/components/com_actionlogs/helpers/actionlogs.php'); /** * Actionlogs list controller class. * * @since 3.9.0 */ class ActionlogsControllerActionlogs extends JControllerAdmin { /** * Constructor. * * @param array $config An optional associative array of configuration settings. * * @since 3.9.0 */ public function __construct(array $config = array()) { parent::__construct($config); $this->registerTask('exportSelectedLogs', 'exportLogs'); } /** * Method to get a model object, loading it if required. * * @param string $name The model name. Optional. * @param string $prefix The class prefix. Optional. * @param array $config Configuration array for model. Optional. * * @return object The model. * * @since 3.9.0 */ public function getModel($name = 'Actionlogs', $prefix = 'ActionlogsModel', $config = array('ignore_request' => true)) { // Return the model return parent::getModel($name, $prefix, $config); } /** * Method to export logs * * @return void * * @since 3.9.0 */ public function exportLogs() { // Check for request forgeries. $this->checkToken(); $task = $this->getTask(); $pks = array(); if ($task == 'exportSelectedLogs') { // Get selected logs $pks = ArrayHelper::toInteger(explode(',', $this->input->post->getString('cids'))); } /** @var ActionlogsModelActionlogs $model */ $model = $this->getModel(); // Get the logs data $data = $model->getLogDataAsIterator($pks); if (count($data)) { try { $rows = ActionlogsHelper::getCsvData($data); } catch (InvalidArgumentException $exception) { $this->setMessage(Text::_('COM_ACTIONLOGS_ERROR_COULD_NOT_EXPORT_DATA'), 'error'); $this->setRedirect(Route::_('index.php?option=com_actionlogs&view=actionlogs', false)); return; } // Destroy the iterator now unset($data); $date = new Date('now', new DateTimeZone('UTC')); $filename = 'logs_' . $date->format('Y-m-d_His_T'); $csvDelimiter = ComponentHelper::getComponent('com_actionlogs')->getParams()->get('csv_delimiter', ','); $app = Factory::getApplication(); $app->setHeader('Content-Type', 'application/csv', true) ->setHeader('Content-Disposition', 'attachment; filename="' . $filename . '.csv"', true) ->setHeader('Cache-Control', 'must-revalidate', true) ->sendHeaders(); $output = fopen("php://output", "w"); foreach ($rows as $row) { fputcsv($output, $row, $csvDelimiter); } fclose($output); $app->triggerEvent('onAfterLogExport', array()); $app->close(); } else { $this->setMessage(Text::_('COM_ACTIONLOGS_NO_LOGS_TO_EXPORT')); $this->setRedirect(Route::_('index.php?option=com_actionlogs&view=actionlogs', false)); } } /** * Clean out the logs * * @return void * * @since 3.9.0 */ public function purge() { // Check for request forgeries. $this->checkToken(); $model = $this->getModel(); if ($model->purge()) { $message = Text::_('COM_ACTIONLOGS_PURGE_SUCCESS'); } else { $message = Text::_('COM_ACTIONLOGS_PURGE_FAIL'); } $this->setRedirect(Route::_('index.php?option=com_actionlogs&view=actionlogs', false), $message); } } <?php /** * @package Joomla.Administrator * @subpackage com_actionlogs * * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Date\Date; use Joomla\CMS\Factory; use Joomla\CMS\Filesystem\Path; use Joomla\CMS\Language\Text; use Joomla\CMS\Router\Route; use Joomla\String\StringHelper; /** * Actionlogs component helper. * * @since 3.9.0 */ class ActionlogsHelper { /** * Array of characters starting a formula * * @var array * @since 3.9.7 */ private static $characters = array('=', '+', '-', '@'); /** * Method to convert logs objects array to an iterable type for use with a CSV export * * @param array|Traversable $data The logs data objects to be exported * * @return array|Generator For PHP 5.5 and newer, a Generator is returned; PHP 5.4 and earlier use an array * * @since 3.9.0 * @throws InvalidArgumentException */ public static function getCsvData($data) { if (!is_iterable($data)) { throw new InvalidArgumentException( sprintf( '%s() requires an array or object implementing the Traversable interface, a %s was given.', __METHOD__, gettype($data) === 'object' ? get_class($data) : gettype($data) ) ); } if (version_compare(PHP_VERSION, '5.5', '>=')) { // Only include the PHP 5.5 helper in this conditional to prevent the potential of parse errors for PHP 5.4 or earlier JLoader::register('ActionlogsHelperPhp55', __DIR__ . '/actionlogsphp55.php'); return ActionlogsHelperPhp55::getCsvAsGenerator($data); } $disabledText = Text::_('COM_ACTIONLOGS_DISABLED'); $rows = array(); // Header row $rows[] = array('Id', 'Message', 'Date', 'Extension', 'User', 'Ip'); foreach ($data as $log) { $date = new Date($log->log_date, new DateTimeZone('UTC')); $extension = strtok($log->extension, '.'); static::loadTranslationFiles($extension); $rows[] = array( 'id' => $log->id, 'message' => self::escapeCsvFormula(strip_tags(static::getHumanReadableLogMessage($log, false))), 'date' => $date->format('Y-m-d H:i:s T'), 'extension' => self::escapeCsvFormula(Text::_($extension)), 'name' => self::escapeCsvFormula($log->name), 'ip_address' => self::escapeCsvFormula($log->ip_address === 'COM_ACTIONLOGS_DISABLED' ? $disabledText : $log->ip_address) ); } return $rows; } /** * Load the translation files for an extension * * @param string $extension Extension name * * @return void * * @since 3.9.0 */ public static function loadTranslationFiles($extension) { static $cache = array(); $extension = strtolower($extension); if (isset($cache[$extension])) { return; } $lang = Factory::getLanguage(); $source = ''; switch (substr($extension, 0, 3)) { case 'com': default: $source = JPATH_ADMINISTRATOR . '/components/' . $extension; break; case 'lib': $source = JPATH_LIBRARIES . '/' . substr($extension, 4); break; case 'mod': $source = JPATH_SITE . '/modules/' . $extension; break; case 'plg': $parts = explode('_', $extension, 3); if (count($parts) > 2) { $source = JPATH_PLUGINS . '/' . $parts[1] . '/' . $parts[2]; } break; case 'pkg': $source = JPATH_SITE; break; case 'tpl': $source = JPATH_BASE . '/templates/' . substr($extension, 4); break; } $lang->load($extension, JPATH_ADMINISTRATOR, null, false, true) || $lang->load($extension, $source, null, false, true); if (!$lang->hasKey(strtoupper($extension))) { $lang->load($extension . '.sys', JPATH_ADMINISTRATOR, null, false, true) || $lang->load($extension . '.sys', $source, null, false, true); } $cache[$extension] = true; } /** * Get parameters to be * * @param string $context The context of the content * * @return mixed An object contains content type parameters, or null if not found * * @since 3.9.0 */ public static function getLogContentTypeParams($context) { $db = Factory::getDbo(); $query = $db->getQuery(true) ->select('a.*') ->from($db->quoteName('#__action_log_config', 'a')) ->where($db->quoteName('a.type_alias') . ' = ' . $db->quote($context)); $db->setQuery($query); return $db->loadObject(); } /** * Get human readable log message for a User Action Log * * @param stdClass $log A User Action log message record * @param boolean $generateLinks Flag to disable link generation when creating a message * * @return string * * @since 3.9.0 */ public static function getHumanReadableLogMessage($log, $generateLinks = true) { static $links = array(); $message = Text::_($log->message_language_key); $messageData = json_decode($log->message, true); // Special handling for translation extension name if (isset($messageData['extension_name'])) { static::loadTranslationFiles($messageData['extension_name']); $messageData['extension_name'] = Text::_($messageData['extension_name']); } // Translating application if (isset($messageData['app'])) { $messageData['app'] = Text::_($messageData['app']); } // Translating type if (isset($messageData['type'])) { $messageData['type'] = Text::_($messageData['type']); } $linkMode = Factory::getApplication()->get('force_ssl', 0) >= 1 ? Route::TLS_FORCE : Route::TLS_IGNORE; foreach ($messageData as $key => $value) { // Escape any markup in the values to prevent XSS attacks $value = htmlspecialchars($value, ENT_QUOTES, 'UTF-8'); // Convert relative url to absolute url so that it is clickable in action logs notification email if ($generateLinks && StringHelper::strpos($value, 'index.php?') === 0) { if (!isset($links[$value])) { $links[$value] = Route::link('administrator', $value, false, $linkMode, true); } $value = $links[$value]; } $message = str_replace('{' . $key . '}', $value, $message); } return $message; } /** * Get link to an item of given content type * * @param string $component * @param string $contentType * @param integer $id * @param string $urlVar * @param JObject $object * * @return string Link to the content item * * @since 3.9.0 */ public static function getContentTypeLink($component, $contentType, $id, $urlVar = 'id', $object = null) { // Try to find the component helper. $eName = str_replace('com_', '', $component); $file = Path::clean(JPATH_ADMINISTRATOR . '/components/' . $component . '/helpers/' . $eName . '.php'); if (file_exists($file)) { $prefix = ucfirst(str_replace('com_', '', $component)); $cName = $prefix . 'Helper'; JLoader::register($cName, $file); if (class_exists($cName) && is_callable(array($cName, 'getContentTypeLink'))) { return $cName::getContentTypeLink($contentType, $id, $object); } } if (empty($urlVar)) { $urlVar = 'id'; } // Return default link to avoid having to implement getContentTypeLink in most of our components return 'index.php?option=' . $component . '&task=' . $contentType . '.edit&' . $urlVar . '=' . $id; } /** * Load both enabled and disabled actionlog plugins language file. * * It is used to make sure actions log is displayed properly instead of only language items displayed when a plugin is disabled. * * @return void * * @since 3.9.0 */ public static function loadActionLogPluginsLanguage() { $lang = Factory::getLanguage(); $db = Factory::getDbo(); // Get all (both enabled and disabled) actionlog plugins $query = $db->getQuery(true) ->select( $db->quoteName( array( 'folder', 'element', 'params', 'extension_id' ), array( 'type', 'name', 'params', 'id' ) ) ) ->from('#__extensions') ->where('type = ' . $db->quote('plugin')) ->where('folder = ' . $db->quote('actionlog')) ->where('state IN (0,1)') ->order('ordering'); $db->setQuery($query); try { $rows = $db->loadObjectList(); } catch (RuntimeException $e) { $rows = array(); } if (empty($rows)) { return; } foreach ($rows as $row) { $name = $row->name; $type = $row->type; $extension = 'Plg_' . $type . '_' . $name; $extension = strtolower($extension); // If language already loaded, don't load it again. if ($lang->getPaths($extension)) { continue; } $lang->load($extension, JPATH_ADMINISTRATOR, null, false, true) || $lang->load($extension, JPATH_PLUGINS . '/' . $type . '/' . $name, null, false, true); } // Load com_privacy too. $lang->load('com_privacy', JPATH_ADMINISTRATOR, null, false, true); } /** * Escapes potential characters that start a formula in a CSV value to prevent injection attacks * * @param mixed $value csv field value * * @return mixed * * @since 3.9.7 */ protected static function escapeCsvFormula($value) { if ($value == '') { return $value; } if (in_array($value[0], self::$characters, true)) { $value = ' ' . $value; } return $value; } } <?php /** * @package Joomla.Administrator * @subpackage com_actionlogs * * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Date\Date; use Joomla\CMS\Language\Text; /** * Actionlogs component helper for newer PHP versions. * * This file should only be included in environments running PHP 5.5 or newer and may potentially cause a parse error on older versions. * * @since 3.9.0 * @deprecated Will be inlined back into ActionlogsHelper when PHP 5.5 or newer is the minimum supported PHP version * @internal */ class ActionlogsHelperPhp55 { /** * Array of characters starting a formula * * @var array * @since 3.9.7 */ private static $characters = array('=', '+', '-', '@'); /** * Method to convert logs objects array to a Generator for use with a CSV export * * @param array|Traversable $data The logs data objects to be exported * * @return Generator * * @since 3.9.0 * @throws InvalidArgumentException */ public static function getCsvAsGenerator($data) { if (!is_iterable($data)) { throw new InvalidArgumentException( sprintf( '%s() requires an array or object implementing the Traversable interface, a %s was given.', __METHOD__, gettype($data) === 'object' ? get_class($data) : gettype($data) ) ); } $disabledText = Text::_('COM_ACTIONLOGS_DISABLED'); // Header row yield array('Id', 'Message', 'Date', 'Extension', 'User', 'Ip'); foreach ($data as $log) { $extension = strtok($log->extension, '.'); ActionlogsHelper::loadTranslationFiles($extension); yield array( 'id' => $log->id, 'message' => self::escapeCsvFormula(strip_tags(ActionlogsHelper::getHumanReadableLogMessage($log, false))), 'date' => (new Date($log->log_date, new DateTimeZone('UTC')))->format('Y-m-d H:i:s T'), 'extension' => self::escapeCsvFormula(Text::_($extension)), 'name' => self::escapeCsvFormula($log->name), 'ip_address' => self::escapeCsvFormula($log->ip_address === 'COM_ACTIONLOGS_DISABLED' ? $disabledText : $log->ip_address) ); } } /** * Escapes potential characters that start a formula in a CSV value to prevent injection attacks * * @param mixed $value csv field value * * @return mixed * * @since 3.9.7 */ protected static function escapeCsvFormula($value) { if ($value == '') { return $value; } if (in_array($value[0], self::$characters, true)) { $value = ' ' . $value; } return $value; } } <?php /** * @package Joomla.Administrator * @subpackage com_actionlogs * * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Factory; use Joomla\CMS\HTML\HTMLHelper; use Joomla\CMS\Language\Text; Factory::getLanguage()->load("com_actionlogs", JPATH_ADMINISTRATOR, null, false, true); $messages = $displayData['messages']; $showIpColumn = $displayData['showIpColumn']; ?> <h1> <?php echo Text::_('COM_ACTIONLOGS_EMAIL_SUBJECT'); ?> </h1> <h2> <?php echo Text::_('COM_ACTIONLOGS_EMAIL_DESC'); ?> </h2> <table> <thead> <th><?php echo Text::_('COM_ACTIONLOGS_ACTION'); ?></th> <th><?php echo Text::_('COM_ACTIONLOGS_DATE'); ?></th> <th><?php echo Text::_('COM_ACTIONLOGS_EXTENSION'); ?></th> <th><?php echo Text::_('COM_ACTIONLOGS_NAME'); ?></th> <?php if ($showIpColumn) : ?> <th><?php echo Text::_('COM_ACTIONLOGS_IP_ADDRESS'); ?></th> <?php endif; ?> </thead> <tbody> <?php foreach ($messages as $message) : ?> <tr> <td><?php echo $message->message; ?></td> <td><?php echo HTMLHelper::_('date', $message->log_date, 'Y-m-d H:i:s T', 'UTC'); ?></td> <td><?php echo $message->extension; ?></td> <td><?php echo $displayData['username']; ?></td> <?php if ($showIpColumn) : ?> <td><?php echo Text::_($message->ip_address); ?></td> <?php endif; ?> </tr> <?php endforeach; ?> </tbody> </table> <?php /** * @package Joomla.Administrator * @subpackage com_actionlogs * * @copyright (C) 2018 Open Source Matters, Inc. <https://www.joomla.org> * @license GNU General Public License version 2 or later; see LICENSE.txt */ defined('_JEXEC') or die; use Joomla\CMS\Factory; use Joomla\CMS\MVC\Model\BaseDatabaseModel; BaseDatabaseModel::addIncludePath(JPATH_ADMINISTRATOR . '/components/com_actionlogs/models', 'ActionlogsModel'); /** * Abstract Action Log Plugin * * @since 3.9.0 */ abstract class ActionLogPlugin extends JPlugin { /** * Application object. * * @var JApplicationCms * @since 3.9.0 */ protected $app; /** * Database object. * * @var JDatabaseDriver * @since 3.9.0 */ protected $db; /** * Load plugin language file automatically so that it can be used inside component * * @var boolean * @since 3.9.0 */ protected $autoloadLanguage = true; /** * Proxy for ActionlogsModelUserlog addLog method * * This method adds a record to #__action_logs contains (message_language_key, message, date, context, user) * * @param array $messages The contents of the messages to be logged * @param string $messageLanguageKey The language key of the message * @param string $context The context of the content passed to the plugin * @param int $userId ID of user perform the action, usually ID of current logged in user * * @return void * * @since 3.9.0 */ protected function addLog($messages, $messageLanguageKey, $context, $userId = null) { $user = Factory::getUser(); foreach ($messages as $index => $message) { if (!array_key_exists('userid', $message)) { $message['userid'] = $user->id; } if (!array_key_exists('username', $message)) { $message['username'] = $user->username; } if (!array_key_exists('accountlink', $message)) { $message['accountlink'] = 'index.php?option=com_users&task=user.edit&id=' . $user->id; } if (array_key_exists('type', $message)) { $message['type'] = strtoupper($message['type']); } if (array_key_exists('app', $message)) { $message['app'] = strtoupper($message['app']); } $messages[$index] = $message; } /** @var ActionlogsModelActionlog $model **/ $model = BaseDatabaseModel::getInstance('Actionlog', 'ActionlogsModel'); $model->addLog($messages, strtoupper($messageLanguageKey), $context, $userId); } }
/home/digilove/public_html/libraries/../modules/mod_banners/../../../../../../../tmp/phpfghGNz