Back to PhocacartLog class

Method add

public static
add
(mixed $type = 0, mixed $title = '', mixed $typeid = 0, mixed $description = '')

Method add - Source code

/* type - type : e.g warning, error, etc.
 * 1 ... all
 * 2 ... error
 * 3 ... warnings
 * 4 ... notices
 * typeid - for example order id, category id, product id
 *
 * Example:
 * PhocacartLog::add(1, 'Message', $productId, 'IP: '. $data['ip'].', User ID: '.$user->id . ', User Name: '.$user->username);
 */
public static function add($type = 0, $title = '', $typeid = 0, $description = '')
{
    $app = Factory::getApplication();
    $paramsC = PhocacartUtils::getComponentParameters();
    $enable_logging = $paramsC->get('enable_logging', 0);
    // 0 disable, 1 all, 2 error only
    if ($enable_logging == 0) {
        return false;
    }
    if ($enable_logging == 2 && $type != 2) {
        return false;
    }
    // Additional User information
    $descSuffix = '';
    if ($app->isClient('site')) {
        $user = PhocacartUser::getUser();
        $guest = PhocacartUserGuestuser::getGuestUser();
        if ($guest) {
            $descSuffix .= ', User: Guest Checkout';
        } else {
            if ($user->username != '') {
                $descSuffix .= ', User: ' . $user->username;
            } else {
                $descSuffix .= ', User: Anonymous';
                // Not logged in user, no guest checkout started
            }
        }
    }
    $description .= $descSuffix;
    if ((int) $type > 0 && $title != '') {
        $uri = Uri::getInstance();
        $user = PhocacartUser::getUser();
        $db = Factory::getDBO();
        $ip = $_SERVER["REMOTE_ADDR"];
        $incoming_page = htmlspecialchars($uri->toString());
        $userid = 0;
        if (isset($user->id) && (int) $user->id > 0) {
            $userid = $user->id;
        }
        // Ordering
        $ordering = 0;
        $db->setQuery('SELECT MAX(ordering) FROM #__phocacart_logs');
        $max = $db->loadResult();
        $ordering = $max + 1;
        $query = ' INSERT INTO #__phocacart_logs (' . $db->quoteName('user_id') . ', ' . $db->quoteName('type_id') . ', ' . $db->quoteName('type') . ', ' . $db->quoteName('title') . ', ' . $db->quoteName('ip') . ', ' . $db->quoteName('incoming_page') . ', ' . $db->quoteName('description') . ', ' . $db->quoteName('published') . ', ' . $db->quoteName('ordering') . ', ' . $db->quoteName('date') . ' )' . ' VALUES (' . $db->quote((int) $userid) . ', ' . $db->quote((int) $typeid) . ', ' . $db->quote((int) $type) . ', ' . $db->quote($title) . ', ' . $db->quote($ip) . ', ' . $db->quote($incoming_page) . ', ' . $db->quote($description) . ', ' . $db->quote('1') . ', ' . $db->quote((int) $ordering) . ', ' . $db->quote(gmdate('Y-m-d H:i:s')) . ' )';
        $db->setQuery($query);
        $db->execute();
        return true;
    }
    return false;
}