0

私はOO phpを使用しており、このクラスを介して生成されたフロントエンドページを持っています。ボタンをリロードして、ボタンを押すとクラスとボタンがすべて一緒に変更されるようにしています。以下は、ボタンを生成する関数です。

public static function printStartStopAll($enabled = 'false')
{
    syslog(LOG_INFO, "HELLO");
    ?>
    <div class="big-button-wrapper">
    <?
    if ( is_combined_server() ) {
        // print start all button
        $title_text = dgettext('triplecast', "Start All Transfers");
        $btn_text   = dgettext('triplecast', "Start All");
        if ( !Transfer::CanTransferNow() || count(self::getPendingTransfers()) == 0 ) {
            $class = "big-green-button-off";
            $onclick='';
        } else {
            $class = "big-green-button";
            $onclick = 'onclick=\'startAllTransfers("'.str_replace('"', '\"', self::$txtOpts).'");\'';
        }
        ?>
        <div id='start-all' class='<?=$class?>' title='<?=$title_text?>' <?=$onclick?>><?=$btn_text?></div>
        <?
    }        
    //Separate out the text for readability.
    $title_text = dgettext('triplecast', "Stop Transfers and disable the system till you re-enable it in the configuration menu");
    $btn_text   = dgettext('triplecast', "Stop All");
    $confirm_msg= dgettext('triplecast', 'If you continue all current transfers will be stopped and the system disabled till you re-enable it.');
    $confirm    = dgettext('triplecast', 'Do you want to stop all transfers?');
    ?>
    <div id='stop-all' class='big-red-button' title='<?=$title_text?>' onclick='stopAllTransfers("<?=$confirm_msg.'\n\n'.$confirm?>", "<?=str_replace('"', '\"', self::$txtOpts)?>");'><?=$btn_text?></div>
    <?
    syslog(LOG_INFO, "===>".$enabled);
    if($enabled != "true") {
        $title_text = dgettext('triplecast', "Enable Select");
        $btn_text   = dgettext('triplecast', "Select");
        $class = "big-green-button";
        $onclick='onclick=\'enableSelect(true);\'';
         ?>
        <div id='enable_select' class='<?=$class?>' title='<?=$title_text?>' <?=$onclick?>><?=$btn_text?></div>
        <?
    }
    else {
        $title_text = dgettext('triplecast', "Stop selected Transfers");
        $btn_text   = dgettext('triplecast', "Stop Selected");
        ?>
        <div id='stop-select' class='big-red-button' title='<?=$title_text?>' onclick=''><?=$btn_text?></div>
        <?
    }
    ?>
    </div>
    <?
}

syslogは無視してください:)それは私がテストしているものです...

ajax を使用して変数をページにプッシュし、この関数をリロードします。

function enableSelect(value)
{
$.getJSON("ajax_requests/enableSelect.php", { enabled: value },
    function(data){
});
}

<?php
$requireAuthentication = false;
$requireLicensing = false;
$minimalIncludes = true; 
require_once('../Library.php');
header('content-type: application/json');

$enabled = getParameter('enabled');
$dist_server = TriplecastConfig::get('distribution_server');
$resp = new TriplecastMsg();


try {
TransferController::setSelectEnabled($enabled);
TransferController::printStartStopAll($enabled);
} catch (Exception $e) {
$resp->setCode(STATUS_ERROR);
$resp->setMessage($e->getMessage());
}

$json = new JSON();
echo $json->encode( array("code" => $resp->getCode(), "message" => $resp->getMessage())

); ?>

コードが乱雑であることは理解しています。これを適切に行う方法を理解しようとしています。

これの目的は、ユーザーがこのボタンを押して、停止選択されたクラス (big-red-button) でボタンをリロードできるようにすることです。

どんな助けでも感謝します

4

0 に答える 0