• Tidak ada hasil yang ditemukan

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 ’ ) ; ?>

Dokumen terkait