* along with Xibo.  If not, see <http://www.gnu.org/licenses/>.
 *
 * Theme variables:
 * 	layout_form_add_url = The URL for calling the Layout Add Form
 * 	id = The GridID for rendering AJAX layout table return
 * 	filter_id = The Filter Form ID
 * 	form_meta = Extra form meta that needs to be sent to the CMS to return the list of layouts
 * 	pager = A paging control for this Xibo Grid
 */
defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.");
?>
<div id="LayoutAssign" class="well">
	<div>
    	<ul id="LayoutAssignSortable">
    		<?php 
echo Kit::Token('assign_token');
?>
    		<?php 
foreach (Theme::Get('layouts_assigned') as $row) {
    ?>
    		<li id="LayoutID_<?php 
    echo $row->layoutId;
    ?>
" class="btn btn-sm btn-default"><?php 
    echo $row->layout;
    ?>
 <span class="glyphicon glyphicon-minus-sign"></span></li>
			<?php 
}
?>
    	</ul>
Example #2
0
 public static function Get($key)
 {
     $theme = Theme::GetInstance();
     if (!isset($theme->vars[$key])) {
         $return = null;
     } else {
         $return = $theme->vars[$key];
     }
     if ($key == 'form_meta') {
         // Append a token to the end
         $return = $return . Kit::Token();
     }
     return $return;
 }
Example #3
0
 /**
  * Shows a form to add an event
  *  will default to the current date if non is provided
  * @return 
  */
 function EditEventForm()
 {
     $db =& $this->db;
     $user =& $this->user;
     $response = new ResponseManager();
     $eventID = Kit::GetParam('EventID', _GET, _INT, 0);
     if ($eventID == 0) {
         trigger_error(__('No event selected.'), E_USER_ERROR);
     }
     // Get the relevant details for this event
     $SQL = "";
     $SQL .= "SELECT schedule.FromDT, ";
     $SQL .= "       schedule.ToDT,";
     $SQL .= "       schedule.CampaignID, ";
     $SQL .= "       schedule.userid, ";
     $SQL .= "       schedule.is_priority, ";
     $SQL .= "       schedule.DisplayGroupIDs, ";
     $SQL .= "       schedule.recurrence_type, ";
     $SQL .= "       schedule.recurrence_detail, ";
     $SQL .= "       schedule.recurrence_range, ";
     $SQL .= "       schedule.EventID, ";
     $SQL .= "       schedule.DisplayOrder ";
     $SQL .= "  FROM schedule ";
     $SQL .= " WHERE 1=1 ";
     $SQL .= sprintf("   AND schedule.EventID = %d", $eventID);
     Debug::LogEntry('audit', $SQL);
     if (!($result = $db->query($SQL))) {
         trigger_error($db->error());
         trigger_error(__('Error getting details for this event.'), E_USER_ERROR);
     }
     $row = $db->get_assoc_row($result);
     $fromDT = Kit::ValidateParam($row['FromDT'], _INT);
     $toDT = Kit::ValidateParam($row['ToDT'], _INT);
     $displayGroupIds = explode(',', Kit::ValidateParam($row['DisplayGroupIDs'], _STRING));
     $recType = Kit::ValidateParam($row['recurrence_type'], _STRING);
     $recDetail = Kit::ValidateParam($row['recurrence_detail'], _STRING);
     $recToDT = Kit::ValidateParam($row['recurrence_range'], _INT);
     $campaignId = Kit::ValidateParam($row['CampaignID'], _STRING);
     $isPriority = Kit::ValidateParam($row['is_priority'], _INT);
     $displayOrder = Kit::ValidateParam($row['DisplayOrder'], _INT);
     // Check that we have permission to edit this event.
     if (!$this->IsEventEditable($displayGroupIds)) {
         trigger_error(__('You do not have permission to edit this event.'), E_USER_ERROR);
     }
     $token_id = uniqid();
     $token_field = '<input type="hidden" name="token_id" value="' . $token_id . '" />';
     $token = Kit::Token($token_id);
     Theme::Set('form_id', 'EditEventForm');
     Theme::Set('form_action', 'index.php?p=schedule&q=EditEvent');
     Theme::Set('form_meta', $token_field . $token . '<input type="hidden" id="EventID" name="EventID" value="' . $eventID . '" />');
     // Two tabs
     $tabs = array();
     $tabs[] = FormManager::AddTab('general', __('General'));
     $tabs[] = FormManager::AddTab('repeats', __('Repeats'));
     Theme::Set('form_tabs', $tabs);
     $formFields = array();
     // List of Display Groups
     $optionGroups = array(array('id' => 'group', 'label' => __('Groups')), array('id' => 'display', 'label' => __('Displays')));
     $groups = array();
     $displays = array();
     $scheduleWithView = Config::GetSetting('SCHEDULE_WITH_VIEW_PERMISSION') == 'Yes';
     foreach ($this->user->DisplayGroupList(-1) as $display) {
         // Can schedule with view, but no view permissions
         if ($scheduleWithView && $display['view'] != 1) {
             continue;
         }
         // Can't schedule with view, but no edit permissions
         if (!$scheduleWithView && $display['edit'] != 1) {
             continue;
         }
         $display['checked_text'] = in_array($display['displaygroupid'], $displayGroupIds) ? ' selected' : '';
         if ($display['isdisplayspecific'] == 1) {
             $displays[] = $display;
         } else {
             $groups[] = $display;
         }
     }
     $formFields['general'][] = FormManager::AddMultiCombo('DisplayGroupIDs[]', __('Display'), $displayGroupIds, array('group' => $groups, 'display' => $displays), 'displaygroupid', 'displaygroup', __('Please select one or more displays / groups for this event to be shown on.'), 'd', '', true, '', '', '', $optionGroups, array(array('name' => 'data-live-search', 'value' => "true"), array('name' => 'data-selected-text-format', 'value' => "count > 4")));
     // Time controls
     $formFields['general'][] = FormManager::AddText('starttimeControl', __('Start Time'), DateManager::getLocalDate($fromDT), __('Select the start time for this event'), 's', 'required');
     $formFields['general'][] = FormManager::AddText('endtimeControl', __('End Time'), DateManager::getLocalDate($toDT), __('Select the end time for this event'), 'e', 'required');
     // Add two hidden fields to always carry the ISO date
     $formFields['general'][] = FormManager::AddHidden('starttime', DateManager::getLocalDate($fromDT, "Y-m-d H:i", false));
     $formFields['general'][] = FormManager::AddHidden('endtime', DateManager::getLocalDate($toDT, "Y-m-d H:i", false));
     // Generate a list of layouts.
     $layouts = $user->CampaignList(NULL, false, false);
     $optionGroups = array(array('id' => 'campaign', 'label' => __('Campaigns')), array('id' => 'layout', 'label' => __('Layouts')));
     $layoutOptions = array();
     $campaignOptions = array();
     foreach ($layouts as $layout) {
         if ($layout['islayoutspecific'] == 1) {
             $layoutOptions[] = array('id' => $layout['campaignid'], 'value' => $layout['campaign']);
         } else {
             $campaignOptions[] = array('id' => $layout['campaignid'], 'value' => $layout['campaign']);
         }
     }
     $formFields['general'][] = FormManager::AddCombo('CampaignID', __('Layout / Campaign'), $campaignId, array('campaign' => $campaignOptions, 'layout' => $layoutOptions), 'id', 'value', __('Please select a Layout or Campaign for this Event to show'), 'l', '', true, '', '', '', $optionGroups);
     $formFields['general'][] = FormManager::AddNumber('DisplayOrder', __('Display Order'), $displayOrder, __('Please select the order this event should appear in relation to others when there is more than one event scheduled'), 'o');
     $formFields['general'][] = FormManager::AddCheckbox('is_priority', __('Priority'), $isPriority, __('Sets whether or not this event has priority. If set the event will be show in preference to other events.'), 'p');
     $formFields['repeats'][] = FormManager::AddCombo('rec_type', __('Repeats'), $recType, array(array('id' => '', 'name' => __('None')), array('id' => 'Minute', 'name' => __('Per Minute')), array('id' => 'Hour', 'name' => __('Hourly')), array('id' => 'Day', 'name' => __('Daily')), array('id' => 'Week', 'name' => __('Weekly')), array('id' => 'Month', 'name' => __('Monthly')), array('id' => 'Year', 'name' => __('Yearly'))), 'id', 'name', __('What type of repeat is required?'), 'r');
     $formFields['repeats'][] = FormManager::AddNumber('rec_detail', __('Repeat every'), $recDetail, __('How often does this event repeat?'), 'o', '', 'repeat-control-group');
     $formFields['repeats'][] = FormManager::AddText('rec_rangeControl', __('Until'), $recToDT == 0 ? '' : DateManager::getLocalDate($recToDT), __('When should this event stop repeating?'), 'u', '', 'repeat-control-group');
     $formFields['repeats'][] = FormManager::AddHidden('rec_range', DateManager::getLocalDate($recToDT, "Y-m-d H:i"));
     // Set some field dependencies
     $response->AddFieldAction('rec_type', 'init', '', array('.repeat-control-group' => array('display' => 'none')));
     $response->AddFieldAction('rec_type', 'init', '', array('.repeat-control-group' => array('display' => 'block')), "not");
     $response->AddFieldAction('rec_type', 'change', '', array('.repeat-control-group' => array('display' => 'none')));
     $response->AddFieldAction('rec_type', 'change', '', array('.repeat-control-group' => array('display' => 'block')), "not");
     Theme::Set('form_fields_general', $formFields['general']);
     Theme::Set('form_fields_repeats', $formFields['repeats']);
     $response->SetFormRequestResponse(NULL, __('Edit Event'), '800px', '600px');
     $response->AddButton(__('Help'), "XiboHelpRender('index.php?p=help&q=Display&Topic=Schedule&Category=Edit')");
     $response->AddButton(__('Delete'), 'XiboFormRender("index.php?p=schedule&q=DeleteForm&EventID=' . $eventID . '")');
     $response->AddButton(__('Cancel'), 'XiboDialogClose()');
     $response->AddButton(__('Save'), '$("#EditEventForm").attr("action", $("#EditEventForm").attr("action") + "&next=0").submit()');
     $response->callBack = 'setupScheduleForm';
     $response->Respond();
 }
Example #4
0
                <?php 
            }
            ?>
            <?php 
        }
    }
    ?>
        </tr>
        <?php 
}
?>
    </tbody>
</table>
<?php 
if ($multiSelect) {
    $token = Kit::Token('gridToken', false);
    ?>
    <div class="btn-group">
        <button class="btn dropdown-toggle" data-toggle="dropdown">
            <span class="fa fa-long-arrow-up"></span> 
            <?php 
    echo Theme::Translate('With Selected');
    ?>
        </button>
        <ul class="dropdown-menu">
    <?php 
    // Get the buttons that are multi-select
    foreach ($multiSelectButtons as $key => $button) {
        ?>
            <li class="XiboMultiSelectFormButton" data-button-id="<?php 
        echo $key;
Example #5
0
    /**
     * Shows the DeleteEvent form
     * @return 
     */
    function DeleteDayForm()
    {
        $response = new ResponseManager();
        $date = Kit::GetParam('date', _GET, _INT, 0);
        $dateString = date('Y-m-d', $date);
        if ($date == 0) {
            trigger_error(__('Day not selected'), E_USER_ERROR);
        }
        $strQuestion = __('Are you sure you want to delete all events that intersect this day from <b>all</b> displays?');
        $strAdvice = __('This action cannot be undone.');
        $token = Kit::Token();
        $form = <<<END
<form id="DeleteDayForm" class="XiboForm" action="index.php?p=schedule&q=DeleteDay">
    {$token}
    <input type="hidden" name="date" value="{$date}">
    <table>
        <tr>
            <td>{$strQuestion}</td>
        </tr>
        <tr>
            <td>{$strAdvice}</td>
        </tr>
    </table>    
</form>
END;
        $response->SetFormRequestResponse($form, sprintf(__('Delete %s'), $dateString), '480px', '240px');
        $response->AddButton(__('Help'), "XiboHelpRender('index.php?p=help&q=Display&Topic=Schedule&Category=Delete')");
        $response->AddButton(__('No'), 'XiboFormRender("index.php?p=schedule&q=DayViewFilter&date=' . $date . '")');
        $response->AddButton(__('Yes'), '$("#DeleteDayForm").submit()');
        $response->Respond();
    }
Example #6
0
 function ExchangeGridTokenForFormToken()
 {
     // Check our grid token against the one provided.
     if (!Kit::CheckToken('gridToken')) {
         die(__('Sorry the form has expired. Please refresh.'));
     }
     echo Kit::Token('token', false);
     exit;
 }
 /**
  * Sets the Default response options for a form submit
  * @return 
  * @param $message String
  * @param $refresh Boolean[optional]
  * @param $refreshLocation String[optional]
  */
 public function SetFormSubmitResponse($message, $refresh = false, $refreshLocation = '')
 {
     $this->success = true;
     $this->message = $message;
     $this->refresh = $refresh;
     $this->refreshLocation = $refreshLocation;
     $this->nextToken = Kit::Token();
     return;
 }
Example #8
0
    function display_settings()
    {
        $db =& $this->db;
        $user =& $this->user;
        $helpObject = new HelpManager($db, $user);
        $helpButton = $helpObject->HelpButton("content/config/settings", true);
        //one giant form, split into tabs
        $form = '<form id="SettingsForm" method="post" class="XiboForm" action="index.php?p=admin&q=modify">' . Kit::Token();
        $tabs = '';
        $pages = '';
        //get all the tabs, ordered by catagory
        $SQL = "SELECT DISTINCT cat FROM setting WHERE userChange = 1 ORDER BY cat";
        if (!($results = $db->query($SQL))) {
            trigger_error($db->error());
            trigger_error(__("Can't get the setting catagories"), E_USER_ERROR);
        }
        while ($row = $db->get_row($results)) {
            $cat = $row[0];
            $ucat = ucfirst($cat);
            $cat_tab = $cat . "_tab";
            // generate the li and a for this tab
            $tabs .= "<li><a href='#{$cat_tab}'><span>{$ucat}</span><i class='icon-chevron-right pull-right'></i></a></li>";
            // for each one, call display_cat to get the settings specific to that cat
            $cat_page = $this->display_cat($cat);
            $pages .= <<<PAGES
\t\t\t<div id="{$cat_tab}">
\t\t\t\t{$cat_page}
\t\t\t</div>
PAGES;
        }
        $msgSave = __('Save');
        $msgCategories = __('Categories');
        // Output it all
        $form .= <<<FORM
\t\t<div class="span2">
\t\t\t<div class="well affix">
\t\t\t\t<ul class="nav nav-list ">
\t\t\t\t\t<li class="nav-header">{$msgCategories}</li>
\t\t\t\t\t{$tabs}
\t\t\t\t</ul>
\t\t\t</div>
\t\t</div>
\t\t<div class="span10">
\t\t\t{$pages}
\t\t</div>
FORM;
        //end the form and output
        $form .= "</form>";
        return $form;
    }