From a5f7b400f0bfec04ba423bdaea4a7a07b227e59d Mon Sep 17 00:00:00 2001 From: shish Date: Sat, 29 Mar 2008 03:42:48 +0000 Subject: [PATCH] remove broken / non-gpl extensions git-svn-id: file:///home/shish/svn/shimmie2/branches/branch_2.2@731 7f39781d-f577-437e-ae19-be835c7a54ca --- contrib/autocomplete/main.php | 29 -- contrib/autocomplete/script.js | 98 ----- contrib/handle_flash/main.php | 67 --- contrib/handle_flash/theme.php | 19 - contrib/handle_flash/thumb.jpg | Bin 7238 -> 0 bytes contrib/handle_mp3/main.php | 67 --- contrib/handle_mp3/theme.php | 22 - contrib/handle_mp3/thumb.jpg | Bin 5751 -> 0 bytes contrib/handle_mp3/xspf_player.as | 448 --------------------- contrib/handle_mp3/xspf_player.fla.bz2 | Bin 94903 -> 0 bytes contrib/handle_mp3/xspf_player.swf | Bin 57616 -> 0 bytes contrib/handle_mp3/xspf_player_license.txt | 10 - contrib/handle_svg/main.php | 92 ----- contrib/handle_svg/theme.php | 16 - contrib/handle_svg/thumb.jpg | Bin 5619 -> 0 bytes contrib/notes/main.php | 52 --- contrib/notes/theme.php | 13 - contrib/rating/main.php | 106 ----- contrib/rating/theme.php | 28 -- contrib/svn_update/main.php | 79 ---- contrib/svn_update/theme.php | 52 --- 21 files changed, 1198 deletions(-) delete mode 100644 contrib/autocomplete/main.php delete mode 100644 contrib/autocomplete/script.js delete mode 100644 contrib/handle_flash/main.php delete mode 100644 contrib/handle_flash/theme.php delete mode 100644 contrib/handle_flash/thumb.jpg delete mode 100644 contrib/handle_mp3/main.php delete mode 100644 contrib/handle_mp3/theme.php delete mode 100644 contrib/handle_mp3/thumb.jpg delete mode 100644 contrib/handle_mp3/xspf_player.as delete mode 100644 contrib/handle_mp3/xspf_player.fla.bz2 delete mode 100644 contrib/handle_mp3/xspf_player.swf delete mode 100644 contrib/handle_mp3/xspf_player_license.txt delete mode 100644 contrib/handle_svg/main.php delete mode 100644 contrib/handle_svg/theme.php delete mode 100644 contrib/handle_svg/thumb.jpg delete mode 100644 contrib/notes/main.php delete mode 100644 contrib/notes/theme.php delete mode 100644 contrib/rating/main.php delete mode 100644 contrib/rating/theme.php delete mode 100644 contrib/svn_update/main.php delete mode 100644 contrib/svn_update/theme.php diff --git a/contrib/autocomplete/main.php b/contrib/autocomplete/main.php deleted file mode 100644 index 0dc03490..00000000 --- a/contrib/autocomplete/main.php +++ /dev/null @@ -1,29 +0,0 @@ - - * Link: http://trac.shishnet.org/shimmie2/ - * License: GPLv2 - * Description: Auto-complete for search and upload tags - */ - -class AutoComplete extends Extension { - public function receive_event($event) { - if(is_a($event, 'PageRequestEvent') && ($event->page_name == "index" || $event->page_name == "view")) { - $event->page->add_header(""); - } - if(is_a($event, 'PageRequestEvent') && ($event->page_name == "autocomplete")) { - $event->page->set_mode("data"); - $event->page->set_type("text/plain"); - $event->page->set_data($this->get_completions($event->get_arg(0))); - } - } - - private function get_completions($start) { - global $database; - $tags = $database->db->GetCol("SELECT tag,count FROM tags WHERE tag LIKE ? ORDER BY count DESC", array($start.'%')); - return implode("\n", $tags); - } -} -add_event_listener(new AutoComplete()); -?> diff --git a/contrib/autocomplete/script.js b/contrib/autocomplete/script.js deleted file mode 100644 index 081d8b47..00000000 --- a/contrib/autocomplete/script.js +++ /dev/null @@ -1,98 +0,0 @@ - -// addEvent(window, "load", function() { -// initAjax("searchBox", "search_completions"); -// initAjax("tagBox", "upload_completions"); -// }); - -function endWord(sentance) { - words = sentance.split(" "); - return words[words.length-1]; -} - -var resultCache = new Array(); -resultCache[""] = new Array(); - -function complete(boxname, text) { - box = byId(boxname); - words = box.value.split(" "); - box.value = ""; - for(n=0; n"+results[i]+""; - } -} - -function initAjax(boxname, areaname) { - var box = byId(boxname); - if(!box) return; - - addEvent( - box, - "keyup", - function f() { - starter = endWord(box.value); - - if(resultCache[starter]) { - fillCompletionZone(boxname, areaname, resultCache[starter]); - } - else { - ajaxRequest( - "ajax.php?start="+starter, - function g(text) { - resultCache[starter] = text.split("\n"); - fillCompletionZone(boxname, areaname, resultCache[starter]); - } - ); - } - }, - false - ); -} - - -//completion_cache = new array(); - -input = byId("search_input"); -output = byId("search_completions"); - -function get_cached_completions(start) { -// if(completion_cache[start]) { -// return completion_cache[start]; -// } -// else { - return null; -// } -} -function get_completions(start) { - cached = get_cached_completions(start); - if(cached) { - output.innerHTML = cached; - } - else { - ajaxRequest(autocomplete_url+"/"+start, function(data) {set_completions(start, data);}); - } -} -function set_completions(start, data) { -// completion_cache[start] = data; - output.innerHTML = data; -} - -if(input) { - input.onkeyup = function() { - if(input.value.length < 3) { - output.innerHTML = ""; - } - else { - get_completions(input.value); - } - }; -} diff --git a/contrib/handle_flash/main.php b/contrib/handle_flash/main.php deleted file mode 100644 index 867ddf8e..00000000 --- a/contrib/handle_flash/main.php +++ /dev/null @@ -1,67 +0,0 @@ - - * Description: Handle Flash files - */ - -class FlashFileHandler extends Extension { - var $theme; - - public function receive_event($event) { - if(is_null($this->theme)) $this->theme = get_theme_object("handle_flash", "FlashFileHandlerTheme"); - - if(is_a($event, 'DataUploadEvent') && $event->type == "swf" && $this->check_contents($event->tmpname)) { - $hash = $event->hash; - $ha = substr($hash, 0, 2); - if(!copy($event->tmpname, "images/$ha/$hash")) { - $event->veto("Flash Handler failed to move file from uploads to archive"); - return; - } - send_event(new ThumbnailGenerationEvent($event->hash, $event->type)); - $image = $this->create_image_from_data("images/$ha/$hash", $event->metadata); - if(is_null($image)) { - $event->veto("Flash Handler failed to create image object from data"); - return; - } - send_event(new ImageAdditionEvent($event->user, $image)); - } - - if(is_a($event, 'ThumbnailGenerationEvent') && $event->type == "swf") { - $hash = $event->hash; - $ha = substr($hash, 0, 2); - // FIXME: scale image, as not all boards use 192x192 - copy("ext/handle_flash/thumb.jpg", "thumbs/$ha/$hash"); - } - - if(is_a($event, 'DisplayingImageEvent') && $event->image->ext == "swf") { - $this->theme->display_image($event->page, $event->image); - } - } - - private function create_image_from_data($filename, $metadata) { - global $config; - - $image = new Image(); - - // FIXME: need more flash format specs :| - $image->width = 0; - $image->height = 0; - - $image->filesize = $metadata['size']; - $image->hash = $metadata['hash']; - $image->filename = $metadata['filename']; - $image->ext = $metadata['extension']; - $image->tag_array = tag_explode($metadata['tags']); - $image->source = $metadata['source']; - - return $image; - } - - private function check_contents($file) { - // FIXME: flash magic header? - return (file_exists($file)); - } -} -add_event_listener(new FlashFileHandler()); -?> diff --git a/contrib/handle_flash/theme.php b/contrib/handle_flash/theme.php deleted file mode 100644 index 62c238cd..00000000 --- a/contrib/handle_flash/theme.php +++ /dev/null @@ -1,19 +0,0 @@ -get_image_link(); - // FIXME: object and embed have "height" and "width" - $html = " - - - - - "; - $page->add_block(new Block("Image", $html, "main", 0)); - } -} -?> diff --git a/contrib/handle_flash/thumb.jpg b/contrib/handle_flash/thumb.jpg deleted file mode 100644 index 3debb306b33112f27bde7a41b4f8671f50e25935..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 7238 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 - * Description: Handle MP3 files - */ - -class MP3FileHandler extends Extension { - var $theme; - - public function receive_event($event) { - if(is_null($this->theme)) $this->theme = get_theme_object("handle_mp3", "MP3FileHandlerTheme"); - - if(is_a($event, 'DataUploadEvent') && $event->type == "mp3" && $this->check_contents($event->tmpname)) { - $hash = $event->hash; - $ha = substr($hash, 0, 2); - if(!copy($event->tmpname, "images/$ha/$hash")) { - $event->veto("MP3 Handler failed to move file from uploads to archive"); - return; - } - send_event(new ThumbnailGenerationEvent($event->hash, $event->type)); - $image = $this->create_image_from_data("images/$ha/$hash", $event->metadata); - if(is_null($image)) { - $event->veto("MP3 Handler failed to create image object from data"); - return; - } - send_event(new ImageAdditionEvent($event->user, $image)); - } - - if(is_a($event, 'ThumbnailGenerationEvent') && $event->type == "mp3") { - $hash = $event->hash; - $ha = substr($hash, 0, 2); - // FIXME: scale image, as not all boards use 192x192 - copy("ext/handle_mp3/thumb.jpg", "thumbs/$ha/$hash"); - } - - if(is_a($event, 'DisplayingImageEvent') && $event->image->ext == "mp3") { - $this->theme->display_image($event->page, $event->image); - } - } - - private function create_image_from_data($filename, $metadata) { - global $config; - - $image = new Image(); - - // FIXME: need more flash format specs :| - $image->width = 0; - $image->height = 0; - - $image->filesize = $metadata['size']; - $image->hash = $metadata['hash']; - $image->filename = $metadata['filename']; - $image->ext = $metadata['extension']; - $image->tag_array = tag_explode($metadata['tags']); - $image->source = $metadata['source']; - - return $image; - } - - private function check_contents($file) { - // FIXME: mp3 magic header? - return (file_exists($file)); - } -} -add_event_listener(new MP3FileHandler()); -?> diff --git a/contrib/handle_mp3/theme.php b/contrib/handle_mp3/theme.php deleted file mode 100644 index 524c38e0..00000000 --- a/contrib/handle_mp3/theme.php +++ /dev/null @@ -1,22 +0,0 @@ -get_image_link(); - $html = " - - - - - -

Download"; - $page->add_block(new Block("Music", $html, "main", 0)); - } -} -?> diff --git a/contrib/handle_mp3/thumb.jpg b/contrib/handle_mp3/thumb.jpg deleted file mode 100644 index f4e9d64f4c7d6c93f2ba00b601f39348b70b3a18..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5751 zcmd^Dc{J4TzyAnPDUB@ICJhoYC}bMEVNKA-bB&+~p>pZE4W&-?l8eA@X6 z97Y(yjQ|b~4#0$c0Xw6B@Wo&cHvlj<2NVDR;AP)z>}&%^F8H}#_jh%X3i9xGmokQ% zU)~u6E&$w|TwGk7-0TN8H}_s1K3*O+_zxV|#|PpU5CHLmKu3fnM2-lG34uUIj~^A2 zlstCq*bxzk3RF4FKW=-T-enIUv9u5C)&Cw74#ol2LL{{QhPw0AV3cwC}!Ec3bkh`Wx4UIl$!OokF$zyImXC)veI1e?edlj z(COtQ663by>wD{!Do@1))-48fH-~b?TsT!jo;lN=e^HNJiO!tT3Ol&u?quVU4A4is zGUk40FrI{8o2pG3d3R?(-6H{fjDH9n`g7d%g7g1J$#4HQe*TQE z^-R^U&O?_k=eJ9T_p{5r1DQx79_3wpaU(geQ+q9v@J#cnUaJ?ivBbPPY@D*e~0aZ1}&;>23X;oPW%n ztsWQ0Tdn?Zaq7(=5@ZKB%)`6ju;Um4 zLPa^e{Jv&|nSrpJZ)2fI>KbqIXGI!}l?MZ^Bc}~O)RhHS-{?lOT zYuN_Bl@dy-FnW0;zsDIC`9tw0^Z`AV8#!W%ys-VhexvkE<>haRXc99C4OM_N4TV)=Z-rrtCA=r+q z3d~NG7CE!g*SP;m=g*rwhybj2&V*Cpl-8o(MkFBcgp0_ayGaU{tS? zR0ZO2#+i0`$TA3Y_|P8}K3ynB#nC>4@tWBnE?aELyn%s~Zil#4ZYsE6>c`L^C4P_vlKb}wxP-AWMw4N@M&#A67L-hUFuVb?Y)B)qo z%IjuPEm+UbXsJ(Y7Q*O$P7S5jy``x9=1eM*6mV}ifcUg6rI})chk-AaYuAk_h;{y< zV`3AYRT$*<1|!7$D19wZ+MJd@6d-o<*C|BuvivDiq`0M9EIw3_pmHWdNveRaTK;|YY_Wf} zR0onDIv($H)-{(L-;}b!hpT({(bu~NQyX^`7NGR>u`!u=v0O!P7|T?W-6Y9UBK3xN zh6Yc>JJnZbQlHOep;E!J$mGW29GKBNOl!LaSbeFDX`ZhKpMlT=>>}E2RKU0l=*g;m z_;@jE&5p!&|E|peWZun&QOSvrtapbM!*oU<)34ks2-7tkmnsXVS9Do~2!{xnJ`X%? zFG8@^g3M;mAzYzQ*S8sqRp+W<0>ZIHYehYtMhNY$7O3vsBR+jLu?K`$DIH}mdl!1g zTRb0e*xTYKWEGGP43qE-pHq;TPQ|u|zWITCjhjhb*2wjjk9EulmI;@?z6(F+c*5Mn z?qg-n@|3$i2)xzehVDFFdL97IOGv*C`tVAqG2@JVt6j|e|b@_Zt%`V!~y&@_=vD+KwCff?qOT33V-~2W!A11z3 zD+Pa}7?I=;>Zm)&u4X2E&c#*9!yym|eJyAE;o1HD*TXFCBsfHhJVR=DU9~Sfm@bHJ zzw68JRMA(WuZ4isBw-qu=K zm-Tvv0i}EoYn-b+-ml7zyl=80W(Ioo=Na@UCDHr(a7i=GtMTOXOjSE(K688?Y+Ezd zK+bQYt;hW}bPsDE2-eKmxxMjO9-P%*L zVNV1eF>zee%loZTOP(}6HEmHAQ%BW1@YdX+(Ck&2R)iL#Ry|AL!XlnPACx1G#N<9+ zbnj9zi2FUEeWI~4e&t}E$L+Cd>I2hw1w%@T4??gb6E3(e%F1dcP#%$Zm4CUl^jw%sz$zN)`Hdh zC2`+WHnENwI*fD$mD!dVXHvD95d@)Yz_MhHeEhdw~lrJ`EZFsLB>ZUBc z1Q@Bs2XGdZscHk_@W(ymV(~2aw@liUu2+Uf70!m+tZ*C#`W5qtYl0}Mmp(t*YPYnt zg4s;C16))a#`(-LTnAEFalRjy=Ed=jxWS5?;4U)5XL=-pK({)oANw&$82z1W*PRv} z+>WHw=b;y^E~bd}rT8dz$)tdUF)6pSx1O`r0{&J-#ZL;GSQ_r;`Oo_scYp^swV2{FzzJ=Z~1xcv!NYyoSod7p+Sll!vpc&B0yMQT?hi{oY# zsX^46umkw7VwyG9-qFW&HRiPL`>T5eC4p^;ZT#(KsA1+U&j2_wUQT?y;ETH$+RvUXbONa{&TLOcCKQ5LL*C{FSR-?c1{SP+RAJ@RAtK}}xWP1?-L zfxL3ZSlc2E0eg6P@q~Z`ieSgPG`5T>ZEmZuFs|8~5cTs@zf1o@Ckh4`s-F$Cuf{+S z-`>b(B}pZZndf(pW5^7TtMD{;r4hgPgY&WnEImcvKcj@hMa<)Y-n;(vh)|6TpCuz&-77^hG#3e%*!_ zo<{A)Zx??nh5&C@Oz)=d4glQ&5ZV|X5r>r=M#G3RKjy8+R&FFIk|J@*Wx!3g4=eoS z*#3Dj*S(dQ7ZM{3SKGZy^d#Elxr};q&O9B|>p|ngez%C32BO9WQDt`H*@N#5Df*#a z(=KsCNHP5~L%b>k=0fOHg>=2YK>FyO=GglQX87oM=iRJ}5q<@&Cm8JW)Mt%+k_r@i z?h-6#ZU-m~xpll9tI#{}R$bD*LRs6qvcS@gjBqg0I+JXnBSEr!8AG~Yfl%{=un2V< zrsM#f_&XV8$HEuNqtxzO8BIogloYk}^nC zEL=xMv*6%ZHAC$Oyg?fvKtbzTh3jl;>3>*#B(Pf_*-pKQ>6_VdS2;)upb3{LIHI>9Xj;2&ojK2M%boAw|oCh8g8I*Cm>tYB#8rsr2QCtGDT1DetyS1?~&z;apbc^prY zDMpVDl9I`=6ROj4q9GJ~_ZS~lR;Cl1lAe8kUf>pw`3ki7=Eon1nAmexu@GxLJE~g6 zC`pNXy8~tDx&sv5s9@(T$3InB4NZTYrlhppn(D7qvt1|GLgHh5O795#ur@OBt5<3_ z(~m)a6eIHOsyyq&(0v}h*IvuU@qKGS*d6vXg|`tyi7s%(xGvRc-6#Q#eTA#x+pgQh z;P;1=UwzlfimYonSWp^V_(1Re4lt#>^dwlExC4A5w~yD%pV|R9#Qeq@?yQ7Vd|_2% zE#$whu%J`F)9Sw8DafqR&TZ^*o?(7B?JtdY48hvErsoz0{_K9aqRj1gUpL;$nRvd) z$WO7Ls#x3ELZ+v3iXg4n<7S(ZvcbdptX{Rhvl@a{r-Sw3_sa>b819>*Vw(iSEzj8v-drY?!Ka}No(8((1dr&T zS9=1xQrmbFbz1J(CVwSye(_WJYD3+v*-7Q;x0xsS?fcI1FIp%x984eaU?{lh&luQ1 zwTVWbC+hL4TQOBPY=R5Dz6gqEEtV{$e@!5U4CTJ*v20;kP(oo?Oree@CS@{LKZ^N+ zU^CYrzCM6>7~<>b^eAX;5;L{~w3TMP9TER|E2>Jb<7|>NZqjMR+YT1lzKx@9r-j8_ z3jY*b=%YL;P`>dGF?pms3i%G$x>jSmyQu+qFl&-Ir8YWA%6*>>I zzzD0Fx1S4S~p?Ph(vxxW^+e&ji*Be*76aRdC)pl~uKltM4?Qz0z|4DcA^d z%RkWxTP7X*p{G=_dZ+ly?UZm^#p4^}Hz~zG4;n_N#mpnRF|TlNAE@dGUXhlDIAmVo z2-y6hU1xs3DuikfzH=@wkKiiyw2j`&tq&MQI9&J-ulm4Ko5}5YMxKM z-o?ILK~6gDZb@@mFWj!Dl0-Nujld0RQ*|GpUrRFmhDoO>M@{eZ=9`2R!{U<`O9*q@ z(Y|eQ$poD#VhTuvyaN8QC~3l;Du3$_#qJ#YPw>Cb1=Tok%kG)v7ys`q@nFIDN4=rWkdOg%mX{Gf@j-mD0vD_lXu4uvic`zlg7z|DQVk z`OJE|uUYT1Z7z@8JdadM-R1HzMxWSt&1f&A^8xqaegK@ J*6{3n{ug^cv;qJC diff --git a/contrib/handle_mp3/xspf_player.as b/contrib/handle_mp3/xspf_player.as deleted file mode 100644 index 0cd58e1a..00000000 --- a/contrib/handle_mp3/xspf_player.as +++ /dev/null @@ -1,448 +0,0 @@ -/* -Copyright (c) 2005, Fabricio Zuardi -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*/ -stop(); -//autoplay=true -//repeat_playlist = true; -//playlist_size = 3; -//player_title = "customizeable title test" -//song_url = "http://downloads.betterpropaganda.com/music/Imperial_Teen-Ivanka_128.mp3"; -//playlist_url = "http://cchits.ning.com/recent/xspf/?xn_auth=no"; -//playlist_url = "http://hideout.com.br/shows/radio-test.xspf"; -//radio_mode = true; -//song_title = "Imperial Teen - Ivanka"; -autoload=true; -//info_button_text = "Add to Cart" -//playlist_url = "http%3A%2F%2Fwebjay%2Eorg%2Fby%2Flucas%5Fgonze%2Flaconic%2Exspf" -//playlist_url= "http://hideout.com.br/tests/hideout2325.xspf" -//constants -DEFAULT_PLAYLIST_URL = "http://hideout.com.br/shows/allshows.xspf"; -DEFAULT_WELCOME_MSG = "Hideout XSPF Music Player - by Fabricio Zuardi"; -LOADING_PLAYLIST_MSG = "Loading Playlist..."; -DEFAULT_LOADED_PLAYLIST_MSG = "- click to start" -DEFAULT_INFOBUTTON_TXT = "Info" -//playlists has priority over songs, if a playlist_url parameter is found the song_url is ignored -//default playlist if none is passed through query string -if(!playlist_url){ - if(!song_url){ - playlist_url = DEFAULT_PLAYLIST_URL; - }else{ - single_music_playlist = ""; - single_music_playlist += ""+song_url+""+song_title+"" - single_music_playlist += "" - } -} -info_mc._visible=false; -if(!info_button_text){ - info_button_text = DEFAULT_INFOBUTTON_TXT; -} -info_mc.display_txt.text = info_button_text; - -//variables initialization -playlist_array = []; -track_index = 0; -playlist_mc.track_count = 0; -pause_position = 0; -volume_level = 100; -playlist_xml = new XML(); -playlist_xml.ignoreWhite = true; -playlist_xml.onLoad = playlistLoaded; -mysound = new Sound(this); -playlist_listener = new Object(); -playlist_list.addEventListener("change", playlist_listener) -//play_btn.onPress = playTrack; -//functions -//xml parser -function playlistLoaded (success){ - if(success){ - var root_node = this.firstChild; - for(var node = root_node.firstChild; node != null; node = node.nextSibling){ - if(node.nodeName == "title"){ - playlist_title = node.firstChild.nodeValue; - } - if(node.nodeName == "trackList"){ - //tracks - var tracks_array = []; - for(var track_node = node.firstChild; track_node != null; track_node = track_node.nextSibling){ - var track_obj = new Object() - //track attributes - for(var track_child = track_node.firstChild; track_child != null; track_child = track_child.nextSibling){ - if(track_child.nodeName=="location"){ - track_obj.location = track_child.firstChild.nodeValue - } - if(track_child.nodeName=="image"){ - track_obj.image = track_child.firstChild.nodeValue - } - if(track_child.nodeName=="title"){ - track_obj.title = track_child.firstChild.nodeValue - } - if(track_child.nodeName=="creator"){ - track_obj.creator = track_child.firstChild.nodeValue - } - if(track_child.nodeName=="annotation"){ - track_obj.annotation = track_child.firstChild.nodeValue - } - if(track_child.nodeName=="info"){ - track_obj.info = track_child.firstChild.nodeValue - } - } - track_obj.label = (tracks_array.length+1) +". "; - if(track_obj.title) { - if(track_obj.creator) { - track_obj.label += track_obj.creator+' - '; - } - track_obj.label += track_obj.title; - } else { - track_obj.label += track_obj.annotation; - } - tracks_array.push(track_obj) - addTrack(track_obj.label); - } - } - } - playlist_array = tracks_array; - if(!playlist_size) playlist_size = playlist_array.length; - playlist_mc.tracks_mc["track_"+track_index+"_mc"].bg_mc.gotoAndStop(2) - if(autoplay){ - loadTrack() - }else{ - start_btn_mc.start_btn.onPress = loadTrack; - track_display_mc.display_txt.text = playlist_title+" "+DEFAULT_LOADED_PLAYLIST_MSG; - if(track_display_mc.display_txt._width>track_display_mc.mask_mc._width){ - track_display_mc.onEnterFrame = scrollTitle; - }else{ - track_display_mc.onEnterFrame = null; - track_display_mc.display_txt._x = 0; - } - } - }else{ - annotation_txt.text = "Error opening "+playlist_url; - } -} - -playlist_listener.change = function(eventObject){ - annotation_txt.text = playlist_list.selectedItem.annotation; - location_txt.text = playlist_list.selectedItem.location; -} - -function loadTrack(){ - - //Radio Mode feature by nosferathoo, more info in: https://sourceforge.net/tracker/index.php?func=detail&aid=1341940&group_id=128363&atid=711474 - if (radio_mode && track_index==playlist_size-1) { - playlist_url=playlist_array[track_index].location; - for (i=0;itrack_display_mc.mask_mc._width){ - track_display_mc.onEnterFrame = scrollTitle; - }else{ - track_display_mc.onEnterFrame = null; - track_display_mc.display_txt._x = 0; - } - cover_mc.content_mc["photo"+last_track_index].removeMovieClip(); - mysound.loadSound(playlist_array[track_index].location,true); - play_mc.gotoAndStop(2) - - //image from playlist - if(playlist_array[track_index].image!=undefined){ - cover_mc.content_mc.createEmptyMovieClip("photo"+track_index,track_index) - cover_mc.content_mc["photo"+track_index].loadMovie(playlist_array[track_index].image) - }else{ - } - //info button - if(playlist_array[track_index].info!=undefined){ - info_mc._visible = true; - info_mc.info_btn.onPress = function(){ - getURL(playlist_array[track_index].info,"_blank") - } - }else{ - info_mc._visible = false; - } - _root.onEnterFrame=function(){ - //HACK doesnt need to set the volume at every enterframe - mysound.setVolume(this.volume_level) - var sound_load_percent = (mysound.getBytesLoaded()/mysound.getBytesTotal())*100 - track_display_mc.loader_mc.load_bar_mc._xscale = sound_load_percent; - var image_load_percent = (cover_mc.content_mc["photo"+track_index].getBytesLoaded()/cover_mc.content_mc["photo"+track_index].getBytesTotal())*100 - cover_mc.load_bar_mc._xscale = image_load_percent; - if((cover_mc.content_mc["photo"+track_index].getBytesLoaded()>4)&&(image_load_percent==100)){ - //image loaded - //make image fit - cover_mc.content_mc["photo"+track_index]._width = cover_mc.load_bar_mc._width - cover_mc.content_mc["photo"+track_index]._height = cover_mc.load_bar_mc._height - } - } -} - -stop_btn.onRelease = stopTrack; -play_mc.play_btn.onRelease = playTrack -next_btn.onRelease = nextTrack -prev_btn.onRelease = prevTrack -mysound.onSoundComplete = nextTrack; -volume_mc.volume_btn.onPress = volumeChange; -volume_mc.volume_btn.onRelease = volume_mc.volume_btn.onReleaseOutside = function(){ - this._parent.onMouseMove = this._parent.onMouseDown = null; -} - -function volumeChange(){ - this._parent.onMouseMove = this._parent.onMouseDown = function(){ - var percent = (this._xmouse/this._width)*100 - if(percent>100)percent=100; - if(percent<0)percent=0; - this.volume_bar_mc._xscale = percent - this._parent.volume_level = percent; - mysound.setVolume(percent) - } -} - -function stopTrack() { - mysound.stop(); - play_mc.gotoAndStop(1) - mysound.stop(); - mysound.start(); - mysound.stop(); - _root.pause_position = 0; - -}; -function playTrack() { - if(play_mc._currentframe==1){ //play - seekTrack(_root.pause_position) - play_mc.gotoAndStop(2) - }else if(play_mc._currentframe==2){ - _root.pause_position = mysound.position; - mysound.stop(); - play_mc.gotoAndStop(1) - } - -}; -function seekTrack(p_offset:Number){ - mysound.stop() - mysound.start(int((p_offset)/1000),1) -} -function nextTrack(){ - if(track_index0){ - last_track_index = track_index; - track_index --; - loadTrack(); - } - playlist_mc.tracks_mc["track_"+last_track_index+"_mc"].bg_mc.gotoAndStop(1) - playlist_mc.tracks_mc["track_"+track_index+"_mc"].bg_mc.gotoAndStop(2) -} - -function scrollTitle(){ - track_display_mc.display_txt._x -= 5; - if (track_display_mc.display_txt._x+track_display_mc.display_txt._width<0){ - track_display_mc.display_txt._x = track_display_mc.mask_mc._width; - } -} - -function resizeUI(){ - bg_mc._width = Stage.width; - track_display_mc.loader_mc._width = Stage.width - track_display_mc._x - 2; - track_display_mc.mask_mc._width = track_display_mc.loader_mc._width-3; - if(track_display_mc.display_txt._width>track_display_mc.mask_mc._width){ - track_display_mc.onEnterFrame = scrollTitle; - }else{ - track_display_mc.onEnterFrame = null; - track_display_mc.display_txt._x = 0; - } - volume_mc._x = Stage.width - 22; - start_btn_mc._xscale = Stage.width; - //playlist area tinnier that the album cover - if(Stage.width<2.5*cover_mc._width){ - // - if (Stage.height>2.5*cover_mc._height){ - //send album cover to bottom - cover_mc._y = Stage.height - cover_mc._height -2- info_mc._height -2; - info_mc._y = Stage.height - info_mc._height -2; - var covervisible =1; - }else{ - var covervisible =0; - //hide album cover - cover_mc._y = Stage.height; - } - //send playlist to left - playlist_mc._x = cover_mc._x; - scrollbar_mc.bg_mc._height = Stage.height - (19+(cover_mc._height+info_mc._height+4)*covervisible); - playlist_mc.bg_mc._height = Stage.height - (19+(cover_mc._height+info_mc._height+4)*covervisible); - playlist_mc.mask_mc._height = Stage.height - (23+(cover_mc._height+info_mc._height+4)*covervisible); - }else{ - cover_mc._y = 17; - info_mc._y = 153; - playlist_mc._x = 138; - scrollbar_mc.bg_mc._height = Stage.height -19; - playlist_mc.bg_mc._height = Stage.height - 19; - playlist_mc.mask_mc._height = Stage.height - 23; - } - scrollbar_mc._x = Stage.width - 12; - playlist_mc.mask_mc._width = Stage.width - (playlist_mc._x + 19); - playlist_mc.bg_mc._width = Stage.width - (playlist_mc._x + 14); -} -function addTrack(track_label){ - if(playlist_mc.track_count>0) { - playlist_mc.tracks_mc.track_0_mc.duplicateMovieClip("track_"+playlist_mc.track_count+"_mc",playlist_mc.track_count); - } - playlist_mc.tracks_mc["track_"+playlist_mc.track_count+"_mc"]._y += playlist_mc.track_count*14; - playlist_mc.tracks_mc["track_"+playlist_mc.track_count+"_mc"].display_txt.autoSize = "left"; - playlist_mc.tracks_mc["track_"+playlist_mc.track_count+"_mc"].display_txt.text = track_label; - playlist_mc.tracks_mc["track_"+playlist_mc.track_count+"_mc"].bg_mc.index = playlist_mc.track_count; - playlist_mc.tracks_mc["track_"+playlist_mc.track_count+"_mc"].bg_mc.select_btn.onPress = function(){ - last_track_index = track_index; - playlist_mc.tracks_mc["track_"+track_index+"_mc"].bg_mc.gotoAndStop(1) - track_index = this._parent.index; - playlist_mc.tracks_mc["track_"+track_index+"_mc"].bg_mc.gotoAndStop(2) - loadTrack(); - } - playlist_mc.track_count ++; -} -//scroll - -scrollbar_mc.up_btn.onPress = function(){ - this._parent.v = -1; - this._parent.onEnterFrame = scrollTracks; -} -scrollbar_mc.down_btn.onPress = function(){ - this._parent.v = 1; - this._parent.onEnterFrame = scrollTracks; -} -scrollbar_mc.up_btn.onRelease = scrollbar_mc.down_btn.onRelease = function(){ - this._parent.onEnterFrame = null; -} -scrollbar_mc.handler_mc.drag_btn.onPress = function(){ - var scroll_top_limit = 19; - var scroll_bottom_limit = scrollbar_mc.bg_mc._height - scrollbar_mc.handler_mc._height - 2; - this._parent.startDrag(false,this._parent._x,scroll_top_limit,this._parent._x,scroll_bottom_limit) - this._parent.isdragging = true; - this._parent.onEnterFrame = scrollTracks; -} -scrollbar_mc.handler_mc.drag_btn.onRelease = scrollbar_mc.handler_mc.drag_btn.onReleaseOutside = function(){ - stopDrag() - this._parent.isdragging = false; - this._parent.onEnterFrame = null; -} -function scrollTracks(){ - var scroll_top_limit = 19; - var scroll_bottom_limit = scrollbar_mc.bg_mc._height - scrollbar_mc.handler_mc._height - 2; - var list_bottom_limit = 1; - var list_top_limit = (1-Math.round(playlist_mc.tracks_mc._height))+Math.floor(playlist_mc.mask_mc._height/14)*14 - if(playlist_mc.tracks_mc._height>playlist_mc.mask_mc._height){ - if(scrollbar_mc.handler_mc.isdragging){ - var percent = (scrollbar_mc.handler_mc._y-scroll_top_limit)/(scroll_bottom_limit-scroll_top_limit) - playlist_mc.tracks_mc._y = (list_top_limit-list_bottom_limit)*percent+list_bottom_limit; - }else{ - if(scrollbar_mc.v==-1){ - if(playlist_mc.tracks_mc._y+14list_top_limit){ - playlist_mc.tracks_mc._y -= 14; - }else{ - playlist_mc.tracks_mc._y = list_top_limit; - } - var percent = (playlist_mc.tracks_mc._y-1)/(list_top_limit-1) - scrollbar_mc.handler_mc._y = percent*(scroll_bottom_limit - scroll_top_limit)+scroll_top_limit; - } - } - } -} -function loadPlaylist(){ - track_display_mc.display_txt.text = LOADING_PLAYLIST_MSG; - if(track_display_mc.display_txt._width>track_display_mc.mask_mc._width){ - track_display_mc.onEnterFrame = scrollTitle; - }else{ - track_display_mc.onEnterFrame = null; - track_display_mc.display_txt._x = 0; - } - - //playlist - if(playlist_url){ - playlist_xml.load(unescape(playlist_url)) - }else{ - //single track - playlist_xml.parseXML(single_music_playlist) - playlist_xml.onLoad(true); - } -} - -//first click - load playlist -start_btn_mc.start_btn.onPress = function(){ - autoplay = true; - loadPlaylist(); -} - - -//main -Stage.scaleMode = "noScale" -Stage.align = "LT"; -this.onResize = resizeUI; -Stage.addListener(this); -if(!player_title) player_title = DEFAULT_WELCOME_MSG; -track_display_mc.display_txt.autoSize = "left"; -track_display_mc.display_txt.text = player_title; -if(track_display_mc.display_txt._width>track_display_mc.mask_mc._width){ - track_display_mc.onEnterFrame = scrollTitle; -}else{ - track_display_mc.onEnterFrame = null; - track_display_mc.display_txt._x = 0; -} -//start to play automatically if parameter autoplay is present -if(autoplay){ - start_btn_mc.start_btn.onPress(); -} else if (autoload){ - loadPlaylist() -} -//customized menu -var my_cm:ContextMenu = new ContextMenu(); -my_cm.customItems.push(new ContextMenuItem("Stop", stopTrack)); -my_cm.customItems.push(new ContextMenuItem("Play!", playTrack)); -my_cm.customItems.push(new ContextMenuItem("Next", nextTrack)); -my_cm.customItems.push(new ContextMenuItem("Previous", prevTrack)); -my_cm.customItems.push(new ContextMenuItem("Download this song", function(){getURL(playlist_array[track_index].location,"_blank")},true)); -my_cm.customItems.push(new ContextMenuItem("Add song to Webjay playlist", function(){getURL("http://webjay.org/poster?media="+escape(playlist_array[track_index].location),"_blank")})); -my_cm.customItems.push(new ContextMenuItem("About Hideout", function(){getURL("http://www.hideout.com.br","_blank")},true)); -//my_cm.customItems.push(new ContextMenuItem("Crossfade", function(){})); -//my_cm.customItems.push(new ContextMenuItem("Mando Diao - Paralyzed", function(){})); -my_cm.hideBuiltInItems(); -this.menu = my_cm; -resizeUI(); \ No newline at end of file diff --git a/contrib/handle_mp3/xspf_player.fla.bz2 b/contrib/handle_mp3/xspf_player.fla.bz2 deleted file mode 100644 index 9b5fa834b32c2ea1bd8c3111beff983fbaae04c5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 94903 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 diff --git a/contrib/handle_mp3/xspf_player.swf b/contrib/handle_mp3/xspf_player.swf deleted file mode 100644 index f03790a4474260c070753d9ab2b37fc83d85943a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 57616 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%0DjC}ExTpeG8=TGV)cbJ+rJDFSM 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 z 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 HIU+`$Yw&HX diff --git a/contrib/handle_mp3/xspf_player_license.txt b/contrib/handle_mp3/xspf_player_license.txt deleted file mode 100644 index 12d609e1..00000000 --- a/contrib/handle_mp3/xspf_player_license.txt +++ /dev/null @@ -1,10 +0,0 @@ -Copyright (c) 2005, Fabricio Zuardi -All rights reserved. - -Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: - - * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. - * Neither the name of the author nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/contrib/handle_svg/main.php b/contrib/handle_svg/main.php deleted file mode 100644 index c117199a..00000000 --- a/contrib/handle_svg/main.php +++ /dev/null @@ -1,92 +0,0 @@ - - * Description: Handle SVG files - */ - -class SVGFileHandler extends Extension { - var $theme; - - public function receive_event($event) { - if(is_null($this->theme)) $this->theme = get_theme_object("handle_svg", "SVGFileHandlerTheme"); - - if(is_a($event, 'DataUploadEvent') && $event->type == "svg" && $this->check_contents($event->tmpname)) { - $hash = $event->hash; - $ha = substr($hash, 0, 2); - if(!copy($event->tmpname, "images/$ha/$hash")) { - $event->veto("SVG Handler failed to move file from uploads to archive"); - return; - } - send_event(new ThumbnailGenerationEvent($event->hash, $event->type)); - $image = $this->create_image_from_data("images/$ha/$hash", $event->metadata); - if(is_null($image)) { - $event->veto("SVG Handler failed to create image object from data"); - return; - } - send_event(new ImageAdditionEvent($event->user, $image)); - } - - if(is_a($event, 'ThumbnailGenerationEvent') && $event->type == "svg") { - $hash = $event->hash; - $ha = substr($hash, 0, 2); - - global $config; - -// if($config->get_string("thumb_engine") == "convert") { -// $w = $config->get_int("thumb_width"); -// $h = $config->get_int("thumb_height"); -// $q = $config->get_int("thumb_quality"); -// $mem = $config->get_int("thumb_max_memory") / 1024 / 1024; // IM takes memory in MB -// -// exec("convert images/{$ha}/{$hash}[0] -geometry {$w}x{$h} -quality {$q} jpg:thumbs/{$ha}/{$hash}"); -// } -// else { - // FIXME: scale image, as not all boards use 192x192 - copy("ext/handle_svg/thumb.jpg", "thumbs/$ha/$hash"); -// } - } - - if(is_a($event, 'DisplayingImageEvent') && $event->image->ext == "svg") { - $this->theme->display_image($event->page, $event->image); - } - - if(is_a($event, 'PageRequestEvent') && ($event->page_name == "get_svg")) { - global $database; - $id = int_escape($event->get_arg(0)); - $image = $database->get_image($id); - $hash = $image->hash; - $ha = substr($hash, 0, 2); - - $event->page->set_type("image/svg+xml"); - $event->page->set_mode("data"); - $event->page->set_data(file_get_contents("images/$ha/$hash")); - } - } - - private function create_image_from_data($filename, $metadata) { - global $config; - - $image = new Image(); - - // FIXME: ugh, xml parsing :| - $image->width = 0; - $image->height = 0; - - $image->filesize = $metadata['size']; - $image->hash = $metadata['hash']; - $image->filename = $metadata['filename']; - $image->ext = $metadata['extension']; - $image->tag_array = tag_explode($metadata['tags']); - $image->source = $metadata['source']; - - return $image; - } - - private function check_contents($file) { - // FIXME: magic header? - return (file_exists($file)); - } -} -add_event_listener(new SVGFileHandler()); -?> diff --git a/contrib/handle_svg/theme.php b/contrib/handle_svg/theme.php deleted file mode 100644 index 89e0d212..00000000 --- a/contrib/handle_svg/theme.php +++ /dev/null @@ -1,16 +0,0 @@ -id}/{$image->id}.svg"); - $ilink = $image->get_image_link(); - // FIXME: object and embed have "height" and "width" - $html = " - - - - "; - $page->add_block(new Block("Image", $html, "main", 0)); - } -} -?> diff --git a/contrib/handle_svg/thumb.jpg b/contrib/handle_svg/thumb.jpg deleted file mode 100644 index d89117b53600b21921ecce3bbeaa3d21ff5597db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 5619 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 - * Link: http://trac.shishnet.org/shimmie2/ - * License: GPLv2 - * Description: Adds notes overlaid on the images - */ - -class Notes extends Extension { - var $theme; - - public function receive_event($event) { - if(is_null($this->theme)) $this->theme = get_theme_object("notes", "NotesTheme"); - - if(is_a($event, 'InitExtEvent')) { - global $config; - if($config->get_int("ext_notes_version") < 1) { - $this->install(); - } - } - - if(is_a($event, 'DisplayingImageEvent')) { - global $database; - $notes = $database->get_all("SELECT * FROM image_notes WHERE image_id = ?", array($event->image->id)); - $this->theme->display_notes($event->page, $notes); - } - } - - protected function install() { - global $database; - global $config; - $database->Execute("CREATE TABLE image_notes ( - id int(11) NOT NULL auto_increment PRIMARY KEY, - image_id int(11) NOT NULL, - user_id int(11) NOT NULL, - owner_ip char(15) NOT NULL, - created_at datetime NOT NULL, - updated_at datetime NOT NULL, - version int(11) DEFAULT 1 NOT NULL, - is_active enum('Y', 'N') DEFAULT 'Y' NOT NULL, - x int(11) NOT NULL, - y int(11) NOT NULL, - w int(11) NOT NULL, - h int(11) NOT NULL, - body text NOT NULL - )"); - $config->set_int("ext_notes_version", 1); - } -} -add_event_listener(new Notes()); -?> diff --git a/contrib/notes/theme.php b/contrib/notes/theme.php deleted file mode 100644 index df4f140d..00000000 --- a/contrib/notes/theme.php +++ /dev/null @@ -1,13 +0,0 @@ - -img = byId("main_image"); - -EOD; - $page->add_block(new Block(null, $html)); - } -} -?> diff --git a/contrib/rating/main.php b/contrib/rating/main.php deleted file mode 100644 index b32612c7..00000000 --- a/contrib/rating/main.php +++ /dev/null @@ -1,106 +0,0 @@ - - * Link: http://trac.shishnet.org/shimmie2/ - * License: GPLv2 - * Description: Allow users to rate images - */ - -class RatingSetEvent extends Event { - var $image_id, $user, $rating; - - public function RatingSetEvent($image_id, $user, $rating) { - $this->image_id = $image_id; - $this->user = $user; - $this->rating = $rating; - } -} - -class Ratings extends Extension { - var $theme; - - public function receive_event($event) { - if(is_null($this->theme)) $this->theme = get_theme_object("rating", "RatingsTheme"); - - if(is_a($event, 'InitExtEvent')) { - global $config; - if($config->get_int("ext_ratings2_version") < 2) { - $this->install(); - } - - global $config; - $config->set_default_string("ext_rating_anon_privs", 'sq'); - $config->set_default_string("ext_rating_user_privs", 'sq'); - } - - if(is_a($event, 'RatingSetEvent')) { - $this->set_rating($event->image_id, $event->rating); - } - - if(is_a($event, 'ImageInfoBoxBuildingEvent')) { - global $user; - if($user->is_admin()) { - $event->add_part($this->theme->get_rater_html($event->image->id, $event->image->rating), 80); - } - } - - if(is_a($event, 'ImageInfoSetEvent')) { - global $user; - if($user->is_admin()) { - send_event(new RatingSetEvent($event->image_id, $user, $_POST['rating'])); - } - } - - if(is_a($event, 'SetupBuildingEvent')) { - $privs = array(); - $privs['Safe Only'] = 's'; - $privs['Safe and Questionable'] = 'sq'; - $privs['All'] = 'sqe'; - - $sb = new SetupBlock("Image Ratings"); - $sb->add_choice_option("ext_rating_anon_privs", $privs, "Anonymous: "); - $sb->add_choice_option("ext_rating_user_privs", $privs, "
Logged in: "); - $event->panel->add_block($sb); - } - - if(is_a($event, 'ParseLinkTemplateEvent')) { - $event->replace('$rating', $this->theme->rating_to_name($event->image->rating)); - } - - if(is_a($event, 'SearchTermParseEvent')) { - $matches = array(); - if(preg_match("/rating=([sqe]+)/", $event->term, $matches)) { - $sqes = $matches[1]; - $arr = array(); - for($i=0; $iset_querylet(new Querylet("AND (rating IN ($set))")); - } - } - } - - private function install() { - global $database; - global $config; - - if($config->get_int("ext_ratings2_version") < 1) { - $database->Execute("ALTER TABLE images ADD COLUMN rating ENUM('s', 'q', 'e') NOT NULL DEFAULT 'q'"); - $config->set_int("ext_ratings2_version", 1); - } - - if($config->get_int("ext_ratings2_version") < 2) { - $database->Execute("CREATE INDEX images__rating ON images(rating)"); - $config->set_int("ext_ratings2_version", 2); - } - } - - private function set_rating($image_id, $rating) { - global $database; - $database->Execute("UPDATE images SET rating=? WHERE id=?", array($rating, $image_id)); - } -} -add_event_listener(new Ratings()); -?> diff --git a/contrib/rating/theme.php b/contrib/rating/theme.php deleted file mode 100644 index 24a460fa..00000000 --- a/contrib/rating/theme.php +++ /dev/null @@ -1,28 +0,0 @@ - - - - - "; - return $html; - } - - public function rating_to_name($rating) { - switch($rating) { - case 's': return "Safe"; - case 'q': return "Questionable"; - case 'e': return "Explicit"; - default: return "Unknown"; - } - } -} - -?> diff --git a/contrib/svn_update/main.php b/contrib/svn_update/main.php deleted file mode 100644 index d4bb7f52..00000000 --- a/contrib/svn_update/main.php +++ /dev/null @@ -1,79 +0,0 @@ - - * Link: http://trac.shishnet.org/shimmie2/ - * License: GPLv2 - * Description: Provides a button to check for updates - */ - -class SVNUpdate extends Extension { - var $theme; - - public function receive_event($event) { - if(is_null($this->theme)) $this->theme = get_theme_object("svn_update", "SVNUpdateTheme"); - - if(is_a($event, 'PageRequestEvent') && ($event->page_name == "update")) { - if($event->user->is_admin()) { - if($event->get_arg(0) == "view_changes") { - $this->theme->display_update_todo($event->page, - $this->get_update_log(), - $this->get_branches()); - } - if($event->get_arg(0) == "update") { - $this->theme->display_update_log($event->page, $this->run_update()); - } - if($event->get_arg(0) == "dump") { - $this->theme->display_update_log($event->page, $this->run_dump()); - } - //if($event->get_arg(0) == "switch") { - // $this->theme->display_update_log($event->page, $this->run_update()); - //} - } - } - - if(is_a($event, 'AdminBuildingEvent')) { - global $page; - $this->theme->display_form($page); - } - } - - private function get_update_log() { - return shell_exec("svn log -r HEAD:BASE ."); - } - private function run_update() { - return shell_exec("svn update"); - } - private function run_dump() { - global $database_dsn; - $matches = array(); - - // FIXME: MySQL specific - if(preg_match("#^mysql://([^:]+):([^@]+)@([^/]+)/([^\?]+)#", $database_dsn, $matches)) { - $date = date("Ymd"); - return - shell_exec("mysqldump -uUSER -pPASS -hHOST DATABASE | gzip > db-$date.sql.gz") . - "\n\nDatabase dump should now be sitting in db-$date.sql.gz in the shimmie folder"; - } - else { - return "Couldn't parse database connection string"; - } - } - private function get_branches() { - $data = shell_exec("svn ls http://svn.shishnet.org/shimmie2/branches/"); - $list = array(); - foreach(split("\n", $data) as $line) { - $matches = array(); - if(preg_match("/branch_(\d.\d+)/", $line, $matches)) { - $ver = $matches[1]; - $list["branch_$ver"] = "Stable ($ver.X)"; - } - } - ksort($list); - $list = array_reverse($list, true); - $list["trunk"] = "Unstable (Trunk)"; - return $list; - } -} -add_event_listener(new SVNUpdate()); -?> diff --git a/contrib/svn_update/theme.php b/contrib/svn_update/theme.php deleted file mode 100644 index bcae1846..00000000 --- a/contrib/svn_update/theme.php +++ /dev/null @@ -1,52 +0,0 @@ -Check for Updates
- "; - $page->add_block(new Block("Update", $html)); - } - - public function display_update_todo($page, $log, $branches) { - $h_log = html_escape($log); - $updates = " - -
-

- - - "; - $options = ""; - foreach($branches as $name => $nice) { - $options .= ""; - } - $branches = " -
- - -
- "; - - $page->set_title("Updates Available"); - $page->set_heading("Updates Available"); - $page->add_block(new NavBlock()); - $page->add_block(new Block("Updates For Current Branch", $updates)); - $page->add_block(new Block("Available Branches", $branches)); - } - - public function display_update_log($page, $log) { - $h_log = html_escape($log); - $html = " - - "; - - $page->set_title("Update Log"); - $page->set_heading("Update Log"); - $page->add_block(new NavBlock()); - $page->add_block(new Block("Update Log", $html)); - } -} -?>