Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

IFD

Erro wp-e-commerce/shipping/pagseguro.php on line 11

Recommended Posts

Olá, tentei instalar o wp-ecommerce, de acordo com as instruções da página: http://visie.com.br/pagseguro/plataforma/wordpress/wp-e-commerce/ , fiz algumas pesquisas no fórum porém não encontrei a solução pois a maioria dos erros é na linha 107 diferente do meu erro.

 

Ao tentar ativar o plugin surgiu o seguinte erro:

 

Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /home/domains/nomedosite.com.br/web/wp-content/plugins/wp-e-commerce/shipping/pagseguro.php on line 11

sendo que na linha indicada, possui o seguinte código:

 

public $internal_name = 'pagseguro';

caso necessitem, vai o codigo completo da pagina pagseguro que esta dentro da pasta shipping do plugin em questão:

 

<?php
/**
 * pagseguro 
 * 
 * @package 
 * @version 1.0
 * @author DGmike <http://dgmike.com.br> 
 */
class pagseguro
{
    public $internal_name = 'pagseguro';
    public $name          = 'PagSeguro';
    public $is_external   = true;
    public $needs_zipcode = true;

    public function getName()
    {
        return $this->name;
    }

    public function getInternalName()
    {
        return $this->internal_name;
    }

    public function getForm () 
    {
        $shipping = get_option('pagseguro_shipping_configs');
        if (!is_array($shipping)) {
            $shipping = array();
        }
        extract($shipping+array('cep' => '','valor_fixo' => '', 'meio' => array('Sedex'=>'0', 'PAC'=> '0')));
        $checked_sedex = $meio['Sedex'] == '1' ? ' checked="checked" ' : '';
        $checked_pac = $meio['PAC'] == '1' ? ' checked="checked" ' : '';
        return <<<EOF
<tr><td>
<p>
    <label>
        <span>Informe seu CEP (XXXXX-XXX): </span><br />
        <input type="text" name="shipping[cep]" value="$cep" />
    </label><br />
    <label>
        <span>Caso o módulo não consiga encontrar o CEP da pessoa, informe um valor fixo para o frete (por item):</span><br />
        <input type="text" name="shipping[valor_fixo]" value="$valor_fixo" />
    </label><br />
    <input type="hidden" name="shipping[meio][Sedex]" value="0" />
    <input type="hidden" name="shipping[meio][PAC]" value="0" />
    <label> Mostrar estes meios de envio (escolha pelo menos um): </label><br />
    <label><input type="checkbox" name="shipping[meio][Sedex]" value="1" $checked_sedex /> Sedex</label><br />
    <label><input type="checkbox" name="shipping[meio][PAC]" value="1" $checked_pac /> PAC</label>
</p>

<h4>Como configurar?</h4>

<p>Entre no site do <a href="https://pagseguro.uol.com.br" target="_blank">PagSeguro</a> e entre com seu usuário e senha.</>

<p>Entre no menu <strong>Meus Dados</strong> e acesse, em <strong>Configuração de Checkout</strong>, a opção <strong>Preferências Web e frete</strong>.</p>

<p>Na <strong>Definição de Cálculo do frete</strong> deixe a opção <strong>Fete fixo com desconto</strong> marcada, e configure o <strong>Valor do frete para itens extra</strong> definido como <strong>0,00</strong> conforme a figura.</p>

<div style="border:1px solid #CCC;padding:10px;background:#FDFDFD;">
    <a href="../wp-content/plugins/wp-e-commerce/shipping/pagseguro-frete.png" title="Clique e veja ampliado" target="_blank">
        <img src="../wp-content/plugins/wp-e-commerce/shipping/pagseguro-frete.png" width="100%" />
    </a>
    <p><em>Tela que você encontrará no PagSeguro</em></p>
</div>
</td></tr>

EOF;
    }

    public function submit_form() 
    {
        if(isset($_POST['shipping'])) {
            $shipping  = (array)get_option('pagseguro_shipping_configs');
            $submitted = (array)$_POST['shipping'];
            $values = array_merge($shipping, $submitted);
            $values = array_intersect_key($values, array('cep' => true, 'valor_fixo' => true, 'meio' => array('Sedex' => '0', 'PAC' => '0')));
            update_option('pagseguro_shipping_configs', $values);
        }
        return true;
	}

    public function getQuote( $for_display = false )
    {
        require_once(dirname(__FILE__).'/pagseguro/frete.php');
        global $wpdb, $wpsc_cart;
        $zipcode = '';
        if(isset($_POST['zipcode'])) {
            $zipcode = $_POST['zipcode'];      
            $_SESSION['wpsc_zipcode'] = $_POST['zipcode'];
        } else if(isset($_SESSION['wpsc_zipcode'])) {
            $zipcode = $_SESSION['wpsc_zipcode'];
        }
        if (!$zipcode) { // Este meio de fretamento só funcionará se tiver ZipCode
            // return null;
            $zipcode = '00000-000';
        }
        $shipping = get_option('pagseguro_shipping_configs');
        if (!is_array($shipping)) {
            $shipping = array();
        }
        extract($shipping+array('cep' => '','valor_fixo' => '', 'meio' => array('Sedex'=>'0', 'PAC'=> '0')));
        // Calculando o valor e o peso total
        $total = 0;
        $preco = 0;
        foreach ((array)$wpsc_cart->cart_items as $item) {
            $preco += $item->total_price;
            $total += $this->converteValor($item->weight, 'gram')*$item->quantity;
        }
        $frete = new PgsFrete();
        $total = number_format($total/1000, 2, '.', '');
        $preco = number_format($preco, 2, ',', '');
        $zipcode = preg_replace('@\D@', '', $zipcode);
        $zipcode = substr($zipcode, 0, 5).'-'.substr($zipcode, 5);
        $oFrete = $frete->gerar($cep, $total, $preco, $zipcode);
        if (!$oFrete OR $oFrete == array('' => NULL,)) {
            $oFrete = array(
                'Sedex' => $valor_fixo * $total,
                'PAC'   => $valor_fixo * $total,
            );
        }
        if ($meio['Sedex'] == '0') {
            unset($oFrete['Sedex']);
        }
        if ($meio['PAC'] == '0') {
            unset($oFrete['PAC']);
        }
        return $oFrete;
    }

    public function converteValor($weight, $unit)
    {
		switch($unit) {
			case "kilogram":
			$weight = $weight * 0.45359237;
			break;
			
			case "gram":
			$weight = $weight * 453.59237;
			break;
		
			case "once":
			case "ounces":
			$weight = $weight * 16;
			break;
			
			default:
			$weight = $weight;
			break;
		}
        return $weight;
    }
}

$pagseguro = new pagseguro();
$wpsc_shipping_modules[$pagseguro->getInternalName()] = $pagseguro;

 

espero que alguem possa me ajudar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o forum aqui é oficial pro povo do suporte do pagsegro responder, ou é lenda pra que eu fique na esperança de que o suporte deles me dará alguma ajuda?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hoje atualizei o plugin instalei td de novo seguindo as orientações e novamente o erro persistiu, pelo fato do suporte do pagseguro não ter dado a assitencia correta tanto aqui como pelo atendimento optei por não incluir esta solução de pagamento no site do meu cliente procurando outra solução mais eficaz e com o suporte mais adequado aos clientes.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.