summaryrefslogblamecommitdiffstats
path: root/application/modules/user/views/scripts/pool/index.phtml
blob: 4d224a14ad175dbc42df075e2596ea9d2d52be8a (plain) (tree)
1
2
3
4
5
6
7
8
9
              
                                                                 
                                                                  
                                                                                                                                  




                                                                                  
                              






                                                  
                                                                                   







                                                                                     

                                                                                          







                                                                                                                   

                                                                                          







                                                                                                                       

                                                                                          













                                                                                                                    
                                                          






                                                                
                                                                           











                                                                                                

                                                                                            









                                                                                                                 


                                        
                                                                       







                                                                                                                                                        





















                                                                                            
                                                                              









                                                                                                      



































































                                                                                                                                                    
              





                                         
<h1>Pools</h1>
<?php if($this->notification != ''){echo $this->notification;} ?>
<?php echo $this->formButton('createconfig', 'Create Pool', array(
							'onclick' => 'self.location="/user/pool/createpool/page/'.$this->page.'"',
							'class' => 'addbutton'))?>

<?php if ($this->pools): ?>
    <table >
        <tr>
            <!--<th>ID</th>-->
			<th>Title</th>
			<th>Description</th>
			<th>Location</th>
 			<th colspan=3>Actions</th>
        </tr>
	<?php foreach ($this->pools as $pool): ?>
	 	<tr class=entry>
			<!--<td><?php echo $this->escape($pool->getID()) ?></td>-->
			<td><?php echo $this->escape($pool->getTitle()) ?></td>
			<td><?php echo $this->escape($pool->getDescription()) ?></td>
			<td><?php echo $this->escape($pool->getLocation()) ?></td>
			<td class='action'><a href="<?php echo $this->url(
						array(
							'module'	=> 'user',
							'controller' => 'pool',
							'action'     => 'editpool',
							'poolID'	=> $pool->getID(),
							'page'		=> $this->page
						),
						'default',
						true) ?>"><img src='/media/img/edit.png' alt='Edit Pool'/></a></td>
			<td class='action'><a href="<?php echo $this->url(
						array(							
							'module'	=> 'user',
							'controller' => 'pool',
							'action'     => 'deletepool',
							'poolID'	=> $pool->getID(),
							'page'		=> $this->page
						),
						'default',
						true) ?>"><img src='/media/img/delete.png' alt='Delete Pool'/></a></td>
			<td class='action'><a href="<?php echo $this->url(
						array(
							'module'	=> 'user',
							'controller' => 'pool',
							'action'     => 'linkclient',
							'poolID'	=> $pool->getID(),
							'page'		=> $this->page
						),
						'default',
						true) ?>"><img src='/media/img/add.png' alt='Link Client'/></a></td>
		</tr>
		<?php		
		$poolentriesMapper = new Application_Model_PoolEntriesMapper();
		$clients = $poolentriesMapper->findBy('poolID',$pool->getID());		
		?>
		<?php if (count($clients)>0): ?>
		<tr class=detail>
		<td class=arrowtop>↳</td>
		<td colspan=6>
		<table>
			<tr>
				<!-- <th>ClientID</th> -->
				<th>Mac</th>
				<th>Hardwarehash</th>
 				<th>Actions</th>
			</tr>
		<?php
		foreach ($clients as $client): ?>		
		<tr>
			<!-- <td><?php echo $client['clientID'];?></td> -->
			<?php
				$cli = new Application_Model_Client();
				$clientMapper = new Application_Model_ClientMapper();
				$clientMapper->find($client['clientID'],$cli);			
			?>
			<td><?php echo ($cli->macAdress); ?></td>
			<td><?php echo ($cli->hardwarehash); ?></td>
			<td class='action'><a href="<?php echo $this->url(
					array(
						'module'	=> 'user',
						'controller' => 'pool',
						'action'     => 'unlinkclient',
						'poolentriesID'	=> $client['poolentriesID'],
						'page'		=> $this->page
					),
					'default',
					true) ?>"><img src='/media/img/delete.png' alt='Unlink Client'/></a></td>
		</tr>
		<?php endforeach ?> 
		</table>
		</td>
		</tr>
	<?php endif;?>
    <?php endforeach ?> 
    </table>    
 	<?php echo $this->pagination; ?>
 	
<?php if (isset($this->freeclients) && count($this->freeclients)>0): ?>
	<h2 style='margin-top:20px;'>Free clients</h2>
	<p style="text-align:right;">
		<span style="font-weight:bold;">Search:</span> <input type="text" id="txtSearch" name="txtSearch" maxlength="50" />&nbsp; 
		<img id="imgSearch" src="/media/img/delete.png" alt="Cancel Search" title="Cancel Search" style="width:150px;width:14px;height:14px;" />
	</p>

<div style="height: 200px; overflow: scroll; overflow-x: hidden;  ">
<table id='tblSearch'>
<tr>
<th>ClientID</th>
<th>MacAdress</th>
<th>Hardwarehash</th>
<th>Actions</th>
</tr>
<?php
foreach ($this->freeclients as $client): ?>
	<tr>
		<td><?php echo $client['clientID']; ?></td>
		<td><?php echo $client['macadress']; ?></td>
		<td><?php echo $client['hardwarehash']; ?></td>
		<td><select onChange="location.href=this.options[this.selectedIndex].value">
		<option></option>
		<?php foreach ($this->pools as $pool): ?>
			<option value="<?php echo $this->url(
					array(
						'module'	=> 'user',
						'controller' => 'pool',
						'action'     => 'linkclient',
						'clientID'	=> $client['clientID'],
						'poolID'	=> $pool->getID(),
						'page'		=> $this->page
					),
					'default',
					true) ?>"><?php echo $pool->getTitle(); ?></option>
				<?php //<img src='/media/img/add.png' alt='Link to Pool'/></a></td> ?>
		<?php endforeach ?>			
		  </select>
		</td>
	</tr>
<?php endforeach ?> 
</table>
</div>
<script>
jQuery.expr[":"].containsNoCase = function(el, i, m) {
	var search = m[3];
	if (!search) return false;
	return eval("/" + search + "/i").test($(el).text());
};
  
	jQuery(document).ready(function() {
		// used for the first example in the blog post
		jQuery('li:contains(\'DotNetNuke\')').css('color', '#0000ff').css('font-weight', 'bold');

		// hide the cancel search image
		jQuery('#imgSearch').hide();

		// reset the search when the cancel image is clicked
		jQuery('#imgSearch').click(function() {
			 resetSearch();
		});

		// cancel the search if the user presses the ESC key
		jQuery('#txtSearch').keyup(function(event) {
			if (event.keyCode == 27) {
			   resetSearch();
		   }
		});
  
		// execute the search
		jQuery('#txtSearch').keyup(function() {
			// only search when there are 3 or more characters in the textbox
			if (jQuery('#txtSearch').val().length > 2) {
				// hide all rows
				jQuery('#tblSearch tr').hide();
				// show the header row
				jQuery('#tblSearch tr:first').show();
				// show the matching rows (using the containsNoCase from Rick Strahl)
				jQuery('#tblSearch tr td:containsNoCase(\'' + jQuery('#txtSearch').val() + '\')').parent().show();
				// show the cancel search image
				jQuery('#imgSearch').show();
			}
			else if (jQuery('#txtSearch').val().length == 0) {
				// if the user removed all of the text, reset the search
				resetSearch();
			}

			// if there were no matching rows, tell the user
			if (jQuery('#tblSearch tr:visible').length == 1) {
				// remove the norecords row if it already exists
				jQuery('.norecords').remove();
				// add the norecords row
				jQuery('#tblSearch').append('<tr class="norecords"><td colspan="5" class="Normal">No records were found</td></tr>');
			}
		});
});
 
function resetSearch() {
	// clear the textbox
	jQuery('#txtSearch').val('');
	// show all table rows
	jQuery('#tblSearch tr').show();
	// remove any no records rows
	jQuery('.norecords').remove();
	// remove the cancel search image
	jQuery('#imgSearch').hide();
	// make sure we re-focus on the textbox for usability
	jQuery('#txtSearch').focus();
}
</script>
<?php endif;?>
<?php else: ?>

 
    <p>There are no pools to display.</p>
 
<?php endif;?>