air travel – EU passenger rights for change in departure time announced on short notice

A European airline just announced that my intercontinental flight to Europe will depart 3.5 hours later than originally planned, leading to a different connecting flight with an arrival at final destination 8.5 hours later than originally planned. They announced that less than three days before departure.

The airline now asks me in an email whether I’m accepting this change or whether I want to travel at a different date (absolutely not possible for me).

What can I expect regarding my passenger rights? Do I forfeit my rights for compensation by sending my acceptance of these changes? Am I entitled to compensation at all?

air travel – Am I entitled to compensation under EU261 if my flight was rescheduled to four days later with only six days notice?

I have been notified a little less than six days before my originally scheduled departure time, about a schedule change resulting in my flight departing four days later. The flight numbers are the same, and the airline is refusing compensation in accordance with EU261 as they state that this situation does not regard a cancellation. The airline has stated that the reschedule was done because of commercial reasons (so, no extraordinary circumstances).

The airline offered me a refund, but that seems ridiculous to me – to me it seems simply unethical and unfair to reschedule a flight with such an extreme difference (96 hours) out of commercial reasons, and not compensate passengers, who booked unrefundable hotel stays and such, accordingly. Am I right that I am in this case entitled to EU261 compensation?

Is anyone aware of any jurisprudence?

magento2 – Missing ‘return’ statement in frontend Controller execute() method (IDE warning notice)

That is because of this phpDoc Block of your execute function

/**
 * @inheritDoc
 */

If you check the parent interface

MagentoFrameworkAppActionInterface

It clearly defines the return type

/**
 * Execute action based on request and return result
 *
 * Note: Request will be added as operation argument in future
 *
 * @return MagentoFrameworkControllerResultInterface|ResponseInterface
 * @throws MagentoFrameworkExceptionNotFoundException
 */
public function execute();

In order to fix this you should write your own or update your phpDoc Block to return void.

/**     
 * @return void
 */

Magento2: Notice: Undefined index: – Magento Stack Exchange

We use mageplaza extension products grid. Impossible open products –> catalog

Notice: Undefined index: position in /home/user/domains/domain.com/public_html/app/code/Mageplaza/ProductGrid/Ui/Component/Listing/Columns/Thumbnail.php on line 183

on line 183 code:

/**
 * @param Product $product
 *
 * @return string
 * @throws LocalizedException
 */
public function prepareFileData($product)
{
    $data     = ();
    $position = ();
    $images   = $product->getMediaGalleryImages();
    foreach ($images as $image) {
        $image->setFileSize($this->_helperData->fileSizeFormat($this->_file->getFileSize($image->getPath())));
        $data($image->getValueId()) = $image->getData();
    }
    $imageEntities = $product->getMediaGalleryEntries();
    foreach ($imageEntities as $imageEntity) {
        $data($imageEntity->getId())('types') = (
            'image'        => 0,
            'small_image'  => 0,
            'thumbnail'    => 0,
            'swatch_image' => 0,
        );
        foreach ($imageEntity->getTypes() as $type) {
            $data($imageEntity->getId())('types')($type) = 1;
        }
    }
    foreach ($data as $key => $item) {
        $position($key) = $item('position');
    }
    array_multisort($position, SORT_ASC, $data);

    return HelperData::jsonEncode($data);
}

/**

Any solution?

Magento2: Notice: Undefined variable: _product

I use product slider from mageplaza.

Above product name I try display brand name from attribute: newbrand_name

to file productslider.phtml I add below code:

<?php
$optionText = '';
$attr = $_product->getResource()->getAttribute('newbrand_name');
if ($attr->usesSource()) {
    $optionText = $attr->getSource()->getOptionText($_product->getNewbrandName());
}
?>
<?php if ($optionText) { ?>
    <div class="brand-name"><?php echo $optionText ?></div><br />
<?php } ?>

In frontend I get issue:

Notice: Undefined variable: _product in /home/shop/domains/domain.com/public_html/app/code/Mageplaza/Productslider/view/frontend/templates/productslider.phtml on line 50

Here is full file code:

<?php
/**
 * Mageplaza
 *
 * NOTICE OF LICENSE
 *
 * This source file is subject to the Mageplaza.com license that is
 * available through the world-wide-web at this URL:
 * https://www.mageplaza.com/LICENSE.txt
 *
 * DISCLAIMER
 *
 * Do not edit or add to this file if you wish to upgrade this extension to newer
 * version in the future.
 *
 * @category    Mageplaza
 * @package     Mageplaza_Productslider
 * @copyright   Copyright (c) Mageplaza (https://www.mageplaza.com/)
 * @license     https://www.mageplaza.com/LICENSE.txt
 */

use MageplazaProductsliderBlockAbstractSlider;
use MagentoFrameworkAppActionAction;

/** @var AbstractSlider $block */
$mode = 'grid';
$title = $block->getTitle();
$blockId = $block->getSliderId() . uniqid('-', false);
$items = $block->getProductCollection();
if ($items && $items->getSize()) : ?>
    <div class="mp-product-slider-block block widget block-products-list <?= /** @noEscape */ $mode ?>">
        <h2 class="mp-product-slider-title"><?= $block->escapeHtml($title) ?></h2>
        <p class="mp-ps-info"><?= $block->escapeHtml($block->getDescription()) ?></p>
    </div>
    <div class="block-content mp-product-slider-content">
        <div class="products-<?= /** @noEscape */  $mode ?> <?= /** @noEscape */  $mode ?>">
            <ol class="product-items widget-viewed-grid">
                <?php $iterator = 1; ?>
                <div id="mp-list-items-<?= /** @noEscape */ $blockId ?>" class="owl-carousel owl-theme">
                    <?php foreach ($items as $_item) : ?>
                        <?= ($iterator++ == 1) ? '<li class="product-item product-slider"">' : '</li><li class="product-item product-slider"">' ?>
                        <div class="slider-product-item-info">
                            <a href="<?= $block->escapeUrl($block->getProductUrl($_item)) ?>"
                               class="product photo slider-product-item-photo">
                                <?= $block->getImage($_item, 'recently_viewed_products_grid_content_widget')->toHtml(); ?>
                            </a>
                            <div class="product details slider-product-item-details">
                            <?php 
                                        $optionText = '';
                                        $attr = $_product->getResource()->getAttribute('newbrand_name');
                                        if ($attr->usesSource()) {
                                           $optionText = $attr->getSource()->getOptionText($_product->getNewbrandName());
                                        }
                                    ?>
                                    <?php if($optionText){ ?>
                                        <div class="brand-name"><?php echo $optionText ?></div><br />
                                    <?php } ?>
                                <strong class="product name product-item-name">
                                    <a title="<?= $block->escapeHtml($_item->getCustomName()) ?>"
                                       href="<?= $block->escapeUrl($block->getProductUrl($_item)) ?>">
                                        <?= $block->escapeHtml($_item->getCustomName()) ?>
                                    </a>
                                </strong>

                                <?php if ($block->canShowReview()) : ?>
                                    <?= $block->getReviewsSummaryHtml($_item, 'short', true) ?>
                                <?php endif; ?>

                                <?php if ($block->canShowPrice()) : ?>
                                    <?= /** @noEscape */ $block->getProductPrice($_item) ?>
                                <?php endif; ?>

                                <div class="product actions slider-product-item-actions product-item-actions">
                                    <?php if ($block->canShowAddToCart()) : ?>
                                        <div class="actions-primary">
                                            <?php if ($_item->isSaleable()) : ?>
                                                <?php $postParams = $block->getAddToCartPostParams($_item); ?>
                                                <form data-role="tocart-form" data-product-sku="<?= $block->escapeHtml($_item->getSku()) ?>" action="<?= /* @NoEscape */ $postParams('action') ?>" method="post">
                                                    <input type="hidden" name="product" value="<?= /* @escapeNotVerified */ $postParams('data')('product') ?>">
                                                    <input type="hidden" name="<?= /* @escapeNotVerified */ Action::PARAM_NAME_URL_ENCODED ?>" value="<?= /* @escapeNotVerified */ $postParams('data')(Action::PARAM_NAME_URL_ENCODED) ?>">
                                                    <?= $block->getBlockHtml('formkey') ?>
                                                    <button type="submit"
                                                            title="<?= $block->escapeHtml(__('Add to Cart')) ?>"
                                                            class="action tocart primary">
                                                        <span><?= /** @noEscape */ __('Add to Cart') ?></span>
                                                    </button>
                                                </form>
                                            <?php else : ?>
                                                <?php if ($_item->getIsSalable()) : ?>
                                                    <div class="stock available"><span><?= $block->escapeHtml(__('In stock')) ?></span></div>
                                                <?php else : ?>
                                                    <div class="stock unavailable"><span><?= $block->escapeHtml(__('Out of stock')) ?></span></div>
                                                <?php endif; ?>
                                            <?php endif; ?>
                                        </div>
                                        <div class="secondary-addto-links actions-secondary"
                                             data-role="add-to-links">
                                            <?php if ($this->helper('MagentoWishlistHelperData')->isAllow()) : ?>
                                                <a href="#"
                                                   data-post='<?= /** @noEscape */ $block->getAddToWishlistParams($_item); ?>'
                                                   class="action towishlist" data-action="add-to-wishlist"
                                                   title="<?= /** @noEscape */ __('Add to Wish List') ?>">
                                                    <span><?= /** @noEscape */ __('Add to Wish List') ?></span>
                                                </a>
                                            <?php endif; ?>
                                            <?php if ($block->getAddToCompareUrl()) : ?>
                                                <?php $compareHelper = $this->helper('MagentoCatalogHelperProductCompare'); ?>
                                                <a href="#" class="action tocompare"
                                                   data-post='<?= /** @noEscape */ $compareHelper->getPostDataParams($_item); ?>'
                                                   data-role="add-to-links"
                                                   title="<?= /** @noEscape */ __('Add to Compare') ?>">
                                                    <span><?= /** @noEscape */ __('Add to Compare') ?></span>
                                                </a>
                                            <?php endif; ?>
                                        </div>
                                    <?php endif; ?>
                                </div>
                            </div>
                        </div>
                        <?= ($iterator === count($items) + 1) ? '</li>' : '' ?>
                    <?php endforeach ?>
                </div>
            </ol>
        </div>
        <?= $block->getPagerHtml() ?>
    </div>
    <script>
        require(('jquery', 'mageplaza/core/owl.carousel'), function ($) {
            $('#mp-list-items-<?= /** @noEscape */ $blockId ?>').owlCarousel(<?= /** @noEscape */ $block->getAllOptions()?>);
        });
    </script>
<?php endif; ?>

magento 1.9 – Keep notice message without Ajax Cart Pro

I’m using Ajax Cart Pro. The usual bahviour of the module is to show a modal with all the messages.

This modal is triggered by :

me.fire(response.redirect_to, parameters, observer);

The file is js/aw_ajaxcartpro/ajaxcartpro.js

What I’m trying to do is if I have notice message, I don’t want this modal to show but instead the page should reload with the notice messages.

So basically what I am doing is that

me.msg = response.msg;
var messageQuantity = 'Message 1';
var messageQuantityTooBig = 'Message 2';
//Prevent ACP from firing the modal
var found = false;
me.msg.forEach((message) => {
    console.log(message);
    if(message('text') === messageQuantity || message('text') === messageQuantityTooBig){
        found = true;
    }
})
if(!found){
    me.fire(response.redirect_to, parameters, observer);
}else{
    window.location.href = response.redirect_to;
}

I try to redirect with javascript, it works, but he loose the notice message (actually he prints me a notice message but it’s none of the two message I have here.

Is there a way to redirect in javascript by keeping theses messages ? Or may be, a way to tell ajax cart pro, not to fire the modal but to keep the native behaviour ?

This is the full method

fire: function(url, parameters, observer) {
    var me = this;
    this.ui.observer = observer;
    this.ui.beforeFire();

    var parameters = parameters || {};
    parameters('block()') = ();
    Object.keys(me.config.targetsToUpdate).each(function(k){
        if (me.config.targetsToUpdate(k).updateOnActionRequest) {
            parameters('block()').push(k);
        }
    });
    this.connector.sendRequest(url, parameters,
        function(response) {
            var isResponseHasBlock = Object.values(response.block).without(null).length > 0;
            if (isResponseHasBlock) {
                var isSuccessUpdate = me.callUpdaters(response.block);
                if (!isSuccessUpdate) {
                    document.location.reload();
                    return;
                }
                me.stopObservers();
                me.startObservers();
                return;
            }
            if (response.redirect_to) {
                me.msg = response.msg;
                var messageQuantity = 'Message 1';
                var messageQuantityTooBig = 'Message 2';
                //Prevent ACP from firing the modal
                var found = false;
                me.msg.forEach((message) => {
                    console.log(message);
                    if(message('text') === messageQuantity || message('text') === messageQuantityTooBig){
                        found = true;
                    }
                })
                if(!found){
                    me.fire(response.redirect_to, parameters, observer);
                }else{
                    window.location.href = response.redirect_to;
                }
                return;
            }
            me.update(function(json){
                document.location.reload();
            }, {
                actionData: Object.toJSON(response.action_data)
            });
        },
        function(json){
            observer.fireOriginal(url, parameters);
        }
    );
}

The notices messages are setup this way

public function addAction()
{
    $this->_getSession()->addNotice(Mage::helper('core')->escapeHtml('Message 1'));
}

public function addNotice($message)
{
    $this->addMessage(Mage::getSingleton('core/message')->notice($message));
    return $this;
}

/**
 * Adding new message to message collection
 *
 * @param   Mage_Core_Model_Message_Abstract $message
 * @return  Mage_Core_Model_Session_Abstract
 */
public function addMessage(Mage_Core_Model_Message_Abstract $message)
{
    $this->getMessages()->add($message);
    Mage::dispatchEvent('core_session_abstract_add_message');
    return $this;
}

Can A Website Can Get Sued Or Receive A Dmca Notice? How?

If you grow large enough, you will get someone’s attention.

There is indeed other sites like it and there are many reasons why they make not be down yet (hosted in a place where copyright laws are not the same as the US, live in a different place etc). It doesn’t matter if others are doing it, if you are based in (or live within) the United States it would be illegal and in time you could get caught. It is the same way as many other people could be speeding on a public road and not get caught, while you do and happen to do it when the police is around.

It is risky to do, even more so when you openly admit to doing it. If you had a file sharing site you could deny you are aware of what is being uploaded but on a site like yours when it openly invites people to download games – I would be pretty sure in a law suit the other party would have a easy win.

The DMCA is designed to protect ISPs such as web hosts in case their customers are uploading copyright material, sharing copyright material while in your case you ARE the one that is sharing it. The only thing as I said earlier is linking to illegal sharing is not yet “agreed” on what will happen in the United States so at best you are operating in a grey area.

All that said, I do not know US law perfectly and only advising based on when I ran a web hosting business and we got legal advise on how to deal with the US DMCA while being in the UK.

 

Question on how to handle DMCA counter notice


Can anyone advise, what happens in the following scenario..

EU based client

USA based hosting service

Someone from USA sends a DMCA notice

Scenario:
USA host receives a DMCA notice.. (for pics and videos, no watermarks or anything on either, no known or famous people or anything such involved)

EU based client files a counter notice that ends with – “I hereby consent to the jurisdiction of FRENCH (example) court…..”

From Hosting company point of view – is that legitimate, allowed way for client to respond? is their any hosting company liability if done like that?

Additionally, if USA sender of DMCA proceeds with a lawsuit of any kind, does it in any way effect the hosting company?

Is client even allowed to demand jurisdiction of his own EU country court in such counter notice?

Let me know if anyone knows or had similar experiences.

When does a windows client notice that certificate is revoced?

We use codesigining certificates, that we distribute through an autoenrollment group policy. These certificates were used to sign excel macros and are issued by an internal CA.

Now, when try to revoce one of these certifactes, they were listed in the certificate revocation list.

So far so good.

Problem is, that the codesigned documents remain trustworthy. I assume the certificate chain is not verified “online” but in a local cache.

I’ve tried to set the GPO “Certificate Path Validation Settings” — “Revocation” and selected the “Define these policy settings” check box.

Can somebody clarify how (long) revocation entries are stored on client machine?
Our CA stores und publishes its CRL. Is it possible to force the clients to immediately check against this list each time an MS office application opens a signed document?