Fungsi Create Jadwal dan Tampilan

parent 8c3f4e14
/**
* CSS styles for CLinkPager.
*
* @author Qiang Xue <qiang.xue@gmail.com>
* @link http://www.yiiframework.com/
* @copyright Copyright &copy; 2008-2010 Yii Software LLC
* @license http://www.yiiframework.com/license/
* @since 1.0
*/
ul.yiiPager
{
font-size:11px;
border:0;
margin:0;
padding:0;
line-height:100%;
display:inline;
}
ul.yiiPager li
{
display:inline;
}
ul.yiiPager a:link,
ul.yiiPager a:visited
{
border:solid 1px #9aafe5;
font-weight:bold;
color:#0e509e;
padding:1px 6px;
text-decoration:none;
}
ul.yiiPager .page a
{
font-weight:normal;
}
ul.yiiPager a:hover
{
border:solid 1px #0e509e;
}
ul.yiiPager .selected a
{
background:#2e6ab1;
color:#FFFFFF;
font-weight:bold;
}
ul.yiiPager .hidden a
{
border:solid 1px #DEDEDE;
color:#888888;
}
/**
* Hide first and last buttons by default.
*/
ul.yiiPager .first,
ul.yiiPager .last
{
display:none;
}
\ No newline at end of file
...@@ -4,7 +4,12 @@ ...@@ -4,7 +4,12 @@
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/> <editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2"> <open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group> <group>
<file>file:/C:/xampp/htdocs/Test/smartcard/protected/views/site/excel.php</file> <file>file:/C:/xampp/htdocs/Test/smartcard/protected/controllers/SiteController.php</file>
<file>file:/C:/xampp/htdocs/Test/smartcard/protected/views/site/login.php</file>
<file>file:/C:/xampp/htdocs/Test/smartcard/themes/hebo/views/site/pages/elements.php</file>
<file>file:/C:/xampp/htdocs/Test/smartcard/protected/models/LoginForm.php</file>
<file>file:/C:/xampp/htdocs/Test/smartcard/protected/controllers/MJadwalController.php</file>
<file>file:/C:/xampp/htdocs/Test/smartcard/protected/views/mJadwal/_form.php</file>
</group> </group>
</open-files> </open-files>
</project-private> </project-private>
...@@ -77,7 +77,8 @@ class MJadwalController extends Controller { ...@@ -77,7 +77,8 @@ class MJadwalController extends Controller {
if (isset($_POST['DJadwal'])) { if (isset($_POST['DJadwal'])) {
for ($i = 0; $i < 8; $i++) { for ($i = 0; $i < 8; $i++) {
if (!isset($_POST['formsesi'][$i])) { if (!isset($_POST["formsesi$i"])) {
echo $i;
$detail = new DJadwal; $detail = new DJadwal;
$detail->KODE_MK = $_POST['DJadwal'][$i]['KODE_MK']; $detail->KODE_MK = $_POST['DJadwal'][$i]['KODE_MK'];
$detail->RUANGAN = $_POST['DJadwal'][$i]['RUANGAN']; $detail->RUANGAN = $_POST['DJadwal'][$i]['RUANGAN'];
...@@ -118,7 +119,6 @@ class MJadwalController extends Controller { ...@@ -118,7 +119,6 @@ class MJadwalController extends Controller {
if ($kuliah->validate()) { if ($kuliah->validate()) {
$kuliah->save(); $kuliah->save();
$this->redirect(array('view', 'id' => $model->ID));
} else { } else {
echo CHtml::errorSummary($kuliah); echo CHtml::errorSummary($kuliah);
} }
...@@ -128,6 +128,7 @@ class MJadwalController extends Controller { ...@@ -128,6 +128,7 @@ class MJadwalController extends Controller {
} }
} }
} }
$this->redirect(array('view', 'id' => $model->ID));
} else { } else {
echo CHtml::errorSummary($model); echo CHtml::errorSummary($model);
} }
...@@ -184,9 +185,14 @@ class MJadwalController extends Controller { ...@@ -184,9 +185,14 @@ class MJadwalController extends Controller {
* Lists all models. * Lists all models.
*/ */
public function actionIndex() { public function actionIndex() {
$dataProvider = new CActiveDataProvider('MJadwal');
$model = new MJadwal('search');
$model->unsetAttributes(); // clear any default values
if (isset($_GET['MJadwal']))
$model->attributes = $_GET['MJadwal'];
$this->render('index', array( $this->render('index', array(
'dataProvider' => $dataProvider, 'model' => $model,
)); ));
} }
...@@ -300,13 +306,13 @@ class MJadwalController extends Controller { ...@@ -300,13 +306,13 @@ class MJadwalController extends Controller {
echo Chtml::tag('option', array('value' => 'Kosong'), CHtml::encode('Free')); echo Chtml::tag('option', array('value' => 'Kosong'), CHtml::encode('Free'));
} }
public function actionDeskripsi() { public function actionDeskripsi($id) {
$matkul = $_POST['Jadwal']['KODE_MK']; $matkul = $_POST['DJadwal'][$id]['KODE_MK'];
$sql = "SELECT * FROM kurikulum WHERE KODE_MK LIKE '$matkul'"; $sql = "SELECT * FROM kurikulum WHERE KODE_MK LIKE '$matkul'";
$list = Yii::app()->db->createCommand($sql)->queryAll(); $list = Yii::app()->db->createCommand($sql)->queryAll();
echo $list[0]['NAMA_KUL_IND']; echo $list[0]['NAMA_KUL_IND'] . "&nbsp(" . $list[0]['SHORT_NAME'] . ")";
} }
public function actionLoadChildByAjax($index) { public function actionLoadChildByAjax($index) {
......
<?php
Yii::import('bootstrap.widgets.TbGridView');
/**
* A Grid View that groups rows by any column(s)
*
* @category User Interface
* @package extensions
* @author Vitaliy Potapov <noginsk@rambler.ru>
* @version 1.3
*/
class BootGroupGridView extends TbGridView {
//column values are merged independently
const MERGE_SIMPLE = 'simple';
//column values are merged if at least one value of nested columns changes (makes sense when several columns in $mergeColumns option)
const MERGE_NESTED = 'nested';
//column values are merged independently, but value is shown in first row of group and below cells just cleared (instead of `rowspan`)
const MERGE_FIRSTROW = 'firstrow';
public $mergeColumns = array();
public $mergeType = self::MERGE_SIMPLE;
public $mergeCellCss = 'text-align: center; vertical-align: middle';
//list of columns on which change extrarow will be triggered
public $extraRowColumns = array();
//expression to get value shown in extrarow
public $extraRowExpression;
//position of extraRow relative to group: 'above' | 'below'
public $extraRowPos = 'above';
//totals expression: function($data, $row, &$totals)
public $extraRowTotals;
//array with groups
private $_groups = array();
public function renderTableBody()
{
if(!empty($this->mergeColumns) || !empty($this->extraRowColumns)) {
$this->groupByColumns();
}
parent::renderTableBody();
}
/**
* find and store changing of group columns
*
* @param mixed $data
*/
public function groupByColumns()
{
$data = $this->dataProvider->getData();
if(count($data) == 0) return;
if(!is_array($this->mergeColumns)) $this->mergeColumns = array($this->mergeColumns);
if(!is_array($this->extraRowColumns)) $this->extraRowColumns = array($this->extraRowColumns);
//store columns for group. Set object for existing columns in grid and string for attributes
$groupColumns = array_unique(array_merge($this->mergeColumns, $this->extraRowColumns));
foreach($groupColumns as $key => $colName) {
foreach($this->columns as $column) {
if(property_exists($column, 'name') && $column->name == $colName) {
$groupColumns[$key] = $column;
break;
}
}
}
//storage for groups in each column
$groups = array();
//values for first row
$values = $this->getRowValues($groupColumns, $data[0], 0);
foreach($values as $colName => $value) {
$groups[$colName][] = array(
'value' => $value,
'column' => $colName,
'start' => 0,
//end - later
//totals - later
);
}
//calc totals for the first row
$totals = array();
if($this->extraRowTotals) {
$this->evaluateExpression($this->extraRowTotals, array('data'=>$data[0], 'row'=>0, 'totals' => &$totals));
}
//iterate data
for($i = 1; $i < count($data); $i++) {
//save row values in array
$current = $this->getRowValues($groupColumns, $data[$i], $i);
//define is change occured. Need this extra foreach for correctly proceed extraRows
$changedColumns = array();
foreach($current as $colName => $curValue) {
$prev = end($groups[$colName]);
if($curValue != $prev['value']) {
$changedColumns[] = $colName;
}
}
/*
if this flag = true -> we will write change for all grouping columns.
It's required when change of any column from extraRowColumns occurs
*/
$extraRowColumnChanged = (count(array_intersect($changedColumns, $this->extraRowColumns)) > 0);
/*
this changeOccured related to foreach below. It is required only for mergeType == self::MERGE_NESTED,
to write change for all nested columns when change of previous column occured
*/
$changeOccured = false;
foreach($current as $colName => $curValue) {
//value changed
$valueChanged = in_array($colName, $changedColumns);
//change already occured in this loop and mergeType set to MERGETYPE_NESTED
$saveChange = $valueChanged || ($changeOccured && $this->mergeType == self::MERGE_NESTED);
if($extraRowColumnChanged || $saveChange) {
$changeOccured = true;
$lastIndex = count($groups[$colName]) - 1;
//finalize prev group
$groups[$colName][$lastIndex]['end'] = $i - 1;
$groups[$colName][$lastIndex]['totals'] = $totals;
//begin new group
$groups[$colName][] = array(
'start' => $i,
'column' => $colName,
'value' => $curValue,
);
}
}
//if change in extrarowcolumn --> reset totals
if($extraRowColumnChanged) {
$totals = array();
}
//calc totals for that row
if($this->extraRowTotals) {
$this->evaluateExpression($this->extraRowTotals, array('data'=>$data[$i], 'row'=>$i, 'totals' => &$totals));
}
}
//finalize group for last row
foreach($groups as $colName => $v) {
$lastIndex = count($groups[$colName]) - 1;
$groups[$colName][$lastIndex]['end'] = count($data) - 1;
$groups[$colName][$lastIndex]['totals'] = $totals;
}
$this->_groups = $groups;
}
public function renderTableRow($row)
{
$extraRowEdge = null;
if(count($this->extraRowColumns)) {
$colName = $this->extraRowColumns[0];
$extraRowEdge = $this->isGroupEdge($colName, $row);
if($this->extraRowPos == 'above' && isset($extraRowEdge['start'])) {
$this->renderExtraRow($row, $extraRowEdge['group']['totals']);
}
}
/*
if($this->_changes && array_key_exists($row, $this->_changes)) {
$change = $this->_changes[$row];
//if change in extracolumns --> put extra row
$columnsInExtra = array_intersect(array_keys($change['columns']), $this->extraRowColumns);
//extraRowPos = before
if(count($columnsInExtra) > 0 && $this->extraRowPos == 'before') {
$this->renderExtraRow($row, $this->_changes[$row], $columnsInExtra);
}
}
*/
// original CGridView code
if($this->rowCssClassExpression!==null)
{
$data=$this->dataProvider->data[$row];
echo '<tr class="'.$this->evaluateExpression($this->rowCssClassExpression,array('row'=>$row,'data'=>$data)).'">';
}
else if(is_array($this->rowCssClass) && ($n=count($this->rowCssClass))>0)
echo '<tr class="'.$this->rowCssClass[$row%$n].'">';
else
echo '<tr>';
foreach($this->columns as $column) {
$isGroupColumn = property_exists($column, 'name') && in_array($column->name, $this->mergeColumns);
if(!$isGroupColumn) {
$column->renderDataCell($row);
continue;
}
//is curent row appears on edge of group
$edge = $this->isGroupEdge($column->name, $row);
switch($this->mergeType) {
case self::MERGE_SIMPLE:
case self::MERGE_NESTED:
if(isset($edge['start'])) {
$options = $column->htmlOptions;
$column->htmlOptions['rowspan'] = $edge['group']['end'] - $edge['group']['start'] + 1;
$column->htmlOptions['class'] = 'merge';
$style = isset($column->htmlOptions['style']) ? $column->htmlOptions['style'] : '';
$column->htmlOptions['style'] = $style.';'.$this->mergeCellCss;
$column->renderDataCell($row);
$column->htmlOptions = $options;
}
break;
case self::MERGE_FIRSTROW:
if(isset($edge['start'])) {
$column->renderDataCell($row);
} else {
echo '<td></td>';
}
break;
}
}
echo "</tr>\n";
//extraRowPos = after
if(count($this->extraRowColumns) && $this->extraRowPos == 'below' && isset($extraRowEdge['end'])) {
$this->renderExtraRow($row, $extraRowEdge['group']['totals']);
}
}
/**
* returns array of rendered column values (TD)
*
* @param mixed $columns
* @param mixed $rowIndex
*/
private function getRowValues($columns, $data, $rowIndex)
{
foreach($columns as $column) {
if($column instanceOf CGridColumn) {
$result[$column->name] = $this->getDataCellContent($column, $data, $rowIndex);
} elseif(is_string($column)) {
if(is_array($data) && array_key_exists($column, $data)) {
$result[$column] = $data[$column];
} elseif($data instanceOf CModel && $data->hasAttribute($column)) {
$result[$column] = $data->getAttribute($column);
} else {
throw new CException('Column or attribute "'.$column.'" not found!');
}
}
}
return $result;
}
/**
* renders extra row
*
* @param mixed $row
* @param mixed $change
*/
private function renderExtraRow($row, $totals)
{
$data = $this->dataProvider->data[$row];
if($this->extraRowExpression) { //user defined expression, use it!
$content = $this->evaluateExpression($this->extraRowExpression, array('data'=>$data, 'row'=>$row, 'totals' => $totals));
} else { //generate value
$values = array();
foreach($this->extraRowColumns as $colName) {
$values[] = CHtml::encode(CHtml::value($data, $colName));
}
$content = '<strong>'.implode(' :: ', $values).'</strong>';
}
$colspan = count($this->columns);
echo '<tr>';
echo '<td class="extrarow" colspan="'.$colspan.'">'.$content.'</td>';
echo '</tr>';
}
/**
* need to rewrite this function as it is protected in CDataColumn: it is strange as all methods inside are public
*
* @param mixed $column
* @param mixed $row
* @param mixed $data
*/
private function getDataCellContent($column, $data, $row)
{
if($column->value!==null)
$value=$column->evaluateExpression($column->value, array('data'=>$data,'row'=>$row));
else if($column->name!==null)
$value=CHtml::value($data,$column->name);
return $value===null ? $column->grid->nullDisplay : $column->grid->getFormatter()->format($value, $column->type);
}
/**
* Is current row start or end of group in particular column
*/
private function isGroupEdge($colName, $row)
{
$result = array();
foreach($this->_groups[$colName] as $index => $v) {
if($v['start'] == $row) {
$result['start'] = $row;
$result['group'] = $v;
}
if($v['end'] == $row) {
$result['end'] = $row;
$result['group'] = $v;
}
if(count($result)) break;
}
return $result;
}
}
\ No newline at end of file
Groupgridview changelog
=============================
Version 1.3 May 03, 2013
----------------------------
[enh]: added param `extraRowTotals' (@vitalets)
[enh]: added param `extraRowPos' (@vitalets)
Version 1.2 Dec 16, 2012
----------------------------
[enh #1]: Compability with Yii-Bootstrap 1.0 and above (@Yiivgeny)
Version 1.1 Apr 3, 2012
----------------------------
[bug] fixed 'name' issue with CLinkColumn & CButtonColumn (@vitalets)
[enh] added support of Bootstrap gridview (@vitalets)
Version 1.0 Apr 1, 2012
----------------------------
Initial release
\ No newline at end of file
<?php
Yii::import('zii.widgets.grid.CGridView');
/**
* A Grid View that groups rows by any column(s)
*
* @category User Interface
* @package extensions
* @author Vitaliy Potapov <noginsk@rambler.ru>
* @version 1.3
*/
class GroupGridView extends CGridView {
//column values are merged independently
const MERGE_SIMPLE = 'simple';
//column values are merged if at least one value of nested columns changes (makes sense when several columns in $mergeColumns option)
const MERGE_NESTED = 'nested';
//column values are merged independently, but value is shown in first row of group and below cells just cleared (instead of `rowspan`)
const MERGE_FIRSTROW = 'firstrow';
public $mergeColumns = array();
public $mergeType = self::MERGE_SIMPLE;
public $mergeCellCss = 'text-align: center; vertical-align: middle';
//list of columns on which change extrarow will be triggered
public $extraRowColumns = array();
//expression to get value shown in extrarow
public $extraRowExpression;
//position of extraRow relative to group: 'above' | 'below'
public $extraRowPos = 'above';
//totals expression: function($data, $row, &$totals)
public $extraRowTotals;
//array with groups
private $_groups = array();
public function renderTableBody()
{
if(!empty($this->mergeColumns) || !empty($this->extraRowColumns)) {
$this->groupByColumns();
}
parent::renderTableBody();
}
/**
* find and store changing of group columns
*
* @param mixed $data
*/
public function groupByColumns()
{
$data = $this->dataProvider->getData();
if(count($data) == 0) return;
if(!is_array($this->mergeColumns)) $this->mergeColumns = array($this->mergeColumns);
if(!is_array($this->extraRowColumns)) $this->extraRowColumns = array($this->extraRowColumns);
//store columns for group. Set object for existing columns in grid and string for attributes
$groupColumns = array_unique(array_merge($this->mergeColumns, $this->extraRowColumns));
foreach($groupColumns as $key => $colName) {
foreach($this->columns as $column) {
if(property_exists($column, 'name') && $column->name == $colName) {
$groupColumns[$key] = $column;
break;
}
}
}
//storage for groups in each column
$groups = array();
//values for first row
$values = $this->getRowValues($groupColumns, $data[0], 0);
foreach($values as $colName => $value) {
$groups[$colName][] = array(
'value' => $value,
'column' => $colName,
'start' => 0,
//end - later
//totals - later
);
}
//calc totals for the first row
$totals = array();
if($this->extraRowTotals) {
$this->evaluateExpression($this->extraRowTotals, array('data'=>$data[0], 'row'=>0, 'totals' => &$totals));
}
//iterate data
for($i = 1; $i < count($data); $i++) {
//save row values in array
$current = $this->getRowValues($groupColumns, $data[$i], $i);
//define is change occured. Need this extra foreach for correctly proceed extraRows
$changedColumns = array();
foreach($current as $colName => $curValue) {
$prev = end($groups[$colName]);
if($curValue != $prev['value']) {
$changedColumns[] = $colName;
}
}
/*
if this flag = true -> we will write change for all grouping columns.
It's required when change of any column from extraRowColumns occurs
*/
$extraRowColumnChanged = (count(array_intersect($changedColumns, $this->extraRowColumns)) > 0);
/*
this changeOccured related to foreach below. It is required only for mergeType == self::MERGE_NESTED,
to write change for all nested columns when change of previous column occured
*/
$changeOccured = false;
foreach($current as $colName => $curValue) {
//value changed
$valueChanged = in_array($colName, $changedColumns);
//change already occured in this loop and mergeType set to MERGETYPE_NESTED
$saveChange = $valueChanged || ($changeOccured && $this->mergeType == self::MERGE_NESTED);
if($extraRowColumnChanged || $saveChange) {
$changeOccured = true;
$lastIndex = count($groups[$colName]) - 1;
//finalize prev group
$groups[$colName][$lastIndex]['end'] = $i - 1;
$groups[$colName][$lastIndex]['totals'] = $totals;
//begin new group
$groups[$colName][] = array(
'start' => $i,
'column' => $colName,
'value' => $curValue,
);
}
}
//if change in extrarowcolumn --> reset totals
if($extraRowColumnChanged) {
$totals = array();
}
//calc totals for that row
if($this->extraRowTotals) {
$this->evaluateExpression($this->extraRowTotals, array('data'=>$data[$i], 'row'=>$i, 'totals' => &$totals));
}
}
//finalize group for last row
foreach($groups as $colName => $v) {
$lastIndex = count($groups[$colName]) - 1;
$groups[$colName][$lastIndex]['end'] = count($data) - 1;
$groups[$colName][$lastIndex]['totals'] = $totals;
}
$this->_groups = $groups;
}
public function renderTableRow($row)
{
$extraRowEdge = null;
if(count($this->extraRowColumns)) {
$colName = $this->extraRowColumns[0];
$extraRowEdge = $this->isGroupEdge($colName, $row);
if($this->extraRowPos == 'above' && isset($extraRowEdge['start'])) {
$this->renderExtraRow($row, $extraRowEdge['group']['totals']);
}
}
/*
if($this->_changes && array_key_exists($row, $this->_changes)) {
$change = $this->_changes[$row];
//if change in extracolumns --> put extra row
$columnsInExtra = array_intersect(array_keys($change['columns']), $this->extraRowColumns);
//extraRowPos = before
if(count($columnsInExtra) > 0 && $this->extraRowPos == 'before') {
$this->renderExtraRow($row, $this->_changes[$row], $columnsInExtra);
}
}
*/
// original CGridView code
if($this->rowCssClassExpression!==null)
{
$data=$this->dataProvider->data[$row];
echo '<tr class="'.$this->evaluateExpression($this->rowCssClassExpression,array('row'=>$row,'data'=>$data)).'">';
}
else if(is_array($this->rowCssClass) && ($n=count($this->rowCssClass))>0)
echo '<tr class="'.$this->rowCssClass[$row%$n].'">';
else
echo '<tr>';
foreach($this->columns as $column) {
$isGroupColumn = property_exists($column, 'name') && in_array($column->name, $this->mergeColumns);
if(!$isGroupColumn) {
$column->renderDataCell($row);
continue;
}
//is curent row appears on edge of group
$edge = $this->isGroupEdge($column->name, $row);
switch($this->mergeType) {
case self::MERGE_SIMPLE:
case self::MERGE_NESTED:
if(isset($edge['start'])) {
$options = $column->htmlOptions;
$column->htmlOptions['rowspan'] = $edge['group']['end'] - $edge['group']['start'] + 1;
$column->htmlOptions['class'] = 'merge';
$style = isset($column->htmlOptions['style']) ? $column->htmlOptions['style'] : '';
$column->htmlOptions['style'] = $style.';'.$this->mergeCellCss;
$column->renderDataCell($row);
$column->htmlOptions = $options;
}
break;
case self::MERGE_FIRSTROW:
if(isset($edge['start'])) {
$column->renderDataCell($row);
} else {
echo '<td></td>';
}
break;
}
}
echo "</tr>\n";
//extraRowPos = after
if(count($this->extraRowColumns) && $this->extraRowPos == 'below' && isset($extraRowEdge['end'])) {
$this->renderExtraRow($row, $extraRowEdge['group']['totals']);
}
}
/**
* returns array of rendered column values (TD)
*
* @param mixed $columns
* @param mixed $rowIndex
*/
private function getRowValues($columns, $data, $rowIndex)
{
foreach($columns as $column) {
if($column instanceOf CGridColumn) {
$result[$column->name] = $this->getDataCellContent($column, $data, $rowIndex);
} elseif(is_string($column)) {
if(is_array($data) && array_key_exists($column, $data)) {
$result[$column] = $data[$column];
} elseif($data instanceOf CModel && $data->hasAttribute($column)) {
$result[$column] = $data->getAttribute($column);
} else {
throw new CException('Column or attribute "'.$column.'" not found!');
}
}
}
return $result;
}
/**
* renders extra row
*
* @param mixed $row
* @param mixed $change
*/
private function renderExtraRow($row, $totals)
{
$data = $this->dataProvider->data[$row];
if($this->extraRowExpression) { //user defined expression, use it!
$content = $this->evaluateExpression($this->extraRowExpression, array('data'=>$data, 'row'=>$row, 'totals' => $totals));
} else { //generate value
$values = array();
foreach($this->extraRowColumns as $colName) {
$values[] = CHtml::encode(CHtml::value($data, $colName));
}
$content = '<strong>'.implode(' :: ', $values).'</strong>';
}
$colspan = count($this->columns);
echo '<tr>';
echo '<td class="extrarow" colspan="'.$colspan.'">'.$content.'</td>';
echo '</tr>';
}
/**
* need to rewrite this function as it is protected in CDataColumn: it is strange as all methods inside are public
*
* @param mixed $column
* @param mixed $row
* @param mixed $data
*/
private function getDataCellContent($column, $data, $row)
{
if($column->value!==null)
$value=$column->evaluateExpression($column->value, array('data'=>$data,'row'=>$row));
else if($column->name!==null)
$value=CHtml::value($data,$column->name);
return $value===null ? $column->grid->nullDisplay : $column->grid->getFormatter()->format($value, $column->type);
}
/**
* Is current row start or end of group in particular column
*/
private function isGroupEdge($colName, $row)
{
$result = array();
foreach($this->_groups[$colName] as $index => $v) {
if($v['start'] == $row) {
$result['start'] = $row;
$result['group'] = $v;
}
if($v['end'] == $row) {
$result['end'] = $row;
$result['group'] = $v;
}
if(count($result)) break;
}
return $result;
}
}
groupgridview
=============
Yii extension to group data in your grid
Please see **[demo](http://groupgridview.demopage.ru)** for details
\ No newline at end of file
...@@ -20,11 +20,13 @@ class LoginForm extends CFormModel { ...@@ -20,11 +20,13 @@ class LoginForm extends CFormModel {
public function rules() { public function rules() {
return array( return array(
// username and password are required // username and password are required
array('username, password', 'required'), array('username, password', 'required',
'message' => '{attribute} tidak boleh kosong.'),
// rememberMe needs to be a boolean // rememberMe needs to be a boolean
array('rememberMe', 'boolean'), array('rememberMe', 'boolean'),
// password needs to be authenticated // password needs to be authenticated
array('password', 'authenticate'), array('password', 'authenticate',
'message' => '{attribute} salah.'),
); );
} }
...@@ -45,7 +47,7 @@ class LoginForm extends CFormModel { ...@@ -45,7 +47,7 @@ class LoginForm extends CFormModel {
if (!$this->hasErrors()) { if (!$this->hasErrors()) {
$this->_identity = new UserIdentity($this->username, $this->password); $this->_identity = new UserIdentity($this->username, $this->password);
if (!$this->_identity->authenticate()) if (!$this->_identity->authenticate())
$this->addError('password', 'Incorrect username or password.'); $this->addError('password', 'Username atau Password salah.');
} }
} }
......
...@@ -85,11 +85,11 @@ class MJadwal extends CActiveRecord { ...@@ -85,11 +85,11 @@ class MJadwal extends CActiveRecord {
$criteria = new CDbCriteria; $criteria = new CDbCriteria;
$criteria->compare('ID', $this->ID); $criteria->compare('ID', $this->ID, true);
$criteria->compare('WEEK', $this->WEEK); $criteria->compare('WEEK', $this->WEEK, true);
$criteria->compare('TANGGAL', $this->TANGGAL, true); $criteria->compare('TANGGAL', $this->TANGGAL, true);
$criteria->compare('TA', $this->TA); $criteria->compare('TA', $this->TA, true);
$criteria->compare('ID_KUR', $this->ID_KUR); $criteria->compare('ID_KUR', $this->ID_KUR, true);
$criteria->compare('KELAS', $this->KELAS, true); $criteria->compare('KELAS', $this->KELAS, true);
return new CActiveDataProvider($this, array( return new CActiveDataProvider($this, array(
......
<?php <?php
$kelas = "41B"; $kelas = "41B";
$mata_kuliah = "IF411111"; $mata_kuliah = "IF411111";
$model = BeritaAcaraDaftarHadir::model()->findAllByAttributes(array('TANGGAL'=>$message, 'KODE_MK'=>$mata_kuliah)); $model = BeritaAcaraDaftarHadir::model()->findAllByAttributes(array('TANGGAL' => $message, 'KODE_MK' => $mata_kuliah));
$model2 = Jadwal::model()->findAllByAttributes(array('TANGGAL'=>$message, 'KODE_MK'=>$mata_kuliah)); $model2 = Jadwal::model()->findAllByAttributes(array('TANGGAL' => $message, 'KODE_MK' => $mata_kuliah));
$model3 = BeritaAcaraDaftarHadir::model()->findAllByAttributes(array('TANGGAL'=>$message, 'KODE_MK'=>$mata_kuliah)); $model3 = BeritaAcaraDaftarHadir::model()->findAllByAttributes(array('TANGGAL' => $message, 'KODE_MK' => $mata_kuliah));
$mkul = Kurikulum::model()->findByAttributes(array('KODE_MK'=>$mata_kuliah)); $mkul = Kurikulum::model()->findByAttributes(array('KODE_MK' => $mata_kuliah));
$dosen = Pengajar::model()->findByAttributes(array('KODE_MK'=>$mata_kuliah)); $dosen = Pengajar::model()->findByAttributes(array('KODE_MK' => $mata_kuliah));
$criteriaDataIb = new CDbCriteria(); $criteriaDataIb = new CDbCriteria();
$criteriaDataIb->condition = 'KODE_MK = :kodemk'; $criteriaDataIb->condition = 'KODE_MK = :kodemk';
$criteriaDataIb->order = 'ID DESC'; $criteriaDataIb->order = 'ID DESC';
$criteriaDataIb->limit = 1; $criteriaDataIb->limit = 1;
$criteriaDataIb->params = array('kodemk' => $mata_kuliah); $criteriaDataIb->params = array('kodemk' => $mata_kuliah);
$tajaran = Jadwal::model()->find($criteriaDataIb); $tajaran = Jadwal::model()->find($criteriaDataIb);
$imagePath=Yii::getPathOfAlias('application.icons'); $imagePath = Yii::getPathOfAlias('application.icons');
$baseUrl = Yii::app()->assetManager->publish($imagePath); $baseUrl = Yii::app()->assetManager->publish($imagePath);
?> ?>
<table> <table>
<tr> <tr>
...@@ -100,31 +100,32 @@ ...@@ -100,31 +100,32 @@
<tr style="background-color:gray";> <tr style="background-color:gray";>
<td width="70">SESI</td> <td width="70">SESI</td>
<?php <?php
foreach($model2 as $item2) foreach ($model2 as $item2) {
{
?> ?>
<td width="30"><?php echo $item2['SESSION']; ?></td> <td width="30"><?php echo $item2['SESSION']; ?></td>
<?php <?php
} }
?> ?>
</tr> </tr>
<?php <?php
$x = 1; $x = 1;
foreach($model as $item) foreach ($model as $item) {
{ ?>
?>
<tr> <tr>
<td><?php echo $x; ?></td> <td><?php echo $x; ?></td>
<td><?php echo $item['NIM']; ?></td> <td><?php echo $item['NIM']; ?></td>
<td colspan="2"><?php $nama = Dim::model()->findByAttributes(array('NIM'=>$item['NIM'])); echo $nama->NAMA; ?></td> <td colspan="2"><?php
<td><?php echo $item['STATUS']?></td> $nama = Dim::model()->findByAttributes(array('NIM' => $item['NIM']));
<td><?php echo $item['STATUS']?></td> echo $nama->NAMA;
<td><?php echo $item['STATUS']?></td> ?></td>
<td><?php echo $item['STATUS'] ?></td>
<td><?php echo $item['STATUS'] ?></td>
<td><?php echo $item['STATUS'] ?></td>
</tr> </tr>
<?php <?php
$x += 1; $x += 1;
} }
?> ?>
</table> </table>
\ No newline at end of file
...@@ -3,17 +3,16 @@ ...@@ -3,17 +3,16 @@
<table style="border-collapse:collapse;background:white"> <table style="border-collapse:collapse;background:white">
<tr> <tr>
<td style="background:#cccccc;width:50%;"><center> <td style="background:#cccccc;width:50%;">
<h2>Choose the Date!<h2><hr> <h2>Choose the Date!</h2><hr>
</td> </td>
<td style="background:#e4e4e4;width:50%;"> <td style="background:#e4e4e4;width:50%;">
<center> <center><?php $this->widget('ext.simple-calendar.SimpleCalendarWidget'); ?></center>
<?php $this->widget('ext.simple-calendar.SimpleCalendarWidget'); ?></center> </td>
</td> <td>&nbsp;</td>
<td>&nbsp;&nbsp;</td> <td align="right" valign="middle" border="4">
<td align="right" valign="middle" border="4"> <center>
<h2> <h2>
Laporan Berita Acara tanggal <?php echo $wew ?> <center>Laporan Berita Acara tanggal <?php echo $wew ?></center>
</h2> </h2>
<hr> <hr>
<?php <?php
...@@ -66,9 +65,9 @@ ...@@ -66,9 +65,9 @@
), ),
), ),
)); ));
?></center> ?>
</td> </td>
<tr> </tr>
</table> </table>
...@@ -9,19 +9,19 @@ $form = $this->beginWidget('booster.widgets.TbActiveForm', array( ...@@ -9,19 +9,19 @@ $form = $this->beginWidget('booster.widgets.TbActiveForm', array(
<div class="row" style="width:200px;float: left;"> <div class="row" style="width:200px;float: left;">
<?php echo CHtml::activeLabelEx($model, '[' . $index . ']name'); ?> <?php echo CHtml::activeLabelEx($model, '[' . $index . ']name'); ?>
<?php echo CHtml::activeTextField($model, '[' . $index . ']name', array('size' => 20, 'maxlength' => 255)); ?> <?php echo CHtml::activeTextField($model, '[' . $index . ']name', array('size' => 20, 'maxlength' => 255)); ?>
<?php echo CHtml::error($model, '[' . $index . ']name'); ?> <?php echo CHtml::error($model, '[' . $index . ']name'); ?>
</div> </div>
<div class="row" style="width:200px;float: left;"> <div class="row" style="width:200px;float: left;">
<?php echo CHtml::activeLabelEx($model, '[' . $index . ']age'); ?> <?php echo CHtml::activeLabelEx($model, '[' . $index . ']age'); ?>
<?php echo CHtml::activeTextField($model, '[' . $index . ']age'); ?> <?php echo CHtml::activeTextField($model, '[' . $index . ']age'); ?>
<?php echo CHtml::error($model, '[' . $index . ']age'); ?> <?php echo CHtml::error($model, '[' . $index . ']age'); ?>
</div> </div>
<div class="row" style="width:100px;float: left;"> <div class="row" style="width:100px;float: left;">
<br /> <br />
<?php echo CHtml::link('Delete', '#', array('onclick' => 'deleteChild(this, ' . $index . '); return false;')); <?php echo CHtml::link('Delete', '#', array('onclick' => 'deleteChild(this, ' . $index . '); return false;'));
?> ?>
</div> </div>
</div> </div>
......
...@@ -88,7 +88,7 @@ echo $form->dropDownListGroup( ...@@ -88,7 +88,7 @@ echo $form->dropDownListGroup(
'ajax' => array( 'ajax' => array(
'type' => 'POST', 'type' => 'POST',
'url' => CController::createUrl('MJadwal/matkul'), 'url' => CController::createUrl('MJadwal/matkul'),
// 'update' => '#' . CHtml::activeID($djadwal, '[' . $a . ']KODE_MK') 'update' => '#DJadwal_0_KODE_MK,#DJadwal_1_KODE_MK,#DJadwal_2_KODE_MK,#DJadwal_3_KODE_MK,#DJadwal_4_KODE_MK,#DJadwal_5_KODE_MK,#DJadwal_6_KODE_MK,#DJadwal_7_KODE_MK'
), ),
), ),
) )
...@@ -104,7 +104,7 @@ echo $form->dropDownListGroup( ...@@ -104,7 +104,7 @@ echo $form->dropDownListGroup(
<?php // echo $form->textFieldGroup($djadwal, '[' . $i . ']SESSION', array('widgetOptions' => array('htmlOptions' => array('class' => 'span5', 'placeholder' => 'Sesi')))); ?> <?php // echo $form->textFieldGroup($djadwal, '[' . $i . ']SESSION', array('widgetOptions' => array('htmlOptions' => array('class' => 'span5', 'placeholder' => 'Sesi')))); ?>
Sesi Kosong ? <input type="checkbox" name="formsesi[]" value="Yes" /> Sesi Kosong ? <input type="checkbox" name="formsesi<?php echo $i ?>" value="Yes" />
<BR> <BR>
<BR> <BR>
<?php <?php
...@@ -120,14 +120,15 @@ echo $form->dropDownListGroup( ...@@ -120,14 +120,15 @@ echo $form->dropDownListGroup(
'htmlOptions' => array( 'htmlOptions' => array(
'ajax' => array( 'ajax' => array(
'type' => 'POST', 'type' => 'POST',
'url' => CController::createUrl('Jadwal/deskripsi'), 'url' => CController::createUrl('MJadwal/deskripsi&id=' . $i),
'update' => '#agan' 'update' => "#matkul$i"
) )
), ),
) )
) )
); );
?> ?>
<div id="matkul<?php echo $i; ?>" class="alert alert-info"></div>
<?php <?php
$data = CHtml::listData(Ruangan ::model()->findAll(), 'ID', 'SHORT_NAME'); $data = CHtml::listData(Ruangan ::model()->findAll(), 'ID', 'SHORT_NAME');
......
<?php <?php
$this->breadcrumbs=array( $this->breadcrumbs = array(
'Mjadwals'=>array('index'), 'Mjadwals' => array('index'),
'Manage', 'Manage',
); );
$this->menu=array( $this->menu = array(
array('label'=>'List MJadwal','url'=>array('index')), array('label' => 'List MJadwal', 'url' => array('index')),
array('label'=>'Create MJadwal','url'=>array('create')), array('label' => 'Create MJadwal', 'url' => array('create')),
); );
Yii::app()->clientScript->registerScript('search', " Yii::app()->clientScript->registerScript('search', "
...@@ -31,26 +31,30 @@ return false; ...@@ -31,26 +31,30 @@ return false;
or <b>=</b>) at the beginning of each of your search values to specify how the comparison should be done. or <b>=</b>) at the beginning of each of your search values to specify how the comparison should be done.
</p> </p>
<?php echo CHtml::link('Advanced Search','#',array('class'=>'search-button btn')); ?> <?php echo CHtml::link('Advanced Search', '#', array('class' => 'search-button btn')); ?>
<div class="search-form" style="display:none"> <div class="search-form" style="display:none">
<?php $this->renderPartial('_search',array( <?php
'model'=>$model, $this->renderPartial('_search', array(
)); ?> 'model' => $model,
));
?>
</div><!-- search-form --> </div><!-- search-form -->
<?php $this->widget('booster.widgets.TbGridView',array( <?php
'id'=>'mjadwal-grid', $this->widget('booster.widgets.TbGridView', array(
'dataProvider'=>$model->search(), 'id' => 'mjadwal-grid',
'filter'=>$model, 'dataProvider' => $model->search(),
'columns'=>array( 'filter' => $model,
'columns' => array(
'ID', 'ID',
'WEEK', 'WEEK',
'TANGGAL', 'TANGGAL',
'TA', 'TA',
'ID_KUR', 'ID_KUR',
'KELAS', 'KELAS',
array( array(
'class'=>'booster.widgets.TbButtonColumn', 'class' => 'booster.widgets.TbButtonColumn',
), ),
), ),
)); ?> ));
?>
...@@ -3,10 +3,174 @@ ...@@ -3,10 +3,174 @@
</div> </div>
<?php <?php
$this->widget('booster.widgets.TbListView', array( // Script
'dataProvider' => $dataProvider, Yii::app()->clientScript->registerScript('search', "
'itemView' => '_view', $('.search-button').click(function(){
)); $('.search-form').toggle();
return false;
});
$('.search-form form').submit(function(){
$.fn.yiiGridView.update('mjadwal-grid', {
data: $(this).serialize()
});
return false;
});
");
Yii::app()->clientScript->registerScript('re-install-date-picker', "
function reinstallDatePicker(id, data) {
//use the same parameters that you had set in your widget else the datepicker will be refreshed by default
$('#datepicker_for_TANGGAL').datepicker(jQuery.extend({showMonthAfterYear:false},jQuery.datepicker.regional['en'],{'dateFormat':'yy-mm-dd'}));
}
");
?>
<?php
$this->widget('booster.widgets.TbGridView', array(
'id' => 'mjadwal-grid',
'dataProvider' => $model->search(),
'emptyText' => 'Data tidak ditemukan',
'summaryText' => 'Daftar Jadwal {start} - {end} dari {count}',
'afterAjaxUpdate' => 'reinstallDatePicker', // (#1)
'filter' => $model,
'columns' => array(
array(
'header' => 'Minggu',
'name' => 'WEEK',
'value' => '$data->WEEK',
),
array(
'header' => 'Tanggal',
'name' => 'TANGGAL',
'filter' => $this->widget('zii.widgets.jui.CJuiDatePicker', array(
'model' => $model,
'attribute' => 'TANGGAL',
'language' => 'en',
'i18nScriptFile' => 'jquery.ui.datepicker-en.js',
'defaultOptions' => array(
'showOn' => 'focus',
'dateFormat' => 'yy-mm-dd',
'showOtherMonths' => true,
'selectOtherMonths' => true,
'changeMonth' => true,
'changeYear' => true,
),
'htmlOptions' => array(
'size' => '10', // textField size
'maxlength' => '10', // textField maxlength
'id' => 'datepicker_for_TANGGAL',
),
), true),
),
array(
'header' => 'Kelas',
'name' => 'KELAS',
'value' => '$data->KELAS',
),
array(
'header' => 'Tahun Ajaran',
'name' => 'TA',
'value' => '$data->TA',
),
array(
'header' => 'Kurikulum',
'name' => 'ID_KUR',
'value' => '$data->ID_KUR',
),
array(
'class' => 'booster.widgets.TbButtonColumn',
),
),
));
?>
<?php
//$this->widget('zii.widgets.grid.CGridView', array(
// 'id' => 'jadwal-grid',
// 'dataProvider' => $dataProvider->search(),
// 'emptyText' => 'Data tidak ditemukan',
// 'summaryText' => 'Daftar Jadwal {start} - {end} dari {count}',
// 'emptyText' => 'Data tidak ditemukan',
// 'filter' => $dataProvider,
// 'afterAjaxUpdate' => 'reinstallDatePicker', // (#1)
// 'columns' => array(
// array(
// 'header' => 'Minggu',
// 'name' => 'WEEK',
//// 'filter' => CHtml::listData(DaftarPelanggaran::model()->findAll(), 'ID', 'DESKRIPSI'),
// 'value' => '$data->WEEK',
// ),
// array(
// 'header' => 'Tanggal',
// 'name' => 'TANGGAL',
//// 'filter' => CHtml::listData(DaftarPelanggaran::model()->findAll(), 'ID', 'DESKRIPSI'),
// 'value' => '$data->TANGGAL',
// ),
// array(
// 'header' => 'Kelas',
// 'name' => 'KELAS',
//// 'filter' => CHtml::listData(DaftarPelanggaran::model()->findAll(), 'ID', 'DESKRIPSI'),
// 'value' => '$data->KELAS',
// ),
// array(
// 'header' => 'Tahun Ajaran',
// 'name' => 'TA',
//// 'filter' => CHtml::listData(DaftarPelanggaran::model()->findAll(), 'ID', 'DESKRIPSI'),
// 'value' => '$data->TA',
// ),
// array(
// 'header' => 'Kurikulum',
// 'name' => 'ID_KUR',
//// 'filter' => CHtml::listData(DaftarPelanggaran::model()->findAll(), 'ID', 'DESKRIPSI'),
// 'value' => '$data->ID_KUR',
// ),
//// array(
//// 'header' => 'Pelapor',
//// 'name' => 'PENGGUNA',
//// 'filter' => CHtml::listData(Pengguna::model()->findAll(), 'USERNAME', 'NAMA'),
//// 'value' => '$data->pengguna->NAMA',
//// ),
//// array(
//// 'header' => 'Mahasiswa',
//// 'name' => 'MAHASISWA',
//// 'filter' => CHtml::listData(Mahasiswa::model()->findAll(), 'USERNAME', 'NIM'),
//// 'value' => '$data->mahasiswa->NIM',
//// ),
//// array(
//// 'header' => 'Tanggal Kejadian',
//// 'name' => 'TANGGAL',
//// 'filter' => $this->widget('zii.widgets.jui.CJuiDatePicker', array(
//// 'model' => $model,
//// 'attribute' => 'TANGGAL',
//// 'language' => 'en',
//// 'i18nScriptFile' => 'jquery.ui.datepicker-en.js',
//// 'defaultOptions' => array(
//// 'showOn' => 'focus',
//// 'dateFormat' => 'yy-mm-dd',
//// 'showOtherMonths' => true,
//// 'selectOtherMonths' => true,
//// 'changeMonth' => true,
//// 'changeYear' => true,
//// ),
//// 'htmlOptions' => array(
//// 'size' => '10', // textField size
//// 'maxlength' => '10', // textField maxlength
//// 'id' => 'datepicker_for_TANGGAL',
//// ),
//// ), true),
//// //'value' => '$data->TANGGAL',
//// ),
//// array(
//// 'header' => 'Aksi',
//// 'class' => 'CButtonColumn',
//// 'template' => '{view}{addsanksi}',
//// 'buttons' => array(
//// 'addsanksi' => array(
//// 'label' => 'Beri Sanksi',
//// 'imageUrl' => Yii::app()->theme->baseUrl . '/img/ico/addSanksi.png',
//// 'url' => 'Yii::app()->createUrl(\'sanksi/addsanksi\',array(\'id\'=>\'\'.$data->ID.\'\'))',
//// ),
//// ),
//// ),
// ),
//));
?> ?>
...@@ -2,17 +2,13 @@ ...@@ -2,17 +2,13 @@
/* @var $this SiteController */ /* @var $this SiteController */
/* @var $model LoginForm */ /* @var $model LoginForm */
/* @var $form CActiveForm */ /* @var $form CActiveForm */
$this->pageTitle = Yii::app()->name . ' - Login';
$this->breadcrumbs = array(
'Login',
);
?> ?>
<div class="well">
<center>
<h1>Login</h1>
<h1>Login</h1> <BR>
<div class="form">
<div class="form">
<?php <?php
$form = $this->beginWidget('CActiveForm', array( $form = $this->beginWidget('CActiveForm', array(
'id' => 'login-form', 'id' => 'login-form',
...@@ -52,8 +48,17 @@ $this->breadcrumbs = array( ...@@ -52,8 +48,17 @@ $this->breadcrumbs = array(
<BR> <BR>
<div class="row buttons"> <div class="row buttons">
<?php echo CHtml::submitButton('Login'); ?> <?php
$this->widget('booster.widgets.TbButton', array(
'buttonType' => 'submit',
'context' => 'primary',
'label' => 'Masuk',
));
?>
</div> </div>
<?php $this->endWidget(); ?> <?php $this->endWidget(); ?>
</div><!-- form --> </div><!-- form -->
</center>
</div>
\ No newline at end of file
...@@ -19,14 +19,14 @@ ...@@ -19,14 +19,14 @@
<div class="row-fluid"> <div class="row-fluid">
<ul class="thumbnails right"> <ul class="thumbnails right">
<li class="span4"> <li class="span4">
<div class="thumbnail right">
<h3>Choose your Date of attendence</h3><hr> <h3>Choose your Date of attendence</h3><hr>
<?php $this->widget('ext.simple-calendar.SimpleCalendarWidget'); ?> <?php $this->widget('ext.simple-calendar.SimpleCalendarWidget'); ?>
<div>
</li> </li>
<li class="span8"> <li class="span8">
<div class="thumbnail">
<h3>Berita Acara</h3><hr> <h3>Berita Acara</h3><hr>
<?php $collapse = $this->beginWidget('ext.booster.widgets.TbCollapse'); ?> <?php $collapse = $this->beginWidget('ext.booster.widgets.TbCollapse'); ?>
<div class="panel-group" id="accordion"> <div class="panel-group" id="accordion">
...@@ -34,7 +34,7 @@ ...@@ -34,7 +34,7 @@
<div class="panel-heading"> <div class="panel-heading">
<h4 class="panel-title"> <h4 class="panel-title">
<a data-toggle="collapse" data-parent="#accordion" href=""> <a data-toggle="collapse" data-parent="#accordion" href="">
Berita Acara Hari ini Jadwal Hari ini
</a> </a>
</h4> </h4>
</div> </div>
...@@ -52,9 +52,14 @@ ...@@ -52,9 +52,14 @@
$this->widget( $this->widget(
'booster.widgets.TbGridView', array( 'booster.widgets.TbGridView', array(
'dataProvider' => $gridDataProvider, 'dataProvider' => $gridDataProvider,
'emptyText' => 'Jadwal Tidak Ada',
'template' => "{items}", 'template' => "{items}",
'columns' => array( 'columns' => array(
array( array(
'header' => 'No',
'value' => '$this->grid->dataProvider->pagination->offset + $row+1', // row is zero based
),
array(
'header' => 'Kelas', 'header' => 'Kelas',
'value' => '$data->iddetailjadwal->idjadwal->KELAS', 'value' => '$data->iddetailjadwal->idjadwal->KELAS',
), ),
...@@ -74,21 +79,33 @@ ...@@ -74,21 +79,33 @@
'header' => 'Aktifitas', 'header' => 'Aktifitas',
'value' => '$data->iddetailjadwal->AKTIFITAS', 'value' => '$data->iddetailjadwal->AKTIFITAS',
), ),
array(
'header' => 'Aksi',
'class' => 'booster.widgets.TbButtonColumn',
'template' => '{view}',
'viewButtonUrl' => 'Yii::app()->createUrl(\'djadwal/view\',array(\'id\'=>\'\'.$data->iddetailjadwal->ID.\'\'))',
),
), ),
) )
); );
//'ID', 'SESSION', 'TA', 'ID_KUR', 'KODE_MK', 'KELAS', 'TANGGAL', 'TOPIK' //'ID', 'SESSION', 'TA', 'ID_KUR', 'KODE_MK', 'KELAS', 'TANGGAL', 'TOPIK'
?> ?>
</div> </div>
</div>
</div>
</div>
</li> </li>
</ul> </ul>
</div> </div>
<script type="text/javascript" src="<?php echo Yii::app()->theme->baseUrl; ?>/js/nivo-slider/jquery.nivo.slider.pack.js"></script>
<script type="text/javascript"> <script type="text/javascript" src="<?php echo Yii::app()->theme->baseUrl; ?>/js/nivo-slider/jquery.nivo.slider.pack.js"></script>
<script type="text/javascript">
$(function() { $(function() {
$('#slider-nivo').nivoSlider({ $('#slider-nivo').nivoSlider({
effect: 'boxRandom', effect: 'boxRandom',
...@@ -96,10 +113,10 @@ ...@@ -96,10 +113,10 @@
controlNav: false controlNav: false
}); });
}); });
</script> <!--<script type="text/javascript"> </script> <!--<script type="text/javascript">
$(document).ready(function() { $(document).ready(function() {
$('#slider-nivo2').nivoSlider(); $('#slider-nivo2').nivoSlider();
}); });
</script>--> </script>-->
<?php $this->endWidget(); ?> <?php $this->endWidget(); ?>
\ No newline at end of file \ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment