Jump to content

[Free] CrewCenter - Modern and responsive pilot center


Recommended Posts

Posted (edited)

Hi all,

I am pleased to announce my free skin for phpVMS, CrewCenter; a modern, sleek and responsive pilot centre application.

DOWNLOAD: https://github.com/swan58/CrewCenter (Read Installation instructions in readme)

IMPORTANT: If you are running phpVMS 5.5.x, move all the PHP template files from 'php_templates' into the main skin folder before uploading.

This skin is designed using the Bootstrap framework, meaning it is fully responsive and works well on all sized devices, including desktops, tablets and phones. CrewCenter is not a complete website skin, it is only a pilot center application, designed to be installed onto a phpVMS installation on a subdomain (e.g. crew.yourva.com) in addition to your 'front page' on your main domain, with a link to CrewCenter.

Please note that this skin is still being developed, and I hope to update it and add new features over time. You should be able to just overwrite the existing files to update it. It may also have bugs and issues. If you find, feel free to post an issue report on GitHub or reply to this topic.

If you have any feature, plugin skinning or custom VA branding requests, feel free to post a reply below or email me.

Enjoy! ;)

Screenshots

Dashboard page

b13c907ca48adb85a826675e47e49848.png

Flight Report page

00f058617aef24452965b5b1df748c2c.png

Mobile version of Dashboard page

1fc260a810d0ec16df04fb87a7f60002.png

Edited by swan58
  • Like 2
Posted (edited)

To all those who are experiencing problems!

Please check the following are true as per the installation instructions on GitHub:

  1. The folder in the lib/skins directory was named 'crewcenter', not 'CrewCenter' or 'CrewCenter-master'
  2. You are running Nabeel's version of phpVMS EDIT - Now works on both versions of phpVMS (PHP templates included)

Please be aware this is still in development and some pages may not have been skinned yet.

Thank you very much and I hope this solves any issues. If you have any further questions or comments, feel free to let me know.

Mark

Edited by swan58
Posted
Try changing all the files to .php and change any reference from .tpl to .php.

Please note this will not work as each page has a PHP header to include 'app_top.tpl' and 'app_bottom.tpl'. You would have to change every page to include the .php versions.

I am still considering creating a version of CrewCenter for phpVMS 5.5.x, so if many people want a version for it, let me know.

Mark

Posted

I want a php version, but i have done it myself allready.

What i want is to link this with the default database so that not every pilot must register also on the crewcenter.

  • Like 1
Posted

Hi Guys,

Sorry for the delay. I have taken the liberty of creating PHP versions of all the template files, and put them in the 'php_templates' folder.

If you are using Simpilot's phpVMS 5.5.2 and need the PHP templates, just drag in all the files from 'php_templates' into the main skin folder, all done!

If there are any problems please let me know. I'm now working on skinning the bid overview and comments pages.

Posted

Is ther any way of linking the 2 sites so you don't need to input all the information again?

Not quite sure exactly what you mean, I'm assuming you want to transfer an existing user database to a new phpVMS installation.

You should just be able to export tables (for users, fleet, airports, schedules etc.) through phpMyAdmin and import them to the new database. An alternative is copying the entire phpVMS installation over to the subdomain and changing the Site URL to the new URL of phpVMS in the config file.

Hope this helps ;)

Posted (edited)

thanks for the info, But cant you make it as a module with its own template, so we can install it in our main va's site?

I don't have any intentions at this stage to do something like that, however, I have successfully just tried and tested this:

Install another phpVMS installation on your subdomain (crew.yourdomain.com), then change the database to the exact same as the main site you're currently using. The only issue would be that both of the skins your using on both sites would need to have the same name. In other words, you'd need to change your current skin's name on your main site to 'crewcenter' as well, since the configuration options are stored in the database.

Essentially, you would have 2 sites of phpVMS controlling the same database, so you can have a live ACARS map on both sites, main (for public viewing) and CrewCenter. You could even have some pages, like the profile edit page, on your main site, and have the schedules and PIREP pages on the CrewCenter if you wanted to. This is completely customizable to your needs, it just requires some HTML tweaking.

Edited by swan58
Posted (edited)

Nope,

The developer may have just used the default .tpl file and just changed the extension without modifying the contents for the .php version.

Change the following files

registration_mainform.php

<body class="hold-transition login-page" style="background-color: #222222;">
<div class="login-box">
 <div class="login-logo">
	 <a href="" style="color: white;">Crew<b>Center</b></a>
 </div>
 <!-- /.login-logo -->
 <div class="login-box-body">
	 <p class="login-box-msg">Please complete this form to create your account.</p>
		 <form method="post" action="<?php echo url('/registration');?>">
			 <div class="form-group">
				 <input type="text" name="firstname" class="form-control" value="<?php echo Vars::POST('firstname');?>" placeholder="First Name">
				 <?php
					 if($firstname_error == true)
						 echo '<p class="error">Please enter your first name</p>';
				 ?>
			 </div>
			 <div class="form-group">
				 <input type="text" name="lastname" class="form-control" value="<?php echo Vars::POST('lastname');?>" placeholder="Last Name">
				 <?php
					 if($lastname_error == true)
						 echo '<p class="error">Please enter your last name</p>';
				 ?>
			 </div>
			 <div class="form-group">
				 <input type="text" name="email" class="form-control" value="<?php echo Vars::POST('email');?>" placeholder="Email">
				 <?php
					 if($email_error == true)
						 echo '<p class="error">Please enter your email address</p>';
				 ?>
			 </div>
			 <div class="form-group">
				 <input type="password" name="password1" id="password" class="form-control" placeholder="Password">
			 </div>
			 <div class="form-group">
				 <input type="password" name="password2" class="form-control" placeholder="Confirm Password">
				 <?php
					 if($password_error == true)
						 echo '<p class="error">'.$password_error.'</p>';
				 ?>
			 </div>
			 <div class="form-group">
				 <select name="location" class="form-control">
					 <?php
						 foreach($countries as $countryCode=>$countryName)
						 {
						 if(Vars::POST('location') == $countryCode)
							 $sel = 'selected="selected"';
						 else
							 $sel = '';

							 echo '<option value="'.$countryCode.'" '.$sel.'>'.$countryName.'</option>';
						 }
					 ?>
				 </select>
				 <?php
					 if($location_error == true)
						 echo '<p class="error">Please enter your location</p>';
				 ?>
			 </div>

			 <div class="form-group">
				 <select name="code" id="code" class="form-control">
					 <?php
						 foreach($allairlines as $airline)
						 {
							 echo '<option value="'.$airline->code.'">'.$airline->code.' - '.$airline->name.'</option>';
						 }
					 ?>
				 </select>
			 </div>
			 <div class="form-group">
				 <select name="hub" id="hub" class="form-control">
					 <?php
						 foreach($allhubs as $hub)
						 {
							 echo '<option value="'.$hub->icao.'">'.$hub->icao.' - ' . $hub->name .'</option>';
						 }
					 ?>
				 </select>
			 </div>

			 <?php

			 //Put this in a seperate template. Shows the Custom Fields for registration
			 Template::Show('registration_customfields.tpl');

			 ?>

			 <div class="form-group">
				 <?php if(isset($captcha_error)){echo '<p class="error">'.$captcha_error.'</p>';} ?>
				 <div class="g-recaptcha" data-sitekey="<?php echo $sitekey;?>"></div>
				 <script type="text/javascript" src="https://www.google.com/recaptcha/api.js?hl=<?php echo $lang;?>"></script>
			 </div>

				 <div class="row">
				 <div class="col-xs-8">
					 <a href="<?php echo url('/login'); ?>">Already have an account</a>
				 </div>
				 <div class="col-xs-4">
					 <input type="submit" class="btn btn-primary btn-block btn-flat" name="submit" value="Register" />
				 </div>
				 <!-- /.col -->
			 </div>
		 </form>
	 <center style="margin-top: 30px;">
		 <p class="text-muted">CrewCenter by Mark Swan</p>
	 </center>
 </div>
 <!-- /.login-box-body -->
</div>
<!-- /.login-box -->

<!-- iCheck -->
<script src="<?php echo SITE_URL?>/lib/skins/crewcenter/plugins/iCheck/icheck.min.js"></script>
<script>
 $(function () {
 $('input').iCheck({
	 checkboxClass: 'icheckbox_square-blue',
	 radioClass: 'iradio_square-blue',
	 increaseArea: '20%' // optional
 });
 });
</script>
</body>

registration_customfields.php

<?php if(!defined('IN_PHPVMS') && IN_PHPVMS !== true) { die(); } ?>
<?php
/* Show any extra fields
*/
if($field_list) {
foreach($field_list as $field) {
?>
<div class="form-group">
<?php
if($field->type == 'dropdown') {
echo "<select class='form-control' name=\"{$field->fieldname}\">";
$values = explode(',', $field->value);

if(is_array($values))
{	
foreach($values as $val)
{
 $val = trim($val);
 echo "<option value=\"{$val}\">{$val}</option>";
}
}

echo '</select>';
} elseif($field->type == 'textarea') {
echo '<textarea class="form-control" name="'.$field->fieldname.'" class="customfield_textarea"></textarea>';
} else { ?>
	 <input type="text" class="form-control" placeholder="<?php echo $field->title; ?>" name="<?php echo $field->fieldname; ?>" value="<?php echo Vars::POST($field->fieldname);?>" /></div>
<?php }
}
}
?>

Edited by web541
Posted

Nope,

The developer may have just used the default .tpl file and just changed the extension without modifying the contents for the .php version.

Change the following files

registration_mainform.php

<body class="hold-transition login-page" style="background-color: #222222;">
<div class="login-box">
 <div class="login-logo">
	 <a href="" style="color: white;">Crew<b>Center</b></a>
 </div>
 <!-- /.login-logo -->
 <div class="login-box-body">
	 <p class="login-box-msg">Please complete this form to create your account.</p>
		 <form method="post" action="<?php echo url('/registration');?>">
			 <div class="form-group">
				 <input type="text" name="firstname" class="form-control" value="<?php echo Vars::POST('firstname');?>" placeholder="First Name">
				 <?php
					 if($firstname_error == true)
						 echo '<p class="error">Please enter your first name</p>';
				 ?>
			 </div>
			 <div class="form-group">
				 <input type="text" name="lastname" class="form-control" value="<?php echo Vars::POST('lastname');?>" placeholder="Last Name">
				 <?php
					 if($lastname_error == true)
						 echo '<p class="error">Please enter your last name</p>';
				 ?>
			 </div>
			 <div class="form-group">
				 <input type="text" name="email" class="form-control" value="<?php echo Vars::POST('email');?>" placeholder="Email">
				 <?php
					 if($email_error == true)
						 echo '<p class="error">Please enter your email address</p>';
				 ?>
			 </div>
			 <div class="form-group">
				 <input type="password" name="password1" id="password" class="form-control" placeholder="Password">
			 </div>
			 <div class="form-group">
				 <input type="password" name="password2" class="form-control" placeholder="Confirm Password">
				 <?php
					 if($password_error == true)
						 echo '<p class="error">'.$password_error.'</p>';
				 ?>
			 </div>
			 <div class="form-group">
				 <select name="location" class="form-control">
					 <?php
						 foreach($countries as $countryCode=>$countryName)
						 {
						 if(Vars::POST('location') == $countryCode)
							 $sel = 'selected="selected"';
						 else
							 $sel = '';

							 echo '<option value="'.$countryCode.'" '.$sel.'>'.$countryName.'</option>';
						 }
					 ?>
				 </select>
				 <?php
					 if($location_error == true)
						 echo '<p class="error">Please enter your location</p>';
				 ?>
			 </div>

			 <div class="form-group">
				 <select name="code" id="code" class="form-control">
					 <?php
						 foreach($allairlines as $airline)
						 {
							 echo '<option value="'.$airline->code.'">'.$airline->code.' - '.$airline->name.'</option>';
						 }
					 ?>
				 </select>
			 </div>
			 <div class="form-group">
				 <select name="hub" id="hub" class="form-control">
					 <?php
						 foreach($allhubs as $hub)
						 {
							 echo '<option value="'.$hub->icao.'">'.$hub->icao.' - ' . $hub->name .'</option>';
						 }
					 ?>
				 </select>
			 </div>

			 <?php

			 //Put this in a seperate template. Shows the Custom Fields for registration
			 Template::Show('registration_customfields.tpl');

			 ?>

			 <div class="form-group">
				 <?php if(isset($captcha_error)){echo '<p class="error">'.$captcha_error.'</p>';} ?>
				 <div class="g-recaptcha" data-sitekey="<?php echo $sitekey;?>"></div>
				 <script type="text/javascript" src="https://www.google.com/recaptcha/api.js?hl=<?php echo $lang;?>"></script>
			 </div>

				 <div class="row">
				 <div class="col-xs-8">
					 <a href="<?php echo url('/login'); ?>">Already have an account</a>
				 </div>
				 <div class="col-xs-4">
					 <input type="submit" class="btn btn-primary btn-block btn-flat" name="submit" value="Register" />
				 </div>
				 <!-- /.col -->
			 </div>
		 </form>
	 <center style="margin-top: 30px;">
		 <p class="text-muted">CrewCenter by Mark Swan</p>
	 </center>
 </div>
 <!-- /.login-box-body -->
</div>
<!-- /.login-box -->

<!-- iCheck -->
<script src="<?php echo SITE_URL?>/lib/skins/crewcenter/plugins/iCheck/icheck.min.js"></script>
<script>
 $(function () {
 $('input').iCheck({
	 checkboxClass: 'icheckbox_square-blue',
	 radioClass: 'iradio_square-blue',
	 increaseArea: '20%' // optional
 });
 });
</script>
</body>

registration_customfields.php

<?php if(!defined('IN_PHPVMS') && IN_PHPVMS !== true) { die(); } ?>
<?php
/* Show any extra fields
*/
if($field_list) {
foreach($field_list as $field) {
?>
<div class="form-group">
<?php
if($field->type == 'dropdown') {
echo "<select class='form-control' name=\"{$field->fieldname}\">";
$values = explode(',', $field->value);

if(is_array($values))
{	
foreach($values as $val)
{
 $val = trim($val);
 echo "<option value=\"{$val}\">{$val}</option>";
}
}

echo '</select>';
} elseif($field->type == 'textarea') {
echo '<textarea class="form-control" name="'.$field->fieldname.'" class="customfield_textarea"></textarea>';
} else { ?>
	 <input type="text" class="form-control" placeholder="<?php echo $field->title; ?>" name="<?php echo $field->fieldname; ?>" value="<?php echo Vars::POST($field->fieldname);?>" /></div>
<?php }
}
}
?>

Thanks a lot! works perfect

Posted (edited)

Hi again,

Can someone help me I'm trying to make a crew member pages with the default pilots_list.php?

Here is the code

<?php require 'app_top.php' ?>
<section class="content-header">
<h1>Crew Members</h1>
</section>
<section class="content">
<div class="row">
<div class="col-lg-8">
<div class="box box-primary">
<div class="box-body table-responsive">
 <?php
 if(!$pilot_list) {
 echo 'There are no pilots!';
 return;
 }
 ?>
 <table id="tabledlist" class="tablesorter table table-hover">
 <thead>
 <tr>
 <th>Pilot ID</th>
 <th>Name</th>
 <th>Rank</th>
 <th>Flights</th>
 <th>Hours</th>
 </tr>
 </thead>
 <tbody>
 <?php
 foreach($pilot_list as $pilot)
 {
 /*
 To include a custom field, use the following example:
 <td>
 <?php echo PilotData::GetFieldValue($pilot->pilotid, 'VATSIM ID'); ?>
 </td>
 For instance, if you added a field called "IVAO Callsign":
 echo PilotData::GetFieldValue($pilot->pilotid, 'IVAO Callsign');
 */

 // To skip a retired pilot, uncomment the next line:
 //if($pilot->retired == 1) { continue; }
 ?>
 <tr>
 <td width="1%" nowrap><a href="<?php echo url('/profile/view/'.$pilot->pilotid);?>">
 <?php echo PilotData::GetPilotCode($pilot->code, $pilot->pilotid)?></a>
 </td>
 <td>
 <img src="<?php echo Countries::getCountryImage($pilot->location);?>"
 alt="<?php echo Countries::getCountryName($pilot->location);?>" />

 <?php echo $pilot->firstname.' '.$pilot->lastname?>
 </td>
 <td><img src="<?php echo $pilot->rankimage?>" alt="<?php echo $pilot->rank;?>" /></td>
 <td><?php echo $pilot->totalflights?></td>
 <td><?php echo Util::AddTime($pilot->totalhours, $pilot->transferhours); ?></td>
 <?php
 }
 ?>
 </tbody>
 </table>
</div>
</div>
</div>
</div>
</section>
<?php require 'app_bottom.php' ?>

Edited by lanousbh
Posted

Hi again,

Can someone help me I'm trying to make a crew member pages with the default pilots_list.php?

I was actually just working on that, but I encountered a strange issue. As you can see from the screenshot below, the template actually runs multiple times! I believe the template runs for every hub and I can't see another template file which parents it, so if anyone can solve this kudos to you!

9ec870c3aa8daaa7e513c5cc4a09bbac.png

Posted

As you said Swan it tried to repeat the template for each HUB, so I got ride of this.

To make the code above work you gotta edit the module Pilots.php

Here is the code of the file:

<?php
class Pilots extends CodonModule
{

 public function index() {
  $this->set('pilot_list', PilotData::getAllPilots());
  $this->render('pilots_list.tpl');
 }


 public function reports($pilotid='')
 {
  if($pilotid == '')
  {
   $this->set('message', 'No pilot specified!');
   $this->render('core_error.php');
   return;
  }

  $this->set('pireps', PIREPData::GetAllReportsForPilot($pilotid));
  $this->render('pireps_viewall.php');
 }


 /* Stats stuff for charts */


 public function statsdaysdata($pilotid)
 {
  $data = PIREPData::getIntervalDataByDays(array('p.pilotid'=>$pilotid), 30);
  $this->create_line_graph('Past 30 days PIREPs', $data);
 }

 public function statsmonthsdata($pilotid)
 {
  $data = PIREPData::getIntervalDataByMonth(array('p.pilotid'=>$pilotid), 3);
  $this->create_line_graph('Monthly Flight Stats', $data);
 }

 public function statsaircraftdata($pilotid)
 {
  $data = StatsData::PilotAircraftFlownCounts($pilotid);
  if(!$data) $data = array();

  include CORE_LIB_PATH.'/php-ofc-library/open-flash-chart.php';

  $d = array();
  foreach($data as $ac)
  {
   OFCharts::add_data_set($ac->aircraft, floatval($ac->hours));
  }

  echo OFCharts::create_pie_graph('Aircraft Flown');
 }

 protected function create_line_graph($title, $data)
 {	  
  if(!$data)
  {
   $data = array();
  }

  $bar_values = array();
  $bar_titles = array();
  foreach($data as $val)
  {

   $bar_titles[] = $val->ym;
   $bar_values[] = floatval($val->total);
  }

  OFCharts::add_data_set($bar_titles, $bar_values);
  echo OFCharts::create_area_graph($title);
 }

 public function RecentFrontPage($count = 5)
 {
  $this->set('pilots', PilotData::GetLatestPilots($count));
  $this->render('frontpage_recentpilots.php');
 }
 }

then for the pilots_list.php

<?php require 'app_top.php' ?>
<section class="content-header">
<h1>Crew Members</h1>
</section>
<section class="content">
<div class="row">
<div class="col-lg-8">
<div class="box box-primary">
<div class="box-body table-responsive">
	 <?php
	 if(!$pilot_list) {
	 echo 'There are no pilots!';
	 return;
	 }
	 ?>
	 <table id="tabledlist" class="tablesorter table table-hover">
	 <thead>
	 <tr>
	 <th>Pilot ID</th>
	 <th>Name</th>
	 <th>Rank</th>
	 <th>Flights</th>
	 <th>Hours</th>
	 </tr>
	 </thead>
	 <tbody>
	 <?php
	 foreach($pilot_list as $pilot)
	 {
	 /*
	 To include a custom field, use the following example:
	 <td>
	 <?php echo PilotData::GetFieldValue($pilot->pilotid, 'VATSIM ID'); ?>
	 </td>
	 For instance, if you added a field called "IVAO Callsign":
	 echo PilotData::GetFieldValue($pilot->pilotid, 'IVAO Callsign');
	 */

	 // To skip a retired pilot, uncomment the next line:
	 //if($pilot->retired == 1) { continue; }
	 ?>
	 <tr>
	 <td width="1%" nowrap><a href="<?php echo url('/profile/view/'.$pilot->pilotid);?>">
	 <?php echo PilotData::GetPilotCode($pilot->code, $pilot->pilotid)?></a>
	 </td>
	 <td>
	 <img src="<?php echo Countries::getCountryImage($pilot->location);?>"
	 alt="<?php echo Countries::getCountryName($pilot->location);?>" />

	 <?php echo $pilot->firstname.' '.$pilot->lastname?>
	 </td>
	 <td><img src="<?php echo $pilot->rankimage?>" alt="<?php echo $pilot->rank;?>" /></td>
	 <td><?php echo $pilot->totalflights?></td>
	 <td><?php echo Util::AddTime($pilot->totalhours, $pilot->transferhours); ?></td>
	 <?php
	 }
	 ?>
	 </tbody>
	 </table>
</div>
</div>
</div>
</div>
</section>
<?php require 'app_bottom.php' ?>

Posted

Hello ,

First of All , Big Thanks to Mark Swan for his prompt reply on emails and for creating such a lovely crewcenter.

I have couple of questions

1. If I want a drop down menu inside the side bar itself , is it possible?

For Eg :

Suppose I keep a tab called "Flight Planning" and inside flight planning I keep many other modules like weather , notams , etc.

But If I make a simple nested list , the list would be too long , so I want to bring down Weather , Notams only when I click on Flight Planning.

Is it Possible?

2. How can I add a Airline Logo in the list below Recent , Live Flight Map ?

Posted

1. If I want a drop down menu inside the side bar itself , is it possible?

For Eg :

Suppose I keep a tab called "Flight Planning" and inside flight planning I keep many other modules like weather , notams , etc.

But If I make a simple nested list , the list would be too long , so I want to bring down Weather , Notams only when I click on Flight Planning.

Is it Possible?

Yes, you can definitely add a drop-down menu. The link can be added in app_top.php. Replace everything in this file with this, then change the href links, text and font awesome icons (if you want):

<?php

if(empty(Auth::$userinfo->firstname)) {
 header("Location: /");
}

?>

<div class="hold-transition skin-blue sidebar-mini">
<div class="wrapper">
 <header class="main-header">
	 <!-- Logo -->
	 <a href="<?php echo SITE_URL?>" class="logo">
		 <!-- mini logo for sidebar mini 50x50 pixels -->
		 <span class="logo-mini">C<b>C</b></span>
		 <!-- logo for regular state and mobile devices -->
		 <span class="logo-lg">Crew<b>Center</b></span>
	 </a>
	 <!-- Header Navbar: style can be found in header.less -->
	 <nav class="navbar navbar-static-top">
		 <!-- Sidebar toggle button-->
		 <a href="#" class="sidebar-toggle" data-toggle="offcanvas" role="button">
			 <span class="sr-only">Toggle navigation</span>
		 </a>
		 <div class="navbar-custom-menu">
			 <ul class="nav navbar-nav">
				 <!-- User Account: style can be found in dropdown.less -->
				 <li class="dropdown user user-menu">
					 <a href="#" class="dropdown-toggle" data-toggle="dropdown">
						 <img src="<?php echo SITE_URL?>/lib/skins/crewcenter/dist/img/pilot.png" class="user-image" alt="User Image">
						 <span class="hidden-xs"><?php echo Auth::$userinfo->firstname.' '.Auth::$userinfo->lastname; ?></span>
					 </a>
					 <ul class="dropdown-menu">
						 <!-- User image -->
						 <li class="user-header">
							 <img src="<?php echo SITE_URL?>/lib/skins/crewcenter/dist/img/pilot.png" class="img-circle" alt="User Image">
							 <p>
								 <?php echo Auth::$userinfo->firstname.' '.Auth::$userinfo->lastname; ?>
								 <small><?php echo $pilotcode; ?></small>
							 </p>
						 </li>
						 <!-- Menu Footer-->
						 <li class="user-footer">
							 <div class="pull-left">
								 <a href="<?php echo url('/profile/editprofile'); ?>" class="btn btn-primary btn-block btn-flat">My Profile</a>
							 </div>
							 <div class="pull-right">
								 <a href="<?php echo url('/logout'); ?>" class="btn btn-danger btn-block btn-flat">Log Out</a>
							 </div>
						 </li>
					 </ul>
				 </li>
			 </ul>
		 </div>
	 </nav>
 </header>
 <!-- Left side column. contains the logo and sidebar -->
 <aside class="main-sidebar">
	 <!-- sidebar: style can be found in sidebar.less -->
	 <section class="sidebar">
		 <!-- Sidebar user panel -->
		 <div class="user-panel">
			 <div class="pull-left image">
				 <img src="<?php echo SITE_URL?>/lib/skins/crewcenter/dist/img/pilot.png" class="img-circle" alt="User Image">
			 </div>
			 <div class="pull-left info">
				 <p><?php echo Auth::$userinfo->firstname.' '.Auth::$userinfo->lastname; ?></p>
				 <a><i class="fa fa-circle text-success"></i><?php if(PilotGroups::group_has_perm(Auth::$usergroups, ACCESS_ADMIN)) { echo ' Administrator'; } else { echo ' Pilot'; } ?></a>
			 </div>
		 </div>
		 <!-- sidebar menu: : style can be found in sidebar.less -->
		 <ul class="sidebar-menu">
			 <li class="header">NAVIGATION</li>
			 <li>
				 <a href="<?php echo SITE_URL?>">
					 <i class="fa fa-dashboard"></i> <span>Dashboard</span>
				 </a>
			 </li>
			 <li>
				 <a href="<?php echo url('/schedules/view'); ?>">
					 <i class="fa fa-search"></i> <span>Schedule Search</span>
				 </a>
			 </li>
			 <li>
				 <a href="<?php echo url('/pireps/filepirep'); ?>">
					 <i class="fa fa-file-text"></i> <span>File Manual Report</span>
				 </a>
			 </li>
			 <li>
				 <a href="<?php echo url('/pireps/mine'); ?>">
					 <i class="fa fa-list"></i> <span>My Reports</span>
				 </a>
			 </li>
			 <li>
				 <a href="<?php echo url('/schedules/bids'); ?>">
					 <i class="fa fa-list"></i> <span>My Bids</span>
				 </a>
			 </li>
			 <li>
				 <a href="<?php echo url('/downloads'); ?>">
					 <i class="fa fa-cloud-download"></i> <span>Downloads</span>
				 </a>
			 </li>
			 <li class="treeview">
				 <a href="#">
					 <i class="fa fa-circle"></i> <span>Dropdown</span>
					 <span class="pull-right-container">
									 <i class="fa fa-angle-left pull-right"></i>
								 </span>
				 </a>
				 <ul class="treeview-menu">
					 <li><a href=""><i class="fa fa-circle-o"></i> Link 1</a></li>
					 <li><a href=""><i class="fa fa-circle-o"></i> Link 2</a></li>
					 <li><a href=""><i class="fa fa-circle-o"></i> Link 3</a></li>
				 </ul>
			 </li>

			 <?php if(PilotGroups::group_has_perm(Auth::$usergroups, ACCESS_ADMIN)) { echo '
			 <li>
				 <a href=" '.SITE_URL.'/admin">
					 <i class="fa fa-cog"></i> <span>Administration</span>
				 </a>
			 </li>
			 '; } ?>
		 </ul>
	 </section>
	 <!-- /.sidebar -->
 </aside>

 <!-- Content Wrapper. Contains page content -->
 <div class="content-wrapper">

So, you can just add this for each dropdown:

<li class="treeview">
<a href="#">
<i class="fa fa-circle"></i> <span>Dropdown</span>
<span class="pull-right-container">
<i class="fa fa-angle-left pull-right"></i>
</span>
</a>
<ul class="treeview-menu">
<li><a href=""><i class="fa fa-circle-o"></i> Link 1</a></li>
<li><a href=""><i class="fa fa-circle-o"></i> Link 2</a></li>
<li><a href=""><i class="fa fa-circle-o"></i> Link 3</a></li>
</ul>
</li>

Mark

Posted

Hello again ,

I feel very sorry to disturb you again and again. But any help is greatly appreciated. I am trying to bring in the reCAPTCHA (the new one). Can you please guide me how to set it up? I have phpvms v5.5x. I tried editing the registration - mainform.php but I am not successful. If you can help me out I would be very thankful . I dont have much knowledge about php.

Posted

Hello guys, okay?

I'm trying to install the skin on my PHPVMS system, I did everything according to the installation instructions included in the skin files, but still could not make it work 100%! am new to php editing, I'm still learning, could someone help me? and excuse me, I am Brazilian and I'm using google translator! thank you!

Follow the screen shots of the "error"

crewcenter1.jpg

crewcenter2.jpg

Posted

Hello guys, okay?

I'm trying to install the skin on my PHPVMS system, I did everything according to the installation instructions included in the skin files, but still could not make it work 100%! am new to php editing, I'm still learning, could someone help me? and excuse me, I am Brazilian and I'm using google translator! thank you!

1.Make sure that your skin's folder name is "crewcenter" and not anything else.

2.Are you using PHPVMS v5.5x? If yes , then you need to copy all the contents of folder "php_templates" and paste it in the root crewcenter/ folder.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...