Example #1
0
<?php

if (!defined('APPLICATION')) {
    exit;
}
/* Copyright 2013 Zachary Doll */
echo Wrap($this->Title(), 'h1');
echo Wrap(Wrap(T('Yaga.Actions.Desc'), 'div'), 'div', array('class' => 'Wrap'));
echo Wrap(Wrap(T('Yaga.Actions.Settings.Desc'), 'div'), 'div', array('class' => 'Wrap'));
echo Wrap(Anchor(T('Yaga.Action.Add'), 'action/add', array('class' => 'Popup SmallButton')), 'div', array('class' => 'Wrap'));
?>
<h3><?php 
echo T('Yaga.Actions.Current');
?>
</h3>
<ol id="Actions" class="Sortable">
  <?php 
foreach ($this->Data('Actions') as $Action) {
    echo ActionRow($Action);
}
?>
</ol>
 /**
  * Edit an existing action or add a new one
  *
  * @param int $ActionID
  */
 public function Edit($ActionID = NULL)
 {
     $this->Permission('Yaga.Reactions.Manage');
     $this->AddSideMenu('action/settings');
     $this->Form->SetModel($this->ActionModel);
     $Edit = FALSE;
     $this->Title(T('Yaga.Action.Add'));
     if ($ActionID) {
         $this->Action = $this->ActionModel->GetByID($ActionID);
         $this->Form->AddHidden('ActionID', $ActionID);
         $Edit = TRUE;
         $this->Title(T('Yaga.Action.Edit'));
     }
     // This is just a list of all the images in the action icons folder
     $this->SetData('Icons', array('Happy', 'Happy2', 'Smiley', 'Smiley2', 'Tongue', 'Tongue2', 'Sad', 'Sad2', 'Wink', 'Wink2', 'Grin', 'Shocked', 'Confused', 'Confused2', 'Neutral', 'Neutral2', 'Wondering', 'Wondering2', 'PointUp', 'PointRight', 'PointDown', 'PointLeft', 'ThumbsUp', 'ThumbsUp2', 'Shocked2', 'Evil', 'Evil2', 'Angry', 'Angry2', 'Heart', 'Heart2', 'HeartBroken', 'Star', 'Star2', 'Grin2', 'Cool', 'Cool2', 'Question', 'Notification', 'Warning', 'Spam', 'Blocked', 'Eye', 'Eye2', 'EyeBlocked', 'Flag', 'BrightnessMedium', 'QuotesLeft', 'Music', 'Pacman', 'Bullhorn', 'Rocket', 'Fire', 'Hammer', 'Target', 'Lightning', 'Shield', 'CheckmarkCircle', 'Lab', 'Leaf', 'Dashboard', 'Droplet', 'Feed', 'Support', 'Hammer2', 'Wand', 'Cog', 'Gift', 'Trophy', 'Magnet', 'Switch', 'Globe', 'Bookmark', 'Bookmarks', 'Star3', 'Info', 'Info2', 'CancelCircle', 'Checkmark', 'Close'));
     // Load up all permissions
     $PermissionModel = new PermissionModel();
     $Permissions = $PermissionModel->PermissionColumns();
     unset($Permissions['PermissionID']);
     $PermissionKeys = array_keys($Permissions);
     $PermissionList = array_combine($PermissionKeys, $PermissionKeys);
     $this->SetData('Permissions', $PermissionList);
     if ($this->Form->IsPostBack() == FALSE) {
         if (property_exists($this, 'Action')) {
             $this->Form->SetData($this->Action);
         } else {
             $this->Form->SetData(array('Permission' => 'Yaga.Reactions.Add'));
         }
     } else {
         if ($this->Form->Save()) {
             if ($Edit) {
                 $Action = $this->ActionModel->GetByID($this->Form->GetFormValue('ActionID'));
             } else {
                 $Action = $this->ActionModel->GetNewestAction();
             }
             $NewActionRow = ActionRow($Action);
             if ($Edit) {
                 $this->JsonTarget('#ActionID_' . $this->Action->ActionID, $NewActionRow, 'ReplaceWith');
                 $this->InformMessage(T('Yaga.ActionUpdated'));
             } else {
                 $this->JsonTarget('#Actions', $NewActionRow, 'Append');
                 $this->InformMessage(T('Yaga.Action.Added'));
             }
         }
     }
     $this->Render('edit');
 }