Перегонщик паков со смайлами от клиента QIP для Kopete&Pidgin
Код: Выделить всё
<?php
/**
*q2l.php
* @author -=NuR=-
* @copyright 2008
*/
$mode=1; //1 - kopete 2 - pidgin
$dir = "Animated"; //как завется папка со смайлами....
$define_file=file($dir."/_define.ini");
$i=0;
switch ($mode) {
case 1: //kopete
$emoticons=fopen($dir."/emoticons.xml","w");
break;
case 2:
$emoticons=fopen($dir."/theme","w");
break;
}
$smilesarr=array();
switch ($mode) {
case 1: //kopete
fwrite($emoticons,'<?xml version="1.0"?>'."\n");
fwrite($emoticons,'<messaging-emoticon-map>'."\n\n");
break;
case 2: //pidgin
fwrite($emoticons,'Name=QIP-smiles'."\n");
fwrite($emoticons,'Description=QIP smiles for Pidgin'."\n");
//fwrite($emoticons,'Icon=regular.png'."\n");
fwrite($emoticons,'Author=NuR'."\n\n");
fwrite($emoticons,'[default]');
break;
}
if (is_dir($dir)) {
if ($dh = opendir($dir)) {
while (($file = readdir($dh)) !== false )
{
if(preg_match("/(.*)\.(gif|bmp)/i", $file,$matches))
{
switch ($mode) {
case 1: //kopete
$smilesarr[]=$matches[1];
break;
case 2:
$smilesarr[]=$matches[0];
break;
}
}
}
closedir($dh);
}
natcasesort($smilesarr);
foreach($smilesarr as $sml)
{
$smiles=explode(",",$define_file[$i]);
switch ($mode) {
case 1: //kopete
$xml='<emoticon file="'.$sml.'">'."\n";
break;
case 2:
$xml="\n".$sml;
break;
}
foreach($smiles as $smile)
{
switch ($mode) {
case 1: //kopete
$xml.='<string>'.trim($smile).'</string>'."\n";
break;
case 2:
$xml.=" ".trim($smile);
break;
}
}
if($mode==1) $xml.='</emoticon>'."\n";
fwrite($emoticons,$xml);
// echo $define_file[$i].'<img src="'.$dir.$sml.'.gif" />'."<br>";
$i++;
}
if($mode==1) fwrite($emoticons,'</messaging-emoticon-map>'."\n");
fclose($emoticons);
}
if($mode==2) system("tar -zcf $dir.tar.gz $dir");
echo "Done!\n";
switch ($mode) {
case 1: //kopete
@system("mkdir ~/.kde/share/emoticons");
@system("cp ".$dir." ~/.kde/share/emoticons -r");
break;
case 2:
echo "Pidgin->Ctrl+P->smiles->add->".getcwd().'/'.$dir.".tar.gz\n";
break;
}
?>
usage: php q2l.php
коменты думаю понятны,
$mode=1; //1 - kopete 2 - pidgin режим работы
$dir = "Animated"; //как завется папка со смайлами
В случае копета установка пака со смайлами произойдет автоматически, в настройках просто надо будет указать тему.
если пидгин то вручную добавить новую тему.
если есть ошибки или недочеты не пинайте сильно=)