Skip to content

Commit

Permalink
Merge branch 'main' into next
Browse files Browse the repository at this point in the history
  • Loading branch information
fballiano committed Jul 4, 2023
2 parents 80dae5c + 6892dee commit 5711907
Show file tree
Hide file tree
Showing 6 changed files with 166 additions and 17 deletions.
154 changes: 154 additions & 0 deletions .ddev/commands/web/openmage-install
Original file line number Diff line number Diff line change
@@ -0,0 +1,154 @@
#!/bin/bash

## ProjectTypes: magento
## Description: Install OpenMage
## Usage: openmage-install [-d|--default] [-s|--sampledata] [-k|--keep] [-q|--quiet]
## Example: ddev openmage-install -d -s -k
## Flags: [{"Name":"default","Shorthand":"d","Usage":"use default values"},{"Name":"sampledata","Shorthand":"s","Usage":"install sample data"},{"Name":"keep","Shorthand":"k","Usage":"keep sample data package"},{"Name":"quiet","Shorthand":"q","Usage":"silent install with sample data"}]

ROOT="${PWD}"

QUIET_INSTALL_FLAG=''
SAMPLE_DATA_FLAG=''
SAMPLE_DATA_KEEP_FLAG=''
USE_DEFAULT_FLAG=''

while :; do
case ${1:-} in
-d|--default)
USE_DEFAULT_FLAG='true' ;;
-s|--sampledata)
SAMPLE_DATA_FLAG='true' ;;
-k|--keep)
SAMPLE_DATA_KEEP_FLAG='true' ;;
-q|--quiet)
QUIET_INSTALL_FLAG='true'
USE_DEFAULT_FLAG='true'
SAMPLE_DATA_FLAG='true'
;;
--) # End of all options.
shift
break
;;
-?*)
printf 'WARN: Unknown option (ignored): %s\n' "$1" >&2
;;
*) # Default case: No more options, so break out of the loop.
break
esac

shift
done

LOCALXML="${ROOT}/app/etc/local.xml"
if [ -f "${LOCALXML}" ]; then
if [[ "${QUIET_INSTALL_FLAG}" ]]; then
DELETE='y'
else
read -r -p "OpenMage is already installed. Delete local.xml and drop the database? [y/N] " DELETE
DELETE=${DELETE,,} # to lower
fi

if [[ "${DELETE}" =~ ^(yes|y) ]]; then
mysql -u db -h db -e "DROP SCHEMA IF EXISTS db; CREATE SCHEMA db;";
rm "${LOCALXML}"
else
exit 1
fi
fi

# install sample data
if [[ "${SAMPLE_DATA_FLAG}" ]]; then
INSTALL_SAMPLE_DATA='y'
else
read -r -p "Install Sample Data? [y/N] " INSTALL_SAMPLE_DATA
INSTALL_SAMPLE_DATA=${INSTALL_SAMPLE_DATA,,} # to lower
fi

if [[ $INSTALL_SAMPLE_DATA =~ ^(yes|y) ]]; then
SAMPLE_DATA_URL=https://github.com/Vinai/compressed-magento-sample-data/raw/master/compressed-magento-sample-data-1.9.2.4.tgz
SAMPLE_DATA_DIRECTORY="${ROOT}/.sampleData"
SAMPLE_DATA_FILE=sample_data.tgz

if [[ ! -d "${SAMPLE_DATA_DIRECTORY}" ]]; then
echo "Creating Sample Data directory..."
mkdir -p "${SAMPLE_DATA_DIRECTORY}"
fi

cd "${SAMPLE_DATA_DIRECTORY}" || exit
if [[ ! -f "${SAMPLE_DATA_DIRECTORY}/${SAMPLE_DATA_FILE}" ]]; then
echo "Downloading Sample Data..."
wget "${SAMPLE_DATA_URL}" -O "${SAMPLE_DATA_FILE}"
fi

echo "Uncompressing Sample Data..."
tar xf "${SAMPLE_DATA_FILE}"

echo "Copying Sample Data into the OpenMage directory..."
cp -r magento-sample-data-1.9.2.4/* "${ROOT}/"

echo "Importing Sample Data into the database..."
mysql -u db -h db db < "${SAMPLE_DATA_DIRECTORY}/magento-sample-data-1.9.2.4/magento_sample_data_for_1.9.2.4.sql"

# remove sample data
if [[ "${SAMPLE_DATA_KEEP_FLAG}" ]]; then
rm -rf $(
find . -maxdepth 1 -type f -name "*" ! -name "${SAMPLE_DATA_FILE}")
else
cd "${ROOT}" || exit
rm -rf "${SAMPLE_DATA_DIRECTORY}"
fi
fi

cd "${ROOT}" || exit

if [[ "${USE_DEFAULT_FLAG}" ]]; then
ADMIN_USER='admin'
ADMIN_FIRSTNAME='OpenMage'
ADMIN_LASTNAME='Administrator'
ADMIN_EMAIL='admin@example.com'
ADMIN_PASSWORD='veryl0ngpassw0rd'
TABLE_PREFIX='om_'
else
read -r -p "Admin User [admin]: " ADMIN_USER
ADMIN_USER=${ADMIN_USER:-admin}
read -r -p "Admin Firstname [OpenMage]: " ADMIN_FIRSTNAME
ADMIN_FIRSTNAME=${ADMIN_FIRSTNAME:-OpenMage}
read -r -p "Admin Lastname [Administrator]: " ADMIN_LASTNAME
ADMIN_LASTNAME=${ADMIN_LASTNAME:-Administrator}
read -r -p "Admin Email [admin@example.com]: " ADMIN_EMAIL
ADMIN_EMAIL=${ADMIN_EMAIL:-admin@example.com}
read -r -p "Admin Password [veryl0ngpassw0rd]: " ADMIN_PASSWORD
ADMIN_PASSWORD=${ADMIN_PASSWORD:-veryl0ngpassw0rd}
if [[ $INSTALL_SAMPLE_DATA =~ ^(yes|y) ]]; then
TABLE_PREFIX=''
else
read -r -e -i 'om_' -p "Table Prefix [om_]: " TABLE_PREFIX
fi
fi

php -f install.php -- \
--license_agreement_accepted 'yes' \
--locale 'en_US' \
--timezone 'America/New_York' \
--db_host 'db' \
--db_name 'db' \
--db_user 'db' \
--db_pass 'db' \
--db_prefix "${TABLE_PREFIX}" \
--url "${DDEV_PRIMARY_URL}" \
--use_rewrites 'yes' \
--use_secure 'yes' \
--secure_base_url "${DDEV_PRIMARY_URL}" \
--use_secure_admin 'yes' \
--admin_username "${ADMIN_USER}" \
--admin_lastname "${ADMIN_LASTNAME}" \
--admin_firstname "${ADMIN_FIRSTNAME}" \
--admin_email "${ADMIN_EMAIL}" \
--admin_password "${ADMIN_PASSWORD}" \
--session_save 'files' \
--admin_frontname 'admin' \
--backend_frontname 'admin' \
--default_currency 'USD' \
--enable_charts 'yes' \
--skip_url_validation 'yes'
7 changes: 5 additions & 2 deletions app/code/core/Mage/GoogleAnalytics/Block/Ga.php
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,9 @@
*/
class Mage_GoogleAnalytics_Block_Ga extends Mage_Core_Block_Template
{
protected const CHECKOUT_MODULE_NAME = "checkout";
protected const CHECKOUT_CONTROLLER_NAME = "onepage";

/**
* Render regular page tracking javascript code
* The custom "page name" may be set from layout or somewhere else. It must start from slash.
Expand Down Expand Up @@ -304,7 +307,7 @@ protected function _getEnhancedEcommerceDataForAnalytics4()
*
* @link https://developers.google.com/tag-platform/gtagjs/reference/events#begin_checkout
*/
elseif ($moduleName == 'checkout' && $controllerName == 'onepage') {
elseif ($moduleName == static::CHECKOUT_MODULE_NAME && $controllerName == static::CHECKOUT_CONTROLLER_NAME) {
$productCollection = Mage::getSingleton('checkout/session')->getQuote()->getAllVisibleItems();
if ($productCollection) {
$eventData = [];
Expand Down Expand Up @@ -342,7 +345,7 @@ protected function _getEnhancedEcommerceDataForAnalytics4()
$orderIds = $this->getOrderIds();
if (!empty($orderIds) && is_array($orderIds)) {
$collection = Mage::getResourceModel('sales/order_collection')
->addFieldToFilter('entity_id', ['in' => $orderIds]);
->addFieldToFilter('entity_id', ['in' => $orderIds]);
/** @var Mage_Sales_Model_Order $order */
foreach ($collection as $order) {
$orderData = [
Expand Down
2 changes: 1 addition & 1 deletion app/code/core/Mage/Paypal/Model/Ipn.php
Original file line number Diff line number Diff line change
Expand Up @@ -559,7 +559,7 @@ protected function _registerPaymentRefund()
->setTransactionId($this->getRequestData('txn_id'))
->setParentTransactionId($this->getRequestData('parent_txn_id'))
->setIsTransactionClosed($isRefundFinal)
->registerRefundNotification(-1 * $this->getRequestData('mc_gross'));
->registerRefundNotification(-1 * (float)$this->getRequestData('mc_gross'));
$this->_order->addStatusHistoryComment($comment, false);
$this->_order->save();

Expand Down
5 changes: 1 addition & 4 deletions app/code/core/Mage/Rule/Model/Abstract.php
Original file line number Diff line number Diff line change
Expand Up @@ -319,10 +319,7 @@ protected function _convertFlatToRecursive(array $data)
$path = explode('--', $id);
$node =& $arr;
for ($i = 0, $l = count($path); $i < $l; $i++) {
if (!isset($node[$key][$path[$i]])) {
$node[$key][$path[$i]] = [];
}
$node =& $node[$key][$path[$i]];
$node =& $node[$key][$path[$i]] ?? [];
}
foreach ($data as $k => $v) {
$node[$k] = $v;
Expand Down
10 changes: 5 additions & 5 deletions composer.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 0 additions & 5 deletions phpstan.dist.baseline.neon
Original file line number Diff line number Diff line change
Expand Up @@ -3670,11 +3670,6 @@ parameters:
count: 1
path: app/code/core/Mage/Rss/Helper/Data.php

-
message: "#^Offset 'actions'\\|'conditions' on array\\{\\} in isset\\(\\) does not exist\\.$#"
count: 1
path: app/code/core/Mage/Rule/Model/Abstract.php

-
message: "#^Property Mage_Rule_Model_Abstract\\:\\:\\$_conditions \\(Mage_Rule_Model_Condition_Combine\\) in empty\\(\\) is not falsy\\.$#"
count: 1
Expand Down

0 comments on commit 5711907

Please sign in to comment.