Zenity GTK+ GUI PHP-vel

A Zenity (Display graphical dialog boxes from shell scripts) segítségével GTK+ dialógus ablakot jeleníthetünk meg parancssoros programból (A program Bash, Python; PHP; stb.. nyelven íródhat), majd a beírt értéket kapjuk eredményül. Használni Linux Gnomeos (http://www.gnome.org) környezetben érdemes :-), de elvileg XFCE http://www.xfce.org/ környezetben is működni fog.
Telepítés: apt-get install zenity
A Zenity segítségével plusz kényelmi funkciókkal láthatjuk el fapados alkalmazásainkat, a könnyebb felhasználhatóság javára. A bonyolultabb komoly programozási-és rendszer ismereteket igénylő (adatbeviteli) művelteteket mint fájl és mappa csoportos kiválasztását (akár szűréssel típusra, névre), adatbevitelt, adat megjelenítést, rendezést, szerkesztés, üzenetek lekezelését végezhetjük el grafikus felületen. A csoportos művelet eredményét tömb formájában vagy határolókkal elválasztva kapjuk vissza. A határló karaktert beállíthatjuk (list: --separator ';').
Mire lehet használni?
A példa kedvéért egy csoportos átméretező program:
Mivel a felhasználók elé tolt grafikus felület nagyban megkönnyít az adatbevitelt, és fejlesztőnek sincs túl sok dolga mint össze legózni a kapott információt egy scriptbe (és szalonképessé tenni az input adatokat). Külsős binárisokra támaszkodva mint ImageMagick, pillanatok alatt készíthetünk egy csoportos kép konvertáló programot.
Grafikus felületen:
- mappák kiválasztása és létrehozása (--file-selection)
- méretek; kiterjesztések; nevek; stb.. (--entry)
- Rendezések; törlés (--list)
- hibaüzenet; figyelmeztetések (--warning; --error; --info)
- Input ellenőrzés; lekezelés; üzenet küldések
- a kapott paraméterek tornasorba rendezése és átadása a 'binárisnak'
A sytem és exec függvények körül akadhatnak, mivel velük a jogosultságunknak megfelelően 'bármit' végrehajthatunk.
Más lehetőségek:
Persze vannak egyéb lehetőségeink mint például PHP-ben az STDIN; STDOUT; STDERR (http://hu.php.net/manual/en/features.commandline.php) (Python input; raw_input http://www.python.org/dev/peps/pep-3111/), de az adatbevitel több útvonal megadásánál, vagy fájlok kiválasztásánál már nem 1*ű.
Milyen ablakokat indíthatunk vele:
Figyelem a php kód elé az első sorban írjuk be a > /usr/bin/php utasítást, a letöltések között a teljes teszt elérhető.

--calendar
Naptárat jelenít meg.

--entry
Beviteli mező dialógus ablakot küldhetünk. Paramétereivel jelszó bevitelre is alkalmas.
<?php
//adatbevitel:
$width="300";
$height="300";
$title="Ablak neve";
$label="Mezőnév";
$e=exec("zenity --entry --width {$width} --height {$height} --text {$label} --title {$title}");
echo $e;
?>

Az Entry használható jelszó bekérésre is:
<?php
$ret=exec("zenity --entry --text 'Most ne add meg a jelszavad:' --title='Password' --entry-text 'password' --hide-text");
echo $ret;
?>

--text-info
Szöveges fájl tartalmát tekinthetjük meg illetve szerkeszthetjük vele. Szerkesztés után elmenthetjük a tartalmat.
<?php
//szöveges fájl megnyitása
$ret=exec("zenity --text-info --title 'szöveges fájl szerkesztése' --filename 'zenity.txt' --editable >'./mod_zenity.txt'");
echo $ret;
?>

--error
Hibaüzenetet küldhetünk a felhasználónak
<?php
//hibaüzenet küldés
exec("zenity --error --text 'Hoppá, valami gond van!' --title 'hibaüzi'");
?>

--file-selection
Fájl kiválasztás dialógus panelt küldhetünk vele a felhasználónak. Amivel szűrhetünk típusra, névre. Saját jogosultságunknak megfelelően létrehozhatunk mappákat, fájlokat is.
<?php
//fájlkezelés
$width="300";
$height="300";
$title="Ablak neve";
$label="Mezőnév";
$directory="/var/www/";
$multi="--multiple";//tobb fájl kiválasztható
$multi="";//
$e=exec("zenity --file-selection --directory {$directory} {$multi} --width {$width} --height {$height} --text {$label} --title {$title}");
print_r($e);
?>

--info
Információs ablakot indít, saját ikont és üzenetet használhatunk.
<?php
//Information Dialog
exec("zenity --info --text 'Nagyon fontos információk' --title='infó'");
?>

--list
Lista ablakot küldhetünk vele. Több elem egyidejű kiválasztását, rendezését és szerkesztését is lehetővé teszi. A visszatérési érték meghatározható.
<?php
//List Dialog
$mezo_nevek=array("lorem", "ipsum");
$column=(string)"";
foreach($mezo_nevek as $v){
$column.="--column '{$v}' ";
}
//echo $column;
$adatok=array(
0=>array("001", "nev1"),
1=>array("002", "nev2"),
2=>array("003", "nev3"),
3=>array("004", "nev4"),
4=>array("005", "nev5"),
);
$c=sizeof($adatok);
$adat=(string)"";
for($i=0;$i<$c;$i++){
$adat.="'{$adatok[$i][0]}' '{$adatok[$i][1]}' ";
}
$tomb=exec("zenity --width 300 --height 300 --list --multiple --separator ';' --print-column all --editable --title='Lista title' ".$column." ".$adat);
print_r($tomb);
?>

--notification
Egy értesítőt jeleníthetünk meg.
--warning
Figyelmeztető ablakot küldünk vele.
--question
Eldöntendő kérdést tehetünk fel a segítségével a felhasználónak. (Biztos hogy töröljük a c: meghajtódat... Naná, olvasás nélkül :-) https://bugs.launchpad.net/ubuntu/+source/zenity/+bug/195796
<?php
$ret=exec("zenity --question --text 'Biztos hogy törölhetjük a c: meghajtó teljes tartalmát?' --title='Delete C'");
echo ($ret==true) ? "igen":"nem";
?>

--progress
Progress dialógus ablakot küldhetünk vele. (pl.: fájl letöltésnél láthatunk hasonlót)

--scale
Scale dialógus ablakot küldünk vele. Csúszkák segítségével értékeket állíthatunk be vele.
<?php
$ret=exec("zenity --scale --title 'Scale' --text 'Scale dialog' --value 10 --min-value 5 --max-value 25 --step 1");
echo $ret;
?>
Általános paraméterek (ezeket mindegyik elemnél használhatjuk):
--title=TITLE
Ablak címét állíthatjuk be vele
--window-icon=ICONPATH
Az ikont állíthatjuk be vele.
--width=WIDTH
Ablak méret X
--height=HEIGHT
Ablak méret Y
A tartalomhoz kapcsolódó linkek:
Cikkhez tartozó letöltés(ek):
zenity-php.zip- Zenity használata PHP-vel példa fájl.
1681 Byte
application/zip
Bejegyzés küldése
További kapcsolódó oldalak
- jQuery Loader V2
- Mysql Ajax Table Editor
- Grafikon készítése egyszerűen
- NetBeans IDE használata FTP,SFTP-n keresztül
- Adminer alternatív PHPMyAdmin
- Web-design csere fájldalommentesen
- KFM webes fájlmenedzser
- Php Framework CodeIgniter alapok
- Videó letöltés és átalakítás PHP-vel
- Memcache használata
- NetBeans IDE gyorsbillentyűk
- Smarty Editor NetBeans Plugin
- PHP MYSQL Smarty Online CRUD generátor
- Webfejlesztési eszközök Linuxon
- NetBeans IDE 6.5 telepítése Ubuntura
- Aptana Stúdió telepítése Linuxra
- Html to PDF álom
- PHP forrás formázás
- JavaScript programozás PHP utasításokkal
- Ügyfélnyilvántartó demó
- Zend Framework és Doctrine
- Fájlok tárolása MySQL adatbázisban, PHP segítségével
- SQL Insert teszt
- Regexp Vagy Like, melyiket szeressem
- Webes kódtöredék kezelés Ubuntura WCS
- Website uptime monitoring
- PHP,Zenity,ImageMagick képmanipuláció Ubuntu Linuxon
- Smarty AJAX függvények
- Parancssoros képmanipuláció Linuxon
- PHP array, String CheatSheet
- Alapvető műveletek PHP és MySQL adatbázis kapcsolatához
- $Smarty puska 1.
- Virtuálhost létrehozása localhoston
- Dokumentumok konvertálása
- kód optimalizálás tömböknél
- Curl funkciók telepítése XAMPP webszerverre
- Barátságos URL átirányítás
- PHP MySQL cheatSheet
- Forrás összehasonlítás, eltérés felderítés
- PHP, SQLite CheatSheet
Blogmarkok
Simple Chat
Egyszerû szöveges fájl alapú PHP chat progi.
Showcase of Interesting Navigation Designs
Érdekes menü, navigáció megvalósítások.
Több mint 306 magyar Linkgyûjtemény
Érdekes gyûjtemény magyar katalógusokról, linkgyûjteményekrõl, cikk katalógusokról. PR érték és alkalmazás szerinti megjegyzéssel. Igényes munka és használható forrás, weblap népszerûsítéshez. Az egyik legjobb hazai publikus SEO lista.
AdMax SEO Toolbar
Firefox kiterjesztés SEO eszközként.
Identica PHP
Identi.ca mikroblog szolgáltatáshoz PHP class, egyszerû használattal.
Twitter OAuth PHP
PHP Oauth részletes leírás, avagy hogyan használhatod távolról a Twittert.
Lightweight PHP Picasa API Version 3.0
PHP osztály Picasa képgaléria elemeinek a kezelésére. RSS-bõl feldolgozza az albumokat és képeket.

Blogmark felhő
- Új, jquery, php, plugin, css, gfx, seo, tools, javascript, online, menu, tipp, ui, mysql, google, class, framework, lib, html, flash, gallery, firefox, pdf, js, ajax, web-design, speedup, form, codeigniter, template, oop, joomla, table, maps, linux, upload, security, book, color, cheatsheet, mvc, web, font, api, fejlesztes, gimp, zend framework, editor, php5, input, generator, slider, ubuntu, design, wordpress, lightbox, css3, effekt, free, sql, netbeans, test, snippet, leiras, zf, drupal, tanulas, twitter, python, tooltip, html5, newsletter, db, graph, open source, grafikon, wysiwyg, tarhely, jqueryui, cms, memcache, ide, smarty, photos, gyujtes, theme, browser, json, file, firebug, link, canvas, gyujtemeny, pattern, xhtml, scroll, xml, gui, tutorial, foto, rss, icons, player, image, code, grid, url, orm, gd, php oop, chrome, apache, ftp, regexp, extension, programozas, docs, website, video, kereso, basic
Top5 webes fájlmenedzser
A gyűjtésben szereplő elemek weben keresztül valósítanak meg fájlkezelést. A kiválasztásnál kiemelt szempont volt az egyszerű deszktop jellegű szoftverektől megszokott kényelem, a biztonság és a többfelhasználós beállítási lehetőség, egyszerű integrálhatóság és a felhasználhatósági (licenc) szempontok.
2009-5 kedvenc jQuery pluginje
2009-ben is vannak kedvenc jQuery plugin-jeim. Ezt szeretném veletek megosztani.
Úgy érzem kicsit változtam, a plugin választás a funkcionalitáson túl egy picit a parasztvakítás is bejátszik.
(Parasztvakítás (PW): olyan effektek aminek a gyakorlatban szinte semmi haszna nincs, de szemet gyönyörködtető)
Nem..
10 hasznos FireBug kiterjesztés
Hasznos FireBug képességeit kiterjesztő pluginek. Bár a FireBug önmagába is egy rendkívül jól használható Firefox kiterjesztés. De elérhető hozzá néhány nagyon profi kütyü, ami sokszor önálló funkciót valósít meg, de az esetek nagyobb részében a FirBug képességeit combosítják ki.
Ha még nem ismernéd a
50 Hasznos Firefox kiterjesztés Linuxra
Kedvenc Linuxon is működö Firefox kiterjesztések, mindennapos felhasználásra és webfejlesztőknek.
A addon-ok működnek Windows-os rendszereken is, de a cikk kifejezetten a Linuxra elérhető és hasznos Firefox kiterjesztésekből szemezget.
A Firefox 3.0 megjelenésekor már volt egy
350 hasznos Gimp effekt, Plugin, Script-Fu
Hasznos pluginek, Script-fu-k, effektekkel, technikai megoldások gyűjteménye Gimp 2.6.X verziójához.
A cikknek célja az, hogy egyszerű megoldást adjon Gimp-hez, pluginek beszerzésére.
Szerencsére vannak olyan önzetlen projektek ahol összegyűjtik számunkra ezeket a nélkülözhetetlen eszközöket. Így sikerült összehozni 5 bejegyzésben..
Szoftverek
ArtH2O Blog tartalmából:
PHP Twitter Codeigniter OAuth
2010 Augusztus végétől már csak OAuth-on keresztül lehet bejegyzéseket küldeni a Twitterre illetve a hitelesítés ezen keresztül megy. Sok megoldás létezik a dologra, de mindegyik eléggé nyakatekert és nem igazán akarnak működni.Érdemes elolvasnod a cikket, ha néhány óra kísérletezés meg szeretnél úszni!
10 hasznos új Codeigniter lib
Több okból is szeretem a Codeigniter keretrendszert. Az egyik oka, hogy ezt választottam keretrendszerül az nem más mint az egyszerűség. A másik az, hogy nem kell feltalálni a kereket, mert szinte minden tud, amire nekem egy alap alkalmazásnál szükségem lehet. Biztonságos, gyors és egyszerűen tanulható, jól dokumentált, szerethető rendszer. De a bejegyzés nem erről szól, hanem néhány 2010-es hasznos Codeigniter Lib-ről.
Stílusos űrlap elemek
Nem egy
szerű minden űrlap elemnek stílust adni. Gyakorlatilag checkbox, select, radio, file elemeknek nagyon nem is lehet, vagy csak részben. Erre találtak ki egy érdekes technikát, ami a működés közben az eredeti HTML elemet elfedi és azt egy grafikai elemmel helyettesíti. pl.: Egy checkbox, vagy radio esetében 2 állapota van bekapcsolt és kikapcsolt. Ha lehet kerüljük ezeket a technikákat, mert nagyon böngészőfüggő a működésük. Ha lehet maradjunk az eredeti űrlap elemeknél és azt csinosítsuk.
Térképes cég-és weblapkatalógus
Már régóta szerettem volna egy olyan oldalt, ami weblapkatalógusként működik, de kicsit másképpen közelíti meg a dolgokat, mint a jelenleg piacion lévő katalógusok. Egy ilyen újszerű kezdeményezésem volt a szintén Codeigniter alapú Twitt.hu, ami egyben linkrövidítő szolgáltatás is. De a sok jó tulajdonsága mellet, még mindig hiányoltam benne valamit. Ezt a plusz dolgot sikerült beleplántálnom a RegionalisBank.info cég-és weblapkatalógusba.
Kép átméretezés és cache
Van néhány hasznos Smarty plugin, ilyen a Thumb nevű bővítmény is. Nagyon sokáig nem fejlesztették, már azt gondoltam kihalt alóla a fejlesztés, de 2010-ben egy újabb változat jelent meg belőle. Smarty 2.6.X és PHP 5.X.Y verzióhoz.A bővítménnyel a sablonon tudunk képméreteket legyártani és gyorsítótárazni.

