X-Cart: shopping cart software

X-Cart forums (https://forum.x-cart.com/index.php)
-   General questions (X-Cart 5) (https://forum.x-cart.com/forumdisplay.php?f=66)
-   -   Vendor name (https://forum.x-cart.com/showthread.php?t=76570)

amarquis 10-03-2018 03:46 AM

Vendor name
 
If a vendor removes all addresses from his address book, why does the following function return "Administrator" ??

PHP Code:

\XLite\Core\Auth::getInstance()->getProfile()->getName() 


tony_sologubov 11-29-2018 04:23 AM

Re: Vendor name
 
Hi @amarquis,

Sorry for the late answer and hope it is still relevant to you.

If you look at the implementation of the \XLite\Model\Profile::getName() method you will see its implementation as follows:

Code:

    public function getName($useDefault = true)
    {
        $address = $this->getBillingAddress() ?: $this->getShippingAddress();

        return $address && ($address->getFirstname() || $address->getLastname())
            ? trim($address->getFirstname() . ' ' . $address->getLastname())
            : ($useDefault ? $this->getDefaultName() : '');
    }

    protected function getDefaultName()
    {
        return $this->isAdmin()
            ? static::t('na_admin')
            : static::t('na_customer');
    }


In short words, X-Cart tries to pull either billing or shipping address, but if there are none and $useDefault is not passed or passed as true, it will either return 'Customer' or 'Admin' depending on the user type. If the $useDefault param is passed as 'false', it will return the empty string as you would expect.

So, you should just call it like this
PHP Code:

\XLite\Core\Auth::getInstance()->getProfile()->getName(false); 


Tony

Quote:

Originally Posted by amarquis
If a vendor removes all addresses from his address book, why does the following function return "Administrator" ??

PHP Code:

\XLite\Core\Auth::getInstance()->getProfile()->getName() 




All times are GMT -8. The time now is 11:56 PM.

Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.