HEX
Server: Apache
System: Linux WWW 6.1.0-40-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.153-1 (2025-09-20) x86_64
User: web11 (1011)
PHP: 8.2.29
Disabled: NONE
Upload Files
File: /var/www/intranet.kauko.lt/wp-content/plugins/file-away/lib/cls/class.playaway.php
<?php

defined('fileaway') or die('Water, water everywhere, but not a drop to drink.');

if(class_exists('fileaway') && !class_exists('playaway'))

{

	class playaway

	{

		public function __construct()

		{

			add_action('wp_footer', array($this, 'footerscript'));

		}

		public function footerscript()

		{ 

			if(!$GLOBALS['fileaway_playback_script']) return; 

			$script = 

			"<script>".

			"jQuery(document).ready(function($){ ".

				"$('td.ssfa-sortname a').on('click', function(){ ".

					"var current_url = window.location.href; ".

					"var download_url = $(this).attr('href'); ".

					"history.replaceState({},'',download_url); ".

					"history.replaceState({},'',current_url); ".

				"}); ".

			"}); ".

			"soundManager.useFlashBlock = false; /* optional - if used, required flashblock.css */".

			"soundManager.url = '".fileaway_url."/lib/swf/soundmanager2.swf'; ".

			"function fileaplay(flg, ids, audiourl, volume, loops) ".

			"{ ".

				"var pieces = audiourl.split('|'); ".

				"if(pieces.length > 1) audiourl = pieces; ".

				"soundManager.createSound ".

				"({ ".

					"id:'fileaplay_'+ids, ".

					"volume: volume, ".

					"url: audiourl ".

				"}); ".

				"if(flg == 'stop') soundManager.pause('fileaplay_'+ids); ".

				"else if(flg == 'play') ".

				"{ ".

					"stop_all_tracks(); ".

					"soundManager.play('fileaplay_'+ids, ".

					"{ ".

						"onfinish: function() ".

						"{ ".

							"if(loops !== 'false') loopSound('fileaplay_' + ids); ".

							"else ".

							"{ ".

								"document.getElementById('fileaplay_'+ids).style.display = 'inline-block'; ".

								"document.getElementById('fileapause_'+ids).style.display = 'none'; ".

							"} ".

						"} ".

					"}); ".

				"} ".

			"} ".

			"function show_hide(flag,ids) ".

			"{ ".

				"if(flag=='play') ".

				"{ ".

					"document.getElementById('fileaplay_'+ids).style.display = 'none'; ".

					"document.getElementById('fileapause_'+ids).style.display = 'inline-block'; ".

				"} ".

				"else if (flag == 'stop') ".

				"{ ".

					"document.getElementById('fileaplay_'+ids).style.display = 'inline-block'; ".

					"document.getElementById('fileapause_'+ids).style.display = 'none'; ".

				"} ".

			"} ".

			"function loopSound(soundID) ".

			"{ ".

				"window.setTimeout(function() ".

				"{ ".

					"soundManager.play(soundID, {onfinish: function() ".

					"{ ".

						"loopSound(soundID); ".

					"}}); ".

				"}, 1); ".

			"} ".

			"function stop_all_tracks() ".

			"{ ".

				"soundManager.stopAll(); ".

				"var inputs = document.getElementsByTagName('span'); ".

				"for(var i = 0; i < inputs.length; i++) ".

				"{ ".

					"if(inputs[i].id.indexOf('fileaplay_') == 0) inputs[i].style.display = 'inline-block'; ".

					"if(inputs[i].id.indexOf('fileapause_') == 0) inputs[i].style.display = 'none'; ".

				"} ".

			"} ".

			"</script> ";

			echo $script;

		}

		public function player($atts)

		{

			extract(shortcode_atts(array(

				'fileurl' => 'No file found.',

				'volume' => '100',

				'class' => 'ssfa-player',

				'loops' => 'false',

			), $atts));	

			$ids = uniqid();

			$player_cont = '<div style="position:relative; display:inline-block"><div class="'.$class.'">';

			$player_cont .= '<span id="fileaplay_'.$ids.'" class="ssfa-fileaplay-play4 ssfaButton_play" '.

				'onClick="fileaplay(\'play\',\''.$ids.'\',\''.fileaway_utility::urlesc($fileurl).'\',\''.$volume.'\',\''.$loops.'\');show_hide(\'play\',\''.$ids.'\');"></span>';

			$player_cont .= '<span id="fileapause_'.$ids.'" class="ssfa-fileaplay-pause4 ssfaButton_stop" '.

				'onClick="fileaplay(\'stop\',\''.$ids.'\',\'\',\''.$volume.'\',\''.$loops.'\');show_hide(\'stop\',\''.$ids.'\');"></span>';	

		 	$player_cont .= '</div></div>';

			return $player_cont;

		}

	}

}