d e s c e n d a n t s !
∗ @param s t r i n g $ c l a s s N a m e a c t i v e r e c o r d c l a s s name .
∗ @ r e t u r n U s e r M o d e l t h e s t a t i c model c l a s s
∗/
p u b l i c s t a t i c f u n c t i o n model ( $ c l a s s N a m e= C L A S S ) {
r e t u r n p a r e n t : : model ( $ c l a s s N a m e ) ; }
}
a r r a y ( ’ l a b e l ’=>’Manage C l a s s e s ’ , ’ u r l ’=>a r r a y ( ’ admin ’ ) ) , ) ;
?>
<h1>C r e a t e C l a s s</h1>
<?php $ t h i s−>r e n d e r P a r t i a l ( ’ f o r m ’ , a r r a y ( ’ model ’=>$model ) ) ; ?>
Listing 22: Class Form View
<?php
/∗ @var $ t h i s C l a s s C o n t r o l l e r ∗/
/∗ @var $model C l a s s M o d e l ∗/
/∗ @var $ f o r m CActiveForm ∗/
?>
<d i v c l a s s =”f o r m”>
<?php
$ f o r m=$ t h i s−>b e g i n W i d g e t ( ’ CActiveForm ’ , a r r a y (
’ i d ’=>’ c l a s s−model−form ’ ,
// P l e a s e n o t e : When you e n a b l e a j a x v a l i d a t i o n , make s u r e t h e c o r r e s p o n d i n g // c o n t r o l l e r a c t i o n i s h a n d l i n g a j a x v a l i d a t i o n c o r r e c t l y .
// T h e r e i s a c a l l t o p e r f o r m A j a x V a l i d a t i o n ( ) commented i n g e n e r a t e d c o n t r o l l e r c o d e .
// S e e c l a s s d o c u m e n t a t i o n o f CActiveForm f o r d e t a i l s on t h i s .
’ e n a b l e A j a x V a l i d a t i o n ’=>f a l s e , ) ) ;
$ c o u r s e s = CHtml : : l i s t D a t a ( C o u r s e M o d e l : : model ( )−>f i n d A l l ( ) , ’ c o d e ’ , ’ c o d e ’ ) ;
$ c o u r s e A r r a y = a r r a y ( ’ S e l e c t C o u r s e ’ ) ; i f ( c o u n t ( $ c o u r s e s ) > 0 ) {
f o r e a c h ( $ c o u r s e s a s $ k e y => $ v a l u e )
$ c o u r s e A r r a y [ $ k e y ] = $ v a l u e ; } e l s e {
Y i i : : app ( )−>u s e r−>s e t F l a s h ( ’ e r r o r ’ , ’ No c o u r s e s f o u n d . P l e a s e c o n t a c t y o u r s y s t e m a d m i n i s t r a t o r . ’ ) ;
$ t h i s−>r e d i r e c t ( a r r a y ( ’ / c l a s s / admin ’ ) ) ; }
?>
<p c l a s s =” n o t e ”>F i e l d s w i t h <s p a n c l a s s =” r e q u i r e d ”>∗</span> a r e r e q u i r e d .</p>
<?php e c h o $form−>errorSummary ( $model ) ; ?>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l E x ( $model , ’ c o u r s e c o d e ’ ) ; ?>
<?php e c h o $form−>d r o p D o w n L i s t ( $model , ’ c o u r s e c o d e ’ , $ c o u r s e A r r a y ) ; ?>
<?php e c h o $form−>e r r o r ( $model , ’ c o u r s e c o d e ’ ) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l E x ( $model , ’ p a s s ’ ) ; ?>
<?php e c h o $form−>t e x t F i e l d ( $model , ’ p a s s ’ , a r r a y ( ’ s i z e ’=>32 , ’ m a x l e n g t h ’=>32) ) ;
?>
<?php e c h o $form−>e r r o r ( $model , ’ p a s s ’ ) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l E x ( $model , ’ t s i p ’ ) ; ?>
<?php e c h o $form−>t e x t F i e l d ( $model , ’ t s i p ’ , a r r a y ( ’ s i z e ’=>32 , ’ m a x l e n g t h ’=>32) ) ;
?>
<?php e c h o $form−>e r r o r ( $model , ’ t s i p ’ ) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l E x ( $model , ’ t s u s e r ’ ) ; ?>
<?php e c h o $form−>t e x t F i e l d ( $model , ’ t s u s e r ’ , a r r a y ( ’ s i z e ’=>32 , ’ m a x l e n g t h ’=>32)
) ; ?>
<?php e c h o $form−>e r r o r ( $model , ’ t s u s e r ’ ) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l E x ( $model , ’ t s p a s s ’ ) ; ?>
<?php e c h o $form−>t e x t F i e l d ( $model , ’ t s p a s s ’ , a r r a y ( ’ s i z e ’=>32 , ’ m a x l e n g t h ’=>32)
) ; ?>
<?php e c h o $form−>e r r o r ( $model , ’ t s p a s s ’ ) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l E x ( $model , ’ n u m o f s t u d e n t s ’ ) ; ?>
<?php e c h o $form−>n u m b e r F i e l d ( $model , ’ n u m o f s t u d e n t s ’ , a r r a y ( ’ min ’=>1) ) ; ?>
<?php e c h o $form−>e r r o r ( $model , ’ n u m o f s t u d e n t s ’ ) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l E x ( $model , ’ exp ’ ) ; ?>
<?php e c h o $form−>d a t e F i e l d ( $model , ’ exp ’ , a r r a y ( ’ min’=>d a t e ( ’ Y−m−d ’ ) ) ) ; ?>
<?php e c h o $form−>e r r o r ( $model , ’ exp ’ ) ; ?>
</d i v>
<d i v c l a s s =”row b u t t o n s ”>
<?php e c h o CHtml : : s u b m i t B u t t o n ( $model−>i s N e w R e c o r d ? ’ C r e a t e ’ : ’ Save ’ ) ; ?>
</d i v>
<?php $ t h i s−>endWidget ( ) ; ?>
</d i v><!−− f o r m−−>
Listing 23: Class Index View
<?php
/∗ @var $ t h i s C l a s s C o n t r o l l e r ∗/
/∗ @var $ d a t a P r o v i d e r C A c t i v e D a t a P r o v i d e r ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ C l a s s e s ’ , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ C r e a t e C l a s s ’ , ’ u r l ’=>a r r a y ( ’ c r e a t e ’ ) ) , a r r a y ( ’ l a b e l ’=>’Manage C l a s s e s ’ , ’ u r l ’=>a r r a y ( ’ admin ’ ) ) , ) ;
?>
<h1>C l a s s e s</h1>
<?php $ t h i s−>w i d g e t ( ’ z i i . w i d g e t s . C L i s t V i e w ’ , a r r a y (
’ d a t a P r o v i d e r ’=>$model−>s e a r c h ( ) ,
’ itemView ’=>’ v i e w ’ , ) ) ; ?>
Listing 24: Class Search View
<?php
/∗ @var $ t h i s C l a s s C o n t r o l l e r ∗/
/∗ @var $model C l a s s M o d e l ∗/
/∗ @var $ f o r m CActiveForm ∗/
?>
<d i v c l a s s =”w i d e f o r m”>
<?php $ f o r m=$ t h i s−>b e g i n W i d g e t ( ’ CActiveForm ’ , a r r a y (
’ a c t i o n ’=>Y i i : : app ( )−>c r e a t e U r l ( $ t h i s−>r o u t e ) ,
’ method ’=>’ g e t ’ , ) ) ; ?>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l ( $model , ’ i d ’ ) ; ?>
<?php e c h o $form−>n u m b e r F i e l d ( $model , ’ i d ’ , a r r a y ( ’ min ’=>0) ) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l ( $model , ’ c o u r s e c o d e ’ ) ; ?>
<?php e c h o $form−>t e x t F i e l d ( $model , ’ c o u r s e c o d e ’ , a r r a y ( ’ s i z e ’=>32 , ’ m a x l e n g t h
’=>64) ) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l ( $model , ’ p a s s ’ ) ; ?>
<?php e c h o $form−>p a s s w o r d F i e l d ( $model , ’ p a s s ’ , a r r a y ( ’ s i z e ’=>32 , ’ m a x l e n g t h
’=>32) ) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l ( $model , ’ p r o f ’ ) ; ?>
<?php e c h o $form−>t e x t F i e l d ( $model , ’ p r o f ’ , a r r a y ( ’ s i z e ’=>32 , ’ m a x l e n g t h ’=>32) ) ;
?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l ( $model , ’ t s i p ’ ) ; ?>
<?php e c h o $form−>t e x t F i e l d ( $model , ’ t s i p ’ , a r r a y ( ’ s i z e ’=>32 , ’ m a x l e n g t h ’=>32) ) ;
?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l ( $model , ’ t s u s e r ’ ) ; ?>
<?php e c h o $form−>t e x t F i e l d ( $model , ’ t s u s e r ’ , a r r a y ( ’ s i z e ’=>32 , ’ m a x l e n g t h ’=>32)
) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l ( $model , ’ t s p a s s ’ ) ; ?>
<?php e c h o $form−>t e x t F i e l d ( $model , ’ t s p a s s ’ , a r r a y ( ’ s i z e ’=>32 , ’ m a x l e n g t h ’=>32)
) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l ( $model , ’ n u m o f s t u d e n t s ’ ) ; ?>
<?php e c h o $form−>n u m b e r F i e l d ( $model , ’ n u m o f s t u d e n t s ’ , a r r a y ( ’ min ’=>1) ) ; ?>
</d i v>
<d i v c l a s s =”row b u t t o n s ”>
<?php e c h o CHtml : : s u b m i t B u t t o n ( ’ S e a r c h ’ ) ; ?>
</d i v>
<?php $ t h i s−>endWidget ( ) ; ?>
</d i v><!−− s e a r c h−f o r m−−>
Listing 25: Update Class View
<?php
/∗ @var $ t h i s C l a s s C o n t r o l l e r ∗/
/∗ @var $model C l a s s M o d e l ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ C l a s s e s ’=>a r r a y ( ’ i n d e x ’ ) ,
$model−>i d=>a r r a y ( ’ view ’ , ’ i d ’=>$model−>i d ) ,
’ Update ’ , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ L i s t C l a s s e s ’ , ’ u r l ’=>a r r a y ( ’ i n d e x ’ ) ) , a r r a y ( ’ l a b e l ’=>’ C r e a t e C l a s s ’ , ’ u r l ’=>a r r a y ( ’ c r e a t e ’ ) ) ,
a r r a y ( ’ l a b e l ’=>’ View C l a s s ’ , ’ u r l ’=>a r r a y ( ’ view ’ , ’ i d ’=>$model−>i d ) ) , a r r a y ( ’ l a b e l ’=>’Manage C l a s s e s ’ , ’ u r l ’=>a r r a y ( ’ admin ’ ) ) ,
a r r a y ( ’ l a b e l ’=>’ Pods ’ , ’ u r l ’=>a r r a y ( ’ / pod / admin ’ , ’ c l a s s i d ’=>$model−>i d ) ) , ) ;
?>
<h1>Update C l a s s #<?php e c h o $model−>i d ; ?></h1>
<?php $ t h i s−>r e n d e r P a r t i a l ( ’ f o r m ’ , a r r a y ( ’ model ’=>$model ) ) ; ?>
Listing 26: View Class Widget
<?php
/∗ @var $ t h i s C l a s s C o n t r o l l e r ∗/
/∗ @var $model C l a s s M o d e l ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ C l a s s e s ’=>a r r a y ( ’ i n d e x ’ ) ,
$model−>i d , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ L i s t C l a s s e s ’ , ’ u r l ’=>a r r a y ( ’ i n d e x ’ ) ) , a r r a y ( ’ l a b e l ’=>’ C r e a t e C l a s s ’ , ’ u r l ’=>a r r a y ( ’ c r e a t e ’ ) ) ,
a r r a y ( ’ l a b e l ’=>’ Update C l a s s ’ , ’ u r l ’=>a r r a y ( ’ u p d a t e ’ , ’ i d ’=>$model−>i d ) ) ,
a r r a y ( ’ l a b e l ’=>’ D e l e t e C l a s s ’ , ’ u r l ’=>’# ’ , ’ l i n k O p t i o n s ’=>a r r a y ( ’ s u b m i t ’=>a r r a y ( ’ d e l e t e ’ , ’ i d ’=>$model−>i d ) , ’ c o n f i r m ’=>’ Are you s u r e you want t o d e l e t e t h i s c l a s s
? ’ ) ) ,
a r r a y ( ’ l a b e l ’=>’Manage C l a s s e s ’ , ’ u r l ’=>a r r a y ( ’ admin ’ ) ) ,
a r r a y ( ’ l a b e l ’=>’ Pods ’ , ’ u r l ’=>a r r a y ( ’ / pod / admin ’ , ’ c l a s s i d ’=>$model−>i d ) ) , ) ;
?>
<h1>View C l a s s #<?php e c h o $model−>i d ; ?></h1>
<?php $ t h i s−>w i d g e t ( ’ z i i . w i d g e t s . C D e t a i l V i e w ’ , a r r a y (
’ d a t a ’=>$model ,
’ a t t r i b u t e s ’=>a r r a y (
’ i d ’ ,
’ c o u r s e c o d e ’ ,
’ p a s s ’ ,
’ p r o f ’ ,
’ t s i p ’ ,
’ t s u s e r ’ ,
’ t s p a s s ’ ,
’ n u m o f s t u d e n t s ’ , ) ,
) ) ; ?>
Listing 27: View Class Layout
<?php
/∗ @var $ t h i s C l a s s C o n t r o l l e r ∗/
/∗ @var $ d a t a C l a s s M o d e l ∗/
?>
<d i v c l a s s =”v i e w”>
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ i d ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : l i n k ( CHtml : : e n c o d e ( $ d a t a−>i d ) , a r r a y ( ’ view ’ , ’ i d ’=>$ d a t a−>i d ) ) ; ?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ c o u r s e c o d e ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>c o u r s e c o d e ) ; ?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ p a s s ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>p a s s ) ; ?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ p r o f ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>p r o f ) ; ?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ t s i p ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>t s i p ) ; ?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ t s u s e r ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>t s u s e r ) ; ?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ t s p a s s ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>t s p a s s ) ; ?>
<b r />
<?php /∗
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ n u m o f s t u d e n t s ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>n u m o f s t u d e n t s ) ; ?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ h a s p o d s ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>h a s p o d s ) ; ?>
<b r />
∗/ ?>
</d i v>
E..2 Course View
Listing 28: Course Admin View
<?php
/∗ @var $ t h i s C o u r s e C o n t r o l l e r ∗/
/∗ @var $model C o u r s e M o d e l ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ C o u r s e s ’=>a r r a y ( ’ i n d e x ’ ) ,
’ Manage ’ , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ L i s t C o u r s e s ’ , ’ u r l ’=>a r r a y ( ’ i n d e x ’ ) ) , a r r a y ( ’ l a b e l ’=>’ C r e a t e C o u r s e ’ , ’ u r l ’=>a r r a y ( ’ c r e a t e ’ ) ) , ) ;
Y i i : : app ( )−>c l i e n t S c r i p t−>r e g i s t e r S c r i p t ( ’ s e a r c h ’ , ”
$ ( ’ . s e a r c h−b u t t o n ’ ) . c l i c k ( f u n c t i o n ( ){
$ ( ’ . s e a r c h−form ’ ) . t o g g l e ( ) ; r e t u r n f a l s e ;
}) ;
$ ( ’ . s e a r c h−f o r m form ’ ) . s u b m i t ( f u n c t i o n ( ){
$ ( ’# c o u r s e−model−g r i d ’ ) . y i i G r i d V i e w ( ’ u p d a t e ’ , { d a t a : $ ( t h i s ) . s e r i a l i z e ( )
}) ;
r e t u r n f a l s e ; }) ;
” ) ;
?>
<h1>Manage C o u r s e s</h1>
<p>
You may o p t i o n a l l y e n t e r a c o m p a r i s o n o p e r a t o r (<b>&l t ;</b>, <b>&l t ;=</b>, <b>&g t ;</b>,<b>&g t
;=</b>, <b>&l t ;& g t ;</b>
o r <b>=</b>) a t t h e b e g i n n i n g o f e a c h o f y o u r s e a r c h v a l u e s t o s p e c i f y how t h e c o m p a r i s o n
s h o u l d be done .
</p>
<?php e c h o CHtml : : l i n k ( ’ Advanced S e a r c h ’ , ’ # ’ , a r r a y ( ’ c l a s s ’=>’ s e a r c h−b u t t o n ’ ) ) ; ?>
<d i v c l a s s =” s e a r c h−f o r m ” s t y l e =” d i s p l a y : none”>
<?php $ t h i s−>r e n d e r P a r t i a l ( ’ s e a r c h ’ , a r r a y (
’ model ’=>$model , ) ) ; ?>
</d i v><!−− s e a r c h−f o r m−−>
<?php $ t h i s−>w i d g e t ( ’ z i i . w i d g e t s . g r i d . CGridView ’ , a r r a y (
’ i d ’=>’ c o u r s e−model−g r i d ’ ,
’ d a t a P r o v i d e r ’=>$model−>s e a r c h ( ) ,
’ f i l t e r ’=>$model ,
’ columns ’=>a r r a y (
’ c o d e ’ ,
’ name ’ ,
’ s t u d e n t s p e r p o d ’ ,
’ p a i r e d ’ , a r r a y (
’ h e a d e r ’=>’ O p t i o n s ’ ,
’ c l a s s ’=>’ CButtonColumn ’ , ) ,
) , ) ) ; ?>
Listing 29: Create Course View
<?php
/∗ @var $ t h i s C o u r s e C o n t r o l l e r ∗/
/∗ @var $model C o u r s e M o d e l ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ C o u r s e s ’=>a r r a y ( ’ i n d e x ’ ) ,
’ C r e a t e ’ , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ L i s t C o u r s e s ’ , ’ u r l ’=>a r r a y ( ’ i n d e x ’ ) ) ,
a r r a y ( ’ l a b e l ’=>’Manage C o u r s e s ’ , ’ u r l ’=>a r r a y ( ’ admin ’ ) ) , ) ;
?>
<h1>C r e a t e C o u r s e</h1>
<?php $ t h i s−>r e n d e r P a r t i a l ( ’ f o r m ’ , a r r a y ( ’ model ’=>$model ) ) ; ?>
Listing 30: Course Form View
<?php
/∗ @var $ t h i s C o u r s e C o n t r o l l e r ∗/
/∗ @var $model C o u r s e M o d e l ∗/
/∗ @var $ f o r m CActiveForm ∗/
?>
<d i v c l a s s =”f o r m”>
<?php $ f o r m=$ t h i s−>b e g i n W i d g e t ( ’ CActiveForm ’ , a r r a y (
’ i d ’=>’ c o u r s e−model−form ’ ,
// P l e a s e n o t e : When you e n a b l e a j a x v a l i d a t i o n , make s u r e t h e c o r r e s p o n d i n g // c o n t r o l l e r a c t i o n i s h a n d l i n g a j a x v a l i d a t i o n c o r r e c t l y .
// T h e r e i s a c a l l t o p e r f o r m A j a x V a l i d a t i o n ( ) commented i n g e n e r a t e d c o n t r o l l e r c o d e . // S e e c l a s s d o c u m e n t a t i o n o f CActiveForm f o r d e t a i l s on t h i s .
’ e n a b l e A j a x V a l i d a t i o n ’=>f a l s e , ) ) ; ?>
<p c l a s s =” n o t e ”>F i e l d s w i t h <s p a n c l a s s =” r e q u i r e d ”>∗</span> a r e r e q u i r e d .</p>
<?php e c h o $form−>errorSummary ( $model ) ; ?>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l E x ( $model , ’ c o d e ’ ) ; ?>
<?php e c h o $form−>t e x t F i e l d ( $model , ’ c o d e ’ , a r r a y ( ’ s i z e ’=>60 , ’ m a x l e n g t h ’=>64) ) ;
?>
<?php e c h o $form−>e r r o r ( $model , ’ c o d e ’ ) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l E x ( $model , ’ name ’ ) ; ?>
<?php e c h o $form−>t e x t A r e a ( $model , ’ name ’ , a r r a y ( ’ rows ’=>6 , ’ c o l s ’=>46) ) ; ?>
<?php e c h o $form−>e r r o r ( $model , ’ name ’ ) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l E x ( $model , ’ s t u d e n t s p e r p o d ’ ) ; ?>
<?php e c h o $form−>n u m b e r F i e l d ( $model , ’ s t u d e n t s p e r p o d ’ , a r r a y ( ’ min ’=>1) ) ; ?>
<?php e c h o $form−>e r r o r ( $model , ’ s t u d e n t s p e r p o d ’ ) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l E x ( $model , ’ p a i r e d ’ ) ; ?>
<?php e c h o $form−>d r o p D o w n L i s t ( $model , ’ p a i r e d ’ , a r r a y (
’ Yes ’=>’ Yes ’ ,
’ No’=>’No ’ ) ) ; ?>
<?php e c h o $form−>e r r o r ( $model , ’ p a i r e d ’ ) ; ?>
</d i v>
<d i v c l a s s =”row b u t t o n s ”>
<?php e c h o CHtml : : s u b m i t B u t t o n ( $model−>i s N e w R e c o r d ? ’ C r e a t e ’ : ’ Save ’ ) ; ?>
</d i v>
<?php $ t h i s−>endWidget ( ) ; ?>
</d i v><!−− f o r m−−>
Listing 31: Course Index View
<?php
/∗ @var $ t h i s C o u r s e C o n t r o l l e r ∗/
/∗ @var $ d a t a P r o v i d e r C A c t i v e D a t a P r o v i d e r ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ C o u r s e s ’ , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ C r e a t e C o u r s e ’ , ’ u r l ’=>a r r a y ( ’ c r e a t e ’ ) ) , a r r a y ( ’ l a b e l ’=>’Manage C o u r s e s ’ , ’ u r l ’=>a r r a y ( ’ admin ’ ) ) , ) ;
?>
<h1>C o u r s e s</h1>
<?php $ t h i s−>w i d g e t ( ’ z i i . w i d g e t s . C L i s t V i e w ’ , a r r a y (
’ d a t a P r o v i d e r ’=>$ d a t a P r o v i d e r ,
’ itemView ’=>’ v i e w ’ , ) ) ; ?>
Listing 32: Course Search View
<?php
/∗ @var $ t h i s C o u r s e C o n t r o l l e r ∗/
/∗ @var $model C o u r s e M o d e l ∗/
/∗ @var $ f o r m CActiveForm ∗/
?>
<d i v c l a s s =”w i d e f o r m”>
<?php $ f o r m=$ t h i s−>b e g i n W i d g e t ( ’ CActiveForm ’ , a r r a y (
’ a c t i o n ’=>Y i i : : app ( )−>c r e a t e U r l ( $ t h i s−>r o u t e ) ,
’ method ’=>’ g e t ’ , ) ) ; ?>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l ( $model , ’ c o d e ’ ) ; ?>
<?php e c h o $form−>t e x t F i e l d ( $model , ’ c o d e ’ , a r r a y ( ’ s i z e ’=>60 , ’ m a x l e n g t h ’=>64) ) ;
?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l ( $model , ’ name ’ ) ; ?>
<?php e c h o $form−>t e x t A r e a ( $model , ’ name ’ , a r r a y ( ’ rows ’=>6 , ’ c o l s ’=>46) ) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l ( $model , ’ s t u d e n t s p e r p o d ’ ) ; ?>
<?php e c h o $form−>n u m b e r F i e l d ( $model , ’ s t u d e n t s p e r p o d ’ , a r r a y ( ’ min ’=>0) ) ; ?>
</d i v>
<d i v c l a s s =”row b u t t o n s ”>
<?php e c h o CHtml : : s u b m i t B u t t o n ( ’ S e a r c h ’ ) ; ?>
</d i v>
<?php $ t h i s−>endWidget ( ) ; ?>
</d i v><!−− s e a r c h−f o r m−−>
Listing 33: Course Logical Connection View
<?php
/∗ @var $ t h i s C o u r s e C o n t r o l l e r ∗/
/∗ @var $model T o p o l o g y M o d e l ∗/
/∗ @var $ f o r m CActiveForm ∗/
?>
<l i n k r e l =” s t y l e s h e e t ” t y p e =” t e x t / c s s ” h r e f =”<?php e c h o Y i i : : app ( )−>r e q u e s t−>b a s e U r l ; ?>/ c s s /
j q u e r y−u i . c s s ”></ l i n k>
<l i n k r e l =” s t y l e s h e e t ” t y p e =” t e x t / c s s ” h r e f =”<?php e c h o Y i i : : app ( )−>r e q u e s t−>b a s e U r l ; ?>/ c s s /
t o p o l o g y . c s s ”></ l i n k>
<s c r i p t t y p e =” t e x t / j a v a s c r i p t ” s r c =”<?php e c h o Y i i : : app ( )−>r e q u e s t−>b a s e U r l ; ?>/ j s / j q u e r y
−2 . 1 . 1 . j s ”></ s c r i p t>
<s c r i p t t y p e =” t e x t / j a v a s c r i p t ” s r c =”<?php e c h o Y i i : : app ( )−>r e q u e s t−>b a s e U r l ; ?>/ j s / j q u e r y−u i .
j s ”></ s c r i p t>
<s c r i p t t y p e =” t e x t / j a v a s c r i p t ” s r c =”<?php e c h o Y i i : : app ( )−>r e q u e s t−>b a s e U r l ; ?>/ j s / r a p h a e l . j s
”></ s c r i p t>
<s c r i p t t y p e =” t e x t / j a v a s c r i p t ” s r c =”<?php e c h o Y i i : : app ( )−>r e q u e s t−>b a s e U r l ; ?>/ j s / main . j s ”></
s c r i p t>
<s c r i p t t y p e =” t e x t / j a v a s c r i p t ” s r c =”<?php e c h o Y i i : : app ( )−>r e q u e s t−>b a s e U r l ; ?>/ j s / t o p o l o g y . j s
”></ s c r i p t>
<s c r i p t t y p e =” t e x t / j a v a s c r i p t ” s r c =”<?php e c h o Y i i : : app ( )−>r e q u e s t−>b a s e U r l ; ?>/ j s / c a b l e . j s
”></ s c r i p t>
<s c r i p t t y p e =” t e x t / j a v a s c r i p t ”>
window . a d d E v e n t L i s t e n e r ( ” l o a d ” , f u n c t i o n ( ) { i f ( p a p e r == n u l l )
d r a w S t a g e ( ) ; }, f a l s e ) ;
window . o n b e f o r e u n l o a d = f u n c t i o n ( ) {
r e t u r n ” E v e r y t h i n g w i l l be l o s t i f you don ’ t s a v e y o u r work . ” }
v a r h a n d l e P a t h = ”<?php e c h o Y i i : : app ( )−>r e q u e s t−>b a s e U r l ; ?>/ i m a g e s / r o t a t e . png ” ;
</ s c r i p t>
<d i v i d =”main−d i v ”>
<?php
$model = new T o p o l o g y M o d e l ;
$ f o r m=$ t h i s−>b e g i n W i d g e t ( ’ CActiveForm ’ , a r r a y (
’ i d ’=>’ t o p o l o g y−model−form ’ ,
// P l e a s e n o t e : When you e n a b l e a j a x v a l i d a t i o n , make s u r e t h e c o r r e s p o n d i n g // c o n t r o l l e r a c t i o n i s h a n d l i n g a j a x v a l i d a t i o n c o r r e c t l y .
// S e e c l a s s d o c u m e n t a t i o n o f CActiveForm f o r d e t a i l s on t h i s ,
// you n e e d t o u s e t h e p e r f o r m A j a x V a l i d a t i o n ( )−method d e s c r i b e d t h e r e .
’ e n a b l e A j a x V a l i d a t i o n ’=>f a l s e , ) ) ;
e c h o ’<d i v i d =” t o p o l o g y−d i v ”>’ ; e c h o ’<d i v i d =” c o n t r o l−d i v ”>’ ;
e c h o ’<h1>’ . $ c o u r s e−>c o d e . ’</ h1>’ ; e c h o ’<h4>C o n t r o l s</h4>’ ;
e c h o ’<d i v i d =”tab−c o n t r o l s ”>’ ;
e c h o ’<a i d =” d e v i c e s−l i n k ” c l a s s =” a c t i v e ” o n c l i c k =” a c t i v a t e (\’ d e v i c e s\’ ) ”>D e v i c e s</a>’ ;
e c h o ’<a i d =” c a b l e s−l i n k ” o n c l i c k =” a c t i v a t e (\’ c a b l e s\’ ) ”>Misc
</a>’ ;
e c h o ’</ d i v>’ ;
e c h o ’<d i v i d =”tab−c o n t e n t s ”>’ ;
e c h o ’<d i v i d =” d e v i c e s−t a b ” c l a s s =”tab−c o n t e n t a c t i v e ”>’ ;
$ a r r a y = a r r a y ( ” Choose D e v i c e ” ) ;
$ d e v i c e s = D e v i c e M o d e l : : model ( )−>f i n d A l l ( ) ; f o r e a c h ( $ d e v i c e s a s $ d e v i c e ) {
i f ( $ d e v i c e−>c o n n e c t a b l e == ” Yes ” ) {
$ f i l e = Y i i : : app ( )−>b a s e P a t h . ’ / d e v i c e s / ’ . $ d e v i c e−>f i l e ;
$ u r l = Y i i : : app ( )−>a s s e t M a n a g e r−>
p u b l i s h ( $ f i l e ) ;
$ a r r a y [ $ u r l ] = $ d e v i c e−>name ; }
}
e c h o $form−>d r o p D o w n L i s t ( $model , ’ d e v i c e ’ , $ a r r a y , a r r a y (
’ s t y l e ’=>’ p a d d i n g : 1 px ’ ) ) ;
e c h o CHtml : : b u t t o n ( ’ Add ’ , a r r a y (
’ o n c l i c k ’=>’ r e t u r n add ( ) ’ , ) ) ;
e c h o CHtml : : s u b m i t B u t t o n ( ’ Save ’ , a r r a y (
’ o n c l i c k ’=>’ r e t u r n s a v e ( e v e n t ) ’ ) ) ;
e c h o CHtml : : b u t t o n ( ’ Back ’ , a r r a y (
’ o n c l i c k ’=>’ window . l o c a t i o n . a s s i g n ( ” ’ . Y i i : : app ( )−>c r e a t e U r l ( ’ / c o u r s e / admin ’ ) . ’ ” ) ’ ) ) ;
e c h o ’</ d i v>’ ;
e c h o ’<d i v i d =” c a b l e s−t a b ” c l a s s =”tab−c o n t e n t ”>’ ;
$ c a b l e A r r a y = a r r a y ( ” D e f a u l t C a b l e ” , ” Loopback C a b l e ” )
;
$ c a b l e s = D e v i c e M o d e l : : model ( )−>f i n d A l l ( ) ; f o r e a c h ( $ c a b l e s a s $ c a b l e ) {
i f ( $ c a b l e−>c o n n e c t a b l e == ”No ” ) {
$ c a b l e F i l e = Y i i : : app ( )−>b a s e P a t h . ’ / d e v i c e s / ’ . $ c a b l e−>f i l e ;
$ c a b l e U r l = Y i i : : app ( )−>a s s e t M a n a g e r−>
p u b l i s h ( $ c a b l e F i l e ) ;
$ c a b l e A r r a y [ $ c a b l e U r l ] = $ c a b l e−>name ; }
}
e c h o $form−>d r o p D o w n L i s t ( $model , ’ c a b l e ’ , $ c a b l e A r r a y , a r r a y (
’ s t y l e ’=>’ p a d d i n g : 1 px ’ ) ) ;
e c h o CHtml : : b u t t o n ( ’ Add ’ , a r r a y (
’ o n c l i c k ’=>’ r e t u r n a d d C a b l e ( ) ’ , ) ) ;
e c h o CHtml : : s u b m i t B u t t o n ( ’ Save ’ , a r r a y (
’ o n c l i c k ’=>’ r e t u r n s a v e ( e v e n t ) ’ ) ) ;
e c h o CHtml : : b u t t o n ( ’ Back ’ , a r r a y (
’ o n c l i c k ’=>’ window . l o c a t i o n . a s s i g n ( ” ’ . Y i i : : app ( )−>c r e a t e U r l ( ’ / c o u r s e / admin ’ ) . ’ ” ) ’ ) ) ;
e c h o ’</ d i v>’ ; e c h o ’</ d i v>’ ;
e c h o ’</ d i v>’ ;
?>
<d i v i d =”c a n v a s−d i v ”>
<d i v i d =” c o n t a i n e r ”>
<s v g i d =” t o p o l o g y−c a n v a s ”>
Your b r o w s e r d o e s n o t s u p p o r t S c a l a b l e V e c t o r G r a p h i c s
</s v g>
</d i v>
</d i v>
</d i v>
<?php
$ t h i s−>endWidget ( ) ;
i f ( $ c o u r s e−>h a s t o p o l o g y == ” Yes ” ) {
$ l i n e s = C a b l e M o d e l : : model ( )−>f i n d A l l B y A t t r i b u t e s ( a r r a y (
’ c o u r s e c o d e ’=>$ c o u r s e−>c o d e ) ) ;
e c h o ”<s c r i p t t y p e = ’ t e x t / j a v a s c r i p t ’>
d r a w S t a g e ( ) ; ” ; f o r e a c h ( $ l i n e s a s $ l i n e ) {
$ s r c = n u l l ;
i f ( i s s e t ( $ l i n e−>d e v i c e n a m e ) ) {
$ d e v i c e = D e v i c e M o d e l : : model ( )−>f i n d B y P k ( $ l i n e−>d e v i c e n a m e ) ;
$ f i l e = Y i i : : app ( )−>b a s e P a t h . ’ / d e v i c e s / ’ . $ d e v i c e−>f i l e ;
$ s r c = Y i i : : app ( )−>a s s e t M a n a g e r−>p u b l i s h ( $ f i l e ) ; }
e c h o ” a d d C a b l e ( ’ ” . $ l i n e−>i d . ” ’ ,
’ ” . $ l i n e−>t y p e . ” ’ ,
’ ” . $ l i n e−>p a t h . ” ’ ,
’ ” . $ l i n e−>p o r t a . ” ’ ,
’ ” . $ l i n e−>p o r t b . ” ’ ,
’ ” . $ l i n e−>c o l o r . ” ’ ,
’ ” . $ s r c . ” ’ ,
’ ” . $ l i n e−>t r a n s f o r m . ” ’ ,
’ ” . $ l i n e−>p o r t a c o o r . ” ’ ,
’ ” . $ l i n e−>p o r t b c o o r . ” ’ ) ; ” ; }
e c h o ”</ s c r i p t>”;
$ d r a g g a b l e s = T o p o l o g y M o d e l : : model ( )−>f i n d A l l B y A t t r i b u t e s ( a r r a y (
’ c o u r s e c o d e ’=>$ c o u r s e−>c o d e ) ) ;
f o r e a c h ( $ d r a g g a b l e s a s $ d r a g g a b l e ) {
i f ( ! s t r p o s ( $ d r a g g a b l e−>d e v i c e n a m e , ” C a b l e ” ) ) {
// $ d e v i c e = D e v i c e M o d e l : : model ( )−>f i n d B y P k ( $ d r a g g a b l e−>
d e v i c e n a m e ) ;
$ f i l e = Y i i : : app ( )−>b a s e P a t h . ’ / d e v i c e s / ’ . $ d r a g g a b l e−>
d e v i c e M o d e l−>f i l e ;
$ s r c = Y i i : : app ( )−>a s s e t M a n a g e r−>p u b l i s h ( $ f i l e ) ; e c h o ”<s c r i p t t y p e = ’ t e x t / j a v a s c r i p t ’>
add ( ’ ” . $ d r a g g a b l e−>i d . ” ’ ,
’ ” . $ d r a g g a b l e−>d e v i c e n a m e . ” ’ ,
’ ” . $ s r c . ” ’ ,
’ ” . $ d r a g g a b l e−>x . ” ’ ,
’ ” . $ d r a g g a b l e−>y . ” ’ ,
’ ” . $ d r a g g a b l e−>w i d t h . ” ’ ,
’ ” . $ d r a g g a b l e−>h e i g h t . ” ’ ,
’ ” . $ d r a g g a b l e−>t y p e . ” ’ ,
’ ” . $ d r a g g a b l e−>i p . ” ’ ,
’ ” . $ d r a g g a b l e−>h o s t . ” ’ ,
’ ” . $ d r a g g a b l e−>d i s p l a y . ” ’ ) ;
</ s c r i p t>”;
} }
}
?>
</d i v><!−− main−d i v −−>
Listing 34: Update Course View
<?php
/∗ @var $ t h i s C o u r s e C o n t r o l l e r ∗/
/∗ @var $model C o u r s e M o d e l ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ C o u r s e s ’=>a r r a y ( ’ i n d e x ’ ) ,
$model−>c o d e=>a r r a y ( ’ view ’ , ’ i d ’=>$model−>c o d e ) ,
’ Update ’ , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ L i s t C o u r s e s ’ , ’ u r l ’=>a r r a y ( ’ i n d e x ’ ) ) , a r r a y ( ’ l a b e l ’=>’ C r e a t e C o u r s e ’ , ’ u r l ’=>a r r a y ( ’ c r e a t e ’ ) ) ,
a r r a y ( ’ l a b e l ’=>’ View C o u r s e ’ , ’ u r l ’=>a r r a y ( ’ view ’ , ’ i d ’=>$model−>c o d e ) ) , a r r a y ( ’ l a b e l ’=>’Manage C o u r s e s ’ , ’ u r l ’=>a r r a y ( ’ admin ’ ) ) ,
a r r a y ( ’ l a b e l ’=>’ To pology ’ , ’ u r l ’=>a r r a y ( ’ t o p o l o g y ’ , ’ i d ’=>$model−>c o d e ) ) , ) ;
?>
<h1>Update <?php e c h o s t r t o u p p e r ( $model−>c o d e ) ; ?></h1>
<?php $ t h i s−>r e n d e r P a r t i a l ( ’ f o r m ’ , a r r a y ( ’ model ’=>$model ) ) ; ?>
Listing 35: View Course Widget
<?php
/∗ @var $ t h i s C o u r s e C o n t r o l l e r ∗/
/∗ @var $model C o u r s e M o d e l ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ C o u r s e s ’=>a r r a y ( ’ i n d e x ’ ) ,
$model−>c o d e , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ L i s t C o u r s e s ’ , ’ u r l ’=>a r r a y ( ’ i n d e x ’ ) ) , a r r a y ( ’ l a b e l ’=>’ C r e a t e C o u r s e ’ , ’ u r l ’=>a r r a y ( ’ c r e a t e ’ ) ) ,
a r r a y ( ’ l a b e l ’=>’ Update C o u r s e ’ , ’ u r l ’=>a r r a y ( ’ u p d a t e ’ , ’ i d ’=>$model−>c o d e ) ) , a r r a y ( ’ l a b e l ’=>’ D e l e t e C o u r s e ’ , ’ u r l ’=>’# ’ , ’ l i n k O p t i o n s ’=>a r r a y ( ’ s u b m i t ’=>a r r a y ( ’
d e l e t e ’ , ’ i d ’=>$model−>c o d e ) , ’ c o n f i r m ’=>’ Are you s u r e you want t o d e l e t e t h i s c o u r s e ? ’ ) ) ,
a r r a y ( ’ l a b e l ’=>’Manage C o u r s e s ’ , ’ u r l ’=>a r r a y ( ’ admin ’ ) ) ,
a r r a y ( ’ l a b e l ’=>’ To pology ’ , ’ u r l ’=>a r r a y ( ’ t o p o l o g y ’ , ’ i d ’=>$model−>c o d e ) ) , ) ;
?>
<h1>View <?php e c h o s t r t o u p p e r ( $model−>c o d e ) ; ?></h1>
<?php $ t h i s−>w i d g e t ( ’ z i i . w i d g e t s . C D e t a i l V i e w ’ , a r r a y (
’ d a t a ’=>$model ,
’ a t t r i b u t e s ’=>a r r a y (
’ c o d e ’ ,
’ name ’ ,
’ s t u d e n t s p e r p o d ’ ,
’ p a i r e d ’ , ) ,
) ) ; ?>
Listing 36: View Course Layout
<?php
/∗ @var $ t h i s C o u r s e C o n t r o l l e r ∗/
/∗ @var $ d a t a C o u r s e M o d e l ∗/
?>
<d i v c l a s s =”v i e w”>
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ c o d e ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : l i n k ( CHtml : : e n c o d e ( $ d a t a−>c o d e ) , a r r a y ( ’ view ’ , ’ i d ’=>$ d a t a−>c o d e ) ) ;
?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ name ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>name ) ; ?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ s t u d e n t s p e r p o d ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>s t u d e n t s p e r p o d ) ; ?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ p a i r e d ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>p a i r e d ) ; ?>
<b r />
</d i v>
E..3 Device View
Listing 37: Device Admin View
<?php
/∗ @var $ t h i s D e v i c e C o n t r o l l e r ∗/
/∗ @var $model D e v i c e M o d e l ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ D e v i c e s ’=>a r r a y ( ’ i n d e x ’ ) ,
’ Manage ’ , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ L i s t D e v i c e s ’ , ’ u r l ’=>a r r a y ( ’ i n d e x ’ ) ) , a r r a y ( ’ l a b e l ’=>’ C r e a t e D e v i c e ’ , ’ u r l ’=>a r r a y ( ’ c r e a t e ’ ) ) , ) ;
Y i i : : app ( )−>c l i e n t S c r i p t−>r e g i s t e r S c r i p t ( ’ s e a r c h ’ , ”
$ ( ’ . s e a r c h−b u t t o n ’ ) . c l i c k ( f u n c t i o n ( ){
$ ( ’ . s e a r c h−form ’ ) . t o g g l e ( ) ; r e t u r n f a l s e ;
}) ;
$ ( ’ . s e a r c h−f o r m form ’ ) . s u b m i t ( f u n c t i o n ( ){
$ ( ’# d e v i c e−model−g r i d ’ ) . y i i G r i d V i e w ( ’ u p d a t e ’ , { d a t a : $ ( t h i s ) . s e r i a l i z e ( )
}) ;
r e t u r n f a l s e ; }) ;
” ) ;
?>
<h1>Manage D e v i c e s</h1>
<p>
You may o p t i o n a l l y e n t e r a c o m p a r i s o n o p e r a t o r (<b>&l t ;</b>, <b>&l t ;=</b>, <b>&g t ;</b>,<b>&g t
;=</b>, <b>&l t ;& g t ;</b>
o r <b>=</b>) a t t h e b e g i n n i n g o f e a c h o f y o u r s e a r c h v a l u e s t o s p e c i f y how t h e c o m p a r i s o n
s h o u l d be done .
</p>
<?php e c h o CHtml : : l i n k ( ’ Advanced S e a r c h ’ , ’ # ’ , a r r a y ( ’ c l a s s ’=>’ s e a r c h−b u t t o n ’ ) ) ; ?>
<d i v c l a s s =” s e a r c h−f o r m ” s t y l e =” d i s p l a y : none”>
<?php $ t h i s−>r e n d e r P a r t i a l ( ’ s e a r c h ’ , a r r a y (
’ model ’=>$model , ) ) ; ?>
</d i v><!−− s e a r c h−f o r m−−>
<?php $ t h i s−>w i d g e t ( ’ z i i . w i d g e t s . g r i d . CGridView ’ , a r r a y (
’ i d ’=>’ d e v i c e−model−g r i d ’ ,
’ d a t a P r o v i d e r ’=>$model−>s e a r c h ( ) ,
’ f i l t e r ’=>$model ,
’ columns ’=>a r r a y (
’ name ’ ,
’ f i l e ’ ,
’ c o n n e c t a b l e ’ , a r r a y (
’ h e a d e r ’=>’ O p t i o n s ’ ,
’ c l a s s ’=>’ CButtonColumn ’ ,
) , ) ,
) ) ; ?>
Listing 38: Create Device View
<?php
/∗ @var $ t h i s D e v i c e C o n t r o l l e r ∗/
/∗ @var $model D e v i c e M o d e l ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ D e v i c e s ’=>a r r a y ( ’ i n d e x ’ ) ,
’ C r e a t e ’ , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ L i s t D e v i c e s ’ , ’ u r l ’=>a r r a y ( ’ i n d e x ’ ) ) , a r r a y ( ’ l a b e l ’=>’Manage D e v i c e s ’ , ’ u r l ’=>a r r a y ( ’ admin ’ ) ) , ) ;
?>
<h1>C r e a t e D e v i c e</h1>
<?php $ t h i s−>r e n d e r P a r t i a l ( ’ f o r m ’ , a r r a y ( ’ model ’=>$model ) ) ; ?>
Listing 39: Device Form View
<?php
/∗ @var $ t h i s D e v i c e C o n t r o l l e r ∗/
/∗ @var $model D e v i c e M o d e l ∗/
/∗ @var $ f o r m CActiveForm ∗/
?>
<d i v c l a s s =”f o r m”>
<?php $ f o r m=$ t h i s−>b e g i n W i d g e t ( ’ CActiveForm ’ , a r r a y (
’ i d ’=>’ d e v i c e−model−form ’ ,
// P l e a s e n o t e : When you e n a b l e a j a x v a l i d a t i o n , make s u r e t h e c o r r e s p o n d i n g // c o n t r o l l e r a c t i o n i s h a n d l i n g a j a x v a l i d a t i o n c o r r e c t l y .
// T h e r e i s a c a l l t o p e r f o r m A j a x V a l i d a t i o n ( ) commented i n g e n e r a t e d c o n t r o l l e r c o d e . // S e e c l a s s d o c u m e n t a t i o n o f CActiveForm f o r d e t a i l s on t h i s .
’ e n a b l e A j a x V a l i d a t i o n ’=>f a l s e ,
’ h t m l O p t i o n s ’ =>a r r a y ( ’ e n c t y p e ’ => ’ m u l t i p a r t / form−d a t a ’ ) , ) ) ; ?>
<p c l a s s =” n o t e ”>F i e l d s w i t h <s p a n c l a s s =” r e q u i r e d ”>∗</span> a r e r e q u i r e d .</p>
<?php e c h o $form−>errorSummary ( $model ) ; ?>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l E x ( $model , ’ name ’ ) ; ?>
<?php e c h o $form−>t e x t F i e l d ( $model , ’ name ’ , a r r a y ( ’ s i z e ’=>60 , ’ m a x l e n g t h ’=>64) ) ;
?>
<?php e c h o $form−>e r r o r ( $model , ’ name ’ ) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l E x ( $model , ’ f i l e ’ ) ; ?>
<?php
$ f i l e =Y i i : : app ( )−>b a s e P a t h . ’ / d e v i c e s / ’ . $model−>f i l e ; i f ( ! $model−>i s N e w R e c o r d && f i l e e x i s t s ( $ f i l e ) ) {
$ s r c=Y i i : : app ( )−>a s s e t M a n a g e r−>p u b l i s h ( $ f i l e ) ; e c h o ’<d i v c l a s s =”r o w s”>
<img s r c = ” ’ . $ s r c . ’ ” s t y l e =”p a d d i n g : 10 px ” />
</d i v>’ ; } e l s e {
e c h o $form−>f i l e F i e l d ( $model , ’ f i l e ’ ) ; }
?>
<?php e c h o $form−>e r r o r ( $model , ’ f i l e ’ ) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l E x ( $model , ’ c o n n e c t a b l e ’ ) ; ?>
<?php e c h o $form−>d r o p D o w n L i s t ( $model , ’ c o n n e c t a b l e ’ , a r r a y (
’ Yes ’=>’ Yes ’ ,
’ No’=>’No ’ ) ) ; ?>
<?php e c h o $form−>e r r o r ( $model , ’ c o n n e c t a b l e ’ ) ; ?>
</d i v>
<d i v c l a s s =”row b u t t o n s ”>
<?php e c h o CHtml : : s u b m i t B u t t o n ( $model−>i s N e w R e c o r d ? ’ C r e a t e ’ : ’ Save ’ ) ; ?>
</d i v>
<?php $ t h i s−>endWidget ( ) ; ?>
</d i v><!−− f o r m−−>
Listing 40: Device Index View
<?php
/∗ @var $ t h i s D e v i c e C o n t r o l l e r ∗/
/∗ @var $ d a t a P r o v i d e r C A c t i v e D a t a P r o v i d e r ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ D e v i c e s ’ , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ C r e a t e D e v i c e ’ , ’ u r l ’=>a r r a y ( ’ c r e a t e ’ ) ) , a r r a y ( ’ l a b e l ’=>’Manage D e v i c e s ’ , ’ u r l ’=>a r r a y ( ’ admin ’ ) ) , ) ;
?>
<h1>D e v i c e s</h1>
<?php $ t h i s−>w i d g e t ( ’ z i i . w i d g e t s . C L i s t V i e w ’ , a r r a y (
’ d a t a P r o v i d e r ’=>$ d a t a P r o v i d e r ,
’ itemView ’=>’ v i e w ’ , ) ) ; ?>
Listing 41: Device Search View
<?php
/∗ @var $ t h i s D e v i c e C o n t r o l l e r ∗/
/∗ @var $model D e v i c e M o d e l ∗/
/∗ @var $ f o r m CActiveForm ∗/
?>
<d i v c l a s s =”w i d e f o r m”>
<?php $ f o r m=$ t h i s−>b e g i n W i d g e t ( ’ CActiveForm ’ , a r r a y (
’ a c t i o n ’=>Y i i : : app ( )−>c r e a t e U r l ( $ t h i s−>r o u t e ) ,
’ method ’=>’ g e t ’ , ) ) ; ?>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l ( $model , ’ name ’ ) ; ?>
<?php e c h o $form−>t e x t F i e l d ( $model , ’ name ’ , a r r a y ( ’ s i z e ’=>60 , ’ m a x l e n g t h ’=>64) ) ;
?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l ( $model , ’ f i l e ’ ) ; ?>
<?php e c h o $form−>t e x t F i e l d ( $model , ’ f i l e ’ , a r r a y ( ’ s i z e ’=>60 , ’ m a x l e n g t h ’=>128) ) ;
?>
</d i v>
<d i v c l a s s =”row b u t t o n s ”>
<?php e c h o CHtml : : s u b m i t B u t t o n ( ’ S e a r c h ’ ) ; ?>
</d i v>
<?php $ t h i s−>endWidget ( ) ; ?>
</d i v><!−− s e a r c h−f o r m−−>
Listing 42: Update Device View
<?php
/∗ @var $ t h i s D e v i c e C o n t r o l l e r ∗/
/∗ @var $model D e v i c e M o d e l ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ D e v i c e s ’=>a r r a y ( ’ i n d e x ’ ) ,
$model−>name=>a r r a y ( ’ view ’ , ’ i d ’=>$model−>name ) ,
’ Update ’ , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ L i s t D e v i c e s ’ , ’ u r l ’=>a r r a y ( ’ i n d e x ’ ) ) , a r r a y ( ’ l a b e l ’=>’ C r e a t e D e v i c e ’ , ’ u r l ’=>a r r a y ( ’ c r e a t e ’ ) ) ,
a r r a y ( ’ l a b e l ’=>’ View D e v i c e ’ , ’ u r l ’=>a r r a y ( ’ view ’ , ’ i d ’=>$model−>name ) ) , a r r a y ( ’ l a b e l ’=>’Manage D e v i c e s ’ , ’ u r l ’=>a r r a y ( ’ admin ’ ) ) ,
) ;
?>
<h1>Update <?php e c h o s t r t o u p p e r ( $model−>name ) ; ?></h1>
<?php $ t h i s−>r e n d e r P a r t i a l ( ’ f o r m ’ , a r r a y ( ’ model ’=>$model ) ) ; ?>
Listing 43: View Device Widget
<?php
/∗ @var $ t h i s C l a s s C o n t r o l l e r ∗/
/∗ @var $model C l a s s M o d e l ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ C l a s s e s ’=>a r r a y ( ’ i n d e x ’ ) ,
$model−>i d , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ L i s t C l a s s e s ’ , ’ u r l ’=>a r r a y ( ’ i n d e x ’ ) ) , a r r a y ( ’ l a b e l ’=>’ C r e a t e C l a s s ’ , ’ u r l ’=>a r r a y ( ’ c r e a t e ’ ) ) ,
a r r a y ( ’ l a b e l ’=>’ Update C l a s s ’ , ’ u r l ’=>a r r a y ( ’ u p d a t e ’ , ’ i d ’=>$model−>i d ) ) ,
a r r a y ( ’ l a b e l ’=>’ D e l e t e C l a s s ’ , ’ u r l ’=>’# ’ , ’ l i n k O p t i o n s ’=>a r r a y ( ’ s u b m i t ’=>a r r a y ( ’ d e l e t e ’ , ’ i d ’=>$model−>i d ) , ’ c o n f i r m ’=>’ Are you s u r e you want t o d e l e t e t h i s c l a s s
? ’ ) ) ,
a r r a y ( ’ l a b e l ’=>’Manage C l a s s e s ’ , ’ u r l ’=>a r r a y ( ’ admin ’ ) ) ,
a r r a y ( ’ l a b e l ’=>’ Pods ’ , ’ u r l ’=>a r r a y ( ’ / pod / admin ’ , ’ c l a s s i d ’=>$model−>i d ) ) , ) ;
?>
<h1>View C l a s s #<?php e c h o $model−>i d ; ?></h1>
<?php $ t h i s−>w i d g e t ( ’ z i i . w i d g e t s . C D e t a i l V i e w ’ , a r r a y (
’ d a t a ’=>$model ,
’ a t t r i b u t e s ’=>a r r a y (
’ i d ’ ,
’ c o u r s e c o d e ’ ,
’ p a s s ’ ,
’ p r o f ’ ,
’ t s i p ’ ,
’ t s u s e r ’ ,
’ t s p a s s ’ ,
’ n u m o f s t u d e n t s ’ , ) ,
) ) ; ?>
Listing 44: View Device Layout
<?php
/∗ @var $ t h i s C l a s s C o n t r o l l e r ∗/
/∗ @var $ d a t a C l a s s M o d e l ∗/
?>
<d i v c l a s s =”v i e w”>
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ i d ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : l i n k ( CHtml : : e n c o d e ( $ d a t a−>i d ) , a r r a y ( ’ view ’ , ’ i d ’=>$ d a t a−>i d ) ) ; ?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ c o u r s e c o d e ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>c o u r s e c o d e ) ; ?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ p a s s ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>p a s s ) ; ?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ p r o f ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>p r o f ) ; ?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ t s i p ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>t s i p ) ; ?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ t s u s e r ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>t s u s e r ) ; ?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ t s p a s s ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>t s p a s s ) ; ?>
<b r />
<?php /∗
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ n u m o f s t u d e n t s ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>n u m o f s t u d e n t s ) ; ?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ h a s p o d s ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>h a s p o d s ) ; ?>
<b r />
∗/ ?>
</d i v>
E..4 Pod View
Listing 45: Pod Admin View
<?php
/∗ @var $ t h i s P o d C o n t r o l l e r ∗/
/∗ @var $model PodModel ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ Pods ’=>a r r a y ( ’ i n d e x ’ , ’ c l a s s i d ’=>$ c l a s s i d ) ,
’ Manage ’ , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ L i s t Pods ’ , ’ u r l ’=>a r r a y ( ’ i n d e x ’ , ’ c l a s s i d ’=>$ c l a s s i d ) ) , a r r a y ( ’ l a b e l ’=>’ C r e a t e Pod ’ , ’ u r l ’=>a r r a y ( ’ c r e a t e ’ , ’ c l a s s i d ’=>$ c l a s s i d ) ) , ) ;
Y i i : : app ( )−>c l i e n t S c r i p t−>r e g i s t e r S c r i p t ( ’ s e a r c h ’ , ”
$ ( ’ . s e a r c h−b u t t o n ’ ) . c l i c k ( f u n c t i o n ( ){
$ ( ’ . s e a r c h−form ’ ) . t o g g l e ( ) ; r e t u r n f a l s e ;
}) ;
$ ( ’ . s e a r c h−f o r m form ’ ) . s u b m i t ( f u n c t i o n ( ){
$ ( ’# pod−model−g r i d ’ ) . y i i G r i d V i e w ( ’ u p d a t e ’ , { d a t a : $ ( t h i s ) . s e r i a l i z e ( )
}) ;
r e t u r n f a l s e ; }) ;
” ) ;
?>
<h1>Manage Pods</h1>
<p>
You may o p t i o n a l l y e n t e r a c o m p a r i s o n o p e r a t o r (<b>&l t ;</b>, <b>&l t ;=</b>, <b>&g t ;</b>,<b>&g t
;=</b>, <b>&l t ;& g t ;</b>
o r <b>=</b>) a t t h e b e g i n n i n g o f e a c h o f y o u r s e a r c h v a l u e s t o s p e c i f y how t h e c o m p a r i s o n
s h o u l d be done .
</p>
<?php e c h o CHtml : : l i n k ( ’ Advanced S e a r c h ’ , ’ # ’ , a r r a y ( ’ c l a s s ’=>’ s e a r c h−b u t t o n ’ ) ) ; ?>
<d i v c l a s s =” s e a r c h−f o r m ” s t y l e =” d i s p l a y : none”>
<?php $ t h i s−>r e n d e r P a r t i a l ( ’ s e a r c h ’ , a r r a y (
’ model ’=>$model , ) ) ; ?>
</d i v><!−− s e a r c h−f o r m−−>
<?php $ t h i s−>w i d g e t ( ’ z i i . w i d g e t s . g r i d . CGridView ’ , a r r a y (
’ i d ’=>’ pod−model−g r i d ’ ,
’ d a t a P r o v i d e r ’=>$model−>s e a r c h ( $ c l a s s i d ) ,
’ f i l t e r ’=>$model ,
’ columns ’=>a r r a y (
’ pod num ’ , / / ’ c l a s s i d ’ ,
’ p a s s ’ , a r r a y (
’ c l a s s ’=>’ CButtonColumn ’ , ) ,
) , ) ) ; ?>
Listing 46: Create Pod View
<?php
/∗ @var $ t h i s P o d C o n t r o l l e r ∗/
/∗ @var $model PodModel ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ Pods ’=>a r r a y ( ’ i n d e x ’ , ’ c l a s s i d ’=>$model−>c l a s s i d ) ,
’ C r e a t e ’ , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ L i s t Pods ’ , ’ u r l ’=>a r r a y ( ’ i n d e x ’ , ’ c l a s s i d ’=>$model−>c l a s s i d ) ) , a r r a y ( ’ l a b e l ’=>’Manage Pods ’ , ’ u r l ’=>a r r a y ( ’ admin ’ , ’ c l a s s i d ’=>$model−>c l a s s i d ) ) , ) ;
?>
<h1>C r e a t e Pod</h1>
<?php $ t h i s−>r e n d e r P a r t i a l ( ’ f o r m ’ , a r r a y ( ’ model ’=>$model ) ) ; ?>
Listing 47: Pod Form View
<?php
/∗ @var $ t h i s P o d C o n t r o l l e r ∗/
/∗ @var $model PodModel ∗/
/∗ @var $ f o r m CActiveForm ∗/
?>
<d i v c l a s s =”f o r m”>
<?php
$ f o r m=$ t h i s−>b e g i n W i d g e t ( ’ CActiveForm ’ , a r r a y (
’ i d ’=>’ pod−model−form ’ ,
// P l e a s e n o t e : When you e n a b l e a j a x v a l i d a t i o n , make s u r e t h e c o r r e s p o n d i n g // c o n t r o l l e r a c t i o n i s h a n d l i n g a j a x v a l i d a t i o n c o r r e c t l y .
// T h e r e i s a c a l l t o p e r f o r m A j a x V a l i d a t i o n ( ) commented i n g e n e r a t e d c o n t r o l l e r c o d e .
// S e e c l a s s d o c u m e n t a t i o n o f CActiveForm f o r d e t a i l s on t h i s .
’ e n a b l e A j a x V a l i d a t i o n ’=>f a l s e , ) ) ;
i f ( $model−>i s N e w R e c o r d ) {
$ n u m o f p o d s = c e i l ( $model−>c l a s s−>n u m o f s t u d e n t s / $model−>c l a s s−>c o u r s e−>
s t u d e n t s p e r p o d ) ;
$ n u m o f p o d s ∗= $model−>c l a s s−>c o u r s e−>p a i r e d === ” Yes ” ? 2 : 1 ; i f ( c o u n t ( $model−>c l a s s−>p o d s ) == $ n u m o f p o d s ) {
Y i i : : app ( )−>u s e r−>s e t F l a s h ( ’ e r r o r ’ , ’ Maximum number o f p o d s r e a c h e d . To add more pods , p l e a s e add more s t u d e n t s . ’ ) ;
$ t h i s−>r e d i r e c t ( a r r a y ( ’ / pod / admin ’ , ’ c l a s s i d ’ => $model−>c l a s s i d ) ) ; }
}
?>
<p c l a s s =” n o t e ”>F i e l d s w i t h <s p a n c l a s s =” r e q u i r e d ”>∗</span> a r e r e q u i r e d .</p>
<?php e c h o $form−>errorSummary ( $model ) ; ?>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l E x ( $model , ’ pod num ’ ) ; ?>
<?php e c h o $form−>n u m b e r F i e l d ( $model , ’ pod num ’ , a r r a y ( ’ min ’=>1) ) ; ?>
<?php e c h o $form−>e r r o r ( $model , ’ pod num ’ ) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l E x ( $model , ’ p a s s ’ ) ; ?>
<?php e c h o $form−>t e x t F i e l d ( $model , ’ p a s s ’ , a r r a y ( ’ s i z e ’=>32 , ’ m a x l e n g t h ’=>32) ) ;
?>
<?php e c h o $form−>e r r o r ( $model , ’ p a s s ’ ) ; ?>
</d i v>
<d i v c l a s s =”row b u t t o n s ”>
<?php e c h o CHtml : : s u b m i t B u t t o n ( $model−>i s N e w R e c o r d ? ’ C r e a t e ’ : ’ Save ’ ) ; ?>
</d i v>
<?php $ t h i s−>endWidget ( ) ; ?>
</d i v><!−− f o r m−−>
Listing 48: Pod Index View
<?php
/∗ @var $ t h i s P o d C o n t r o l l e r ∗/
/∗ @var $ d a t a P r o v i d e r C A c t i v e D a t a P r o v i d e r ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ Pods ’ , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ C r e a t e Pod ’ , ’ u r l ’=>a r r a y ( ’ c r e a t e ’ , ’ c l a s s i d ’=>$ c l a s s i d ) ) , a r r a y ( ’ l a b e l ’=>’Manage Pods ’ , ’ u r l ’=>a r r a y ( ’ admin ’ , ’ c l a s s i d ’=>$ c l a s s i d ) ) , ) ;
?>
<h1>Pods</h1>
<?php $ t h i s−>w i d g e t ( ’ z i i . w i d g e t s . C L i s t V i e w ’ , a r r a y (
’ d a t a P r o v i d e r ’=>$model−>s e a r c h ( $ c l a s s i d ) ,
’ itemView ’=>’ v i e w ’ , ) ) ; ?>
Listing 49: Pod Search View
<?php
/∗ @var $ t h i s P o d C o n t r o l l e r ∗/
/∗ @var $model PodModel ∗/
/∗ @var $ f o r m CActiveForm ∗/
?>
<d i v c l a s s =”w i d e f o r m”>
<?php $ f o r m=$ t h i s−>b e g i n W i d g e t ( ’ CActiveForm ’ , a r r a y (
’ a c t i o n ’=>Y i i : : app ( )−>c r e a t e U r l ( $ t h i s−>r o u t e ) ,
’ method ’=>’ g e t ’ , ) ) ; ?>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l ( $model , ’ pod num ’ ) ; ?>
<?php e c h o $form−>t e x t F i e l d ( $model , ’ pod num ’ ) ; ?>
</d i v>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l ( $model , ’ p a s s ’ ) ; ?>
<?php e c h o $form−>p a s s w o r d F i e l d ( $model , ’ p a s s ’ , a r r a y ( ’ s i z e ’=>32 , ’ m a x l e n g t h
’=>32) ) ; ?>
</d i v>
<d i v c l a s s =”row b u t t o n s ”>
<?php e c h o CHtml : : s u b m i t B u t t o n ( ’ S e a r c h ’ ) ; ?>
</d i v>
<?php $ t h i s−>endWidget ( ) ; ?>
</d i v><!−− s e a r c h−f o r m−−>
Listing 50: Update Pod View
<?php
/∗ @var $ t h i s P o d C o n t r o l l e r ∗/
/∗ @var $model PodModel ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ Pods ’=>a r r a y ( ’ i n d e x ’ , ’ c l a s s i d ’=>$model−>c l a s s i d ) ,
$model−>i d=>a r r a y ( ’ view ’ , ’ i d ’=>$model−>i d ) ,
’ Update ’ , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ L i s t Pods ’ , ’ u r l ’=>a r r a y ( ’ i n d e x ’ , ’ c l a s s i d ’=>$model−>c l a s s i d ) ) , a r r a y ( ’ l a b e l ’=>’ C r e a t e Pod ’ , ’ u r l ’=>a r r a y ( ’ c r e a t e ’ , ’ c l a s s i d ’=>$model−>c l a s s i d ) ) ,
a r r a y ( ’ l a b e l ’=>’ View Pod ’ , ’ u r l ’=>a r r a y ( ’ view ’ , ’ i d ’=>$model−>i d ) ) ,
a r r a y ( ’ l a b e l ’=>’Manage Pods ’ , ’ u r l ’=>a r r a y ( ’ admin ’ , ’ c l a s s i d ’=>$model−>c l a s s i d ) ) , a r r a y ( ’ l a b e l ’=>’Pod D e v i c e s ’ , ’ u r l ’=>a r r a y ( ’ pods ’ , ’ i d ’=>$model−>i d ) ) ,
) ;
?>
<h1>Update Pod #<?php e c h o $model−>pod num ; ?></h1>
<?php $ t h i s−>r e n d e r P a r t i a l ( ’ f o r m ’ , a r r a y ( ’ model ’=>$model ) ) ; ?>
Listing 51: View Pod Widget
<?php
/∗ @var $ t h i s P o d C o n t r o l l e r ∗/
/∗ @var $model PodModel ∗/
$ t h i s−>b r e a d c r u m b s=a r r a y (
’ Pods ’=>a r r a y ( ’ i n d e x ’ , ’ c l a s s i d ’=>$model−>c l a s s i d ) ,
$model−>i d , ) ;
$ t h i s−>menu=a r r a y (
a r r a y ( ’ l a b e l ’=>’ L i s t Pods ’ , ’ u r l ’=>a r r a y ( ’ i n d e x ’ , ’ c l a s s i d ’=>$model−>c l a s s i d ) ) , a r r a y ( ’ l a b e l ’=>’ C r e a t e Pod ’ , ’ u r l ’=>a r r a y ( ’ c r e a t e ’ , ’ c l a s s i d ’=>$model−>c l a s s i d ) ) , a r r a y ( ’ l a b e l ’=>’ Update Pod ’ , ’ u r l ’=>a r r a y ( ’ u p d a t e ’ , ’ i d ’=>$model−>i d ) ) ,
a r r a y ( ’ l a b e l ’=>’ D e l e t e Pod ’ , ’ u r l ’=>’# ’ , ’ l i n k O p t i o n s ’=>a r r a y ( ’ s u b m i t ’=>a r r a y ( ’ d e l e t e
’ , ’ i d ’=>$model−>i d ) , ’ c o n f i r m ’=>’ Are you s u r e you want t o d e l e t e t h i s pod ? ’ ) ) , a r r a y ( ’ l a b e l ’=>’Manage Pods ’ , ’ u r l ’=>a r r a y ( ’ admin ’ , ’ c l a s s i d ’=>$model−>c l a s s i d ) ) , a r r a y ( ’ l a b e l ’=>’Pod D e v i c e s ’ , ’ u r l ’=>a r r a y ( ’ pods ’ , ’ i d ’=>$model−>i d ) ) ,
) ;
?>
<h1>View Pod #<?php e c h o $model−>pod num ; ?></h1>
<?php $ t h i s−>w i d g e t ( ’ z i i . w i d g e t s . C D e t a i l V i e w ’ , a r r a y (
’ d a t a ’=>$model ,
’ a t t r i b u t e s ’=>a r r a y (
’ pod num ’ , / / ’ c l a s s i d ’ ,
’ p a s s ’ , ) ,
) ) ; ?>
Listing 52: View Pod Layout
<?php
/∗ @var $ t h i s P o d C o n t r o l l e r ∗/
/∗ @var $ d a t a PodModel ∗/
?>
<d i v c l a s s =”v i e w”>
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ pod num ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : l i n k ( $ d a t a−>pod num , a r r a y ( ’ view ’ , ’ i d ’=>$ d a t a−>i d ) ) ; ?>
<b r />
<b><?php e c h o CHtml : : e n c o d e ( $ d a t a−>g e t A t t r i b u t e L a b e l ( ’ p a s s ’ ) ) ; ?>:</b>
<?php e c h o CHtml : : e n c o d e ( $ d a t a−>p a s s ) ; ?>
<b r />
</d i v>
E..5 Setup View
Listing 53: Administrator Setup View
<?php
/∗ @var $ t h i s A d m i n F o r m C o n t r o l l e r ∗/
/∗ @var $model AdminForm ∗/
/∗ @var $ f o r m CActiveForm ∗/
?>
<h1>C r e a t e A d m i n i s t r a t o r Account</h1>
<d i v c l a s s =”f o r m”>
<?php $ f o r m=$ t h i s−>b e g i n W i d g e t ( ’ CActiveForm ’ , a r r a y (
’ i d ’=>’ admin−form ’ ,
// P l e a s e n o t e : When you e n a b l e a j a x v a l i d a t i o n , make s u r e t h e c o r r e s p o n d i n g // c o n t r o l l e r a c t i o n i s h a n d l i n g a j a x v a l i d a t i o n c o r r e c t l y .
// S e e c l a s s d o c u m e n t a t i o n o f CActiveForm f o r d e t a i l s on t h i s ,
// you n e e d t o u s e t h e p e r f o r m A j a x V a l i d a t i o n ( )−method d e s c r i b e d t h e r e .
’ e n a b l e A j a x V a l i d a t i o n ’=>f a l s e , ) ) ; ?>
<p c l a s s =” n o t e ”>F i e l d s w i t h <s p a n c l a s s =” r e q u i r e d ”>∗</span> a r e r e q u i r e d .</p>
<?php e c h o $form−>errorSummary ( $model ) ; ?>
<d i v c l a s s =”row”>
<?php e c h o $form−>l a b e l E x ( $model , ’ e m p l o y e e i d ’ ) ; ?>
<?php e c h o $form−>t e x t F i e l d ( $model , ’ e m p l o y e e i d ’ ) ; ?>