[MKDoc-commit] Non-functional price component removed

chris at mkdoc.demon.co.uk chris at mkdoc.demon.co.uk
Thu May 5 17:00:45 BST 2005


Log Message:
-----------
Non-functional price component removed

Tags:
----
mkdoc-1-6

Removed Files:
-------------
    mkd/flo/editor:
        Price.pm

-------------- next part --------------
--- flo/editor/Price.pm
+++ /dev/null
@@ -1,227 +0,0 @@
-# -------------------------------------------------------------------------------------
-# flo::editor::Price
-# -------------------------------------------------------------------------------------
-# Author : Jean-Michel Hiver.
-# Copyright : (c) MKDoc Holdings Ltd, 2003
-#
-# This file is part of MKDoc. 
-# 
-# MKDoc is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2 of the License, or
-# (at your option) any later version.
-# 
-# MKDoc is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-# 
-# You should have received a copy of the GNU General Public License
-# along with MKDoc; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
-#
-#
-# This component is used to put a price on an MKDoc page. A price consists of a
-# reference ID, a description, and an amount field.
-# -------------------------------------------------------------------------------------
-package flo::editor::Price;
-use strict;
-use warnings;
-use MKDoc::Ouch;
-use MKDoc::ECommerce::Item;
-use LWP::Simple;
-
-use base qw /flo::Component/;
-
-
-sub in_stock
-{
-    my $self = shift;
-    my $uri  = $ENV{MKD__ECOMMERCE_STOCK_URI} || return 0;
-
-    my $cgix = flo::Standard::cgi()->new();
-    for ($cgix->param()) { $cgix->delete ($_) };
-    $cgix->path_info (undef);
-    $cgix->param ('reference', $self->ref_id());
-    my $query_string = $cgix->query_string();
-
-    my $qty  = get ("$uri?$query_string") || return 0;
-    chomp ($qty);
-
-    no warnings;
-    return 0 + $qty;
-}
-
-
-##
-# $self->_initialize();
-# ---------------------
-# Initializes this object's attributes from the arguments
-# returned from the cgi_args() method.
-##
-sub _initialize
-{
-    my $self = shift;
-    my $args = $self->cgi_args() || return;
-    $self->set_ref_id       ($args->{ref_id}       || '');
-    $self->set_description  ($args->{description} || '');
-    $self->set_amount       ($args->{amount}      || '');
-}
-
-
-##
-# $self->amount();
-# ----------------
-# Returns the amount associated with this price object.
-##
-sub amount
-{
-    my $self = shift;
-    return $self->{amount};
-}
-
-
-##
-# $self->set_amount ($amount);
-# ----------------------------
-# Sets the amount associated with this price object.
-##
-sub set_amount
-{
-    my $self = shift;
-    $self->{amount} = shift;
-    $self->{amount} =~ s/^\D+//;
-    $self->{amount} =~ s/\D+$//;
-    $self->{amount} =~ s/^0+//;
-}
-
-
-##
-# $self->ref_id();
-# ---------------
-# Returns the product reference code associated with this price object.
-##
-sub ref_id
-{
-    my $self = shift;
-    return $self->{ref_id};
-}
-
-
-##
-# $self->set_ref_id ($ref_id);
-# ----------------------------
-# Sets the product reference code associated with this price object.
-##
-sub set_ref_id
-{
-    my $self = shift;
-    $self->{ref_id} = shift;
-    $self->{ref_id} =~ s/^\s+//;
-    $self->{ref_id} =~ s/\s+$//;
-}
-
-
-##
-# $self->description();
-# ---------------------
-# Returns the distinctive description associated with this price object.
-##
-sub description
-{
-    my $self = shift;
-    return $self->{description};
-}
-
-
-##
-# $self->set_description ($description);
-# --------------------------------------
-# Sets the distinctive description associated with this price object.
-##
-sub set_description
-{
-    my $self = shift;
-    $self->{description} = shift;
-    $self->{description} =~ s/^\s+//;
-    $self->{description} =~ s/\s+$//;
-}
-
-
-##
-# $self->validate();
-# ------------------
-# Validates this component. Returns TRUE if the component's data
-# integrity is OK, FALSE otherwise.
-##
-sub validate
-{
-    my $self = shift;
-    
-    # set up the callback for errors
-    local $MKDoc::Ouch::CALLBACK;
-    $MKDoc::Ouch::CALLBACK = sub { $self->add_error (@_) };
-    
-    return $self->_validate_ref_id() &
-           $self->_validate_price();
-}
-
-
-##
-# $self->_validate_ref_id();
-# --------------------------
-# Validates the reference ID to see if it exists.
-##
-sub _validate_ref_id
-{
-    my $self = shift;
-    $self->ref_id() or do {
-	new MKDoc::Ouch 'component/price/ref_id_undef';
-	return 0;
-    };
-    
-    return 1;
-}
-
-
-##
-# $self->_validate_price();
-# -------------------------
-# Validates the reference ID to see if it exists.
-##
-sub _validate_price
-{
-    my $self = shift;
-    $self->amount() or do {
-	new MKDoc::Ouch 'component/price/amount_undef';
-	return 0;
-    };
-    
-    $self->amount() =~ /^\d+\.\d\d$/ or do {
-	new MKDoc::Ouch 'component/price/amount_invalid';
-	return 0;
-    };
-    
-    return 1;
-}
-
-
-sub as_item
-{
-    my $self = shift;
-    my $desc = $self->parent->title();
-    if ($self->description()) { $desc .= " (" . $self->description . ")" }
-
-    return new MKDoc::ECommerce::Item (
-       reference   => $self->ref_id,
-       description => $desc,
-       unit_price  => $self->amount(),
-       quantity    => 1,
-    );
-}
-
-
-1;
-
-
-__END__


More information about the MKDoc-commit mailing list