Arkiv | Programmering RSS feed for this section

Gratis Grooveshark API class

27 aug

0

Hej Alle, det er længe siden der har været noget aktivitet på siden, men nu er det tid til et lille indlæg igen. Jeg har for et par dage siden lavet en php klasse som gør at man nemt og hurtigt kan lave en applikation som samarbejder med Grooveshark.

Du kan downloade klassen her.

For at få url adressen på det første søgeresultat anvender du følgende metode:
getUrl(‘DIN SØGNING’);

For at modtage meta resultater for det første søgeresultat anvender du følgende metode:
getResult(‘DIN SØGNING’);
For at modtage meta informationer for helt op til 32 af søgeresultaterne anvender du denne metode, resultatet vil blive lageret som et php array.
getResults(‘DIN SØGNING’, ANTAL RESULTATER);

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
<!--?php /* * Client class to communicate with the Grooveshark/Tiny song. *  * Author: Gustav Svendsen * Website: www.gustavs.dk * Production time: 2011 * Requirements: TinySong Apikey, PHP and CURL extension   */ class grooveshark {          /*     * The methods are defined below     */     public $Apikey;     private $_Apiurl = 'http://tinysong.com/';     protected $_ApiFormat;               /*     * The constructor sets the ApiKey and the response format     */     public function __construct($Apikey, $ApiFormat = 'json') {                  //Defines the API key.         $this--->Apikey = $Apikey;

//Sets the format of the response
$this-&gt;_ApiFormat = $ApiFormat;

}

/*
* This functions returns only the link of the first search result
*/

public function getUrl($search = '') {

//Checks if the input has been set
if($search == '') { return false; }

//Constructing the URl of the GET request
$url = $this-&gt;_Apiurl . "a/" . urlencode($search) . "?format=" . $this-&gt;_ApiFormat . "&amp;key=" . $this-&gt;Apikey;

//Making the request
$result = $this-&gt;curl($url);

//Checks for valid result
if($result == '[]') { return false; }

//Returns the result of the request
return $result;

}

/*
* This functions return the number one search result with all the meta data
*/

public function getResult($search = '') {

//Checks if the input has been set
if($search == '') { return false; }

//Constructing the url for the call
$url = $this-&gt;_Apiurl . "b/" . urlencode($search) . "?format=" . $this-&gt;_ApiFormat . "&amp;key=" . $this-&gt;Apikey;

//Making the request
$result = $this-&gt;curl($url);

//Check if valid respond
if($result == '[]') { return false; }

//Converts the json object into a normal php array
$output = json_decode($result, true);

//Returns the result
return $output;

}

/*
* This function returns a number of search result, with the oppertunity to limit the output
*/

public function getResults($search = '', $limit = 32) {

//Checks the input
if($search == '') { return false; }

//Constructing the url for the request
$url = $this-&gt;_Apiurl . "s/" . urlencode($search) . "?format=" . $this-&gt;_ApiFormat . "&amp;limit=" . $limit . "&amp;key=" . $this-&gt;Apikey;

//Making the requet
$result = $this-&gt;curl($url);

//Checks if valid respond
if($result == '[]') { return false; }

//Converts json opj to php array
$output = json_decode($result, true);

//Returns the result
return $output;
}

/*
* This functions makes all the curl calls to the API and returns it to the requesting function
*/

protected function curl($input) {

//starts the curl session
$cl = curl_init($input);

//Sets the curl options
curl_setopt($cl, CURLOPT_HEADER, 0);
curl_setopt($cl, CURLOPT_AUTOREFERER, 1);
curl_setopt($cl, CURLOPT_USERAGENT, "Mozilla/4.0 (compatible; MSIE 5.01; Windows NT 5.0");
curl_setopt($cl, CURLOPT_RETURNTRANSFER, 1);

//Executes the curl call
$return = curl_exec($cl);

//Closes the curl session
curl_close($cl);

//Returns the value of the curl call
return $return;
}
}
Share

Nulled script

27 feb

0

Der findes et hav af fantastiske script ude på nettet som kan udføre alle mulige slags opgaver. Nogle af disse scripts er gratis og lanceret under open source eller andre licenser som tillader dig at bruge det kvit og frit. Der er dog også mange som koster penge og det er ofte disse scripts som er fede og som vi godt kunne tænke os at få fat på. De fleste søger derfor på google efter det script som man lige har set og som måske koster 100,500 eller flere tusinde kroner. Hvis man gør dette vil der typisk dukke en masse sider frem som påstår at du kvit og frit kan downloade scriptet uden at skulle betale en øre. Her er det du skal tænke dig om, for selvom mange mennesker desværre downloader ulovlig musik, film & spil skal man tænke sig ekstra godt om når det er noget som du skal bruge online. De fleste scripts du kan downloade ulovligt er nemlig det man kalder for nulled. Nulled betyder at en eller anden hacker, har fjernet de sikkerheds funktioner som skal sørge for at f.eks. kunderne ikke kan bruge scriptet uden at indtaste en aktiveringskode. Der er dog mange af disse hackers som ikke udføre sit hack ordentlig og efterlader sig kæmpe sikkerheds risikoer. Dette kan f.eks. være fejl i forbindelsen mellem script og database som gør det super nemt fra andre at opspore dit brugernavn og password til databasen.

Det korte af det lange er derfor: Download aldrig et nulled script fordi det er ulovligt.
Anvend aldrig et nulled script da det kan sætte dit websites sikkerhed i fare.
Jeg håber nu du ved hvad et nulled script er og hvorfor man ikke skal anvende det.

Share

Feeds + WordPress

22 feb

0

Hej alle sammen.
Jeg har i vinterferien arbejdet på en lille side kaldet boglageret.dk. Den er langt fra færdig men jeg vil alligevel fortælle lidt om hvad jeg i grove træk har gjort indtil videre.
Mange Affiliatenetværk har såkaldte product feeds, som er en kæmpe csv fil, med en masse data omkring produkter fra en bestemt webshop. I mit tilfælde har jeg anvendt et produkt feed fra netværk Euroads som henter produkter fra webbutikken saxo.com.
Feedet har lige omkring 50000 bøger, samt urls, beskrivelse og alt hvad du skal bruge.

Jeg har downloadet dette feed og uploadet det til min egen server. Derfra har jeg lavet en php-fil som henter hele CSV filen over i den mysql database som boglageret.dk anvender. Jeg kan afsløre at det er en helt almindelig wordpress installation som er på siden.
Inden jeg henter produkterne over i wordpress som almindelige indlæg sortere jeg dem efter følgende kriterier.
Har produktet et billed?
Har produktet en pris?
Har produktet en beskrivelse på mere end 25 ord?

De resterende 29000 bøger hentes så ind i wordpress helt automatisk uden jeg skal gøre noget, og wupti så er der skrevet 29000 indlæg på bloggen, smart ikke?.

Efter et par dage, hvor siden var online begyndte google strakst at indexere mig, og nu fire dag efter jeg uploadede produkterne har jeg fået indexeret ca. 1700 sider. Dette er jeg super tilfreds med, men jeg mangler desværre stadig at inddele dem i kategorier, hvilke jeg vil skrive mere om inden længe.

Herunder kan du se filen som den ser ud indtil videre: Bemærk jeg har oprettet en extra colum i wp_posts som heder type. Det er en almindelige varchar på 128 tegn.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
&lt;?
$host = "localhost";
$user = "########";
$password = "########";
$db = "######";

$con = mysql_connect($host, $user, $password); //Forbinder til db
mysql_select_db($db); //Vælger database

set_time_limit(180);

mysql_query("DELETE FROM wp_posts WHERE type='feed'"); //Sletter rækker der er feed

$csv = fopen("saxo.csv","r"); //Åbner CSV feed
while(($data = fgetcsv($csv, 2000,";")) !=FALSE) {

$title = $data[8];
$url = $data[12];
$beskrivelse = $data[14];
$kategori = $data[18];
$image = $data[22];
$pris = $data[26];
$currency = $data[28];
$forsendelse = $data[34];

$text = "&lt;table cellpadding=5 cellspacing=5&gt;&lt;tr valign=top&gt;&lt;td&gt;
&lt;a href=$image&gt;&lt;img src=$image height=125 alt=$title rel=lightbox /&gt;&lt;/a&gt;
&lt;/td&gt;&lt;td&gt;
$beskrivelse
&lt;!--more--&gt;
&lt;b&gt;Forsendelse&lt;/b&gt; $forsendelse kr.
&lt;b&gt;Pris:&lt;/b&gt; $pris kr.
&lt;a href=$url target=_blank&gt;&lt;!--cloak--&gt;K&amp;oslash;b bog&lt;/a&gt;
&lt;/td&gt;&lt;tr/&gt;&lt;/table&gt;
"
;
$count = strlen($beskrivelse);
$img = strlen($image);

if($count &gt; 25 &amp;&amp; $img) {
$date = date("Y-m-d H:i:s");
mysql_query("INSERT INTO wp_posts (post_date,post_status,post_content,post_title,type,comment_status,post_type,post_parent) VALUES ('$date','publish','$text','$title','feed','closed','post','0')");
}

//echo "&lt;pre&gt;";
//print_r($data);
//echo "&lt;pre/&gt;";
echo $kategori . "&lt;br/&gt;";

}

mysql_close($con); //Afslutter database forbindelse
?&gt;
Share

Billedehost.dk

27 jul

0

Billedehost.dk - Dansk image hosting serviceHej alle og tak fordi du kigger forbi min blog.

Jeg har brugt min tid i sommervarmen på at programmere et nyt site.
Site hedder billedehost.dk og er ganske simpelt, en image hosting service som både er gratis og med mange muligheder. Du kender måske konceptet fra sider som imagehosting.org eller den danske peecee.dk.

Står du og mangler et sted at uploade din forum signatur eller avatar, kan du nu besøge www.billedehost.dk og med en uplaod grænse på 20 mb og et hav af filtyper, behøver du ikke at konvertere dine filer inde du uploader dem.

Siden er programmeret i php og mysql som database, og min plan er selvfølgelig at opdatere siden løbende med forskellige nye funktioner som vil gøre det endnu federe at anvende lige netop billedehost.dk.

Siden er placeret på danske ibm servere som sikre en hurtig og stabil afvikling, hvilke betyder at du ikke skal side at ventet på dine billeder kommer frem.

Håber du vil tage et kig forbi siden.

Hilsen
Gustav

Share