Kategorie: Wszystkie | Allegro.pl WebAPI | Php | Visual C#
RSS
środa, 28 kwietnia 2010
Dynamiczny panel aukcji allegro [Part 3]

Część 3

Modules/getImage/index.php


function getImage($row)
{
$im = @imagecreatetruecolor (128, 140)
or die("Cannot Initialize new GD image stream");
$im2 = @imagecreatefromjpeg($row['auct_thumb_url'])
or die("Cannot Initialize new GD image stream");

$background_color = imagecolorallocate($im, 255, 255, 255);
$background_text = imagecolorallocate($im, 35, 29, 29);
$text_color = imagecolorallocate($im, 255, 255, 255);


imagecopy($im, $im2, 0, 20, 0, 0, 128, 96 );



$permalink = strtolower(preg_replace($unPretty, $pretty, $row['auct_name']));
$array[0] = str_replace(" ", " ", preg_replace("/[^a-zA-Z0-9 ]/", "", $permalink) );


// rozdzielanie lini
$string_lenght = strlen($array[0]);
$line_leng = 20;
$x=0;
while($string_lenght > $line_leng)
{
$string_new[$x] = substr($array[0], 0, $line_leng);
$array[0] = substr($array[0], $line_leng, $string_lenght);
$string_lenght = strlen($array[0]);
$x++;
}

imagefill($im, 0,0,$background_text);

$PosY = 0;
$x2 = 0;
while($x2 <= $x)
{
imagestring($im, 1, 0, $PosY, $string_new[$x2], $text_color);
$PosY = $PosY+10;
$x2++;
}


imagestring($im, 4, 0, 120, 'Cena: '.$row['auct_price'].' z�', $text_color);


$img = imagejpeg($im);


imagedestroy($im);
imagedestroy($im2);

return $img;
}
?>

 

 

Jeśli jesteś zainteresowany skryptem zapraszam do kontaktu ;)

firma@pixeart.pl

Zainteresowanym udostępnie folder skryptów odpowiadający za zapis aukcji do mysql



Dynamiczny panel aukcji allegro [Part 2]

Modules/functions_general.php


require_once('./config/main_cfg.php');


// przekierowanie do witryny wwww .pl -> szansa uzalezniona procentowo
function redirectTo()
{
$break;

if(rand(0, 100) < constant('RedirectTo_Chance'))
{
$host = 'http://www.pl/';
header("Location: $host");
$break = 1;
}else
{
$break = 0;
}
return $break;
}


Dynamiczny panel aukcji allegro [Part 1]

Panel aukcji do allegro.pl

Kompleksowy opis wykonania

Index.php

W tym pliku następuje rozdzielenie odwołania do:

- linku

- obrazu

Następuje to poprzez zmienne.

 

Odwołanie do image:

< href='index.php?l=22'>

< src='index.php?o=22'>

Numer 22 oznacza pozycje w MYSQL

 

Dodatkowo dodałem możliwość przzekierowania na naszą stronę www.

Przekierowanie jest procentowe aby utrudnić wykrycie skryptu przez allegro.pl

 

Kod:

 


ob_start();

// require do łączenia się z serwerem MYSQL
require_once('config/mysql.php');

// require dodatkowych funkcji naszego PA
require_once('modules/functions_general.php');



// Pobieranie danych o aukcji z MYSQL na podstawie zmiennych
if(isset($_GET['o']))
// określenie czy link chce uzyskać : obraz | link do aukcji
{ $id_forSql = $_GET['o'];}else{$id_forSql = $_GET['l']; }
$q = "SELECT * FROM `allegro_auctions` WHERE `id`='".$id_forSql."'";
$r = mysql_query($q);
$row = mysql_fetch_assoc($r);





// Generowanie obrazu
$img = $_GET['o'];
if(isset($img))
{
require_once('modules/getImage/index.php');
getImage($row);
return;
}


// Generowanie Linku
$link = $_GET['l'];
if(isset($link))
{
// szansa na przekierowanie na daną stronę w procentach ( mały trick aby zwiększyć sprzedaż poza allegro a nie zostać wykrytym )
if(!redirectTo())
{
$host = 'http://allegro.pl/show_item.php?item='.$row['auct_id'];
header("Location: $host");
return;
}
}

 

 

Config/main_cfg.php

Główny config PA


define('RedirectTo_Chance', 5); // szansa na przekierowanie do t4a w procentach
?>

Config/mysql.php

Fragment odpowiedzialny za połączenie z serwerem Mysql

 



$baza["serwer"] = "localhost";
$baza["login"] = "login";
$baza["haslo"] = "pass";
$baza["baza"] = "bazaDB";


$polaczony = mysql_connect($baza["serwer"], $baza["login"], $baza["haslo"]);
mysql_select_db($baza["baza"]);

?>


 

wtorek, 13 kwietnia 2010
Obrazy na płótnie, zdjęcie na płótnie, obrazy ze zdjęcia

Ostatnio miałem dużą przyjemność współpracować z:

www.pixeart.pl

 

Obrazy z własnych zdjęć wychodzą cudnie, a ich wzory też nie są niczego sobie.

 

Jakbyście szukali dobrej firmy ;)

 

Pixeart.pl

poniedziałek, 21 grudnia 2009
Php - jak odblokować konto na allegro webapi, zablokowane webapi allegro

Pewnie wielu z was zdarzyło się, że php webapi przestało działać, dlaczego?

Bardzo możliwe, że allegro zablokowało wasz serwer na którym jest webapi.

Nie chce mi się tłumaczyć jak to wykonać - leniwy jestem.

Więc pewnie uszczęśliwiając wielu podam gotowe skrypty do odblokowanie WEBAPI na allegro.

 

Jak odblokować WEBAPI na allegro

1.) Podam wam kody źródłowe plików php

A o to jak ma wyglądać struktura:

- Foder główny w którym będą skrypty( CHMOD 777 )

- tmp ( pusty folder CHMOD 777 )

- check.php

- curl.php

- exec.php

 

2.) check.php

<?php

echo
"
Sprawdzanie poł±czenia z Klientem Allegro SOAP - WebAPI <br>";
if($client = new SoapClient('http://webapi.allegro.pl/uploader.php?wsdl'))
{
echo "
Test poł±czenia:<br>
<font color='#00CC00'>
- poł±czono<br>
- pobrano SOAP WebAPI<br>
- test POPRAWNY<br>
</font>";
}   else
{
echo "
Test poł±czenia:<br>
<font color='#990000'>
- brak poł±czenia<br>
- nie pobrano SOAP WebAPI<br>
- test NIE UDANY
- Allegro zablokowało IP serwera!<br>
</font>";
}


?>

3. ) exe.php

 

<?php

$temporary_dir_path = "tmp";

if($_POST['code']) {
$code = $_POST['code'];

$ch = curl_init(); // initialize curl handle
curl_setopt($ch, CURLOPT_URL,"http://webapi.allegro.pl/blocked/index.php"); // set url to post to
curl_setopt($ch, CURLOPT_COOKIEJAR, "$temporary_dir_path/cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "$temporary_dir_path/cookie.txt");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1); // set POST method
curl_setopt($ch, CURLOPT_POSTFIELDS, "get=/uploader.php%3Fwsdl&code=$code"); // add POST fields
$result = curl_exec($ch); // run the whole process
curl_close($ch);

}  else {

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://webapi.allegro.pl/blocked/image.php");
curl_setopt($ch, CURLOPT_COOKIEJAR, "$temporary_dir_path/cookie.txt");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
$rawdata=curl_exec ($ch);
curl_close ($ch);

//save image
$fp = fopen("logo.gif",'w');
fwrite($fp, $rawdata);
fclose($fp);
?>

<img src='logo.gif'>

<form name="input" action="exec.php" method="post">
Captcha Code
<input type="text" name="code" />
<input type="submit" value="Submit" />
</form>

<?php
}
?>


<br>
<hr>
<br>

SprawdĽ poł±czenie z Allegro:<br>
<a href='check.php'>

4.) curl.php

 

<img src='http://www.aukcje.org/images/2009.05.05.gif'> <br>
<hr>
<br>

<?php

$temporary_dir_path = "tmp";

if($_POST['code']) {
$code = $_POST['code'];

$ch = curl_init(); // initialize curl handle
curl_setopt($ch, CURLOPT_URL,"http://webapi.allegro.pl/blocked/index.php"); // set url to post to
curl_setopt($ch, CURLOPT_COOKIEJAR, "$temporary_dir_path/cookie.txt");
curl_setopt($ch, CURLOPT_COOKIEFILE, "$temporary_dir_path/cookie.txt");
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);// allow redirects
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_POST, 1); // set POST method
curl_setopt($ch, CURLOPT_POSTFIELDS, "get=/uploader.php%3Fwsdl&code=$code"); // add POST fields
$result = curl_exec($ch); // run the whole process
curl_close($ch);

}  else {

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "http://webapi.allegro.pl/blocked/image.php");
curl_setopt($ch, CURLOPT_COOKIEJAR, "$temporary_dir_path/cookie.txt");
curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_BINARYTRANSFER,1);
$rawdata=curl_exec ($ch);
curl_close ($ch);

//save image
$fp = fopen("logo.gif",'w');
fwrite($fp, $rawdata);
fclose($fp);
?>

<img src='logo.gif'>

<form name="input" action="exec.php" method="post">
Captcha Code
<input type="text" name="code" />
<input type="submit" value="Submit" />
</form>

<?php
}
?>



<br>
<hr>
<br>

SprawdĽ poł±czenie z Allegro:<br>
<a href='check.php'>Button</a>
<br>
<hr>
<br>
<font size='6'> Info </font>  <br>
Program PHP, służy do odblokowania konta na Allegro przez nałożony limit logowań/wywołań <br>
Wystarczy przepisać kod z obrazka do odblokowania konta i IP <br>

 

Wszystko, powinno działać, u mnie działa!

Miłego użytkowania ;)

c# - odwołanie do form z innego pliku cs; przekazanie form z funkcjami i klasami

Kolejna sprawa, która sprawiła mi nielada kłopot na początku.

 

Posiadam FORM oraz form.cs a w nim dane i funkcje.

Jak dowołać się do nich z innego pliku cs ?

 

Budowa programu i odwołania z form do innych plików cs

- posiadamy: form1, form1.cs ( gdzie są np instancje kliknięcia w przycisk )

1.) Tworzymy nowy plik ( solution explorer, ppm na projekt, add new, class )

2.) Nazywamy go np: main.cs

 

Kod form1.cs :

private void form_start_Click(object sender, EventArgs e)
{

NazwaProjektu.main.psMainClass = new ps_main();

psMainClass.psMain(this);

}

NazwaProjektu - nazwa naszego projektu, w solution explorer jest to 1 pozycja przed rozwinieciem listy

main - nazwa naszego pliku cs

psMainClass - funkcja w pliku main.cs ( raczej musi być public )

psMainClass.psMain(this); - uruchamiany funkcję z pliku main.cs przekazując jej Form1

this - form1 ( forma wraz z danymi i zmiennymi, przyciskami etc )

 

3.) A teraz kod naszego main.cs:

public void psMain(Form1 FormMain)
{
string zmienna = FormMain.nazwa_jakiegos_obiektu.Text;
}

public void psMain(Form1 FormMain) - Form1, deklaracja co to bedzie, FormMain zmienna w której będziemy mieć naszą form

odwołanie po przez FormMain.Costam

 

 

i takim oto sposobem, możemy do innego pliku cs przekazać zmienną z FORM

 

niedziela, 20 grudnia 2009
C# - jak odwołać się do przycisku buttona z form w kodzie ?

WIem ile problemu sprawiło mi połączenie tych elementów.

Jak odwołać się do utworzonego przycisku w form w naszym kodzie c#.

 

Od początku do końca.

 

1.) Tworzenie projektu

Filee - new project -> WIndows form application

 

2.) Wstawianie buttona i text

View -> toolbox ( checked )

Toolbox ( zwykle po prawej stronie, obok kodu ) -> wybrać button, przenieść do form

Zaznaczyć button, ppm -> proporties ->

Button ( proporties ) - znaleźć linijkę "(Name)" : wpisz 'form_button1'

// (Name) | form_button1

Definiujemy tutaj nazwe naszego obiektu w kodzie c#, wg niej będziemy się do niego odwoływać.

Następnie 2x kliknąć lpm na nasz button w form - okienko przeskoczy do kodu i wygeneruje automatycznie obiekt w kodzie, jest to bardzo istotne!

Nasz kod c# form będzie wyglądać teraz tak:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{

// funkcja wykonuje sie przy zaladowaniu okienka programu ( form )
public Form1()
{
InitializeComponent();
}

// funkcja jaka zostanie wykonana po kliknięciu w button
private void button1_Click(object sender, EventArgs e)
{

}
}
}

 

Aby wrócić do wyglądu form klikamy w solution explorer w :Form1.cs

Następnie powtarzamy powyższe kroki lecz tym razem dla LABEL (text)

Proporties dla LABEL:

- (Name) form_text1

- Generate Member TRUE ( jest to istotne, oznacza, że obiekt będzie dostępny w kodzie, czyli będziemy mogli się do niego odwoływać )

 

Nasz kod form1 będzie wygląć tak:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{

// funkcja wykonuje sie przy zaladowaniu okienka programu ( form )
public Form1()
{
InitializeComponent();
}

// funkcja jaka zostanie wykonana po kliknięciu w button
private void button1_Click(object sender, EventArgs e)
{

}

private void form_text1_Click(object sender, EventArgs e)
{

}
}
}

 

3.) Połączenie przycisków z kodem i prosta funkcja

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{

// funkcja wykonuje sie przy zaladowaniu okienka programu ( form )
public Form1()
{
InitializeComponent();
}

// funkcja jaka zostanie wykonana po kliknięciu w button
private void button1_Click(object sender, EventArgs e)
{
form_text1.Text = "Tu wpisz na co ma sie zmienic";
}

private void form_text1_Click(object sender, EventArgs e)
{

}
}
}

 

form_text1.Text = "Tu wpisz na co ma sie zmienic";

 

form_text1 - nasz obiekt ( tag naszego obiektu )

.Text - odwołuje się do tekstu naszego obiektu jaki on posiada

= przypisanie

 

I to wszystko

 

Każdy obiekt połączymy w taki sam sposób, lecz już inaczej jest w przypadku odwołań do ich wartości. Obok .Text istnieje jeszcze .Value - odwołanie do wartości liczbowej ( chyba )

a także wiele innych o któych nie pamiętam, lub jeszcze do nich nie doszedłem. Zależnie od sytuacji.

Próbujcie i kombinujcie.

1.) Wstęp do C# V. 2008

Nie jestem wielkim znawcą tego języka, a nawet początkującym.

Sam dopiero zaczynam się uczyć technologi i tego języka programowania, lecz w miarę dalszych postępów w  nauce będę publikować swoje sposoby na rozwiązanie problemów na które osobiście natknąłem się podczas nauki.

Postaram się pisać jasnym językiem, lecz wątpie by można go nazwać specialistycznym, nie jestem informatykiem, a jedynie samoukiem od początku do końca.

 

Instalacja

1.) http://www.microsoft.com/express/vcsharp/

Ściągnij, zainstaluj działaj. Osobiście wystarcza mi wersja express edition, zawiera wszystko co do tej pory było mi potrzebne.

PIERWSZE KROKI

1.) Nowy projekt

- WindowsFormsApplication ( jest to projekt z możliwoscią tworzenia aplikacji okienkowych w stylu windows. Na początek, radzę tego nie używać. Osobiście sprawiło mi wiele kłopotu nauczenie się łączenia obiektów wstawianych okienka z kodem programu, dlatego też bardziej polecam wersję:

- ConsoleApplication - polecam na początek. Brak obsługi okienek jak w windowsie, ale za to nie trzeba na starcie męczyć się z zagadnieniem podłączania formularza z kodem.

2.) Pierwszy program

Nie będe pisać jak ma wyglądać kod hello world - znajdziecie to wszędzie.

Wpisujecie kod, klikacie zieloną strzałkę ( coś jak play ), otwiera się konsola ( jeśli wybraliście ConsoleApplication - jeśli nie, to program hellow wolrd nie będzie działać! ) i koniec.

Tyle, nie będę pisał dokładnego tutorialu - początki są opisane wszędzie, wystarczy umieć wpisać kilka zdań w google.pl

OPIS OKIENEK PROGRAMU

Zaczynając od górnego lewego rogu:

- Toolbox - zastosowanie TYLkO W FORM ( okienko projektowania wyglądu aplikacji, buttony, list etc). Na prawdę prosty sposób na dodanie jakiegoś elementu, przycisku, zwykłego tekstu, obrazka. Każdy element dodany z Toolbox ma swoje własciwości gdzie możemy modyfikować jego wygląd oraz przypisać mu tag ( odpowidzialny za odwołania w skryptach programu )

- okienko skryptów

- Solution Explorer - katalog naszego programu, tutaj znajdują się wszelkie pliki jakie dołączymy/dodamy do programu.

- Proporties - własciwości obiektów z FORM ( okienko projektowania wyglądu aplikacji )

 

 

 

Trochę po łebach ..ale cóż, nie lubię wstępów ;)