Esempio n. 1
0
function updateData($userOrig = null)
{
    global $errorMsg;
    $user = null;
    if ($userOrig == null) {
        $user = new User();
    } else {
        $user = new User($userOrig->email, $userOrig->password);
    }
    $objectVars = array_keys(get_object_vars($user));
    foreach ($_REQUEST as $key => $value) {
        if (NP_startsWith("user_", $key)) {
            $path = split("_", $key);
            $property = $path[1];
            if (in_array($property, $objectVars)) {
                if (is_array($user->{$property})) {
                    if (isset($_REQUEST['sameData']) && $_REQUEST['sameData'] == "true") {
                        if ($property == "billingData") {
                            $user->billingData = array_merge($user->billingData, array($path[2] => $value));
                            $user->shippingData = array_merge($user->shippingData, array($path[2] => $value));
                        }
                    } else {
                        $user->{$property} = array_merge($user->{$property}, array($path[2] => $value));
                    }
                } else {
                    $user->{$property} = $value;
                }
            }
        }
    }
    if (isset($_REQUEST['user_password']) && isset($_REQUEST['newPassword1']) && isset($_REQUEST['newPassword2']) && $_REQUEST['newPassword1'] == $_REQUEST['newPassword2']) {
        if ($user->password == $userOrig->password) {
            $user->password = $_REQUEST['newPassword1'];
            $cart = get_cart();
            $cart->user->update($user);
            update_cart($cart);
        } else {
            global $error;
            $errorMsg = _("El password antiguo no es correcto o los nuevos no coinciden.");
            return false;
        }
    } else {
        $cart = get_cart();
        $cart->user->update($user);
        update_cart($cart);
    }
    /*
        $cart = get_cart();
        print_r($cart->user);
    	$cart->user->update();
    */
    // reload data from DDBB
    $cart->user = new User($cart->user->email, $cart->user->password);
    update_cart($cart);
    return true;
}
Esempio n. 2
0
function NP_loadDataInto(&$obj, &$data, $prefix = "", $ddbb_mapping = null)
{
    $objectVars = array_keys(get_object_vars($obj));
    foreach ($data as $key => $value) {
        if (NP_startsWith($prefix, $key)) {
            $path = split("_", $key);
            $property = $path[1];
            if (in_array($property, $objectVars)) {
                if (is_array($obj->{$property})) {
                    if (is_string($value)) {
                        $obj->{$property} = NP_set_i18n($obj->{$property}, $value);
                    } else {
                        $obj->{$property} = array_merge($obj->{$property}, array($path[2] => $value));
                    }
                } else {
                    if ($ddbb_mapping != null && $ddbb_mapping[$property] == "STRING_I18N" || $ddbb_mapping[$property] == "TEXT_I18N") {
                        $value = NP_set_i18n(array(), $value);
                    }
                    $obj->{$property} = $value;
                }
            }
        }
    }
}