2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< ? php  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:11:48 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								/*  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  LibreNMS 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Copyright  ( c )  2014  Neil  Lathwood  < https :// github . com / laf /  http :// www . lathwood . co . uk / fa > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 * 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  This  program  is  free  software :  you  can  redistribute  it  and / or  modify  it 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  under  the  terms  of  the  GNU  General  Public  License  as  published  by  the 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  Free  Software  Foundation ,  either  version  3  of  the  License ,  or  ( at  your 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  option )  any  later  version .   Please  see  LICENSE . txt  at  the  top  level  of 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 *  the  source  code  distribution  for  details . 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								 */ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								$no_refresh  =  true ;  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								foreach  ( dbFetchRows ( 'SELECT * FROM `users_widgets` LEFT JOIN `widgets` ON `widgets`.`widget_id`=`users_widgets`.`widget_id` WHERE `user_id`=?' , array ( $_SESSION [ 'user_id' ]))  as  $items )  {  
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								    $data []  =  $items ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								if  ( ! is_array ( $data ))  {  
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $data []  =  array ( 'user_widget_id' => '0' , 'widget_id' => 1 , 'title' => 'Add a widget' , 'widget' => 'placeholder' , 'col' => 1 , 'row' => 1 , 'size_x' => 2 , 'size_y' => 2 , 'refresh' => 60 ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$data  =  serialize ( json_encode ( $data ));  
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								$dash_config  =  unserialize ( stripslashes ( $data ));  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								?> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 21:27:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< a  class = " btn btn-primary "  role = " button "  data - toggle = " collapse "  href = " #add_widget "  aria - expanded = " false "  aria - controls = " add_widget " " >Add Widget <i class= " fa  fa - caret - down  fa - fw " ></i></a> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< a  class = " btn btn-danger "  role = " button "  id = " clear_widgets "  name = " clear_widgets " > Clear  dashboard  < i  class = " fa fa-times fa-fw " ></ i ></ a >  
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< div  class = " collapse "  id = " add_widget " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  < div  class = " well " > 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< ? php  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								foreach  ( dbFetchRows ( " SELECT * FROM `widgets` ORDER BY `widget_title` " )  as  $widgets )  {  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    echo  '<a class="btn btn-success" role="button" id="place_widget" name="place_widget" data-widget_id="' . $widgets [ 'widget_id' ]  . '">' .  $widgets [ 'widget_title' ]  . '</a> ' ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								}  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								?> 
  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								  </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								</ div >  
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								< script  src = 'https://www.google.com/jsapi' ></ script >  
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< script  src = " js/jquery.gridster.min.js " ></ script >  
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< span  class = " message "  id = " message " ></ span >  
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								< div  class = " row " >  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    < div  class = " col-sm-12 " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        < div  class = " gridster grid " > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            < ul > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            </ ul > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        </ div > 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     </ div > 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								</ div >  
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								< script  type = " text/javascript " >  
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    var  gridster ; 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    var  serialization  =  < ? php  echo  $dash_config ;  ?> ;
 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    serialization  =  Gridster . sort_by_row_and_col_asc ( serialization ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    function  updatePos ( gridster )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        var  s  =  JSON . stringify ( gridster . serialize ()); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $ . ajax ({ 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								            type :  'POST' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            url :  '/ajax_form.php' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            data :  { type :  " update-dashboard-config " ,  data :  s }, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            dataType :  " json " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            success :  function  ( data )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                if  ( data . status  ==  'ok' )  { 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                else  { 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								                    $ ( " #message " ) . html ( '<div class="alert alert-info">'  +  data . message  +  '</div>' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            }, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            error :  function  ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                $ ( " #message " ) . html ( '<div class="alert alert-info">An error occurred.</div>' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        }); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								    } 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								    $ ( function (){ 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        gridster  =  $ ( " .gridster ul " ) . gridster ({ 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            widget_base_dimensions :  [ 100 ,  100 ], 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            widget_margins :  [ 5 ,  5 ], 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            avoid_overlapped_widgets :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            draggable :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                handle :  'header' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                stop :  function ( e ,  ui ,  $widget )  { 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								                    updatePos ( gridster ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                }, 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								            }, 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            resize :  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                enabled :  true , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                stop :  function ( e ,  ui ,  $widget )  { 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								                    updatePos ( gridster ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            }, 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            serialize_params :  function ( $w ,  wgd )  {  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                return  {  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    id :  $ ( $w ) . attr ( 'id' ),  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    col :  wgd . col ,  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    row :  wgd . row ,  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    size_x :  wgd . size_x ,  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    size_y :  wgd . size_y  
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                }; 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								            } 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        }) . data ( 'gridster' ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        gridster . remove_all_widgets (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        $ . each ( serialization ,  function ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            gridster . add_widget ( 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                '<li id="' + this . user_widget_id + '">' + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                '\<script\>var timeout' + this . user_widget_id + ' = grab_data(' + this . user_widget_id + ',' + this . refresh + ',\'' + this . widget + '\');\<\/script\>' + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                '<header class="widget_header">' + this . title + '<button style="color: #ffffff" type="button" class="close close-widget" data-widget-id="' + this . user_widget_id + '" aria-label="Close"><span aria-hidden="true">×</span></button></header>' + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                '<div class="widget_body" id="widget_body_' + this . user_widget_id + '">' + this . widget + '</div>' + 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                '</li>' , 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                parseInt ( this . size_x ),  parseInt ( this . size_y ),  parseInt ( this . col ),  parseInt ( this . row ) 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }); 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 21:27:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $ ( document ) . on ( 'click' , '#clear_widgets' ,  function ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            var  widget_id  =  $ ( this ) . data ( 'widget-id' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            $ . ajax ({ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                type :  'POST' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                url :  '/ajax_form.php' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                data :  { type :  " update-dashboard-config " ,  sub_type :  'remove-all' }, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                dataType :  " json " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                success :  function  ( data )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    if  ( data . status  ==  'ok' )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        gridster . remove_all_widgets (); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        $ ( " #message " ) . html ( '<div class="alert alert-info">'  +  data . message  +  '</div>' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                }, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                error :  function  ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $ ( " #message " ) . html ( '<div class="alert alert-info">An error occurred.</div>' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            }); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $ ( 'a[name="place_widget"]' ) . on ( 'click' ,   function ( event ,  state )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            var  widget_id  =  $ ( this ) . data ( 'widget_id' ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            $ . ajax ({ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                type :  'POST' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                url :  '/ajax_form.php' , 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                data :  { type :  " update-dashboard-config " ,  sub_type :  'add' ,  widget_id :  widget_id }, 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                dataType :  " json " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                success :  function  ( data )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    if  ( data . status  ==  'ok' )  { 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                        var  widget_id  =  data . extra . widget_id ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        var  title  =  data . extra . title ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        var  widget  =  data . extra . widget ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        var  size_x  =  data . extra . size_x ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        var  size_y  =  data . extra . size_y ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        gridster . add_widget ( 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            '<li id="' + widget_id + '">' + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            '\<script\>var timeout' + widget_id + ' = grab_data(' + widget_id + ',60,\'' + widget + '\');\<\/script\>' + 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            '<header class="widget_header">' + title + '<button type="button" class="close close-widget" data-widget-id="' + widget_id + '" aria-label="Close"><span aria-hidden="true">×</span></button></header>' + 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 19:47:38 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                            '<div class="widget_body" id="widget_body_' + widget_id + '">' + widget + '</div>' + 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                            '</li>' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                            parseInt ( size_x ),  parseInt ( size_y ) 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                        updatePos ( gridster ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        $ ( " #message " ) . html ( '<div class="alert alert-info">'  +  data . message  +  '</div>' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                }, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                error :  function  ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $ ( " #message " ) . html ( '<div class="alert alert-info">An error occurred.</div>' ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            }); 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-21 23:01:57 +01:00 
										
									 
								 
							 
							
								
							 
							
								 
							
							
								        }); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								        $ ( document ) . on (  " click " ,  " .close-widget " ,  function ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            var  widget_id  =  $ ( this ) . data ( 'widget-id' ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								            $ . ajax ({ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                type :  'POST' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                url :  '/ajax_form.php' , 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                data :  { type :  " update-dashboard-config " ,  sub_type :  'remove' ,  widget_id :  widget_id }, 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                dataType :  " json " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                success :  function  ( data )  { 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                    if  ( data . status  ==  'ok' )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        gridster . remove_widget ( $ ( '#' + widget_id )); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        updatePos ( gridster ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    else  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                        $ ( " #message " ) . html ( '<div class="alert alert-info">'  +  data . message  +  '</div>' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                }, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                error :  function  ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                    $ ( " #message " ) . html ( '<div class="alert alert-info">An error occurred.</div>' ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								                } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								            }); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								        }); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								   }); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   function  grab_data ( id , refresh , data_type )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       new_refresh  =  refresh  *  1000 ; 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       $ . ajax ({ 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								           type :  'POST' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								           url :  '/ajax_dash.php' , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								           data :  { type :  data_type }, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								           dataType :  " json " , 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								           success :  function  ( data )  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								               if  ( data . status  ==  'ok' )  { 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                   $ ( " #widget_body_ " + id ) . html ( data . html ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								               } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								               else  { 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								                   $ ( " #widget_body_ " + id ) . html ( '<div class="alert alert-info">'  +  data . message  +  '</div>' ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								               } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								           }, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								           error :  function  ()  { 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								               $ ( " #widget_body_ " + id ) . html ( '<div class="alert alert-info">Problem with backend</div>' ); 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								           } 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       }); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								     
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       setTimeout ( function ()  { 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								           grab_data ( id , refresh , data_type ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       }, 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								       new_refresh ); 
							 
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								   } 
							 
						 
					
						
							
								
									
										
										
										
											2015-07-23 17:09:18 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								$ ( '#new-widget' ) . popover ();  
						 
					
						
							
								
							 
							
								
							 
							
								 
							
							
								
							 
						 
					
						
							
								
									
										
										
										
											2015-07-22 22:04:33 +01:00 
										
									 
								 
							 
							
								
									
										 
								
							 
							
								 
							
							
								</ script >