⚝
One Hat Cyber Team
⚝
Your IP:
216.73.217.4
Server IP:
41.128.143.86
Server:
Linux host.raqmix.cloud 6.8.0-1025-azure #30~22.04.1-Ubuntu SMP Wed Mar 12 15:28:20 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
8.3.23
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
psa-horde
/
nag
/
lib
/
Ui
/
VarRenderer
/
Edit File: Nag.php
<?php /** * This file contains all Horde_Core_Ui_VarRenderer extensions required for * editing tasks. * * See the enclosed file COPYING for license information (GPL). If you * did not receive this file, see http://www.horde.org/licenses/gpl. * * @package Nag */ /** * The Horde_Core_Ui_VarRenderer_Nag class provides additional methods for * rendering Nag specific fields. * * @todo Clean this hack up with Horde_Form/H4 * @author Jan Schneider <jan@horde.org> * @package Nag */ class Horde_Core_Ui_VarRenderer_Nag extends Horde_Core_Ui_VarRenderer_Html { protected function _renderVarInput_NagAlarm($form, $var, $vars) { $varname = htmlspecialchars($var->getVarName()); $value = $var->getValue($vars); if (!is_array($value)) { if ($value) { if ($value % 10080 == 0) { $value = array('value' => $value / 10080, 'unit' => 10080); } elseif ($value % 1440 == 0) { $value = array('value' => $value / 1440, 'unit' => 1440); } elseif ($value % 60 == 0) { $value = array('value' => $value / 60, 'unit' => 60); } else { $value = array('value' => $value, 'unit' => 1); } $value['on'] = true; } else { $value = array('on' => false); } } $units = array(1 => _("Minute(s)"), 60 => _("Hour(s)"), 1440 => _("Day(s)"), 10080 => _("Week(s)")); $options = ''; foreach ($units as $unit => $label) { $options .= '<option value="' . $unit; if ($value && $value['on'] && $value['unit'] == $unit) { $options .= '" selected="selected'; } $options .= '">' . $label . '</option>'; } return sprintf('<input id="%soff" type="radio" class="radio" name="%s[on]" value="0"%s /><label for="%soff"> %s</label><br />', $varname, $varname, $value['on'] ? '' : ' checked="checked"', $varname, _("None")) . sprintf('<input id="%son" type="radio" class="radio" name="%s[on]" value="1"%s />', $varname, $varname, $value['on'] ? ' checked="checked"' : '') . sprintf('<input type="text" size="2" name="%s[value]" id="%s_value" value="%s" />', $varname, $varname, $value['on'] ? htmlspecialchars($value['value']) : 15) . sprintf(' <select name="%s[unit]" id="%s_unit">%s</select>', $varname, $varname, $options); } protected function _renderVarInput_NagDue($form, $var, $vars) { $var->type->getInfo($vars, $var, $task_due); if ($task_due == 0) { $date = '+' . (int)$GLOBALS['prefs']->getValue('default_due_days') . ' days'; $time = $GLOBALS['prefs']->getValue('default_due_time'); if ($time == 'now') { $time = ''; } else { $time = ' ' . $time; } $due_dt = strtotime($date . $time); // Default to having a due date for new tasks if the // default_due preference is set. if (!$vars->exists('task_id') && $GLOBALS['prefs']->getValue('default_due')) { $task_due = strtotime($date . $time); } } else { $due_dt = $task_due; } $on = $task_due > 0; /* Set up the radio buttons. */ $html = sprintf( '<input id="due_type_none" name="due_type" type="radio" class="radio" value="none"%s /> %s <br /> <input id="due_type_specified" name="due_type" type="radio" class="radio" value="specified"%s /> <label for="due_type_specified" class="hidden">%s</label> <label for="due_date" class="hidden">%s</label> <input type="text" name="due[date]" id="due_date" size="10" value="%s">', $on ? '' : ' checked="checked"', Horde::label('due_type_none', _("No due date.")), $on ? ' checked="checked"' : '', _("Due date specified."), _("Date"), htmlspecialchars(strftime($GLOBALS['prefs']->getValue('date_format_mini'), $due_dt)) ); if ($GLOBALS['browser']->hasFeature('javascript')) { Horde_Core_Ui_JsCalendar::init(array( 'full_weekdays' => true )); $GLOBALS['page_output']->addScriptFile('calendar.js'); $html .= ' <span id="due_wday"></span>' . Horde::img('calendar.png', _("Calendar"), 'id="dueimg"'); } $time_format = $GLOBALS['prefs']->getValue('twentyFour') ? 'H:i' : 'h:i a'; $due_time = date($time_format, $due_dt); $html .= _("at") . sprintf( '<label for="due_time" class="hidden">%s</label> <input type="text" name="due[time]" id="due_time" size="8" value="%s">', _("Time"), htmlspecialchars($due_time) ); return $html; } protected function _renderVarInput_NagMethod($form, $var, $vars) { $varname = htmlspecialchars($var->getVarName()); $varvalue = $var->getValue($vars); $on = !empty($varvalue) && (!isset($varvalue['on']) || !empty($varvalue['on'])); $html = sprintf( '<input id="%soff" type="radio" class="radio" name="%s[on]" value="0"%s %s/><label for="%soff"> %s</label><br />', $varname, $varname, $on ? '' : ' checked="checked"', $this->_getActionScripts($form, $var), $varname, _("Use default notification method") ) . sprintf( '<input type="radio" class="radio" name="%s[on]" value="1"%s %s/><label for="%soff"> %s</label>', $varname, $on ? ' checked="checked"' : '', $this->_getActionScripts($form, $var), $varname, _("Use custom notification method") ); if ($on) { Horde_Core_Prefs_Ui_Widgets::alarmInit(); $html .= '<br />'; $params = array('pref' => 'task_alarms', 'label' => ''); if ((!empty($varvalue) && !isset($varvalue['on'])) || $form->isSubmitted()) { $params['value'] = $varvalue; } $html .= Horde_Core_Prefs_Ui_Widgets::alarm($params); } return $html; } /** * Render the recurrence fields */ public function _renderVarInput_NagRecurrence($form, $var, $vars) { if ($vars->recurrence instanceof Horde_Date_Recurrence) { $recur = $var->getValue($vars); } else { $var->type->getInfo($vars, $var, $recur); } /* No recurrence. */ $html = sprintf( '<input id="recurnone" type="radio" class="checkbox" name="recurrence" value="%d"%s /> %s <br />', Horde_Date_Recurrence::RECUR_NONE, $recur ? '' : ' checked="checked"', Horde::label('recurnone', _("No recurrence")) ); /* Daily. */ $on = $recur && $recur->hasRecurType(Horde_Date_Recurrence::RECUR_DAILY); $html .= sprintf( '<input id="recurdaily" type="radio" class="checkbox" name="recurrence" value="%d"%s /> <label id="recurdaily_label" for="recurdaily">%s</label> <input type="text" id="recur_daily_interval" name="recur_daily_interval" size="2" value="%d" /> %s <br />', Horde_Date_Recurrence::RECUR_DAILY, $on ? ' checked="checked"' : '', _("Daily: Recurs every"), $on ? $recur->getRecurInterval() : '', Horde::label('recur_daily_interval', _("day(s)")) ); /* Weekly. */ $on = $recur && $recur->hasRecurType(Horde_Date_Recurrence::RECUR_WEEKLY); $html .= sprintf( '<input id="recurweekly" type="radio" class="checkbox" name="recurrence" value="%d"%s /> <label id="recurweekly_label" for="recurweekly">%s</label> <input type="text" id="recur_weekly_interval" name="recur_weekly_interval" size="2" value="%d" /> %s <br /> %s<input id="mo" type="checkbox" class="checkbox" name="weekly[]" value="%d"%s /> %s<input id="tu" type="checkbox" class="checkbox" name="weekly[]" value="%d"%s /> %s<input id="we" type="checkbox" class="checkbox" name="weekly[]" value="%d"%s /> %s<input id="th" type="checkbox" class="checkbox" name="weekly[]" value="%d"%s /> %s<input id="fr" type="checkbox" class="checkbox" name="weekly[]" value="%d"%s /> %s<input id="sa" type="checkbox" class="checkbox" name="weekly[]" value="%d"%s /> %s<input id="su" type="checkbox" class="checkbox" name="weekly[]" value="%d"%s /> <br />', Horde_Date_Recurrence::RECUR_WEEKLY, $on ? ' checked="checked"' : '', _("Weekly: Recurs every"), $on ? $recur->getRecurInterval() : '', Horde::label('recur_weekly_interval', _("week(s) on:")), Horde::label('mo', _("Mo")), Horde_Date::MASK_MONDAY, $recur && $recur->recurOnDay(Horde_Date::MASK_MONDAY) ? ' checked="checked"' : '', Horde::label('tu', _("Tu")), Horde_Date::MASK_TUESDAY, $recur && $recur->recurOnDay(Horde_Date::MASK_TUESDAY) ? ' checked="checked"' : '', Horde::label('we', _("We")), Horde_Date::MASK_WEDNESDAY, $recur && $recur->recurOnDay(Horde_Date::MASK_WEDNESDAY) ? ' checked="checked"' : '', Horde::label('th', _("Th")), Horde_Date::MASK_THURSDAY, $recur && $recur->recurOnDay(Horde_Date::MASK_THURSDAY) ? ' checked="checked"' : '', Horde::label('fr', _("Fr")), Horde_Date::MASK_FRIDAY, $recur && $recur->recurOnDay(Horde_Date::MASK_FRIDAY) ? ' checked="checked"' : '', Horde::label('sa', _("Sa")), Horde_Date::MASK_SATURDAY, $recur && $recur->recurOnDay(Horde_Date::MASK_SATURDAY) ? ' checked="checked"' : '', Horde::label('su', _("Su")), Horde_Date::MASK_SUNDAY, $recur && $recur->recurOnDay(Horde_Date::MASK_SUNDAY) ? ' checked="checked"' : '' ); /* Monthly on same date. */ $on = $recur && $recur->hasRecurType(Horde_Date_Recurrence::RECUR_MONTHLY_DATE); $html .= sprintf( '<input id="recurmonthday" type="radio" class="checkbox" name="recurrence" value="%d"%s /> <label id="recurmonthday_label" for="recurmonthday">%s</label> <input type="text" id="recur_day_of_month_interval" name="recur_day_of_month_interval" size="2" value="%d" /> %s <br />', Horde_Date_Recurrence::RECUR_MONTHLY_DATE, $on ? ' checked="checked"' : '', _("Monthly: Recurs every"), $on ? $recur->getRecurInterval() : '', Horde::label('recur_day_of_month_interval', _("month(s)") . ' ' . _("on the same date")) ); /* Monthly on same weekday. */ $on = $recur && $recur->hasRecurType(Horde_Date_Recurrence::RECUR_MONTHLY_WEEKDAY); $html .= sprintf( '<input id="recurmonthweek" type="radio" class="checkbox" name="recurrence" value="%d"%s /> <label id="recurmonthweek_label" for="recurmonthweek">%s</label> <input type="text" id="recur_week_of_month_interval" name="recur_week_of_month_interval" size="2" value="%d" /> %s <br />', Horde_Date_Recurrence::RECUR_MONTHLY_WEEKDAY, $on ? ' checked="checked"' : '', _("Monthly: Recurs every"), $on ? $recur->getRecurInterval() : '', Horde::label('recur_week_of_month_interval', _("month(s)") . ' ' . _("on the same weekday")) ); /* Yearly on same date. */ $on = $recur && $recur->hasRecurType(Horde_Date_Recurrence::RECUR_YEARLY_DATE); $html .= sprintf( '<input id="recuryear" type="radio" class="checkbox" name="recurrence" value="%d"%s /> <label id="recuryear_label" for="recuryear">%s</label> <input type="text" id="recur_yearly_interval" name="recur_yearly_interval" size="2" value="%d" /> %s <br />', Horde_Date_Recurrence::RECUR_YEARLY_DATE, $on ? ' checked="checked"' : '', _("Yearly: Recurs every"), $on ? $recur->getRecurInterval() : '', Horde::label('recur_yearly_interval', _("year(s) on the same date")) ); /* Yearly on same day of year. */ $on = $recur && $recur->hasRecurType(Horde_Date_Recurrence::RECUR_YEARLY_DAY); $html .= sprintf( '<input id="recuryearday" type="radio" class="checkbox" name="recurrence" value="%d"%s /> <label id="recuryearday_label" for="recuryearday">%s</label> <input type="text" id="recur_yearly_day_interval" name="recur_yearly_day_interval" size="2" value="%d" /> %s <br />', Horde_Date_Recurrence::RECUR_YEARLY_DAY, $on ? ' checked="checked"' : '', _("Yearly: Recurs every"), $on ? $recur->getRecurInterval() : '', Horde::label('recur_yearly_day_interval', _("year(s) on the same day of the year")) ); /* Yearly on same week day. */ $on = $recur && $recur->hasRecurType(Horde_Date_Recurrence::RECUR_YEARLY_WEEKDAY); $html .= sprintf( '<input id="recuryearweekday" type="radio" class="checkbox" name="recurrence" value="%d"%s /> <label id="recuryearweekday_label" for="recuryearweekday">%s</label> <input type="text" id="recur_yearly_weekday_interval" name="recur_yearly_weekday_interval" size="2" value="%d" /> %s <br />', Horde_Date_Recurrence::RECUR_YEARLY_WEEKDAY, $on ? ' checked="checked"' : '', _("Yearly: Recurs every"), $on ? $recur->getRecurInterval() : '', Horde::label('recur_yearly_weekday_interval', _("year(s) on the same weekday and month of the year")) ); /* Recurrence end. */ $html .= sprintf( '<br /> %s <br /> <input id="recurnoend" type="radio" class="checkbox" name="recur_end_type" value="none"%s /> %s <br /> <input type="radio" class="checkbox" id="recur_end_specified" name="recur_end_type" value="date"%s /> <input type="text" name="recur_end" id="recur_end_date" size="10" value="%s">', Horde::label('recur_end_type', _("Recur Until")), $recur && ($recur->hasRecurEnd() || $recur->hasRecurCount()) ? '' : ' checked="checked"', Horde::label('recurnoend', _("No end date")), $recur && $recur->hasRecurEnd() ? ' checked="checked"' : '', $recur && $recur->hasRecurEnd() ? $recur->getRecurEnd()->strftime('%x') : '' ); if ($GLOBALS['browser']->hasFeature('javascript')) { Horde_Core_Ui_JsCalendar::init(array( 'full_weekdays' => true )); $GLOBALS['page_output']->addScriptFile('calendar.js'); $html .= ' <span id="recur_end_wday"></span>' . Horde::img('calendar.png', _("Set recurrence end date"), 'id="recur_endimg"'); } $on = $recur && $recur->getRecurCount(); $html .= sprintf( '<br /> <input type="radio" class="checkbox" name="recur_end_type" value="count"%s /> <input type="text" id="recur_count" name="recur_count" size="2" onkeypress="document.eventform.recur_end_type[2].checked = true;" onchange="document.eventform.recur_end_type[2].checked = true;" value="%d" /> %s', $on ? ' checked="checked"' : '', $on ? $recur->getRecurCount() : '', Horde::label('recur_count', _("recurrences")) ); /* Exceptions and completions. */ if ($recur) { foreach ($recur->getExceptions() as $exception) { $html .= sprintf( '<input type="hidden" name="exceptions[]" value="%s" />', $exception ); } foreach ($recur->getCompletions() as $completion) { $html .= sprintf( '<input type="hidden" name="completions[]" value="%s" />', $completion ); } } return $html; } /** * Render the search due date fields */ public function _renderVarInput_NagSearchDue($form, $var, $vars) { $html = sprintf( _("%s %s days of %s"), Horde::label('due_within', _("Is due within")), '<input id="due_within" name="due_within" type="number" size="2" value="' . $vars->get('due_within') . '" />', '<input id="due_of" name="due_of" type="text" value="' . $vars->get('due_of') . '" />') . '<div class="horde-form-field-description">' . _("E.g., Is due within 2 days of today") . '</div>'; return $html; } protected function _renderVarInput_NagStart($form, $var, $vars) { $var->type->getInfo($vars, $var, $task_start); $start_dt = ($task_start == 0) // About a week from now ? $_SERVER['REQUEST_TIME'] + 604800 : $task_start; $on = $task_start > 0; /* Set up the radio buttons. */ $html = sprintf( '<input id="start_date_none" name="start_date" type="radio" class="radio" value="none"%s /> %s <br /> <input id="start_date_specified" name="start_date" type="radio" class="radio" value="specified"%s /> <label for="start_date_specified" class="hidden">%s</label> <label for="start_date" class="hidden">%s</label> <input type="text" name="start[date]" id="start_date" size="10" value="%s">', $on ? '' : ' checked="checked"', Horde::label('start_date_none', _("No delay")), $on ? ' checked="checked"' : '', _("Start date specified."), _("Date"), htmlspecialchars(strftime($GLOBALS['prefs']->getValue('date_format_mini'), $start_dt)) ); if ($GLOBALS['browser']->hasFeature('javascript')) { Horde_Core_Ui_JsCalendar::init(array( 'full_weekdays' => true )); $GLOBALS['page_output']->addScriptFile('calendar.js'); $html .= ' <span id="start_wday"></span>' . Horde::img('calendar.png', _("Calendar"), 'id="startimg"'); } return $html; } /** * Render tag field. */ protected function _renderVarInput_NagTags($form, $var, $vars) { $varname = htmlspecialchars($var->getVarName()); $value = htmlspecialchars($var->getValue($vars)); $html = sprintf('<input id="%s" type="text" name="%s" value="%s" />', $varname, $varname, $value); $html .= sprintf('<span id="%s_loading_img" style="display:none;">%s</span>', $varname, Horde::img('loading.gif', _("Loading..."))); $GLOBALS['injector']->getInstance('Horde_Core_Factory_Imple')->create('Nag_Ajax_Imple_TagAutoCompleter', array('id' => $varname)); return $html; } }
Simpan