1
0
mirror of https://e.coding.net/circlecloud/McAccount.git synced 2025-03-17 09:49:04 +00:00

init project...

This commit is contained in:
502647092 2015-10-13 14:26:47 +08:00
commit 69288bd8dc
137 changed files with 43573 additions and 0 deletions

5
.buildpath Normal file
View File

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<buildpath>
<buildpathentry kind="src" path=""/>
<buildpathentry kind="con" path="org.eclipse.php.core.LANGUAGE"/>
</buildpath>

28
.project Normal file
View File

@ -0,0 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>McAccount</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.wst.common.project.facet.core.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.wst.validation.validationbuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.dltk.core.scriptbuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.php.core.PHPNature</nature>
<nature>org.eclipse.wst.common.project.facet.core.nature</nature>
</natures>
</projectDescription>

View File

@ -0,0 +1,2 @@
eclipse.preferences.version=1
include_path=0;/McAccount

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
<fixed facet="php.component"/>
<fixed facet="php.core.component"/>
<installed facet="php.core.component" version="1"/>
<installed facet="php.component" version="5.6"/>
</faceted-project>

446
Amysql/Amysql.php Normal file
View File

@ -0,0 +1,446 @@
<?php
/************************************************
*
* Amysql PHPMVC - AMP 1.5
* Amysql.com
* @param Object $AmysqlProcess 网站进程
*
*/
class Amysql {
public $AmysqlProcess;
public function Amysql() {
global $Config;
ini_set ( "magic_quotes_runtime", false );
($Config ['DebugPhp'] && error_reporting ( E_ALL )) || error_reporting ( 0 ); // 是否报错
($Config ['SessionStart'] && session_start ()); // SESSION
(! empty ( $Config ['CharSet'] ) && header ( 'Content-type: text/html;charset=' . $Config ['CharSet'] ));
}
static public function AmysqlNotice($notice) {
$AmysqlController = new AmysqlController ();
$AmysqlController->notice = $notice;
$AmysqlController->_view ( 'AmysqlNotice' );
exit ();
}
static public function filter(&$array, $function) {
if (! is_array ( $array ))
Return $array = $function ( $array );
foreach ( $array as $key => $value )
(is_array ( $value ) && $array [$key] = Amysql::filter ( $value, $function )) || $array [$key] = $function ( $value );
Return $array;
}
}
/**
* **********************************************
*
* 总进程对象
*
* @param Object $ControllerName
* @param string $ControllerName
* @param string $ActionName
* @param string $ControllerFile
*
*/
class AmysqlProcess {
public $AmysqlController;
public $ControllerName;
public $ActionName;
public $ControllerFile;
function ProcessStart() {
global $Config;
if ($Config ['HttpPath']) {
$GETParam = (strlen ( $_SERVER ['REQUEST_URI'] ) > strlen ( $_SERVER ['SCRIPT_NAME'] )) ? explode ( '/', trim ( str_ireplace ( $_SERVER ['SCRIPT_NAME'], '', $_SERVER ['REQUEST_URI'] ), '/' ) ) : '';
$GETCount = count ( $GETParam );
if ($GETCount > 1)
for($i = 2; $i < $GETCount; ++ $i)
$_GET [$GETParam [$i]] = isset ( $GETParam [++ $i] ) ? $GETParam [$i] : '';
}
$magic_quotes = function_exists ( 'get_magic_quotes_gpc' ) ? get_magic_quotes_gpc () : false; // 环境是否有过滤
if ($Config ['Filter']) // 开启过滤
{
(! $magic_quotes && (Amysql::filter ( $_GET, 'addslashes' ) && Amysql::filter ( $_REQUEST, 'addslashes' ) && Amysql::filter ( $_COOKIE, 'addslashes' ) && Amysql::filter ( $_FILES, 'addslashes' )));
} else {
($magic_quotes && (Amysql::filter ( $_GET, 'stripslashes' ) && Amysql::filter ( $_REQUEST, 'stripslashes' ) && Amysql::filter ( $_COOKIE, 'stripslashes' ) && Amysql::filter ( $_FILES, 'stripslashes' )));
}
$this->ControllerName = ! empty ( $GETParam [0] ) ? $GETParam [0] : ((isset ( $_GET [$Config ['UrlControllerName']] ) && ! empty ( $_GET [$Config ['UrlControllerName']] )) ? $_GET [$Config ['UrlControllerName']] : 'index');
$this->ControllerName = str_replace ( _PathTag, DIRECTORY_SEPARATOR, $this->ControllerName );
$this->ActionName = ! empty ( $GETParam [1] ) ? $GETParam [1] : ((isset ( $_GET [$Config ['UrlActionName']] ) && ! empty ( $_GET [$Config ['UrlActionName']] )) ? $_GET [$Config ['UrlActionName']] : 'IndexAction');
$this->ControllerFile = _Controller . $this->ControllerName . '.php';
}
function ControllerStart() {
((is_file ( $this->ControllerFile ) && include_once ($this->ControllerFile)) || (is_file ( _Controller . 'index.php' ) && include_once (_Controller . 'index.php')) || Amysql::AmysqlNotice ( $this->ControllerFile . ' 控制器文件不存在' ));
(class_exists ( $this->ControllerName ) || (($this->ControllerName = 'index') && class_exists ( 'index' )) || Amysql::AmysqlNotice ( $this->ControllerName . ' 控制器不存在' ));
$methods = get_class_methods ( $this->ControllerName ); // 获取类中的方法名
(in_array ( $this->ActionName, $methods, true ) || (($this->ActionName = 'IndexAction') && in_array ( $this->ActionName, $methods, true )) || Amysql::AmysqlNotice ( $this->ActionName . ' 方法不存在' ));
$this->AmysqlController = new $this->ControllerName ( $_GET ); // 实例控制器
method_exists ( $this->AmysqlController, 'StartAction' ) ? $this->AmysqlController->StartAction () : '';
$this->AmysqlController->{$this->ActionName} (); // 执行方法
}
}
/**
* **********************************************
*
* 控制器逻辑层 (C)
*
* @param Object $DB
* @param Array $DBConfig
* @param Array $AmysqlModel
* @param Object $AmysqlTemplates
* @param Array $EchoData
*
*/
class AmysqlController {
public $DB;
public $DBConfig; // 控制器调用Mysql的链接配置
public $AmysqlModel; // 控制器关联的数据模型对象集
public $AmysqlClass; // 控制器关联的类对象集
public $AmysqlTemplates; // 控制器关联的模板对象
public $EchoData = array (); // 调试数据
function AmysqlController() {
global $Config;
$this->DBConfig = $Config;
$this->DB = new DB ();
$this->AmysqlTemplates = new AmysqlTemplates ();
}
/**
* 设置数据库配置
*
* @param Array $Config
*/
function _DBSet($_Config = NULL) {
global $Config;
$_Config = ($_Config == NULL) ? $Config : $_Config;
foreach ( $Config as $key => $val )
(empty ( $_Config [$key] ) && $_Config [$key] = $val);
$this->DBConfig = $_Config;
}
/**
* 模板赋值
*
* @param string $name
* @param string $value
*/
public function __set($name, $value = NULL) {
$this->AmysqlTemplates->TemplateValue [$name] = $value;
}
/**
* 数组模板赋值
*
* @param Array $array
*/
public function _array($array) {
if (is_array ( $array )) {
foreach ( $array as $key => $val )
$this->AmysqlTemplates->TemplateValue [$key] = $val;
}
}
/**
* 加载自定义类文件
*
* @param string $file
* @param string $ClassName
* @return Object $ClassName() 类对象
*/
public function _class($file, $ClassName = NULL) {
$file = str_replace ( _PathTag, DIRECTORY_SEPARATOR, $file );
$ClassName = ($ClassName == NULL) ? $file : $ClassName;
$file = _Class . $file . '.php';
if (is_file ( $file )) {
include_once ($file);
if (! class_exists ( $ClassName ))
Amysql::AmysqlNotice ( $ClassName . ' 类对象不存在' );
if (! isset ( $this->AmysqlClass [$ClassName] )) // 不存在类对象
$this->AmysqlClass [$ClassName] = new $ClassName ();
Return $this->AmysqlClass [$ClassName];
}
Amysql::AmysqlNotice ( $file . ' 类文件不存在' );
}
/**
* 加载模型文件
*
* @param string $file
* @param string $ClassName
* @return Object $ClassName() 模型对象
*/
public function _model($file, $ClassName = NULL) {
$file = str_replace ( _PathTag, DIRECTORY_SEPARATOR, $file );
$ClassName = ($ClassName == NULL) ? $file : $ClassName;
$file = _Model . $file . '.php';
if (is_file ( $file )) {
include_once ($file);
if (! class_exists ( $ClassName ))
Amysql::AmysqlNotice ( $ClassName . ' 模型对象不存在' );
$this->DBConfig ['ModelTag'] = $ModelTag = $ClassName . '_' . $this->DBConfig ['ConnectTag']; // 模型标识
if (! isset ( $this->AmysqlModel [$ModelTag] )) // 不存在模型
{
$this->AmysqlModel [$ModelTag] = new $ClassName ();
if (! isset ( $this->DB->DBS [$ModelTag] ))
$this->DB->DBConnect ( $this->DBConfig ); // 没连接就进行数据库连接
$this->AmysqlModel [$ModelTag]->MysqlConnect = $this->DB->DBS [$ModelTag]; // 模型使用的数据库连接
}
Return $this->AmysqlModel [$ModelTag];
}
Amysql::AmysqlNotice ( $file . ' 模型文件不存在' );
}
/**
* 获得相关文件数据(模板目录)
*
* @param string $file
* @return string 数据
*/
public function _file($file) {
$file = str_replace ( _PathTag, DIRECTORY_SEPARATOR, $file );
$file = _View . $file . '.php';
if (is_file ( $file ))
Return file_get_contents ( $file );
Amysql::AmysqlNotice ( $file . ' 数据文件不存在' );
}
/**
* 数据调试
*
* @param $data 数据
*/
public function _echo($data) {
$this->EchoData [] = $data;
}
/**
* 模板显示
*/
public function _view($file = null) {
// 控制器属性共享于模板 2012-4-20
$AmysqlSelfPropertyKey = array_keys ( get_class_vars ( 'AmysqlController' ) );
$ControllerPropertyParam = get_object_vars ( $this );
foreach ( $ControllerPropertyParam as $key => $val ) {
if (! in_array ( $key, $AmysqlSelfPropertyKey )) // 非Amysql控制器属性
$this->AmysqlTemplates->TemplateValue [$key] = $val;
}
$this->AmysqlTemplates->_view ( $file );
// 信息调试输出
if (is_array ( $this->AmysqlModel )) {
foreach ( $this->AmysqlModel as $key => $val ) // Sql调试
echo $this->AmysqlModel [$key]->SqlBug;
}
foreach ( $this->EchoData as $val )
echo "<!--<pre>\n", print_r ( $val, true ), "\n</pre>-->";
}
}
/**
* **********************************************
*
* 视图表现层 (V)
*
* @param Array $TemplateValue
*
*/
class AmysqlTemplates {
public $TemplateValue; // 模板数据
function AmysqlTemplates() {
// 自定义模板常用参数数据
$this->TemplateValue ['_date'] = date ( 'Y-m-d H:i:s', time () );
}
public function _view($file = null) {
global $Config;
// 2012-10-8
($Config ['XSS'] && Amysql::filter ( $this->TemplateValue, 'htmlspecialchars' ) && Amysql::filter ( $_GET, 'htmlspecialchars' ) && Amysql::filter ( $_REQUEST, 'htmlspecialchars' ) && Amysql::filter ( $_COOKIE, 'htmlspecialchars' ));
@extract ( $this->TemplateValue );
$file = str_replace ( _PathTag, DIRECTORY_SEPARATOR, $file );
$file = _View . $file . '.php';
if (is_file ( $file ))
Return include ($file);
Amysql::AmysqlNotice ( $file . ' 模板文件不存在' );
}
}
/**
* **********************************************
*
* 模型数据层 (M)
*
* @param Object $MysqlConnect
* @param String $Affected
* @param String $InsertId
* @param String $ResultSum
* @param String $QueryStatus
*/
class AmysqlModel {
public $MysqlConnect;
public $Affected;
public $InsertId;
public $ResultSum;
public $QueryStatus;
public $SqlBug = '';
/**
* 基本查询
*
* @param string $sql
* @return Object 结果集
*/
public function _query($sql) {
global $Config;
if (! $this->MysqlConnect)
Return false;
$this->QueryStatus = '(0)';
$this->Affected = 0;
if ($Config ['DebugSql'])
$this->SqlBug .= "\n" . '<!--DebugSql: ' . $sql . '-->' . "\n";
$result = mysql_query ( $sql, $this->MysqlConnect );
if (! $result)
Return false;
$this->Affected = mysql_affected_rows ();
$this->QueryStatus = '(ok)';
Return $result;
}
/**
* 插入数据
*
* @param string $table
* @param Array $data
* @return int InsertId 新增ID
*/
public function _insert($table, $data) {
$this->InsertId = 0;
if (! is_array ( $data ) || count ( $data ) == 0)
Return 0;
$field_arr = array ();
foreach ( $data as $key => $val )
$field_arr [] = " `$key` = '$val' ";
$sql = "INSERT INTO `$table` SET " . implode ( ',', $field_arr );
$this->_query ( $sql );
$this->InsertId = mysql_insert_id ();
Return $this->InsertId;
}
/**
* 更新数据
*
* @param string $table
* @param Array $data
* @param string $where
* @return int Affected 影响数
* @param string $content
* 更新数据依据
*/
public function _update($table, $data, $where = '') {
$this->Affected = 0;
if (! is_array ( $data ) || count ( $data ) == 0)
Return 0;
$field_arr = array ();
foreach ( $data as $key => $val )
$field_arr [] = " `$key` = '$val' ";
$sql = "UPDATE `$table` SET " . implode ( ',', $field_arr ) . $where;
$this->_query ( $sql );
Return $this->Affected;
}
/**
* 取得一排数据
*
* @param string $sql
* @param string $result_type
* @return Array $row 数据
*/
public function _row($sql, $result_type = MYSQL_ASSOC) {
$result = $this->_query ( $sql );
if (! $result)
Return false;
$row = mysql_fetch_array ( $result, $result_type );
$this->ResultSum = 1;
$this->_free ( $result );
Return $row;
}
/**
* 取得所有数据
*
* @param string $sql
* @param string $result_type
* @return Array $row 数据
*/
public function _all($sql, $result_type = MYSQL_ASSOC) {
$result = $this->_query ( $sql );
if (! $result)
Return false;
$data = array ();
$this->ResultSum = 0;
while ( $row = mysql_fetch_array ( $result, $result_type ) ) {
$data [] = $row;
++ $this->ResultSum;
}
$this->_free ( $result );
Return $data;
}
/**
* 取得数据总数
*
* @param string $sql
* @return int 数量
*/
public function _sum($sql) {
$result = $this->_query ( $sql );
if (! $result)
Return false;
Return mysql_num_rows ( $result );
}
/**
* 释放结果集
*
* @param Object $rs
*/
public function _free($rs) {
Return mysql_free_result ( $rs );
}
}
/**
* **********************************************
*
* 数据库对象
*
* @param Object $DBS
*/
class DB {
public $DBS;
public function DBConnect($Config) {
$this->DBS [$Config ['ModelTag']] = @mysql_connect ( $Config ['Host'], $Config ['User'], $Config ['Password'] );
(! $this->DBS [$Config ['ModelTag']] && Amysql::AmysqlNotice ( mysql_error () . ' Mysql链接出错请配置/Amysql/config.php文件。' ));
(! empty ( $Config ['DBname'] ) && mysql_select_db ( $Config ['DBname'], $this->DBS [$Config ['ModelTag']] ));
$CharSet = str_replace ( '-', '', $Config ['CharSet'] );
mysql_query ( "SET NAMES '$CharSet'", $this->DBS [$Config ['ModelTag']] );
}
}

31
Amysql/Config.php Normal file
View File

@ -0,0 +1,31 @@
<?php
// 系统基本配置 **********************************************
$Config ['HttpPath'] = false; // 是否开启 index.php/Controller/Action/name/value 模式
$Config ['Filter'] = false; // 是否过滤 $_GET、$_REQUEST、$_COOKIE、$_FILES
$Config ['XSS'] = true; // 是否开启 XSS防范
$Config ['SessionStart'] = true; // 是否开启 SESSION
$Config ['DebugPhp'] = true; // 是否开启PHP运行报错信息
$Config ['DebugSql'] = true; // 是否开启源码调试Sql语句
$Config ['CharSet'] = 'utf-8'; // 设置网页编码
$Config ['UrlControllerName'] = 'c'; // 自定义控制器名称 例如: index.php?c=index
$Config ['UrlActionName'] = 'a'; // 自定义方法名称 例如: index.php?c=index&a=IndexAction
$Config ['index'] = "index.php";
// 默认使用数据库配置 *****************************************
$Config ['ConnectTag'] = 'default'; // Mysql连接标识 可同时进行多连接
$Config ['Host'] = 'localhost:3306'; // Mysql主机地址
$Config ['User'] = 'root'; // Mysql用户
$Config ['Password'] = 'ookk1904'; // Mysql密码
$Config ['DBname'] = 'minecraft'; // 数据库名称
$Config ['CharSet'] = "UTF-8";
// 邮箱信息配置**********************************************
$Config ['smtp'] = "smtp.163.com";
$Config ['port'] = "25";
$Config ['user'] = "jtb1@163.com";
$Config ['sender'] = "jtb1@163.com";
$Config ['pass'] = "jtb2hww";
$Config ['debug'] = false;

201
Amysql/Function.php Normal file
View File

@ -0,0 +1,201 @@
<?php
/**
* 读取配置文件
* @param string $Key KEY值
*/
function Config($Key) {
include (_Amysql . 'Config.php');
if (empty ( $Key ))
return $Config;
if (! array_key_exists ( $Key, $Config ))
return null;
return $Config [$Key];
}
/**
* 缓存操作
*
* @param string $Key
* KEY值
* @param string $Value
*
* @param int $Time
* 缓存有效期(秒)
*/
function Cache($Key, $Value = '', $Time = null) {
require_once (_Amysql . 'Cache.php');
$Cahce = new Cache ();
if ($Value === '' && is_null ( $Time )) {
return $Cahce->Get ( md5 ( $Key ) );
} else if (is_null ( $Value )) {
$Cahce->Del ( md5 ( $Key ) );
} else {
if (is_null ( $Time )) {
$Time = Config ( 'CacheDefaultTime' );
}
$Cahce->Set ( md5 ( $Key ), $Value, $Time );
}
}
/**
* 随即生成字符串
*
* @param int $l
* 字符串长度
*/
function RandSting($l = 10) {
$c = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';
srand ( ( double ) microtime () * 1000000 );
for($i = 0; $i < $l; $i ++) {
$rand .= $c [rand () % strlen ( $c )];
}
return $rand;
}
/**
* json数据输出
*
* @param object $data
* json输出的数据
*/
function Json($data) {
header ( 'Content-Type:application/json; charset=' . Config ( 'Charset' ) );
exit ( json_encode ( $data, 0 ) );
}
/**
* json success数据输出
*
* @param object $info
* json输出的数据
*/
function JsonSuccess($info) {
$json_data ['status'] = 'success';
$json_data ['info'] = $info;
Json ( $json_data );
}
/**
* json error数据输出
*
* @param object $info
* json输出的数据
*/
function JsonError($info) {
$json_data ['status'] = 'error';
$json_data ['info'] = $info;
Json ( $json_data );
}
/**
* 生成url地址
*
* @param string $c
* 控制器
* @param string $a
* 控制器方法
* @param array $p
* get提交参数
*/
function Url($c, $a, $p = null) {
$sp = '';
if (is_array ( $p )) {
foreach ( $p as $key => $value ) {
$sp .= sprintf ( "&%s=%s", urlencode ( $key ), urlencode ( $value ) );
}
}
return sprintf ( "%s%s?%s=%s&%s=%s%s", _Http, Config ( 'index' ), Config ( 'UrlControllerName' ), $c, Config ( 'UrlActionName' ), $a, $sp );
}
/**
* 获取客户端ip地址
*/
function GetUserIP($type = 0, $adv = false) {
$type = $type ? 1 : 0;
static $ip = NULL;
if ($ip !== NULL)
return $ip [$type];
if ($adv) {
if (isset ( $_SERVER ['HTTP_X_FORWARDED_FOR'] )) {
$arr = explode ( ',', $_SERVER ['HTTP_X_FORWARDED_FOR'] );
$pos = array_search ( 'unknown', $arr );
if (false !== $pos)
unset ( $arr [$pos] );
$ip = trim ( $arr [0] );
} elseif (isset ( $_SERVER ['HTTP_CLIENT_IP'] )) {
$ip = $_SERVER ['HTTP_CLIENT_IP'];
} elseif (isset ( $_SERVER ['REMOTE_ADDR'] )) {
$ip = $_SERVER ['REMOTE_ADDR'];
}
} elseif (isset ( $_SERVER ['REMOTE_ADDR'] )) {
$ip = $_SERVER ['REMOTE_ADDR'];
}
// IP地址合法验证
$long = sprintf ( "%u", ip2long ( $ip ) );
$ip = $long ? array (
$ip,
$long
) : array (
'0.0.0.0',
0
);
return $ip [$type];
}
/**
* 设置SESSION有效时间
*/
function start_session($expire = 0) {
if ($expire == 0) {
$expire = ini_get ( 'session.gc_maxlifetime' );
} else {
ini_set ( 'session.gc_maxlifetime', $expire );
}
if (empty ( $_COOKIE ['PHPSESSID'] )) {
session_set_cookie_params ( $expire );
session_start ();
} else {
session_start ();
setcookie ( 'PHPSESSID', session_id (), time () + $expire );
}
}
function mailsender($mailer, $verify, $type) {
include (_Amysql . 'mail.class.php');
// 邮箱线程**********************************************************
$smtp = new smtp ( Config ( 'smtp' ), Config ( 'port' ), true, Config ( 'user' ), Config ( 'pass' ) );
switch ($type) {
case 'status' :
$smtpemailto = $mailer; // 发送给谁
$mailsubject = "minecraft账号验证通知"; // 邮件主题
$mailbody = "你已成功注册 请妥善保管<br>验证码:{$verify}<br>请及时验证邮箱";
$mailtype = "HTML"; // 邮件格式HTML/TXT,TXT为文本邮件
$smtp->debug = Config ( 'debug' ); // 是否显示发送的调试信息
if ($smtp->sendmail ( $smtpemailto, Config ( 'sender' ), $mailsubject, $mailbody, $mailtype ))
return true;
return false;
break;
case 'forget' :
$smtpemailto = $mailer; // 发送给谁
$mailsubject = "minecraft账号验证通知"; // 邮件主题
$mailbody = "你正在操作找回密码<br>验证码:{$verify}<br>请及时验证邮箱";
$mailtype = "HTML"; // 邮件格式HTML/TXT,TXT为文本邮件
$smtp->debug = Config ( 'debug' ); // 是否显示发送的调试信息
if ($smtp->sendmail ( $smtpemailto, Config ( 'sender' ), $mailsubject, $mailbody, $mailtype ))
return true;
return false;
break;
case 'forge' :
$smtpemailto = $mailer; // 发送给谁
$mailsubject = "minecraft账号通知"; // 邮件主题
$mailbody = "你的密码已重置 新密码是:$verify <br>收到密码后请尽快登陆后台修改密码";
$mailtype = "HTML"; // 邮件格式HTML/TXT,TXT为文本邮件
$smtp->debug = Config ( 'debug' ); // 是否显示发送的调试信息
if ($smtp->sendmail ( $smtpemailto, Config ( 'sender' ), $mailsubject, $mailbody, $mailtype ))
return true;
return false;
break;
}
}
function load($tpl) {
include (_View . $tpl . ".php");
}

286
Amysql/mail.class.php Normal file
View File

@ -0,0 +1,286 @@
<?php
error_reporting(0);
class smtp
{
/* Public Variables */
var $smtp_port;
var $time_out;
var $host_name;
var $log_file;
var $relay_host;
var $debug;
var $auth;
var $user;
var $pass;
/* Private Variables */
var $sock;
/* Constractor */
function smtp($relay_host = "", $smtp_port = 25,$auth = false,$user,$pass)
{
$this->debug = FALSE;
$this->smtp_port = $smtp_port;
$this->relay_host = $relay_host;
$this->time_out = 30; //is used in fsockopen()
$this->auth = $auth;//auth
$this->user = $user;
$this->pass = $pass;
$this->host_name = "localhost"; //is used in HELO command
$this->log_file = "";
$this->sock = FALSE;
}
/* Main Function */
function sendmail($to, $from, $subject = "", $body = "", $mailtype, $cc = "", $bcc = "", $additional_headers = "")
{
$mail_from = $this->get_address($this->strip_comment($from));
$body = ereg_replace("(^|(\r\n))(\.)", "\1.\3", $body);
$header .= "MIME-Version:1.0\r\n";
if($mailtype=="HTML")
{
$header .= "Content-Type:text/html\r\n";
}
$header .= "To: ".$to."\r\n";
if ($cc != "")
{
$header .= "Cc: ".$cc."\r\n";
}
$header .= "From: $from<".$from.">\r\n";
$header .= "Subject: ".$subject."\r\n";
$header .= $additional_headers;
$header .= "Date: ".date("r")."\r\n";
$header .= "X-Mailer:By Redhat (PHP/".phpversion().")\r\n";
list($msec, $sec) = explode(" ", microtime());
$header .= "Message-ID: <".date("YmdHis", $sec).".".($msec*1000000).".".$mail_from.">\r\n";
$TO = explode(",", $this->strip_comment($to));
if ($cc != "")
{
$TO = array_merge($TO, explode(",", $this->strip_comment($cc)));
}
if ($bcc != "")
{
$TO = array_merge($TO, explode(",", $this->strip_comment($bcc)));
}
$sent = TRUE;
foreach ($TO as $rcpt_to)
{
$rcpt_to = $this->get_address($rcpt_to);
if (!$this->smtp_sockopen($rcpt_to))
{
$this->log_write("Error: Cannot send email to ".$rcpt_to."\n");
$sent = FALSE;
continue;
}
if ($this->smtp_send($this->host_name, $mail_from, $rcpt_to, $header, $body))
{
$this->log_write("E-mail has been sent to <".$rcpt_to.">\n");
}
else
{
$this->log_write("Error: Cannot send email to <".$rcpt_to.">\n");
$sent = FALSE;
}
fclose($this->sock);
$this->log_write("Disconnected from remote host\n");
}
return $sent;
}
/* Private Functions */
function smtp_send($helo, $from, $to, $header, $body = "")
{
if (!$this->smtp_putcmd("HELO", $helo))
{
return $this->smtp_error("sending HELO command");
}
#auth
if($this->auth)
{
if (!$this->smtp_putcmd("AUTH LOGIN", base64_encode($this->user)))
{
return $this->smtp_error("sending HELO command");
}
if (!$this->smtp_putcmd("", base64_encode($this->pass)))
{
return $this->smtp_error("sending HELO command");
}
}
if (!$this->smtp_putcmd("MAIL", "FROM:<".$from.">"))
{
return $this->smtp_error("sending MAIL FROM command");
}
if (!$this->smtp_putcmd("RCPT", "TO:<".$to.">"))
{
return $this->smtp_error("sending RCPT TO command");
}
if (!$this->smtp_putcmd("DATA"))
{
return $this->smtp_error("sending DATA command");
}
if (!$this->smtp_message($header, $body))
{
return $this->smtp_error("sending message");
}
if (!$this->smtp_eom())
{
return $this->smtp_error("sending <CR><LF>.<CR><LF> [EOM]");
}
if (!$this->smtp_putcmd("QUIT"))
{
return $this->smtp_error("sending QUIT command");
}
return TRUE;
}
function smtp_sockopen($address)
{
if ($this->relay_host == "")
{
return $this->smtp_sockopen_mx($address);
}
else
{
return $this->smtp_sockopen_relay();
}
}
function smtp_sockopen_relay()
{
$this->log_write("Trying to ".$this->relay_host.":".$this->smtp_port."\n");
$this->sock = @fsockopen($this->relay_host, $this->smtp_port, $errno, $errstr, $this->time_out);
if (!($this->sock && $this->smtp_ok()))
{
$this->log_write("Error: Cannot connenct to relay host ".$this->relay_host."\n");
$this->log_write("Error: ".$errstr." (".$errno.")\n");
return FALSE;
}
$this->log_write("Connected to relay host ".$this->relay_host."\n");
return TRUE;;
}
function smtp_sockopen_mx($address)
{
$domain = ereg_replace("^.+@([^@]+)$", "\1", $address);
if (!@getmxrr($domain, $MXHOSTS))
{
$this->log_write("Error: Cannot resolve MX \"".$domain."\"\n");
return FALSE;
}
foreach ($MXHOSTS as $host)
{
$this->log_write("Trying to ".$host.":".$this->smtp_port."\n");
$this->sock = @fsockopen($host, $this->smtp_port, $errno, $errstr, $this->time_out);
if (!($this->sock && $this->smtp_ok()))
{
$this->log_write("Warning: Cannot connect to mx host ".$host."\n");
$this->log_write("Error: ".$errstr." (".$errno.")\n");
continue;
}
$this->log_write("Connected to mx host ".$host."\n");
return TRUE;
}
$this->log_write("Error: Cannot connect to any mx hosts (".implode(", ", $MXHOSTS).")\n");
return FALSE;
}
function smtp_message($header, $body)
{
fputs($this->sock, $header."\r\n".$body);
$this->smtp_debug("> ".str_replace("\r\n", "\n"."> ", $header."\n> ".$body."\n> "));
return TRUE;
}
function smtp_eom()
{
fputs($this->sock, "\r\n.\r\n");
$this->smtp_debug(". [EOM]\n");
return $this->smtp_ok();
}
function smtp_ok()
{
$response = str_replace("\r\n", "", fgets($this->sock, 512));
$this->smtp_debug($response."\n");
if (!ereg("^[23]", $response))
{
fputs($this->sock, "QUIT\r\n");
fgets($this->sock, 512);
$this->log_write("Error: Remote host returned \"".$response."\"\n");
return FALSE;
}
return TRUE;
}
function smtp_putcmd($cmd, $arg = "")
{
if ($arg != "")
{
if($cmd=="")
{
$cmd = $arg;
}
else
{
$cmd = $cmd." ".$arg;
}
}
fputs($this->sock, $cmd."\r\n");
$this->smtp_debug("> ".$cmd."\n");
return $this->smtp_ok();
}
function smtp_error($string)
{
$this->log_write("Error: Error occurred while ".$string.".\n");
return FALSE;
}
function log_write($message)
{
$this->smtp_debug($message);
if ($this->log_file == "")
{
return TRUE;
}
$message = date("M d H:i:s ").get_current_user()."[".getmypid()."]: ".$message;
if (!@file_exists($this->log_file) || !($fp = @fopen($this->log_file, "a")))
{
$this->smtp_debug("Warning: Cannot open log file \"".$this->log_file."\"\n");
return FALSE;;
}
flock($fp, LOCK_EX);
fputs($fp, $message);
fclose($fp);
return TRUE;
}
function strip_comment($address)
{
$comment = "\([^()]*\)";
while (ereg($comment, $address))
{
$address = ereg_replace($comment, "", $address);
}
return $address;
}
function get_address($address)
{
$address = ereg_replace("([ \t\r\n])+", "", $address);
$address = ereg_replace("^.*<(.+)>.*$", "\1", $address);
return $address;
}
function smtp_debug($message)
{
if ($this->debug)
{
echo $message;
}
}
}
?>

37
Controller/index.php Normal file
View File

@ -0,0 +1,37 @@
<?php
class index extends AmysqlController
{
// 默认首页
function IndexAction()
{
$this -> title = 'Minecraft 用户中心'; // 直接赋值模板
$this -> _view('message'); // 载入index模板
}
function login(){
$this -> title = "Minecraft 用户登陆";
$this -> _view('login');
}
function register(){
$this -> title = "Minecraft 帐号注册";
$this -> _view("register");
}
function pass(){
$this -> title = "Minecraft 修改密码";
$this -> _view("password");
}
function mail(){
$this -> title = "Minecraft 邮箱验证";
$this -> _View("mail/mailstatus");
}
function forge(){
$this -> title = "Minecraft 密码找回";
$this -> _View("forge");
}
}

View File

@ -0,0 +1,45 @@
<?php
class mail_status extends AmysqlController
{
function select()
{
JsonSuccess( $this -> _model("mail_model") -> select(@$_SESSION['username']));
}
/**
* 邮件发送
*/
function sendmail()
{
$verify = md5(hash("sha256",@$_REQUEST['mail'].$_REQUEST['user']));
$send = mailsender($_REQUEST['mail'], $verify, $_REQUEST['type']);
if($send)
{
$_SESSION['verify'] = $verify;
JsonSuccess("邮件发送成功 收到后请填入验证码进行邮箱验证");
}else{
JsonError("邮件发送失败");
}
}
function mail(){
$verify = $_SESSION['verify'];
if(@$_REQUEST['verify'] != $verify)
{
JsonError('验证码不对!请重试');
exit(0);
}
if($this -> _model("mail_model") -> mail(@$_REQUEST['mail'], $verify, @$_SESSION['username']))
JsonSuccess('验证成功');
JsonError("验证失败");
}
/**
* 显示邮箱验证状态
*/
function stat(){
JsonSuccess($this -> _model('mail_model') -> status(@$_SESSION['username']));
}
}
?>

34
Controller/retrieve.php Normal file
View File

@ -0,0 +1,34 @@
<?php
class retrieve extends AmysqlController
{
function checkmail()
{
if($this -> _model('mail') -> check($_REQUEST['mail']))
JsonSuccess($this -> _model('mail') -> check($_REQUEST['mail']));
JsonError("查询失败");
}
function send()
{
$time = date("Y-m-d");
$code = base64_encode($_REQUEST['mail'].":".$time);
if(mailsender(@$_REQUEST['mail'],$code,"forget"))
$_SESSION['code'] = $code;
JsonSuccess("验证邮件已经发送");
JsonError("验证邮件发送失败");
}
function status()
{
$code = base64_decode($_SESSION['code']);
$str = explode(":", $code);
if($_REQUEST['mail'] !== $str[0])
JsonError("邮箱不相同 验证失败");
iF($str[1] !== date("Y-m-d"))
JsonError('验证日期已过期');
if($_REQUEST['key'] !== $_SESSION['code'])
JsonError("验证失败");
JsonSuccess("验证成功");
}
}

View File

@ -0,0 +1,12 @@
<?php
class user_current extends AmysqlController
{
function current()
{
$money = $this -> _model('current_model') -> money_current($_REQUEST['user']);
JsonSuccess( $money );
}
}
?>

View File

@ -0,0 +1,51 @@
<?php
class user_public extends AmysqlController {
function register() {
if ($this->_model ( "authme" )->register ( $_REQUEST ['user'], md5 ( $_REQUEST ['pass'] ), $_REQUEST ['mail'], GetUserIP () ))
$_SESSION ['username'] = $_REQUEST ['user'];
$_SESSION ['mail'] = $_REQUEST ['mail'];
$_SESSION ['ip'] = GetUserIP ();
JsonSuccess ( 'Minecraft帐号注册成功' );
JsonError ( 'Minecraft帐号注册失败' );
}
function login() {
if ($this->_model ( "authme" )->login ( @$_REQUEST ['user'], md5 ( @$_REQUEST ['pass'] ) )) {
$_SESSION ['username'] = @$_REQUEST ['user'];
JsonSuccess ( '登陆成功' );
} else {
JsonError ( '登陆失败' );
}
}
function pass() {
if ($this->_model ( "authme" )->pass ( @$_REQUEST ['user'], md5 ( @$_REQUEST ['newpass'] ) )) {
$_SESSION ['username'] = "";
JsonSuccess ( "密码更改成功 !请重新登陆" );
} else {
JsonError ( "游戏密码更改失败!请检查原密码是否正确" );
}
}
function forge() {
$forge_mail = mailsender ( $_REQUEST ['mail'], $_REQUEST ['pass'], $_REQUEST ['type'] );
if (! $forge_mail)
return false;
else if ($this->_model ( 'authme' )->pass_forge ( md5 ( $_REQUEST ['pass'] ), $_REQUEST ['user'] ))
JsonSuccess ( '新密码已经发送到你的邮箱' );
JsonError ( '密码发送失败!无法更换默认密码 !请重试' );
}
function user_check() {
if ($this->_model ( 'authme' )->check_user ( @$_REQUEST ['user'] ))
JsonSuccess ( "此帐号可以注册" );
JsonError ( "此帐号已存在 请更换" );
}
function mail_check() {
if ($this->_model ( "mail" )->mailcheck ( $_REQUEST ['mail'] ))
JsonSuccess ( "此邮箱可以使用" );
JsonError ( "该邮箱已被注册!请更换" );
}
function logout() {
session_destroy ();
header ( "location:" . Url ( 'index', 'login' ) );
}
}
?>

77
Model/authme.php Normal file
View File

@ -0,0 +1,77 @@
<?php
class authme extends AmysqlModel {
public function register($username, $password, $mail, $ip) {
$value = array (
"username" => $username,
"password" => $password,
"ip" => $ip,
"lastlogin" => '',
"x" => '0',
"y" => '0',
"z" => '0',
"world" => 'world',
"email" => $mail
);
$ic = array (
"username" => $username,
"balance" => "30",
"hidden" => "0"
);
$data = array (
"address" => $mail,
'verify' => '',
'statu' => '0',
'time' => date ( 'Y-m-d' ),
"user" => $username
);
if ($this->_insert ( 'authme', $value ) == 0) {
return false;
} else {
if ($this->_insert ( 'mail', $data ) == 0) {
return false;
} else {
if ($this->_insert ( 'iconomy', $ic ) == 0) {
return false;
} else {
return true;
}
}
}
}
public function login($username, $password) {
if ($this->_sum ( "select * from `authme` where `username` = '$username' and `password` = '$password'" ) == 0)
return false;
else
return true;
}
public function pass($username, $newpass) {
$key = array (
"password" => $newpass
);
$num = $this->_update ( 'authme', $key, "where username='" . $username . "'" );
if ($num == 0)
return false;
return true;
}
public function pass_forge($value, $username) {
$key = array (
"password" => $value
);
$num = $this->_update ( 'authme', $key, "where username='" . $username . "'" );
// print_r($key);
if ($num == 0)
return false;
return true;
}
public function check_user($user) {
$sum = $this->_sum ( "select * from `authme` where `username` = '" . $user . "'" );
if ($sum == 0)
return true;
return false;
}
}
?>

12
Model/current_model.php Normal file
View File

@ -0,0 +1,12 @@
<?php
class current_model extends AmysqlModel {
function money_current($user) {
$sql = "SELECT *
FROM `iconomy`
WHERE `username` = '" . $user . "'
LIMIT 0 , 75";
return $this->_all ( $sql );
}
}
?>

14
Model/mail.php Normal file
View File

@ -0,0 +1,14 @@
<?
class mail extends AmysqlModel {
function check($url) {
if ($this->_sum ( "SELECT * FROM `authme` WHERE `email` = '$url'" ) == 0)
return false;
$sql = "SELECT * FROM `authme` WHERE `email` = '$url'";
return $this->_all ( $sql );
}
function mailcheck($url) {
if ($this->_sum ( "SELECT * FROM `authme` WHERE `email` = '$url'" ) == 0)
return true;
return false;
}
}

34
Model/mail_model.php Normal file
View File

@ -0,0 +1,34 @@
<?php
class mail_model extends AmysqlModel {
public function select($where) {
$sql = "SELECT password, email
FROM `authme`
WHERE `username` = '" . $where . "'
LIMIT 0 , 75";
return $this->_all ( $sql );
}
public function mail($mail, $verify, $user) {
$data = array (
"address" => $mail,
"verify" => $verify,
"statu" => '1',
"time" => date ( "Y-m-d" )
);
// var_dump($data);
$num = $this->_update ( 'mail', $data, "where user='" . $user . "'" );
// var_dump($num);
if ($num == 0) {
return false;
} else {
return true;
}
}
public function status($user) {
$sql = "SELECT *
FROM `mail`
WHERE `user` = '" . $user . "'
LIMIT 0 , 75";
return $this->_all ( $sql );
}
}
?>

11
View/AmysqlNotice.php Normal file
View File

@ -0,0 +1,11 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<b>[Amysql-Notice]</b>
<?php echo $notice; ?>#
</body>
</html>

223
View/forge.php Normal file
View File

@ -0,0 +1,223 @@
<!DOCTYPE html>
<html class="login-bg">
<head>
<title><?=$title?></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
<!-- bootstrap -->
<link href="View/public/css/bootstrap/bootstrap.css" rel="stylesheet" />
<link href="View/public/css/bootstrap/bootstrap-responsive.css"
rel="stylesheet" />
<link href="View/public/css/bootstrap/bootstrap-overrides.css"
type="text/css" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="View/public/css/layout.css" />
<link rel="stylesheet" type="text/css"
href="View/public/css/elements.css" />
<link rel="stylesheet" type="text/css" href="View/public/css/icons.css" />
<link rel="stylesheet" type="text/css"
href="View/public/css/lib/font-awesome.css" />
<link rel="stylesheet" href="View/public/css/compiled/signup.css"
type="text/css" media="screen" />
<style type="text/css">
.yz {
display: none;
}
.iModal {
position: static;
width: 95%;
margin: auto auto;
padding: 0;
}
</style>
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
</head>
<body>
<div class="header">
<a href="index.html"> <img src="/View/public/img/logo.png"
class="logo" />
</a>
<!-- scripts -->
</div>
<form name="from1">
<div class="container">
<div class="row-fluid" id="container">
<div class="modal iModal items page">
<div class="modal-header">
<h3>第一步</h3>
</div>
<div class="modal-body">
<input id="email" class="span12" type="text"
placeholder="请输入邮箱地址..." /> <a class="btn btn-primary pull-right"
onclick="check()" id="send">发送验证码</a>
<div id="msg"></div>
<div class="email-wrapper hidden">
<input class="span8" type="text" id="key" name="key"
placeholder="请输入验证码..." /> <input type="button"
class="btn btn-primary pull-right" value="验证邮箱"
onclick="statu_mail()">
</div>
</div>
<div class="modal-footer">
<a class="pull-left" href="signin.html">已经有了帐号?点击这里登陆</a> <input
type="button" class="next right btn btn-primary pull-right"
value="下一步">
</div>
</div>
<div class="modal iModal items hidden page">
<div class="modal-header">
<h3>第二步</h3>
</div>
<div class="modal-body">
<input class="span12" type="text" placeholder="玩家账号" id="username"
disabled='disabled' name='user'> <input class="span12"
type="text" placeholder="新的密码" id="pass1" name='pass' /> <input
class="span12" type="text" placeholder="重复输入密码" id="pass2" />
</div>
<div class="modal-footer">
<a class="pull-left" href="signin.html">已经有了帐号?点击这里登陆</a> <input
type="button" class="next right btn btn-primary pull-right"
value="下一步">
</div>
</div>
<div class="modal iModal hidden items page">
<div class="modal-header">
<h3>第三步</h3>
</div>
<div class="modal-body">
<em>点击确定完成密码更换操作。</em>
</div>
<div class="modal-footer">
<a class="pull-left" href="signin.html">已经有了帐号?点击这里登陆</a> <input
type="button" class="next btn btn-primary " id="sub"
onclick="updatepass()" value="确定" />
</div>
</div>
</div>
</div>
</form>
<script src="View/public/js/jquery-1.7.2.min.js"></script>
<script src="View/public/js/bootstrap.min.js"></script>
<script src="View/public/js/theme.js"></script>
<script src="View/public/js/scrollable.js"></script>
<script type="text/javascript">
function check(){
var Regex = /^(?:\w+\.?)*\w+@(?:\w+\.)*\w+$/;
var email = $("#email").val();
if(email==""){
alert("请输入邮箱地址!");
return false;
}else if(!Regex.test(email)){
alert("邮箱格式不对");
$('#email').val("");
return false;
}
$.ajax({type:"GET", data:{mail:email}, dataType:"json", url:"<?=Url('retrieve','checkmail')?>", cache:false,
success:function(i){
switch(i.status){
case "success":
$.each(i.info,function(c,b){
$.ajax({ type:"GET", data:{mail:email}, dataType:"json", url:"<?=Url('retrieve','send')?>",
success:function(t){
switch(t.status){
case "success" :
$('.email-wrapper').eq(0).removeClass("hidden").show();
$("#username").val(b.username);
$("#send").eq(0).addClass('yz');
$("#email").attr("disabled","disabled");
$('div#msg').eq(0).html("邮件已发送").clearQueue().fadeIn().fadeOut(2000);
//$("#status").html("邮箱验证成功<br>当前邮箱绑定帐号:<div id='account'>"+b.username+"</div>");
break;
case "error" : alert("验证邮件发送失败"); return; break;
}
}
})
})
break;
case "error": alert(i.info); return; break;
}
}
})
}
function statu_mail(){
if($("#key").val() == ""){
alert("验证码不能为空");
return;
}
$.ajax({ url:"<?=Url('retrieve','status')?>", type:"POST", data:{mail:$("#email").val(), key:$("#key").val()}, dataType:"json",
success:function(r){
switch(r.status){
case "success":
alert(r.info);
$("#statu").eq(0).addClass('yz');
$("#step").eq(0).removeClass("yz").clearQueue().fadeIn(2000);
$("#key").attr("disabled","disabled");
break;
case "error": alert(r.info); return; break;
}
}
})
}
function load(){
var html = '<div style="float:center">游戏账号:<div id="name">'+$("#username").val()+'<input type="hidden" id="hidden_name" value="'+$("#username").val()+'"></div><br>'+
'更改后的密码:<div id="password">'+$("#pass").val()+'<input type="hidden" id="hidden_pass" value="'+$("#pass").val() +'"></div></div>';
$("#info").append(html);
}
function updatepass(){
$.ajax({
type:"POST",
data:{user:$("#hidden_name").val(),mail:$("#email").val(),type:"forge",pass:$("#hidden_pass").val()},
dataType:"json",
url:'<?=Url('user_public','forge')?>',
success:function(data){
switch(data.status){
case "success": alert(data.info); window.location.href = "<?=Url('index','login')?>"; break;
case "error": alert(data.info); return false; break;
}
}
})
}
$(function(){
$(".container").scrollable({
onSeek:function(event,i){
$(".iModal").addClass("hidden").eq(i).removeClass("hidden");
},
onBeforeSeek:function(event,i){
switch(i){
case 1 :
var Regex = /^(?:\w+\.?)*\w+@(?:\w+\.)*\w+$/;
var email = $("#email").val();
if(email==""){ alert("请输入邮箱地址!"); return false;}
else if(!Regex.test(email)){ alert("邮箱格式不对"); $('#email').val(""); return false; }
else if($("#key").val() == ""){ alert("请输入验证码!"); return false; }
break;
case 2 :
var pass = $("#pass1").val();
var pass1 = $("#pass2").val();
if(pass==""){ alert("请输入密码!"); return false;
}else if(pass1 != pass){ alert("两次密码不一致!"); return false;
}else if(pass.length < 6){ alert("密码长度不能低于6位"); return false;}
load();
break;
case 3 :
break;
}
}
});
});
</script>
</body>
</html>

297
View/forge1.php Normal file
View File

@ -0,0 +1,297 @@
<!DOCTYPE html>
<html class="login-bg">
<head>
<title><?=$title?></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
<!-- bootstrap -->
<link href="View/public/css/bootstrap/bootstrap.css" rel="stylesheet" />
<link href="View/public/css/bootstrap/bootstrap-responsive.css"
rel="stylesheet" />
<link href="View/public/css/bootstrap/bootstrap-overrides.css"
type="text/css" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="View/public/css/layout.css" />
<link rel="stylesheet" type="text/css"
href="View/public/css/elements.css" />
<link rel="stylesheet" type="text/css" href="View/public/css/icons.css" />
<link rel="stylesheet" type="text/css"
href="View/public/css/lib/font-awesome.css" />
<link rel="stylesheet" href="View/public/css/compiled/signup.css"
type="text/css" media="screen" />
<style type="text/css">
#wizard {
border: 5px solid transparent;
font-size: 12px;
height: 450px;
margin: 20px auto;
width: 88%;
overflow: hidden;
position: relative;
}
#wizard .items {
width: 100000px;
clear: both;
position: absolute;
}
#wizard .right {
float: right;
}
#wizard #status {
height: 35px;
background: transparent;
padding-left: 25px !important;
}
#status li {
float: right;
color: #fff;
padding: 10px 30px;
color: black
}
#status li.active {
background-color: transparent;
font-weight: normal;
color: black
}
.input {
width: 1200px;
height: 28px;
margin: 10px auto;
line-height: 20px;
border: 1px solid #d3d3d3;
padding: 2px
}
.page {
padding: 20px 30px;
width: 500px;
float: left;
}
.page p {
line-height: 24px;
}
.page p label {
font-size: 14px;
display: block;
}
.btn_nav {
height: 36px;
line-height: 36px;
margin: 20px auto;
}
.yz {
display: none;
}
</style>
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<div class="header">
<a href="index.html"> <img src="View/public/img/logo.png" class="logo" />
</a>
</div>
<div class="row-fluid login-wrapper col-xs-12 col-md-12 col-lg-12">
<div class="box">
<div class="content-wrap">
<h6>找回密码</h6>
<form method="post" name="from1"
class=" col-xs-12 col-md-12 col-lg-12">
<div id="wizard">
<div class="items">
<div class="page">
<h6>
第一步<br />
<em>填写验证码来确认这个是否你所绑定的邮箱</em>
</h6>
<input class="span12" type="text" placeholder="邮箱地址" id="email" />
<div class="btn_nav">
<div id="text">
<input type="button" id="send" class="right btn btn-primary"
style="float: left" value="发送验证码" />
</div>
<input type="button" id="step"
class="next yz right btn btn-primary" value="下一步&raquo;" />
</div>
<div id="yz"></div>
<div id="status"></div>
<div id="bt"></div>
</div>
<div class="page">
<h6>
第二步<br />
<em>请填写你所要设定的新密码</em>
</h6>
<input class="span12" type="text" placeholder="玩家账号"
id="username" disabled='disabled' name='user'> <input
class="span12" type="text" placeholder="新的密码" id="pass1"
name='pass' /> <input class="span12" type="text"
placeholder="重复输入密码" id="pass2" />
<div class="btn_nav">
<!--
<input type="button" class="prev btn btn-primary" style="float:left" value="&laquo;上一步" />-->
<input type="button" class="next right btn btn-primary"
value="下一步&raquo;" />
</div>
</div>
<div class="page">
<h6>
第三步<br />
<em>点击确定完成密码更换操作。</em>
</h6>
<br />
<div id="info"></div>
<br />
<div class="btn_nav">
<!--
<input type="button" class="btn btn-primary prev" style="float:left" value="&laquo;上一步" />-->
<input type="button" class="btn btn-primary " id="sub"
onclick="updatepass()" value="确定" />
</div>
</div>
</div>
</div>
</form>
</div>
</div>
<div class="span4 already">
<p>已经有了帐号?</p>
<a href="signin.html">点击这里登陆</a>
</div>
</div>
<!-- scripts -->
<script src="View/public/js/jquery-1.7.2.min.js"></script>
<script src="View/public/js/bootstrap.min.js"></script>
<script src="View/public/js/theme.js"></script>
<script src="View/public/js/scrollable.js"></script>
<script type="text/javascript">
function check(){
var Regex = /^(?:\w+\.?)*\w+@(?:\w+\.)*\w+$/;
var email = $("#email").val();
if(email==""){
alert("请输入邮箱地址!");
return false;
}else if(!Regex.test(email)){
alert("邮箱格式不对");
$('#email').val("");
return false;
}
$.ajax({type:"GET", data:{mail:email}, dataType:"json", url:"<?=Url('retrieve','checkmail')?>", cache:false,
success:function(i){
switch(i.status){
case "success":
$.each(i.info,function(c,b){
$.ajax({ type:"GET", data:{mail:email}, dataType:"json", url:"<?=Url('retrieve','send')?>",
success:function(t){
switch(t.status){
case "success" :;
$("#username").val(b.username);
$("#yz").html('<input type="button" id="statu" onclick="statu_mail()" class="right btn btn-primary" style="float:left" value="验证邮箱"/>');
$("#send").eq(0).addClass('yz');
$("#email").attr("disabled","disabled");
$('div#status').eq(0).html($('div#status').html()+"邮件已发送").clearQueue().fadeIn().fadeOut(2000);
$("#text").html($("#text").html()+'<input name="key" class="span12" type="text" placeholder="验证码" id="key" />')
//$("#status").html("邮箱验证成功<br>当前邮箱绑定帐号:<div id='account'>"+b.username+"</div>");
break;
case "error" : alert("验证邮件发送失败"); return; break;
}
}
})
})
break;
case "error": alert(i.info); return; break;
}
}
})
}
function statu_mail(){
if($("#key").val() == ""){
alert("验证码不能为空");
return;
}
$.ajax({ url:"<?=Url('retrieve','status')?>", type:"POST", data:{mail:$("#email").val(), key:$("#key").val()}, dataType:"json",
success:function(r){
switch(r.status){
case "success":
alert(r.info);
$("#statu").eq(0).addClass('yz');
$("#step").eq(0).removeClass("yz").clearQueue().fadeIn(2000);
$("#key").attr("disabled","disabled");
break;
case "error": alert(r.info); return; break;
}
}
})
}
function load(){
var serialize = document.forms['from1'];
var html = '<div style="float:center">游戏账号:<div id="name">'+serialize.user.value+'<input type="hidden" id="hidden_name" value="'+serialize.user.value+'"></div><br>'+
'更改后的密码:<div id="password">'+serialize.pass.value+'<input type="hidden" id="hidden_pass" value="'+serialize.pass.value+'"></div></div>';
$("#info").append(html);
}
function updatepass(){
$.ajax({
type:"POST",
data:{user:$("#hidden_name").val(),mail:$("#email").val(),type:"forge",pass:$("#hidden_pass").val()},
dataType:"json",
url:'<?=Url('user_public','forge')?>',
success:function(data){
switch(data.status){
case "success": alert(data.info); window.location.href = "<?=Url('index','login')?>"; break;
case "error": alert(data.info); return false; break;
}
}
})
}
$(function(){
$("#wizard").scrollable({
onBeforeSeek:function(event,i){
switch(i){
case 1 :
var Regex = /^(?:\w+\.?)*\w+@(?:\w+\.)*\w+$/;
var email = $("#email").val();
var from = document.forms['from1'];
if(email==""){ alert("请输入邮箱地址!"); return false;}
else if(!Regex.test(email)){ alert("邮箱格式不对"); $('#email').val(""); return false; }
else if(from.key == null){ alert("请先验证邮箱才能执行下一步"); return false;}else{
if($("#key").val() == ""){ alert("请输入验证码!"); return false; }}
break;
case 2 :
var pass = $("#pass1").val();
var pass1 = $("#pass2").val();
if(pass==""){ alert("请输入密码!"); return false;
}else if(pass1 != pass){ alert("两次密码不一致!"); return false;
}else if(pass.length < 6){ alert("密码长度不能低于6位"); return false;}
load();
break;
case 3 :
break;
}
}
});
$("#send").click(function(){
check();
})
});
</script>
</body>
</html>

29
View/header.php Normal file
View File

@ -0,0 +1,29 @@
<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!--[if lt IE 9]>
<script src="http://apps.bdimg.com/libs/html5shiv/3.7/html5shiv.min.js"></script>
<script src="http://apps.bdimg.com/libs/respond.js/1.4.2/respond.min.js"></script>
<![endif]-->
<div class="navbar navbar-inverse">
<div class="navbar-inner">
<button type="button" class="btn btn-navbar visible-phone"
id="menu-toggler">
<span class="icon-bar"></span> <span class="icon-bar"></span> <span
class="icon-bar"></span>
</button>
<a class="brand" href="index.html">Minecraft用户中心</a>
<ul class="nav pull-right">
<li class="dropdown"><a href="#" class="dropdown-toggle hidden-phone"
data-toggle="dropdown">
已登陆玩家:<?=$_SESSION['username']?>
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><a href="<?=Url('user_public','logout')?>"><i class="icon-off"></i>
退出</a></li>
</ul></li>
</ul>
</div>
</div>

195
View/index.php Normal file
View File

@ -0,0 +1,195 @@
<?php
if(empty($_SESSION['username']))
header('Location:'.Url('index' , 'login'));
?>
<!DOCTYPE html>
<html>
<head>
<title><?=$title?></title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link rel="stylesheet" type="text/css" href="View/public/member.css" />
<!-- bootstrap -->
<link href="View/public/css/bootstrap/bootstrap.css" rel="stylesheet" />
<link href="View/public/css/bootstrap/bootstrap-responsive.css" rel="stylesheet" />
<link href="View/public/css/bootstrap/bootstrap-overrides.css" type="text/css" rel="stylesheet" />
<!-- libraries -->
<link href="View/public/css/lib/jquery-ui-1.10.2.custom.css" rel="stylesheet" type="text/css" />
<link href="View/public/css/lib/font-awesome.css" type="text/css" rel="stylesheet" />
<!-- global styles -->
<link rel="stylesheet" type="text/css" href="View/public/css/layout.css" />
<link rel="stylesheet" type="text/css" href="View/public/css/elements.css" />
<link rel="stylesheet" type="text/css" href="View/public/css/icons.css" />
<!-- this page specific styles -->
<link rel="stylesheet" href="View/public/css/compiled/index.css" type="text/css" media="screen" />
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
<!-- navbar -->
<?=load('header')?>
<!-- end navbar -->
<!-- sidebar -->
<? include 'left.php';?>
<!-- end sidebar -->
<!-- main container -->
<div class="content">
<div class="container-fluid">
<div id="pad-wrapper">
<div class="main">
<div class="main_head"></div>
<div class="mains">
<!--{left-->
<div class="right">
<!--头像 start{-->
<div class="body"><a href="javascript:void(0);"><img src="View/public/logo.jpg" width="100" height="100"></a></div>
<div class="center">
</div>
<!--}头像 end-->
</div>
<!--left end}-->
<div class="left">
<!--{帐户信息-->
<div class="user">
<p><strong>欢迎你,<?=$_SESSION['username']?></strong> <span class="c_999">(普通会员)</span> <a href="/e/space/?userid=3" class="zone">我的空间</a></p>
</div>
<!--说明 start{-->
<div class="sm" style="">
<table class="table table-hover">
<tbody>
<!-- row -->
<tr class="first">
<td>绑定邮箱 </td>
<td class="description" id="mail"> </td>
<td id="status"> </td>
</tr>
<!-- row -->
<tr>
<td>游戏密码</td>
<td class="pass" id="pass"></td>
<td><a href="<?=Url('index', 'pass')?>">点击更改密码</a></td>
</tr>
<!-- row -->
<tr>
<td>游戏币</td>
<td class="description" id="money"></td>
</tr>
</tbody>
</table>
</div>
<!--}说明 end-->
<!--}信息列表 end-->
</div>
</div>
<div class="main_foot"></div>
</div>
<!-- end table sample -->
</div>
</div>
</div>
<!-- scripts -->
<script src="View/public/js/jquery-latest.js"></script>
<script src="View/public/js/bootstrap.min.js"></script>
<script src="View/public/js/jquery-ui-1.10.2.custom.min.js"></script>
<!-- knob -->
<script src="View/public/js/jquery.knob.js"></script>
<!-- flot charts -->
<script src="View/public/js/jquery.flot.js"></script>
<script src="View/public/js/jquery.flot.stack.js"></script>
<script src="View/public/js/jquery.flot.resize.js"></script>
<script src="View/public/js/theme.js"></script>
<script type="text/javascript">
select();
status();
var data = "user=<?=$_SESSION['username']?>";
function select(){
$.ajax({
type:"GET",
dataType:"json",
data:data,
url:"<?=Url('mail_status', "select")?>",
success:function(rdata){
$.each(rdata.info,function(index,content)
{
if(rdata.status == "success")
{
$("#pass").html( content.password );
$("#mail").html( content.email )
// $("#mail").val(content.email);
}
}
)},
error:function(){
alert("数据读取失败");
return false;
}
});
}
function status(){
$.ajax({
type:"GET",
dataType:"json",
data:data,
url:"<?=Url('mail_status', "stat")?>",
success:function(data){
$.each(data.info,function(index,content)
{
if(content.statu == 0)
{
$("#status").html("邮箱验证状态:尚未验证");
}else{
$('#status').html("邮箱验证状态:已验证");
}
})
},
error:function(){
alert("邮箱验证状态读取失败");
return false;
}
})
}
window.onload = function(){
var html = $('.status').html();
//document.write(html);
if(html.indexOf("尚未验证") !== -1){
$('.status').html($('.status').html()+ " <a href='<?=Url('index', 'mail')?>' onclick='display()'>点击这里进行验证</a>")
}
}
current();
function current(){
$.ajax({
type:"GET",
dataType:"json",
data:{user:"<?=$_SESSION['username']?>"},
url:"<?=Url('user_current' , 'current')?>",
success:function(rdata){
$.each(rdata.info,function(index,content)
{
if(rdata.status == "success")
{
$("#money").html( content.balance );
}
})
},
error:function(){
alert("尚未查询到此用户的游戏币余额");
}
})
}
</script>
</body>
</html>

22
View/left.php Normal file
View File

@ -0,0 +1,22 @@
<div id="sidebar-nav">
<ul id="dashboard-menu">
<li class="active">
<a href="index.php">
<i class="icon-home"></i>
<span>首页</span>
</a>
</li>
<li>
<a href="<?=Url('index' , 'pass')?>">
<i class="icon-group"></i>
<span>修改密码</span>
</a>
</li>
<li>
<a href="<?=Url('index','mail')?>">
<i class="icon-picture"></i>
<span>验证邮箱</span>
</a>
</li>
</ul>
</div>

109
View/login.php Normal file
View File

@ -0,0 +1,109 @@
<!DOCTYPE html>
<html class="login-bg">
<head>
<title><?=$title?></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
<!-- bootstrap -->
<link href="View/public/css/bootstrap/bootstrap.css" rel="stylesheet" />
<link href="View/public/css/bootstrap/bootstrap-responsive.css" rel="stylesheet" />
<link href="View/public/css/bootstrap/bootstrap-overrides.css" type="text/css" rel="stylesheet" />
<link href="View/public/css/lib/bootstrap-wysihtml5.css" type="text/css" rel="stylesheet" />
<!-- global styles -->
<link rel="stylesheet" type="text/css" href="View/public/css/layout.css" />
<link rel="stylesheet" type="text/css" href="View/public/css/elements.css" />
<link rel="stylesheet" type="text/css" href="View/public/css/icons.css" />
<!-- libraries -->
<link rel="stylesheet" type="text/css" href="View/public/css/lib/font-awesome.css" />
<!-- this page specific styles -->
<link rel="stylesheet" href="View/public/css/compiled/signin.css" type="text/css" media="screen" />
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /></head>
<body>
<div class="row-fluid login-wrapper">
<a href="index.html">
<img class="logo" src="View/public/img/logo-white.png" />
</a>
<div class="span4 box">
<div class="content-wrap">
<h6>登录</h6>
<input class="span12" type="text" placeholder="游戏账号" id="username"/>
<input class="span12" type="password" placeholder="游戏密码" id="password"/>
<a href="<?=Url('index' , 'forge')?>" class="forgot">忘记了密码?</a>
<button type="button" id="submit" class="btn-glow primary login">登陆</button>
</div>
</div>
<div class="span4 no-account">
<p>还没注册?</p>
<a href="<?=Url('index' , 'register')?>">点击这里注册</a>
</div>
</div>
<!-- scripts -->
<script src="View/public/js/jquery-latest.js"></script>
<!--<script src="http://libs.useso.com/js/jquery/2.0.0/jquery.min.js"></script> -->
<script src="View/public/js/bootstrap.min.js"></script>
<script src="View/public/js/theme.js"></script>
<script src="View/public/js/jquery.uniform.min.js"></script>
<script src="View/public/js/select2.min.js"></script>
<!-- pre load bg imgs -->
<script type="text/javascript">
$(document).ready(function(){
$("#submit").click(function(){
var user = $("#username").val();
var pass = $("#password").val();
if(user==""){
alert("用户名不能为空!");
return false;
}
if(pass==""){
alert("密码不能为空!");
return false;
}
$.ajax({
type:"POST",
data:{user:user,pass:pass},
dataType:"json",
url:'<?=Url('user_public','login')?>',
success:function(rdata){
if(rdata.status=="success"){
alert(rdata.info);
window.location.href = "<?=Url('index','index')?>";
} else{
alert("登陆失败");
return false;
}
}
});
});
});
</script>
<script type="text/javascript">
// $(function () {
//
// // bg switcher
// var $btns = $(".bg-switch .bg");
// $btns.click(function (e) {
/// e.preventDefault();
// $btns.removeClass("active");
// $(this).addClass("active");
// var bg = $(this).data("img");
///
// $("html").css("background-image", "url('View/public/img/bgs/" + bg + "')");
// });
// });
</script>
</body>
</html>

202
View/mail/mailstatus-.php Normal file
View File

@ -0,0 +1,202 @@
<?php
if (empty ( $_SESSION ['username'] ))
header ( "Location:" . Url ( 'index', 'login' ) );
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta charset="utf-8">
<!-- Title and other stuffs -->
<title><?=$title?></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="author" content="">
<!-- Stylesheets -->
<link href="View/style/bootstrap.css" rel="stylesheet">
<!-- Font awesome icon -->
<link rel="stylesheet" href="View/style/font-awesome.css">
<!-- jQuery UI -->
<link rel="stylesheet" href="View/style/jquery-ui.css">
<!-- Calendar -->
<link rel="stylesheet" href="View/style/fullcalendar.css">
<!-- prettyPhoto -->
<link rel="stylesheet" href="View/style/prettyPhoto.css">
<!-- Star rating -->
<link rel="stylesheet" href="View/style/rateit.css">
<!-- Main stylesheet -->
<link href="View/style/style.css" rel="stylesheet">
<!-- Widgets stylesheet -->
<link href="View/style/widgets.css" rel="stylesheet">
<script src="View/js/jquery.js"></script>
<!-- jQuery -->
<script type="text/javascript">
$(document).ready(function(){
$("#submit").click(function(){
var mail = $("#mail").val();
var key = "mail=" + mail + "&user=<?=$_SESSION['username']?>";
// alert(key);
if(mail==""){
alert("邮箱地址不能为空!");
}
$.ajax({
type:"POST",
data:key,
dataType:"json",
url:'<?=Url('mail_status','sendmail')?>',
success:function(rdata){
if(rdata.status=="success"){
alert(mail.info);
}
},
error:function(){
alert("发送失败");
return false;
}
});
});
});
$(document).ready(function(){
$("#status").click(function(){
var mail = $("#mail").val();
var key = $("#verify").val();
var stat = "mail=" + mail + "&verify=" + key;
// document.write(key);
if(mail == ""){
alert("邮箱地址不能为空!");
return false;
}
if(key == ""){
alert("验证码不能为空");
return false;
}
$.ajax({
type:"POST",
dataType:"json",
data:stat,
url:"<?=Url('mail_status','mail')?>",
success:function(rdata){
if(rdata.info == "success"){
alert(rdata.info);
}else{
alert("验证失败 请重试");
return false;
}
}
})
})
})
</script>
<!-- HTML5 Support for IE -->
<!--[if lt IE 9]>
<script src="js/html5shim.js"></script>
<![endif]-->
<!-- Favicon -->
<link rel="shortcut icon" href="img/favicon/favicon.png">
</head>
<body>
<div class="navbar navbar-fixed-top bs-docs-nav" role="banner">
<div class="conjtainer">
<!-- Menu button for smallar screens -->
<div class="navbar-header">
<!-- Site name for smallar screens -->
<a href="index.html" class="navbar-brand hidden-lg">Minecraft玩家用户中心</a>
</div>
<!-- Navigation starts -->
<nav class="collapse navbar-collapse bs-navbar-collapse"
role="navigation">
<!-- Links -->
<ul class="nav navbar-nav pull-right">
<li class="dropdown pull-right"><a data-toggle="dropdown"
class="dropdown-toggle" href="#"> <i class="icon-user"></i> Admin
<b class="caret"></b>
</a> <!-- Dropdown menu -->
<ul class="dropdown-menu">
<li><a href="#"><i class="icon-user"></i> Profile</a></li>
<li><a href="#"><i class="icon-cogs"></i> Settings</a></li>
<li><a href="login.html"><i class="icon-off"></i> Logout</a></li>
</ul></li>
</ul>
</nav>
</div>
</div>
<header>
<div class="container">
<div class="row">
<!-- Logo section -->
<div class="col-md-4">
<!-- Logo. -->
<div class="logo">
<h1>
<a href="#">Minecraft<span class="bold"></span></a>
</h1>
<p class="meta">玩家用户中心</p>
</div>
<!-- Logo ends -->
</div>
</div>
</div>
</header>
<!-- Header ends -->
<!-- Main content starts -->
<div class="content">
<!-- Sidebar -->
<?=load("left")?>
<!-- Sidebar ends -->
<!-- Main bar -->
<div class="mainbar">
<!-- Page heading -->
<div class="page-head">
<h2 class="pull-left">
<i class="icon-list-alt"></i>邮箱验证
</h2>
<div class="clearfix"></div>
</div>
<!-- Page heading ends -->
<!-- Matter -->
<div class="row">
<div class="col-md-12">
<div class="widget">
<div class="widget-content">
<table class="table table-striped table-bordered table-hover">
<tbody>
<tr>
<td width=78>邮箱地址</td>
<td><input type="text" id="mail" class="form-control"></td>
<td><button onclick='' type="button" class="btn btn-danger"
id="submit">获取验证码</button></td>
</tr>
<tr>
<td>邮箱验证码</td>
<td><input type="text" id="verify" class="form-control"></td>
<td><button type="button" class="btn btn-danger" id="status">验证邮箱</button></td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
<!-- Matter ends -->
<div class="clearfix"></div>
</div>
</div>
<!-- Content ends -->
<?=load("footer")?>

166
View/mail/mailstatus.php Normal file
View File

@ -0,0 +1,166 @@
<?php
if (empty ( $_SESSION ['username'] ))
header ( 'Location:' . Url ( 'index', 'login' ) );
?>
<!DOCTYPE html>
<html>
<head>
<title><?=$title?></title>
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- bootstrap -->
<link href="View/public/css/bootstrap/bootstrap.css" rel="stylesheet" />
<link href="View/public/css/bootstrap/bootstrap-responsive.css"
rel="stylesheet" />
<link href="View/public/css/bootstrap/bootstrap-overrides.css"
type="text/css" rel="stylesheet" />
<!-- libraries -->
<link href="View/public/css/lib/bootstrap-wysihtml5.css" type="text/css"
rel="stylesheet" />
<link href="View/public/css/lib/uniform.default.css" type="text/css"
rel="stylesheet" />
<link href="View/public/css/lib/select2.css" type="text/css"
rel="stylesheet" />
<link href="View/public/css/lib/bootstrap.datepicker.css"
type="text/css" rel="stylesheet" />
<link href="View/public/css/lib/font-awesome.css" type="text/css"
rel="stylesheet" />
<!-- global styles -->
<link rel="stylesheet" type="text/css" href="View/public/css/layout.css" />
<link rel="stylesheet" type="text/css"
href="View/public/css/elements.css" />
<link rel="stylesheet" type="text/css" href="View/public/css/icons.css" />
<!-- this page specific styles -->
<link rel="stylesheet" href="View/public/css/compiled/form-showcase.css"
type="text/css" media="screen" />
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<!-- navbar -->
<?=load('header')?>
<!-- end navbar -->
<!-- sidebar -->
<?=load('left')?>
<!-- end sidebar -->
<!-- main container -->
<div class="content">
<div class="container-fluid">
<div id="pad-wrapper">
<div class="table-products section">
<div class="row-fluid form-wrapper">
<div class="container-fluid col-xs-12">
<div id="pad-wrapper" class="form-page">
<div class="row-fluid form-wrapper">
<!-- left column -->
<div class="span8 column">
<table class="table table-hover col-xs-12"
style="width: 570px;">
<tbody>
<!-- row -->
<tr class="first">
<td>邮箱地址</td>
<td class="description"><input style="width: 250px;"
class="span8 inline-input" id="mail" type="text" /></td>
<td><button style="width: 90px;" id="submit" type="button"
class="btn-glow primary btn-next">发送验证码</button></td>
</tr>
<!-- row -->
<tr>
<td>邮箱验证码</td>
<td class="pass"><input style="width: 250px;"
class="span8 inline-input" id="verify" type="text" /></td>
<td>
<button style="width: 80px;" id="status" type="button"
class="btn-glow primary btn-next">验证邮箱</button>
</td>
</tr>
</tbody>
</table>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- end table sample -->
</div>
</div>
</div>
<!-- end main container -->
<!-- scripts for this page -->
<script src="View/public/js/wysihtml5-0.3.0.js"></script>
<script src="View/public/js/jquery-latest.js"></script>
<script src="View/public/js/bootstrap.min.js"></script>
<script src="View/public/js/bootstrap-wysihtml5-0.0.2.js"></script>
<script src="View/public/js/bootstrap.datepicker.js"></script>
<script src="View/public/js/jquery.uniform.min.js"></script>
<script src="View/public/js/select2.min.js"></script>
<script src="View/public/js/theme.js"></script>
<script type="text/javascript">
$(document).ready(function(){
$("#submit").click(function(){
var mail = $("#mail").val();
if(mail==""){
alert("邮箱地址不能为空!");
}
$.ajax({
type:"POST",
data:{mail:mail,user:"<?=$_SESSION['username']?>",type:"status"},
dataType:"json",
url:'<?=Url('mail_status','sendmail')?>',
success:function(rdata){
switch(rdata.status){
case "success": alert(rdata.info); break;
case "error": alert(rdata.info); break;
}
}
});
});
});
$(document).ready(function(){
$("#status").click(function(){
var mail = $("#mail").val();
var key = $("#verify").val();
var stat = "mail=" + mail + "&verify=" + key;
// document.write(key);
if(mail == ""){
alert("邮箱地址不能为空!");
return false;
}
if(key == ""){
alert("验证码不能为空");
return false;
}
$.ajax({
type:"POST",
dataType:"json",
data:stat,
url:"<?=Url('mail_status','mail')?>",
success:function(rdata){
switch(rdata.status){
case "success" : alert(rdata.info); break;
case "error" : alert("验证失败 请重试"); return false; break;
}
}
})
})
})
</script>
</body>
</html>

204
View/message.php Normal file
View File

@ -0,0 +1,204 @@
<?php
if (empty ( $_SESSION ['username'] ))
header ( "Location:" . Url ( 'index', 'login' ) );
?>
<!DOCTYPE html>
<html>
<head>
<title><?=$title?></title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- bootstrap -->
<link href="View/public/css/bootstrap/bootstrap.css" rel="stylesheet" />
<link href="View/public/css/bootstrap/bootstrap-responsive.css"
rel="stylesheet" />
<link href="View/public/css/bootstrap/bootstrap-overrides.css"
type="text/css" rel="stylesheet" />
<!-- global styles -->
<link rel="stylesheet" type="text/css" href="View/public/css/layout.css" />
<link rel="stylesheet" type="text/css"
href="View/public/css/elements.css" />
<link rel="stylesheet" type="text/css" href="View/public/css/icons.css" />
<!-- libraries -->
<link rel="stylesheet" type="text/css"
href="View/public/css/lib/font-awesome.css" />
<!-- this page specific styles -->
<link rel="stylesheet" href="View/public/css/compiled/personal-info.css"
type="text/css" media="screen" />
<!-- open sans font -->
<link
href='http://fonts.useso.com/css?family=Open+Sans:300italic,400italic,600italic,700italic,800italic,400,300,600,700,800'
rel='stylesheet' type='text/css' />
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<!-- navbar -->
<div class="navbar navbar-inverse">
<div class="navbar-inner">
<a class="brand" href="index.php"><img src="img/logo.png" /></a>
<button type="button" class="btn btn-navbar" data-toggle="collapse"
data-target=".nav-collapse">
<span class="icon-bar"></span> <span class="icon-bar"></span> <span
class="icon-bar"></span>
</button>
<div class="nav-collapse collapse">
<ul class="nav">
<li class="active"><a href="index.php"> <i class="icon-home"></i> <span>首页</span>
</a></li>
<li><a href="<?=Url('index' , 'pass')?>"> <i class="icon-group"></i>
<span>修改密码</span>
</a></li>
<li><a href="<?=Url('index','mail')?>"> <i class="icon-picture"></i>
<span>验证邮箱</span>
</a></li>
</ul>
<ul class="nav pull-right">
<li class="dropdown"><a href="#"
class="dropdown-toggle hidden-phone" data-toggle="dropdown">
已登陆玩家:<?=$_SESSION['username']?>
<b class="caret"></b>
</a>
<ul class="dropdown-menu">
<li><a href="<?=Url('user_public','logout')?>"><i
class="icon-off"></i> 退出</a></li>
</ul></li>
</ul>
</div>
</div>
</div>
<!-- end navbar -->
<!-- main container .wide-content is used for this layout without sidebar :) -->
<div class="content wide-content col-xs-12 col-md-12 col-lg-12">
<div class="container-fluid">
<div class="settings-wrapper" id="pad-wrapper">
<!-- avatar column -->
<div class="span3 avatar-box">
<div class="personal-image">
<img src="View/public/tx.jpg" class="avatar img-circle" />
</div>
</div>
<!-- edit form column -->
<div class="span7 personal-info">
<h5 class="personal-title">Minecraft玩家信息</h5>
<form>
<div class="field-box">
<label>游戏帐号:</label> <input class="span5 inline-input" id="user"
type="text" value="<?=$_SESSION['username']?>"
disabled="disabled" />
</div>
<div class="field-box">
<label>邮箱地址:</label> <input class="span5 inline-input" id="mail"
type="text" value="" disabled="disabled" />
</div>
<div class="field-box">
<label>游戏币余额:</label> <input class="span5 inline-input" id="money"
type="text" value="" disabled="disabled" />
</div>
</form>
</div>
</div>
</div>
</div>
<!-- end main container -->
<!-- scripts -->
<script src="View/public/js/jquery-latest.js"></script>
<script src="View/public/js/bootstrap.min.js"></script>
<script src="View/public/js/theme.js"></script>
<script type="text/javascript">
select();
status();
var data = "user=<?=$_SESSION['username']?>";
function select(){
$.ajax({
type:"GET",
dataType:"json",
data:data,
url:"<?=Url('mail_status', "select")?>",
success:function(rdata){
$.each(rdata.info,function(index,content)
{
if(rdata.status == "success")
{
$("#mail").val(content.email);
}
}
)},
error:function(){
alert("数据读取失败");
return false;
}
});
}
function status(){
$.ajax({
type:"GET",
dataType:"json",
data:data,
url:"<?=Url('mail_status', "stat")?>",
success:function(data){
$.each(data.info,function(index,content)
{
if(content.statu == 0)
{
$("#status").html("邮箱验证状态:尚未验证");
}else{
$('#status').html("邮箱验证状态:已验证");
}
})
},
error:function(){
alert("邮箱验证状态读取失败");
return false;
}
})
}
window.onload = function(){
var html = $('.status').html();
//document.write(html);
if(html.indexOf("尚未验证") !== -1){
$('.status').html($('.status').html()+ " <a href='<?=Url('index', 'mail')?>' onclick='display()'>点击这里进行验证</a>")
}
}
current();
function current(){
$.ajax({
type:"GET",
dataType:"json",
data:{user:"<?=$_SESSION['username']?>"},
url:"<?=Url('user_current' , 'current')?>",
success:function(rdata){
$.each(rdata.info,function(index,content)
{
if(rdata.status == "success")
{
$("#money").val( content.balance );
}
})
},
error:function(){
alert("尚未查询到此用户的游戏币余额");
}
})
}
</script>
</body>
</html>

147
View/password.php Normal file
View File

@ -0,0 +1,147 @@
<?php
if (empty ( $_SESSION ['username'] ))
header ( 'Location:' . Url ( 'index', 'login' ) );
?>
<!DOCTYPE html>
<html>
<head>
<title><?=$title?></title>
<meta http-equiv="X-UA-Compatible" content="IE=edge,Chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<!-- bootstrap -->
<link href="View/public/css/bootstrap/bootstrap.css" rel="stylesheet" />
<link href="View/public/css/bootstrap/bootstrap-responsive.css"
rel="stylesheet" />
<link href="View/public/css/bootstrap/bootstrap-overrides.css"
type="text/css" rel="stylesheet" />
<!-- libraries -->
<link href="View/public/css/lib/bootstrap-wysihtml5.css" type="text/css"
rel="stylesheet" />
<link href="View/public/css/lib/uniform.default.css" type="text/css"
rel="stylesheet" />
<link href="View/public/css/lib/select2.css" type="text/css"
rel="stylesheet" />
<link href="View/public/css/lib/bootstrap.datepicker.css"
type="text/css" rel="stylesheet" />
<link href="View/public/css/lib/font-awesome.css" type="text/css"
rel="stylesheet" />
<!-- global styles -->
<link rel="stylesheet" type="text/css" href="View/public/css/layout.css" />
<link rel="stylesheet" type="text/css"
href="View/public/css/elements.css" />
<link rel="stylesheet" type="text/css" href="View/public/css/icons.css" />
<!-- this page specific styles -->
<link rel="stylesheet" href="View/public/css/compiled/form-showcase.css"
type="text/css" media="screen" />
<!--[if lt IE 9]>
<script src="http://html5shim.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<!-- navbar -->
<?=load('header')?>
<!-- end navbar -->
<!-- sidebar -->
<?=include 'left.php';?>
<!-- end sidebar -->
<!-- main container -->
<div class="content">
<div class="container-fluid col-xs-12">
<div id="pad-wrapper" class="form-page">
<div class="row-fluid form-wrapper">
<!-- left column -->
<div class="span8 column ">
<form>
<div class="field-box">
<label>游戏帐号:</label> <input class="span8 inline-input"
id="username" type="text" disabled="disabled"
value="<?=$_SESSION['username']?>" />
</div>
<div class="field-box">
<label>旧游戏密码:</label> <input class="span8 inline-input"
id="oldpass" placeholder="" type="text" />
</div>
<div class="field-box">
<label>新游戏密码:</label> <input class="span8 inline-input"
id="newpass" type="password" value="" />
</div>
<div class="field-box">
<label>重复输入游戏密码:</label> <input class="span8 inline-input"
id="cfmpass" type="text" value="" />
</div>
<button type="button" id='cpass'
class="btn-glow primary btn-next">更改游戏密码</button>
</form>
</div>
</div>
</div>
</div>
</div>
<!-- end main container -->
<!-- scripts for this page -->
<script src="View/public/js/wysihtml5-0.3.0.js"></script>
<script src="View/public/js/jquery-latest.js"></script>
<script src="View/public/js/bootstrap.min.js"></script>
<script src="View/public/js/bootstrap-wysihtml5-0.0.2.js"></script>
<script src="View/public/js/bootstrap.datepicker.js"></script>
<script src="View/public/js/jquery.uniform.min.js"></script>
<script src="View/public/js/select2.min.js"></script>
<script src="View/public/js/theme.js"></script>
<script>
window.onload = function(){
$.ajax({
type:"GET",
dataType:"json",
data:{user:"<?=$_SESSION['username']?>"},
url:"<?=Url('mail_status','stat')?>",
success:function(check){
$.each(check.info,function(i,o){
switch(check.status){
case "success":
switch(o.statu) {
case "1" : return true; break;
case "0" : alert("无权操作此页面"); location.href='<?=Url('index','index')?>'; break;
}
break;
case "error": alert("读取验证状态失败"); break;
}
})
}
})
}
$("#cpass").click(function(){
if($("#oldpass").val() == ""){
alert("请输入密码");
return false;
}else if($("#newpass").val() == ""){
alert("请输入密码");
return false;
}else if($("#cfmpass").val() == ""){
alert("请输入密码");
return false;
}
$.ajax({ type:"POST",
url:"<?=Url('user_public','pass')?>", data:{ user:$("#username").val(), pass:$("#oldpass").val(), newpass:$("#newpass").val()}, dataType:"json" ,
success:function(rdata){
switch(rdata.status){
case "success": alert(rdata.info); window.location.href = "<?=Url('index','login')?>"; break;
case "error": alert(rdata.info); return false; break;
}
}
})
})
</script>
</body>
</html>

View File

@ -0,0 +1,369 @@
/* Some overrides from default bootstrap styles */
h1,h2,h3,h4,h5,h6{
font-weight: normal;
}
/* COMPONENTS */
/* labels */
.label, .badge {font-weight: lighter;}
.label-success, .badge-success {
background-color: rgb(129, 189, 130);
}
.label-info, .badge-info {
background-color: rgb(104, 163, 213);
}
/* alerts */
.alert [class^="icon-"],
.alert [class*=" icon-"] {
font-size: 27px;
position: relative;
top: 4px;
margin-bottom: 8px;
margin-right: 17px;
display: inline-block;
color: #f1c359;
}
.alert-success [class^="icon-"],
.alert-success [class*=" icon-"] {
color: #81ad53;
}
.alert-info [class^="icon-"],
.alert-info [class*=" icon-"] {
color: #4993c6;
}
.alert-error [class^="icon-"],
.alert-error [class*=" icon-"] {
color: #d5393e;
}
/* code*/
code {
color: rgb(78, 153, 223);
}
/* HTML ELEMENTS */
input,
button,
select,
textarea {
font-family: "Open Sans", Arial;
}
input[type="text"],
input[type="password"],
textarea {
font-size: 13px;
-webkit-box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.075);
-moz-box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.075);
box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.075);
/*border: none;
-webkit-box-shadow: inset rgba(112, 112, 112, 0.3) 0 1px 1px,inset rgba(0,0,0,0.3) 0 0 1px,rgba(255,255,255,0.4) 0 1px 0;
-moz-box-shadow: inset rgba(112, 112, 112, 0.3) 0 1px 1px,inset rgba(0,0,0,0.3) 0 0 1px,rgba(255,255,255,0.4) 0 1px 0;
box-shadow: inset rgba(112, 112, 112, 0.3) 0 1px 1px,inset rgba(0,0,0,0.3) 0 0 1px,rgba(255,255,255,0.4) 0 1px 0;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
-ms-border-radius: 4px;
-o-border-radius: 4px;
border-radius: 4px;*/
}
.inline-input input[type="text"],
.inline-input input[type="password"],
input[type="text"].inline-input,
input[type="password"].inline-input {
background: #fff;
border-top: 0 none;
border-left: 0 none;
border-right: 0 none;
border-bottom: 1px solid #d0dde9;
border-radius: 0;
box-shadow: none;
border-color: #dee3ea;
}
.inline-input input[type="text"]:focus,
.inline-input input[type="password"]:focus,
input[type="text"].inline-input:focus,
input[type="password"].inline-input:focus {
box-shadow: none;
border-color: #5d6a80;
}
.inline-input input[type="text"]:hover,
.inline-input input[type="password"]:hover,
input[type="text"].inline-input:hover,
input[type="password"].inline-input:hover {
border-color: #959fb0;
}
input[type="text"]:focus,
input[type="password"]:focus,
textarea:focus{
border-color: #A2CEF0;
-webkit-box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.075), 0 0 4px rgba(82, 168, 236, 0.6);
-moz-box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.075), 0 0 4px rgba(82, 168, 236, 0.6);
box-shadow: inset 0 0px 1px rgba(0, 0, 0, 0.075), 0 0 4px rgba(82, 168, 236, 0.6);
/*-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 4px rgba(82, 168, 236, 0.6);
-moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 4px rgba(82, 168, 236, 0.6);
box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 4px rgba(82, 168, 236, 0.6);*/
}
input[type="reset"]{
text-transform: uppercase;
border:0 none;
background: none;
text-decoration: underline;
font-size: 12px;
}
input[type="password"]{
font-size: 16px;
letter-spacing: 1px;
}
textarea{
background: #fff;
border-color: #dee3ea;
}
select{
margin: 0;
height: 24px;
border-color: #d0dde9;
border-radius: 2px;
font-size: 13px;
}
input[type="file"] {
font-size: 12px;
line-height: 12px;
}
input[disabled], textarea[disabled], input[readonly], textarea[readonly] {
color: rgb(177, 177, 177);
}
/* native placeholders */
input:-moz-placeholder,
textarea:-moz-placeholder {
color: #9ba0a5;
font-family: "Open Sans", Arial;
font-size: 13px;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
color: #9ba0a5;
font-family: "Open Sans", Arial;
font-size: 12px;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
color: #9ba0a5;
font-family: "Open Sans", Arial;
font-size: 12px;
}
/* PREPEND & APPEND INPUT */
.input-append input,
.input-prepend input,
.input-append .uneditable-input,
.input-prepend .uneditable-input {
border: 1px solid #d6e2eb;
}
.input-append .add-on,
.input-prepend .add-on {
background-color: #f2f5f9;
border: 1px solid #d6e2eb;
padding: 4px 8px;
font-size: 13px;
}
/* NAVBAR */
.navbar-inverse {
margin-bottom: 0px;
}
.navbar-inverse .navbar-inner {
border-radius: 0px;
border-bottom: 1px solid #191e23;
background: #2c3742; /* Old browsers */
background: -moz-linear-gradient(top, #2c3742 0%, #28303a 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#2c3742), color-stop(100%,#28303a)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #2c3742 0%,#28303a 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #2c3742 0%,#28303a 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #2c3742 0%,#28303a 100%); /* IE10+ */
background: linear-gradient(to bottom, #2c3742 0%,#28303a 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2c3742', endColorstr='#28303a',GradientType=0 ); /* IE6-9 */
}
.navbar-inverse .btn-navbar {
float: left;
margin-top: 10px;
}
.navbar-inverse .brand {
color: #ffffff;
text-transform: uppercase;
font-weight: lighter;
padding: 12px 20px 12px;
}
.navbar-inverse .brand strong {
font-weight: normal;
}
.navbar-inverse .nav > li > a {
padding: 13px 15px 8px;
border-left: 1px solid #101417;
color: rgb(214, 214, 214);
outline: 0px;
height: 25px;
transition: background .1s linear;
-moz-transition: background .1s linear; /* Firefox 4 */
-webkit-transition: background .1s linear; /* Safari and Chrome */
-o-transition: background .1s linear; /* Opera */
}
.navbar-inverse .nav > li > a:hover {
background: rgba(25, 31, 36,0.6);
}
/* TODO: deprecated mobile-menu, ya no se usa, remover despues de migrar todos los htmls al nuevo diseno */
.navbar-inverse .mobile-menu .nav > li > a {
color: #fff;
border-left: 0px;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-submenu:hover > a,
.dropdown-submenu:focus > a {
background: rgb(60, 91, 121) !important;
}
/* PAGINATION */
.pagination {
margin: 8px 0;
}
.pagination ul > li:last-child > a,
.pagination ul > li:last-child > span,
.pagination ul > li:first-child > a,
.pagination ul > li:first-child > span{
font-size: 23px;
color: #bcc6d3;
padding: 1px 9px 3px 9px;
}
.pagination ul > li:last-child > a:hover,
.pagination ul > li:last-child > span:hover,
.pagination ul > li:first-child > a:hover,
.pagination ul > li:first-child > span:hover{
color: #4f4f4f;
}
.pagination ul > li > a, .pagination ul > li > span{
border-color: #d0dde9;
color: #4f4f4f;
font-weight: 600;
padding: 2px 12px;
box-shadow: 0px 1px 0px 0px #efefef;
transition: background-color .1s linear;
-moz-transition: background-color .1s linear; /* Firefox 4 */
-webkit-transition: background-color .1s linear; /* Safari and Chrome */
-o-transition: background-color .1s linear; /* Opera */
}
.pagination ul > li > a.active{
color: #3b9ff3;
}
.pagination ul > li > a:hover,
.pagination ul > li > a:focus,
.pagination ul > .active > a,
.pagination ul > .active > span {
background-color: #f5f5f5;
}
/* pagination inverse */
.pagination.inverse ul > li:last-child > a,
.pagination.inverse ul > li:last-child > span,
.pagination.inverse ul > li:first-child > a,
.pagination.inverse ul > li:first-child > span{
font-size: 23px;
color: #fff;
padding: 1px 9px 3px 9px;
}
.pagination.inverse ul > li:last-child > a:hover,
.pagination.inverse ul > li:last-child > span:hover,
.pagination.inverse ul > li:first-child > a:hover,
.pagination.inverse ul > li:first-child > span:hover{
color: #fff;
}
.pagination.inverse ul > li > a, .pagination.inverse ul > li > span{
border-top-color: #333e4a;
border-bottom-color: #333e4a;
border-right-color: #566676;
border-left: 0px;
color: rgb(241, 241, 241);
font-weight: 600;
padding: 2px 12px;
background: #333e4a;
transition: background-color .1s linear;
-moz-transition: background-color .1s linear; /* Firefox 4 */
-webkit-transition: background-color .1s linear; /* Safari and Chrome */
-o-transition: background-color .1s linear; /* Opera */
}
.pagination.inverse ul > li > a.active{
color: #3b9ff3;
background-color: #212b36;
border-right-color: #212b36;
margin-left: -1px;
}
.pagination.inverse ul > li > a:hover,
.pagination.inverse ul > li > a:focus,
.pagination.inverse ul > .active > a,
.pagination.inverse ul > .active > span {
background-color: #212b36;
}
/* TABLES*/
.table thead{
border-top:1px solid #dee3ea;
}
.table-hover tbody tr:hover > td,
.table-hover tbody tr:hover > th {
background-color: #f5fafc;
}
.table th.sortable {
cursor: pointer;
}
.table th.sortable:hover {
text-decoration: underline;
}
.table thead th{
font-weight: bold;
position: relative;
padding-bottom: 20px;
padding-top: 5px;
text-transform: uppercase;
font-size: 11px;
vertical-align: top;
}
.table td{
color: #526273;
border-top-color: #edf2f7;
vertical-align: middle;
}
.table th.align-right,
.table td.align-right {
text-align: right;
padding-right: 10px !important;
}
table tr.first td{
border-top: 0 none;
}
table th span.line{
position: absolute;
top: 0;
left: -8px;
border-left: 1px solid #dee3ea;
height: 10px;
}

File diff suppressed because it is too large Load Diff

6158
View/public/css/bootstrap/bootstrap.css vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,12 @@
.editor-header {
margin-top: -10px;
}
#editor {
height: 525px;
width: 100%;
border: 1px solid #DDD;
border-radius: 4px;
border-bottom-right-radius: 0px;
margin-bottom: 100px;
margin-top: 25px;
}

View File

@ -0,0 +1,80 @@
#calendar {
width: 100%;
margin: 0 auto;
margin-top: -10px; }
.calendar-wrapper {
position: relative;
/* calendar-wrapper popup */ }
.calendar-wrapper .popup {
position: absolute;
background: #fff;
text-align: left;
width: 260px;
border: 1px solid #b2b4b6;
box-shadow: 0px 0px 7px -1px rgba(0, 0, 0, 0.35);
border-radius: 4px;
padding: 14px 20px 14px 20px;
z-index: 999;
left: 635px;
top: 50px; }
.calendar-wrapper .popup h5 {
text-transform: uppercase;
font-weight: 600;
margin: 0 0 21px 0;
font-size: 14px;
color: #7e91aa; }
.calendar-wrapper .popup .field {
margin-bottom: 7px; }
.calendar-wrapper .popup .field .date {
margin-left: 15px; }
.calendar-wrapper .popup .field .event-input {
position: relative;
top: 5px;
margin-left: 10px;
width: 70%; }
.calendar-wrapper .popup input[type="submit"] {
float: right;
margin-right: 15px; }
.calendar-wrapper .popup i.close-pop {
position: absolute;
right: 11px;
cursor: pointer;
top: 12px;
opacity: 0.6;
transition: opacity .1s linear;
-moz-transition: opacity .1s linear;
-webkit-transition: opacity .1s linear;
-o-transition: opacity .1s linear; }
.calendar-wrapper .popup i.close-pop:hover {
opacity: 1; }
.calendar-wrapper .popup .pointer {
position: absolute;
bottom: 0;
left: 46%; }
.calendar-wrapper .popup .pointer .arrow,
.calendar-wrapper .popup .pointer .arrow_border {
border-color: #fff transparent transparent transparent;
border-width: 11px;
border-style: solid;
font-size: 0;
left: 50%;
line-height: 0;
margin: 0 auto;
position: absolute;
top: 0;
width: 0;
z-index: 1002;
left: 0;
margin-left: 45%; }
.calendar-wrapper .popup .pointer .arrow_border {
border-color: #888888 transparent transparent transparent;
border-width: 12px;
margin-left: -1px;
border-style: solid;
z-index: 1001;
top: 0px; }
@media (max-width: 1000px) {
.calendar-wrapper .popup {
display: none; } }

View File

@ -0,0 +1,23 @@
/* Stats chart */
#statsChart {
width: 97%;
height: 250px;
margin-top: 35px; }
/* specific chart styles */
.legendLabel {
font-size: 12px;
font-family: "Open Sans", Arial;
color: #9da3a9; }
#pad-wrapper .section {
border-top: 1px solid #edeff1;
margin-top: 70px;
padding-top: 45px;
box-shadow: inset 0px 3px 4px -1px #fafafa; }
#pad-wrapper h4.title {
margin-bottom: 45px; }
#pad-wrapper .section .chart h5 {
margin-bottom: 10px; }
/*Responsive*/

View File

@ -0,0 +1,580 @@
/* THIS ARE ALL NEW EXTRA ELEMENTS BESIDE TWITTER BOOTSTRAP */
/* glow btn group */
.btn-group.large button.glow {
padding: 6px 15px;
font-size: 13px; }
.btn-group.large i {
font-size: 13px; }
.btn-group .dropdown-menu > li > a {
font-size: 12px; }
.btn-group button.glow {
font-size: 11px;
font-family: "Open sans", Helvetica, Arial;
color: #313d4c;
font-weight: 700;
padding: 5px 10px;
line-height: 14px;
background: #fefefe;
/* Old browsers */
background: -moz-linear-gradient(top, #fefefe 0%, #f7f7f7 100%);
/* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fefefe), color-stop(100%, #f7f7f7));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #fefefe 0%, #f7f7f7 100%);
/* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #fefefe 0%, #f7f7f7 100%);
/* Opera 11.10+ */
background: -ms-linear-gradient(top, #fefefe 0%, #f7f7f7 100%);
/* IE10+ */
background: linear-gradient(to bottom, #fefefe 0%, #f7f7f7 100%);
/* W3C */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fefefe', endColorstr='#f7f7f7',GradientType=0 );
/* IE6-9 */
border: 1px solid #d0dde9;
transition: color .1s linear;
-moz-transition: color .1s linear;
/* Firefox 4 */
-webkit-transition: color .1s linear;
/* Safari and Chrome */
-o-transition: color .1s linear;
/* Opera */ }
.btn-group button.glow.large {
font-size: 12px; }
.btn-group button.glow:active, .btn-group button.glow.active {
-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset;
-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset;
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset;
color: #a8b5c7; }
.btn-group button.glow:hover {
color: #a8b5c7; }
.btn-group button.glow.left {
border-radius: 4px 0 0 4px;
border-right: 0; }
.btn-group button.glow.middle {
border-right: 0; }
.btn-group button.glow.right {
border-radius: 0 4px 4px 0; }
.btn-group > .btn.glow {
font-size: 12px;
font-weight: 500;
padding: 6px 14px;
color: #313d4c;
line-height: 14px;
border: 1px solid #d0dde9; }
.btn-group > .btn.glow:hover {
background: #fefefe;
background: -moz-linear-gradient(top, #fefefe 0%, #f7f7f7 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #fefefe), color-stop(100%, #f7f7f7));
background: -webkit-linear-gradient(top, #fefefe 0%, #f7f7f7 100%);
background: -o-linear-gradient(top, #fefefe 0%, #f7f7f7 100%);
background: -ms-linear-gradient(top, #fefefe 0%, #f7f7f7 100%);
background: linear-gradient(to bottom, #fefefe 0%, #f7f7f7 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fefefe', endColorstr='#f7f7f7',GradientType=0 ); }
.btn-group > .btn.glow.dropdown-toggle {
padding: 6px 9px; }
.btn-group > .btn.glow .caret {
margin-top: 6px; }
/* FLAT BUTTONS */
.btn-flat {
display: inline-block;
margin: 0;
line-height: 15px;
vertical-align: middle;
font-size: 12px;
text-shadow: none;
box-shadow: none;
background-image: none;
border: 0 none;
color: #fff;
font-weight: 500;
border-radius: 4px;
background: #4387bf;
border: 1px solid #3883c0;
cursor: pointer;
padding: 7px 14px;
-webkit-transition: all .1s linear;
-moz-transition: all .1s linear;
transition: all .1s linear; }
.btn-flat [class^="icon-"],
.btn-flat [class*=" icon-"] {
margin-right: 3px; }
.btn-flat:active {
-webkit-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.3) inset;
-moz-box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.3) inset;
box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.3) inset;
background: #30628b;
opacity: 1; }
.btn-flat:hover {
text-decoration: none;
opacity: 0.87;
color: #fff; }
.btn-flat.large {
font-size: 13px;
padding: 10px 16px; }
.btn-flat.small {
font-size: 11px;
padding: 5px 9px; }
.btn-flat.inverse {
background: #343e4b;
border: 1px solid #000; }
.btn-flat.inverse:active {
background: #000; }
.btn-flat.gray {
background: #7e91aa;
border: 1px solid #888e97; }
.btn-flat.gray:active {
background: #5d6b7e;
color: #f3f3f3; }
.btn-flat.primary {
background: #3b9ff3;
border: 1px solid #3596e7; }
.btn-flat.primary:active {
background: #2b76b6;
color: #edf6fd; }
.btn-flat.success {
background: #96bf48;
border: 1px solid #7ea13d;
text-shadow: 1px 1px 0px rgba(0, 0, 0, 0.3);
font-weight: 600; }
.btn-flat.white {
color: #626263;
background: #fff;
border: 1px solid #d0dde9; }
.btn-flat.white:hover {
border-color: #bbb;
color: #000; }
.btn-flat.info {
background: #5ba0a3;
color: #fff;
border-color: #5ba0a3; }
.btn-flat.info:active {
background: #30696c; }
.btn-flat.danger {
background: #b85e80;
border-color: #b85e80;
color: #fff; }
.btn-flat.danger:active {
background: #6e354a; }
.btn-flat.icon {
padding: 7px 10px;
color: #1a2129;
background: #e6ebf3;
border: 1px solid #d8dde4;
box-shadow: 0px 1px 0px 0px rgba(255, 255, 255, 0.4) inset, 0px 1px 0px 0px #cccccc; }
.btn-flat.icon:active {
background: #e0e6ef;
-webkit-box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.3) inset;
-moz-box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.3) inset;
box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.3) inset; }
.btn-flat.icon i {
font-size: 14px; }
/* GLOW BUTTONS */
.btn-glow {
font-size: 13px;
border-radius: 4px;
color: #333;
padding: 5px 10px;
text-align: center;
box-shadow: 0px 1px 0px 0px rgba(255, 255, 255, 0.2) inset, 0px 1px 0px 0px #cccccc;
display: inline-block;
border: 1px solid #e5e5e5;
vertical-align: middle;
cursor: pointer;
background: #ffffff;
background: -moz-linear-gradient(top, white 0%, #eef0f1 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #eef0f1));
background: -webkit-linear-gradient(top, white 0%, #eef0f1 100%);
background: -o-linear-gradient(top, white 0%, #eef0f1 100%);
background: -ms-linear-gradient(top, white 0%, #eef0f1 100%);
background: linear-gradient(to bottom, white 0%, #eef0f1 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#eef0f1',GradientType=0 ); }
.btn-glow:hover {
text-decoration: none;
background: #ffffff;
background: -moz-linear-gradient(top, white 0%, #e6e6e6 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #e6e6e6));
background: -webkit-linear-gradient(top, white 0%, #e6e6e6 100%);
background: -o-linear-gradient(top, white 0%, #e6e6e6 100%);
background: -ms-linear-gradient(top, white 0%, #e6e6e6 100%);
background: linear-gradient(to bottom, white 0%, #e6e6e6 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#E6E6E6',GradientType=0 ); }
.btn-glow.large {
font-size: 14px;
padding: 9px 16px; }
.btn-glow.small {
font-size: 11px;
padding: 4px 7px; }
.btn-glow:active, .btn-glow.active {
-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset !important;
-moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset !important;
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.2) inset !important; }
.btn-glow [class^="icon-"],
.btn-glow [class*=" icon-"] {
margin-right: 3px; }
.btn-glow i.shuffle {
top: 2px; }
.btn-glow.inverse {
border-color: #000;
color: #fff;
box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, 0.5);
background: #353f4c;
/* Old browsers */
background: -moz-linear-gradient(top, #353f4c 0%, #222a33 100%);
/* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #353f4c), color-stop(100%, #222a33));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #353f4c 0%, #222a33 100%);
/* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #353f4c 0%, #222a33 100%);
/* Opera 11.10+ */
background: -ms-linear-gradient(top, #353f4c 0%, #222a33 100%);
/* IE10+ */
background: linear-gradient(to bottom, #353f4c 0%, #222a33 100%);
/* W3C */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#353f4c', endColorstr='#222a33',GradientType=0 );
/* IE6-9 */ }
.btn-glow.inverse:hover {
background: -webkit-linear-gradient(top, #434c58 0%, #424a53 100%); }
.btn-glow.primary {
border-color: #2480c2;
color: #fff;
text-shadow: rgba(0, 0, 0, 0.35) 0 1px 0;
box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, 0.5);
background: #54b3ff;
background: -moz-linear-gradient(top, #54b3ff 0%, #0078d9 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #54b3ff), color-stop(100%, #0078d9));
background: -webkit-linear-gradient(top, #54b3ff 0%, #0078d9 100%);
background: linear-gradient(#54b3ff, #0078d9);
background: -o-linear-gradient(top, #54b3ff 0%, #0078d9 100%);
background: -ms-linear-gradient(top, #54b3ff 0%, #0078d9 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#54b3ff', endColorstr='#0078d9',GradientType=0 ); }
.btn-glow.primary:hover {
background: #389beb;
background: -moz-linear-gradient(top, #389beb 0%, #0078d9 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #389beb), color-stop(100%, #0078d9));
background: -webkit-linear-gradient(top, #389beb 0%, #0078d9 100%);
background: linear-gradient(#389beb, #0078d9);
background: -o-linear-gradient(top, #389beb 0%, #0078d9 100%);
background: -ms-linear-gradient(top, #389beb 0%, #0078d9 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='rgb(56, 155, 235)', endColorstr='#0078d9',GradientType=0 ); }
.btn-glow.primary:active {
background: #389beb;
background: -moz-linear-gradient(top, #389beb 0%, #0078d9 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #389beb), color-stop(100%, #0078d9));
background: -webkit-linear-gradient(top, #389beb 0%, #0078d9 100%);
background: linear-gradient(#389beb, #0078d9);
background: -o-linear-gradient(top, #389beb 0%, #0078d9 100%);
background: -ms-linear-gradient(top, #389beb 0%, #0078d9 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='rgb(56, 155, 235)', endColorstr='#0078d9',GradientType=0 ); }
.btn-glow.primary[disabled] {
border: 0px;
box-shadow: none !important;
background: #81b7e2 !important;
cursor: default; }
.btn-glow.success {
background: #96bf48;
background: linear-gradient(to bottom, #a9d651 0%, #96bf48 100%);
box-shadow: inset 0px 1px 0px 0px rgba(255, 255, 255, 0.5);
border: 1px solid #99bd56;
text-shadow: rgba(0, 0, 0, 0.24706) 0px 1px 0px;
color: #fff; }
/* Switch slider button */
.slider-frame {
position: relative;
display: inline-block;
margin: 0 auto;
width: 67px;
background-color: #d5dde4;
height: 23px;
-moz-border-radius: 15px;
border-radius: 15px;
box-shadow: inset 0px 1px 5px 0px rgba(0, 0, 0, 0.3); }
.slider-frame.info {
background-color: rgba(92, 160, 163, 0.9); }
.slider-frame.success {
background-color: rgba(151, 192, 73, 0.9); }
.slider-frame.primary {
background-color: rgba(91, 158, 214, 0.9); }
.slider-frame.danger {
background-color: #d94774; }
.slider-button {
display: block;
width: 37px;
height: 21px;
line-height: 23px;
background: #fff;
border: 1px solid #d0dde9;
-moz-border-radius: 9px;
border-radius: 9px;
-webkit-transition: all 0.25s ease-in-out;
-moz-transition: all 0.25s ease-in-out;
transition: all 0.25s ease-in-out;
color: #000;
font-family: sans-serif;
font-size: 11px;
font-weight: bold;
text-align: center;
cursor: pointer; }
.slider-button.on {
margin-left: 29px; }
/* Custom Select */
.ui-select {
width: 137px;
margin-left: 0px !important;
vertical-align: middle;
min-width: 100px;
height: 25px;
min-height: 25px !important;
position: relative;
overflow: hidden;
background: #ffffff;
background: url("../../img/select-bg.png"), -moz-linear-gradient(top, white 0%, #f0f1f2 100%);
background: url("../../img/select-bg.png"), -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(100%, #f0f1f2));
background: url("../../img/select-bg.png"), -webkit-linear-gradient(top, white 0%, #f0f1f2 100%);
background: url("../../img/select-bg.png"), -o-linear-gradient(top, white 0%, #f0f1f2 100%);
background: url("../../img/select-bg.png"), -ms-linear-gradient(top, white 0%, #f0f1f2 100%);
background: url("../../img/select-bg.png"), linear-gradient(to bottom, white 0%, #f0f1f2 100%);
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f0f1f2',GradientType=0 );
display: inline-block;
border: 1px solid #cfdde8;
border-radius: 5px;
background-position: 94%;
background-repeat: no-repeat; }
.ui-select select {
line-height: inherit;
width: 135%;
font-family: "Open Sans", Arial;
font-size: 12px;
border: none;
padding: 1px 30px 0px 7px;
height: 25px;
-webkit-appearance: none;
color: #737f8d;
text-shadow: 1px 1px 1px #fff;
background: transparent; }
/* jQuery UI Slider overrides */
.ui-slider {
border: 1px solid #cfdde8;
height: 4px;
background: #edeeef;
box-shadow: inset 0px -3px 7px 0px #fff; }
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
background: url("../../img/jquery-ui/slider-handler.png") no-repeat;
border: none;
width: 16px;
height: 17px;
top: -6px;
outline: 0; }
.ui-slider.vertical-handler .ui-state-default {
background: url("../../img/jquery-ui/slider-handler2.png") no-repeat;
width: 11px;
height: 21px;
top: -8px; }
.ui-slider .ui-slider-range {
border: 1px solid #30a1ec;
background: #4faeef;
box-shadow: inset 0px 0px 3px 0px white; }
.ui-slider.success .ui-slider-range {
background: #96bf48;
border: 1px solid #79af5e; }
.ui-slider.info .ui-slider-range {
background: #5ba0a3;
border: 1px solid #5ba0a3; }
/* Custom Dialog */
.pop-dialog {
z-index: 10000;
display: inline-block; }
.pop-dialog.is-visible {
display: block;
-webkit-animation: reveal .2s ease-out;
-moz-animation: reveal .2s ease-out;
animation: reveal .2s ease-out; }
.pop-dialog .pointer {
position: relative;
top: -22px;
/* pop-dialog with pointer to the right */ }
.pop-dialog .pointer .arrow,
.pop-dialog .pointer .arrow_border {
border-color: transparent transparent #fff;
border-style: solid;
border-width: 8px;
cursor: pointer;
position: absolute;
top: 7px;
z-index: 1002;
left: 25px; }
.pop-dialog .pointer .arrow_border {
border-color: transparent transparent #a1a1a1;
border-width: 9px;
top: 4px;
z-index: 1001;
left: 24px; }
.pop-dialog .pointer.right .arrow {
left: auto;
right: 25px; }
.pop-dialog .pointer.right .arrow_border {
left: auto;
right: 24px; }
.pop-dialog .body {
width: auto;
background-color: #fff;
border: 1px solid #a1a1a1;
border-radius: 5px;
box-shadow: 0px 0px 9px 0px #d6d6d6;
padding: 10px; }
/* Dropdown with dialog */
.ui-dropdown {
position: relative;
display: inline-block; }
.ui-dropdown .head {
color: #272727;
font-size: 13px;
position: relative;
border: 1px solid #dedede;
border-radius: 4px;
padding: 4px 46px 4px 12px;
text-shadow: 1px 1px 1px #fff;
box-shadow: 1px 1px 4px 0px #efefef;
cursor: pointer;
background: #ffffff;
/* Old browsers */
background: -moz-linear-gradient(top, white 0%, #f8f8f8 47%, #f4f4f4 100%);
/* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(47%, #f8f8f8), color-stop(100%, #f4f4f4));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, white 0%, #f8f8f8 47%, #f4f4f4 100%);
/* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, white 0%, #f8f8f8 47%, #f4f4f4 100%);
/* Opera 11.10+ */
background: -ms-linear-gradient(top, white 0%, #f8f8f8 47%, #f4f4f4 100%);
/* IE10+ */
background: linear-gradient(to bottom, white 0%, #f8f8f8 47%, #f4f4f4 100%);
/* W3C */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#f4f4f4',GradientType=0 );
/* IE6-9 */ }
.ui-dropdown .head:hover, .ui-dropdown .head.active {
background: #fefefe;
/* Old browsers */
background: -moz-linear-gradient(top, white 0%, #fdfdfd 47%, #f1f1f1 100%);
/* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, white), color-stop(47%, #fdfdfd), color-stop(100%, #f1f1f1));
/* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, white 0%, #fdfdfd 47%, #f1f1f1 100%);
/* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, white 0%, #fdfdfd 47%, #f1f1f1 100%);
/* Opera 11.10+ */
background: -ms-linear-gradient(top, white 0%, #fdfdfd 47%, #f1f1f1 100%);
/* IE10+ */
background: linear-gradient(to bottom, white 0%, #fdfdfd 47%, #f1f1f1 100%);
/* W3C */
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffff', endColorstr='#F1F1F1',GradientType=0 );
/* IE6-9 */ }
.ui-dropdown .head:active, .ui-dropdown .head.active {
box-shadow: none;
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05); }
.ui-dropdown .head i.arrow-down {
position: absolute;
top: 12px;
right: 16px; }
.ui-dropdown .dialog {
display: none;
position: absolute;
right: 0px;
top: 42px;
z-index: 100; }
.ui-dropdown .dialog.is-visible {
display: block;
-webkit-animation: reveal .2s ease-out;
-moz-animation: reveal .2s ease-out;
animation: reveal .2s ease-out; }
.ui-dropdown .dialog .pointer {
position: relative;
top: -22px; }
.ui-dropdown .dialog .pointer .arrow,
.ui-dropdown .dialog .pointer .arrow_border {
border-color: transparent transparent #fff;
border-style: solid;
border-width: 8px;
cursor: pointer;
position: absolute;
top: 7px;
z-index: 1002;
right: 25px; }
.ui-dropdown .dialog .pointer .arrow_border {
border-color: transparent transparent #a1a1a1;
border-width: 9px;
top: 4px;
z-index: 1001;
right: 24px; }
.ui-dropdown .dialog .body {
width: 440px;
background-color: #fff;
border: 1px solid #a1a1a1;
border-radius: 5px;
box-shadow: 0px 0px 9px 0px #d6d6d6;
padding: 8px 10px 8px 10px; }
.ui-dropdown .dialog .body p.title {
font-weight: 600;
margin-bottom: 10px;
font-size: 13px; }
.ui-dropdown .dialog .body form select {
display: inline-block;
width: 120px;
vertical-align: top;
height: 27px;
margin-right: 2px; }
.ui-dropdown .dialog .body form input[type="text"] {
height: 17px;
width: 90px;
margin-right: 2px; }
.ui-dropdown .dialog .body form a {
vertical-align: top; }
@-webkit-keyframes reveal {
0% {
margin-left: -999px;
opacity: 0; }
1% {
margin-left: 0;
opacity: 0;
-webkit-transform: scale(0.98) translateY(-15px); }
80% {
-webkit-transform: scale(1); }
100% {
-webkit-transform: translateY(0); } }
@-moz-keyframes reveal {
0% {
margin-left: -999px;
opacity: 0; }
1% {
margin-left: 0;
opacity: 0;
-moz-transform: scale(0.98) translateY(-15px); }
80% {
-moz-transform: scale(1); }
100% {
-moz-transform: translateY(0); } }

View File

@ -0,0 +1,62 @@
.form-page .form-wrapper {
margin-bottom: 40px; }
.form-page .form-wrapper .field-box {
margin-bottom: 30px;
margin-left: 0;
float: left;
width: 100%; }
.form-page .form-wrapper label {
display: inline-block;
float: left;
font-weight: 600;
cursor: auto;
font-size: 12px;
width: 140px;
text-align: left; }
.form-page .form-wrapper input:-moz-placeholder {
font-style: italic; }
.form-page .form-wrapper input:-ms-input-placeholder {
font-style: italic; }
.form-page .form-wrapper input::-webkit-input-placeholder {
font-style: italic; }
.form-page .form-wrapper .predefined {
position: relative; }
.form-page .form-wrapper .predefined input {
padding-left: 40px; }
.form-page .form-wrapper .predefined .value {
position: absolute;
top: 6px; }
.form-page .form-wrapper label.checkbox {
cursor: pointer;
color: #555; }
.form-page .form-wrapper label.radio {
position: relative;
left: -20px;
width: 100%;
cursor: pointer;
color: #555; }
.form-page .form-wrapper label.checkbox,
.form-page .form-wrapper label.radio {
padding-left: 0px;
font-weight: lighter; }
.form-page .form-wrapper label.checkbox input[type="checkbox"],
.form-page .form-wrapper label.checkbox input[type="radio"],
.form-page .form-wrapper label.radio input[type="checkbox"],
.form-page .form-wrapper label.radio input[type="radio"] {
font-size: large;
margin-left: 0px; }
.form-page .form-wrapper .wysi-column {
float: left;
width: 75%; }
.form-page .form-wrapper .column.pull-right label {
display: block;
width: 100%; }
.form-page .form-wrapper .column.pull-right .ui-select {
width: 250px; }
.form-page .form-wrapper .select2-container {
margin-left: 0px; }
/*Responsive*/
@media (max-width: 767px) {
.form-page .form-wrapper label.radio {
left: 0px; } }

View File

@ -0,0 +1,139 @@
#fuelux-wizard {
margin-top: 60px; }
.wizard-steps {
list-style: none;
display: block;
width: 100%;
padding: 0;
margin: 12px 0 0;
position: relative;
left: -40px; }
.wizard-steps li {
display: block;
text-align: center;
float: left;
min-width: 25%;
max-width: 25%; }
.wizard-steps li:before {
display: block;
content: "";
width: 100%;
height: 1px;
font-size: 0;
overflow: hidden;
border-top: 3px solid #e5e8ed;
position: relative;
top: 12px;
z-index: 1; }
.wizard-steps li:first-child:before {
max-width: 50%;
left: 50%; }
.wizard-steps li:last-child:before {
max-width: 50%;
width: 50%; }
.wizard-steps li.active:before, .wizard-steps li.complete:before, .wizard-steps li.active .step, .wizard-steps li.complete .step {
border-color: #cbdeee;
color: #34a0ed;
background-color: #f2f7fb;
font-weight: bold;
box-shadow: inset 0px 0px 1px 2px #fff; }
.wizard-steps li .step {
text-align: center;
border: 2px solid #e5e8ed;
color: #d8dce6;
font-size: 19px;
border-radius: 32px;
line-height: 12px;
padding: 7px 15px;
background-color: #FFF;
position: relative;
z-index: 2;
display: inline; }
.wizard-steps li.complete .title, .wizard-steps li.active .title {
color: #2b3d53; }
.wizard-steps li .title {
display: block;
max-width: 100%;
color: #b1bcc5;
font-size: 13px;
z-index: 104;
text-align: center;
table-layout: fixed;
word-wrap: break-word;
position: relative;
top: -76px;
line-height: 15px; }
/* step content */
.step-content {
margin-top: 40px;
margin-left: 60px; }
.step-content .step-pane {
display: none;
min-height: 267px; }
.step-content .active {
display: block; }
/* step forms */
.form-wrapper .field-box {
margin-bottom: 25px;
margin-left: 0;
float: left;
width: 100%; }
.form-wrapper .field-box:last-child {
margin-bottom: 0px; }
.form-wrapper label {
display: inline-block;
float: left;
font-weight: 600;
cursor: auto;
font-size: 12px;
width: 120px;
text-align: left;
position: relative;
top: 2px; }
.form-wrapper.payment-info label {
width: 150px; }
.form-wrapper .alert-msg {
display: block;
margin-left: 120px;
position: relative;
top: -2px;
margin-bottom: -4px; }
.form-wrapper .alert-msg i {
font-size: 14px; }
/*** Form states ***/
.form-wrapper .field-box {
/* error */
/* success */ }
.form-wrapper .field-box.error label,
.form-wrapper .field-box.error .alert-msg {
color: #c73939; }
.form-wrapper .field-box.error input {
border-color: #c73939; }
.form-wrapper .field-box.success label,
.form-wrapper .field-box.success .alert-msg {
color: #379e48; }
.form-wrapper .field-box.success input {
border-color: #379e48; }
/* actions */
.wizard-actions {
float: right;
margin-top: 30px;
margin-right: 130px; }
.wizard-actions .btn-next {
margin-left: 15px; }
.wizard-actions .btn-finish {
display: none;
margin-left: 15px; }
/* responsive */
@media (max-width: 979px) {
.step-content {
margin-left: 0px; } }
@media (max-width: 600px) {
.wizard-steps {
left: 0px; } }

View File

@ -0,0 +1,162 @@
.gallery {
/* gallery popup */ }
.gallery .gallery-wrapper {
text-align: center;
padding-left: 45px;
position: relative; }
.gallery .img-container {
margin-bottom: 50px; }
.gallery .img-container .img-box {
display: inline-block;
position: relative; }
.gallery .img-container .img-box:hover span {
visibility: visible; }
.gallery .img-container img {
border: 4px solid #dff0fd;
border-radius: 3px;
cursor: pointer; }
.gallery .img-container .title {
margin-top: 5px;
font-size: 13px; }
.gallery .img-container .icon {
position: absolute;
background: rgba(56, 156, 240, 0.8);
height: 48px;
width: 48px;
visibility: hidden;
left: 41%;
border-radius: 100%;
cursor: pointer;
text-align: center; }
.gallery .img-container i {
display: inline-block;
margin-top: 14px; }
.gallery .img-container span.edit {
top: 23%; }
.gallery .img-container span.trash {
top: 48%; }
.gallery .new-img img {
border: 2px dashed #dee3e8;
cursor: pointer;
margin-bottom: 50px; }
.gallery .new-img img:hover {
opacity: 0.8;
border-color: #ccc; }
.gallery .popup {
position: absolute;
background: #fff;
text-align: left;
width: 260px;
border: 1px solid #2b3b48;
box-shadow: 0px 0px 12px -1px rgba(0, 0, 0, 0.45);
border-radius: 4px;
padding: 14px 20px 14px 20px;
z-index: 5;
left: 240px;
top: 285px; }
.gallery .popup h5 {
text-transform: uppercase;
font-weight: 600;
margin: 0 0 21px 0;
font-size: 14px;
color: #7e91aa; }
.gallery .popup .thumb {
float: left; }
.gallery .popup img {
cursor: pointer;
border: 2px solid #dff0fd;
border-radius: 3px; }
.gallery .popup .title {
float: right;
width: 58%; }
.gallery .popup .title input {
display: inline-block;
width: 90%;
margin: 7px 0 18px; }
.gallery .popup .title .ui-select {
width: 96%; }
.gallery .popup .title input:-moz-placeholder {
font-style: italic; }
.gallery .popup .title input:-ms-input-placeholder {
font-style: italic; }
.gallery .popup .title input::-webkit-input-placeholder {
font-style: italic; }
.gallery .popup .description {
width: 100%;
margin-top: 22px;
display: inline-block; }
.gallery .popup .description h6 {
margin: 0 0 5px 0;
color: #364453;
font-weight: 600;
font-size: 13px; }
.gallery .popup .description textarea {
width: 95%;
margin-bottom: 13px;
height: 60px; }
.gallery .popup .description input[type="submit"] {
float: right; }
.gallery .popup i.close-pop {
position: absolute;
right: 11px;
cursor: pointer;
top: 12px;
opacity: 0.6;
transition: opacity .1s linear;
-moz-transition: opacity .1s linear;
-webkit-transition: opacity .1s linear;
-o-transition: opacity .1s linear; }
.gallery .popup i.close-pop:hover {
opacity: 1; }
.gallery .popup .pointer {
position: absolute;
top: 35%;
left: -22px; }
.gallery .popup .pointer .arrow,
.gallery .popup .pointer .arrow_border {
border-color: transparent #fff transparent transparent;
border-width: 11px;
border-style: solid;
font-size: 0;
left: 50%;
line-height: 0;
margin: 0 auto;
position: absolute;
top: 0;
width: 0;
z-index: 1002;
left: 0;
margin-left: 45%; }
.gallery .popup .pointer .arrow_border {
border-color: transparent #000 transparent transparent;
border-width: 11px;
margin-left: -1px;
border-style: solid;
z-index: 1001;
top: 0px; }
/* gallery blank state */
.no-gallery {
border-top: 1px solid #edeff1;
padding-top: 40px;
box-shadow: 0px 4px 9px -6px rgba(0, 0, 0, 0.12) inset;
margin-bottom: 100px; }
.no-gallery .center {
margin: 0 auto;
text-align: center;
width: 42%; }
.no-gallery .center h6 {
color: #364453;
font-weight: 600;
margin: 30px 0 9px;
font-size: 15px; }
.no-gallery .center p {
color: #364453;
font-size: 13px; }
.no-gallery .center a {
margin-top: 30px; }
/*Responsive*/
@media (max-width: 979px) {
.gallery .popup {
display: none; } }

View File

@ -0,0 +1,16 @@
.grid-wrapper {
margin-bottom: 60px; }
.grid-wrapper .head {
margin-bottom: 30px; }
.show-grid {
margin-top: 10px;
margin-bottom: 20px; }
.show-grid [class*="span"] {
background-color: #eee;
text-align: center;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
min-height: 40px;
line-height: 40px; }

View File

@ -0,0 +1,195 @@
/* Main stats up of screen */
#main-stats {
margin-left: -20px;
margin-right: -20px;
background-color: #fdfdfd;
border-bottom: 1px solid #efeef3; }
#main-stats .stats-row {
box-shadow: inset -1px 0px 5px 2px #f9f9f9; }
#main-stats .stat {
text-align: right;
padding: 30px 0px 35px 0px;
border-right: 1px solid #e8e9ee;
position: relative;
box-shadow: 1px 0px 0px 0px white; }
#main-stats .stat.last {
border-right: 0px; }
#main-stats .stat .data {
color: #29323a;
text-transform: uppercase;
font-weight: 600;
font-size: 16px;
padding-right: 50px; }
#main-stats .stat .data .number {
color: #32a0ee;
font-size: 25px;
margin-right: 15px; }
#main-stats .stat .date {
color: #b4b8bb;
font-weight: lighter;
font-family: 'Lato', 'Open Sans';
font-style: italic;
font-size: 13px;
position: absolute;
right: 50px; }
.section {
border-top: 1px solid #edeff1;
margin-top: 100px;
padding-top: 45px;
box-shadow: inset 0px 3px 4px -1px #fafafa; }
/* Stats chart */
#statsChart {
width: 97%;
height: 250px;
margin-top: 35px; }
/* specific chart styles */
.legendLabel {
font-size: 12px;
font-family: "Open Sans", Arial;
color: #9da3a9; }
/* UI elements section */
#pad-wrapper .ui-elements h4 {
margin-bottom: 35px; }
#pad-wrapper .ui-elements .btn-flat {
text-transform: uppercase; }
#pad-wrapper .ui-elements .btn-flat.icon {
text-transform: none; }
#pad-wrapper .ui-elements .btn-flat.icon i {
margin-right: 3px; }
#pad-wrapper .ui-elements .ui-sliders {
margin-top: 10px;
margin-bottom: 50px; }
#pad-wrapper .ui-elements .ui-sliders .ui-slider {
width: 95%; }
#pad-wrapper .ui-elements .ui-sliders .ui-slider.slider-sample2, #pad-wrapper .ui-elements .ui-sliders .ui-slider.slider-sample3 {
margin-top: 20px; }
#pad-wrapper .ui-elements .ui-group {
margin-top: 35px; }
#pad-wrapper .ui-elements .ui-group > * {
margin-right: 5px;
margin-bottom: 5px; }
#pad-wrapper .ui-elements .knobs {
overflow: auto; }
#pad-wrapper .ui-elements .knob-wrapper {
float: left; }
#pad-wrapper .ui-elements .knob-wrapper .knob {
box-shadow: none; }
#pad-wrapper .ui-elements .knob-wrapper .info {
position: relative;
top: -20px; }
#pad-wrapper .ui-elements .knob-wrapper .info .param {
color: #9da3a9;
text-align: center; }
#pad-wrapper .ui-elements .knob-wrapper .info .param .line {
background-color: #c4cdd8;
height: 3px;
width: 25px;
display: inline-block;
margin-right: 10px; }
#pad-wrapper .ui-elements .knob-wrapper .info .param .line.blue {
background-color: #30a1ec; }
/* table sample below */
.table-products {
width: 100%; }
.table-products .filter-block {
margin-bottom: 34px; }
.table-products .filter-block .ui-select {
margin-right: 20px;
top: 1px;
height: 24px;
width: 150px; }
.table-products .filter-block .search {
margin: 0 60px 0 0; }
.table-products .filter-block .new-product {
padding: 4px 14px; }
.table-products .table tr.first td {
border-top: 0 none; }
.table-products .table td.description {
vertical-align: middle;
color: #516372; }
.table-products .table td a {
text-decoration: underline;
margin-top: 6px;
display: inline-block; }
.table-products .table th input[type="checkbox"] {
margin-top: 4px; }
.table-products .table input[type="checkbox"] {
float: left;
margin-top: 11px;
margin-right: 23px; }
.table-products .table .img {
height: 31px;
float: left;
background: white;
width: 31px;
border: 1px solid #dfe4eb;
text-align: center;
cursor: pointer;
margin-right: 23px; }
.table-products .table .img img {
margin-top: 4px; }
.table-products .table ul.actions {
margin: 5px 0 0 0;
padding: 0;
float: right; }
.table-products .table ul.actions li {
display: inline;
border-right: 1px solid #d0dde9;
padding: 5px 6px 0px 3px; }
.table-products .table ul.actions li.last {
border: 0 none; }
.table-products .table ul.actions i {
cursor: pointer;
opacity: 0.6;
transition: opacity .1s linear;
-moz-transition: opacity .1s linear;
-webkit-transition: opacity .1s linear;
-o-transition: opacity .1s linear; }
.table-products .table ul.actions i:hover {
opacity: 1; }
.table-products .label {
position: relative; }
.table-products .pagination {
float: right;
margin-top: 35px; }
/* responsive */
@media (max-width: 767px) {
#main-stats {
margin-left: 0px;
margin-right: 0px; }
#pad-wrapper .ui-elements .knobs {
text-align: center; }
#pad-wrapper .ui-elements .knobs .knob-wrapper {
float: inherit; }
#pad-wrapper .ui-elements .showcase {
text-align: center; }
#pad-wrapper .table-products .table .img {
display: none; }
#pad-wrapper .table-products .table input[type="checkbox"] {
margin-right: 10px; }
#pad-wrapper .table-products .table .label {
display: none; } }
@media (max-width: 979px) {
#main-stats .stat .data {
padding-right: 17px; }
#pad-wrapper .knob-wrapper .info {
display: none; }
.pointer {
top: 5%; } }
@media (min-width: 980px) {
#pad-wrapper .ui-elements .knob-wrapper + .knob-wrapper {
margin-left: 5px; } }
@media (min-width: 1200px) {
#pad-wrapper .ui-elements .showcase {
width: 53%; }
#pad-wrapper .ui-elements .knob-wrapper + .knob-wrapper {
margin-left: 35px; } }

View File

@ -0,0 +1,112 @@
.new-user {
/* form sidebar*/ }
.new-user .form-wrapper .with-sidebar {
border-right: 1px solid #edeef1;
box-shadow: 4px 0px 3px -1px rgba(226, 226, 226, 0.1); }
.new-user .form-wrapper .container {
width: 90%;
float: left; }
.new-user .form-wrapper .field-box {
margin-bottom: 25px;
margin-left: 0;
float: left;
width: 100%; }
.new-user .form-wrapper label {
display: inline-block;
float: left;
font-weight: 600;
font-size: 13px;
cursor: auto;
width: 120px; }
.new-user .form-wrapper input[type="text"] {
margin: 0;
padding: 3px 6px; }
.new-user .form-wrapper .address-fields {
margin-left: 0px;
float: left;
width: 75%; }
.new-user .form-wrapper input.small {
width: 30%;
margin-top: 20px;
margin-right: 20px; }
.new-user .form-wrapper input.last {
margin-right: 0; }
.new-user .form-wrapper input:-moz-placeholder {
font-style: italic; }
.new-user .form-wrapper input:-ms-input-placeholder {
font-style: italic; }
.new-user .form-wrapper input::-webkit-input-placeholder {
font-style: italic; }
.new-user .form-wrapper textarea {
height: 88px; }
.new-user .textarea {
margin-top: 27px; }
.new-user .textarea span.charactersleft {
display: block;
color: #9ba0a5;
text-align: left;
margin-left: 18%;
font-size: 13px;
font-style: italic; }
.new-user .actions {
margin-top: 30px;
text-align: right;
padding-right: 40px; }
.new-user .actions span {
text-transform: uppercase;
color: #7e91aa;
font-weight: 600;
display: inline-block;
vertical-align: middle;
margin: 0 2px 0 8px; }
.new-user .actions input.reset {
color: #7e91aa;
font-weight: 500; }
.new-user .form-sidebar .alert {
margin: 20px 0px 60px 0px; }
.new-user .form-sidebar .alert i {
margin-bottom: 40px; }
.new-user .form-sidebar h6 {
font-weight: 600;
text-transform: uppercase; }
.new-user .form-sidebar p {
color: #777e86; }
.new-user .form-sidebar ul {
margin: 0;
padding: 0;
list-style: none; }
.new-user .form-sidebar ul a {
text-decoration: underline; }
/* responsive */
@media (max-width: 767px) {
.new-user .form-wrapper .container {
width: 100%;
padding-bottom: 20px;
border-bottom: 1px solid #edeef1;
box-shadow: 0px 4px 3px -1px rgba(226, 226, 226, 0.1); }
.new-user .form-wrapper .with-sidebar {
border-right: 0 none;
box-shadow: none; }
.new-user .form-wrapper label {
margin: 0; }
.new-user .form-wrapper .textarea label {
width: 100%;
text-align: left;
margin-bottom: 10px; }
.new-user .form-wrapper .textarea textarea {
width: 97%; }
.new-user .textarea span.charactersleft {
display: inline-block;
margin-left: 0; }
.new-user .actions {
margin-top: 0; }
.new-user .form-sidebar {
margin-top: 40px; } }
@media (max-width: 979px) {
.new-user .form-wrapper .address-fields {
margin-top: 30px;
width: 100%; }
.new-user .form-wrapper input.small {
width: inherit;
margin: 20px 0px 0px 0px; } }

View File

@ -0,0 +1,90 @@
.settings-wrapper .wrapp {
margin-top: 100px; }
.settings-wrapper .avatar-box img {
border: 3px solid #c3cddb;
margin-bottom: 28px; }
.settings-wrapper .avatar-box p {
font-weight: 700;
margin-bottom: 12px; }
.settings-wrapper .avatar-box input[type="file"] {
font-size: 11px; }
.settings-wrapper .personal-info {
border-left: 1px solid #edeff1;
box-shadow: inset 3px 0px 4px -1px #fafafa; }
.settings-wrapper .personal-info .alert {
margin-bottom: 50px;
display: inline-block;
font-size: 13px; }
.settings-wrapper .personal-info .alert i {
float: left; }
.settings-wrapper .personal-info h5.personal-title {
font-size: 22px;
margin: 0 0 50px 50px;
color: #696d73;
font-style: italic; }
.settings-wrapper .personal-info form {
margin-left: 50px; }
.settings-wrapper .personal-info .field-box {
margin-bottom: 20px; }
.settings-wrapper .personal-info label {
display: inline-block;
float: left;
font-weight: 600;
font-size: 13px;
cursor: auto;
width: 20%;
margin-right: 10px; }
.settings-wrapper .personal-info .input[type="text"] {
font-weight: 600; }
.settings-wrapper .personal-info .ui-select {
width: 50%;
margin-bottom: 10px; }
.settings-wrapper .personal-info .actions {
margin-bottom: 25px;
margin-left: 0;
margin-top: 30px;
float: left;
text-align: right; }
.settings-wrapper .personal-info .actions span {
text-transform: uppercase;
color: #7e91aa;
font-weight: 600;
display: inline-block;
vertical-align: middle;
margin: 0 2px 0 8px; }
.settings-wrapper .personal-info input.reset {
color: #7e91aa;
font-weight: 500; }
/* responsive */
@media (max-width: 767px) {
.settings-wrapper #pad-wrapper {
padding: 0px 20px; }
.settings-wrapper .avatar-box {
text-align: center; }
.settings-wrapper .personal-info {
border: 0 none;
box-shadow: none;
margin-top: 40px; }
.settings-wrapper .personal-info h5.personal-title {
margin-left: 0; }
.settings-wrapper .personal-info .field-box {
margin-left: 0; }
.settings-wrapper .personal-info .ui-select {
width: 90%; }
.settings-wrapper .personal-info label {
width: 100%; }
.settings-wrapper .personal-info .actions {
text-align: center; }
.settings-wrapper .personal-info form {
margin-left: 0;
padding: 0px 10px 0px 10px; } }
@media (min-width: 768px) and (max-width: 979px) {
.settings-wrapper .personal-info .ui-select {
width: 77%; } }
@media (min-width: 768px) {
.settings-wrapper .personal-info .alert {
margin-left: 50px; } }
@media (min-width: 980px) {
.settings-wrapper .personal-info .ui-select {
width: 60%; } }

View File

@ -0,0 +1,134 @@
/*
.login-bg {
background: url("../../img/bgs/landscape.jpg") no-repeat center center fixed;
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../img/bgs/landscape.jpg', sizingMethod='scale');
-ms-filter: "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='../img/bgs/landscape.jpg', sizingMethod='scale')";
-webkit-background-size: cover;
-moz-background-size: cover;
-o-background-size: cover;
background-size: cover; }
*/
.login-wrapper {
position: absolute;
top: 90px;
text-align: center; }
.login-wrapper .logo {
margin-bottom: 45px;
position: relative;
left: -2px; }
.login-wrapper .box {
margin: 0 auto;
padding: 35px 0 30px;
float: none;
width: 400px;
box-shadow: 0 0 6px 2px rgba(0, 0, 0, 0.1);
border-radius: 5px;
background: rgba(255, 255, 255, 0.65); }
.login-wrapper .box .content-wrap {
width: 82%;
margin: 0 auto; }
.login-wrapper .box h6 {
text-transform: uppercase;
margin: 0 0 30px 0;
font-size: 18px;
font-weight: 600; }
.login-wrapper .box input[type="text"],
.login-wrapper .box input[type="password"] {
font-size: 15px;
height: 40px;
margin-bottom: 18px;
border-color: #b2bfc7;
padding-left: 12px; }
.login-wrapper .box input[type="password"] {
margin-bottom: 10px; }
.login-wrapper .box input:-moz-placeholder {
color: #9ba8b6;
font-size: 15px;
letter-spacing: 0px;
font-style: italic; }
.login-wrapper .box input:-ms-input-placeholder {
color: #9ba8b6;
font-style: italic;
letter-spacing: 0px;
font-size: 15px; }
.login-wrapper .box input::-webkit-input-placeholder {
color: #9ba8b6;
font-style: italic;
letter-spacing: 0px;
font-size: 15px; }
.login-wrapper .box a.forgot {
display: block;
text-align: right;
font-style: italic;
text-decoration: underline;
color: #3d88ba;
font-size: 13px;
margin-bottom: 6px; }
.login-wrapper .box .remember {
display: block;
overflow: hidden;
margin-bottom: 20px; }
.login-wrapper .box .remember input[type="checkbox"] {
float: left;
margin-right: 8px; }
.login-wrapper .box .remember label {
float: left;
color: #4a576a;
font-size: 13px; }
.login-wrapper .box .login {
text-transform: uppercase;
font-size: 13px;
padding: 8px 30px; }
.login-wrapper .no-account {
margin: 0 auto;
float: none;
text-align: center;
font-size: 14px;
margin-top: 25px; }
.login-wrapper .no-account p {
display: inline-block;
color: #aaaaaa; }
.login-wrapper .no-account a {
color: #aaaaaa;
margin-left: 7px;
border-bottom: 1px solid;
transition: all .1s linear;
-moz-transition: all .1s linear;
/* Firefox 4 */
-webkit-transition: all .1s linear;
/* Safari and Chrome */
-o-transition: all .1s linear;
/* Opera */ }
.login-wrapper .no-account a:hover {
text-decoration: none;
color: #fff;
border-bottom-color: #fff; }
/* background switcher */
.bg-switch {
position: absolute;
background: rgba(255, 255, 255, 0.8);
top: 60px;
border-radius: 0px 10px 10px 0px;
padding: 10px 10px 0px 10px;
z-index: 999; }
.bg-switch .bgs .bg {
text-align: center;
margin-bottom: 13px;
text-decoration: none;
display: block; }
.bg-switch .bgs .bg.active img {
border-color: #000; }
.bg-switch .bgs .bg img {
width: 80px;
height: 60px;
border: 2px solid #9fcef1;
cursor: pointer; }
/* responsive */
@media (max-width: 767px) {
.login-wrapper .box {
width: 350px; } }
@media (max-width: 480px) {
.login-wrapper .box {
width: 90%; } }

View File

@ -0,0 +1,135 @@
.login-bg {
background: rgba(255, 255, 255, 0);
background: -webkit-linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0));
background: -moz-linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0));
background: -ms-linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0));
background: -o-linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0));
background: linear-gradient(rgba(255, 255, 255, 0.3), rgba(255, 255, 255, 0));
background-color: #eff0f3;
background-repeat: no-repeat;
height: 100%; }
body {
background-color: #eff0f3; }
.header {
background: #2c3742;
box-shadow: inset rgba(255, 255, 255, 0.3) 0 1px 0, inset rgba(0, 0, 0, 0.22) 0 -1px 0, rgba(0, 0, 0, 0.14) 0 1px 2px;
width: 100%;
height: 45px;
text-align: center;
padding-top: 28px; }
.login-wrapper {
position: absolute;
text-align: center; }
.login-wrapper .logo {
margin-bottom: 45px;
position: relative;
left: -2px;
-webkit-filter: invert(100%); }
.login-wrapper .box {
margin: 0 auto;
padding: 15px 0 30px;
float: none;
width: 800px;
-webkit-box-shadow: rgba(0, 0, 0, 0.4) 0 1px 3px, rgba(0, 0, 0, 0.35) 0 0 1px;
-moz-box-shadow: rgba(0, 0, 0, 0.4) 0 1px 3px, rgba(0, 0, 0, 0.35) 0 0 1px;
-ms-box-shadow: rgba(0, 0, 0, 0.4) 0 1px 3px, rgba(0, 0, 0, 0.35) 0 0 1px;
-o-box-shadow: rgba(0, 0, 0, 0.4) 0 1px 3px, rgba(0, 0, 0, 0.35) 0 0 1px;
box-shadow: rgba(0, 0, 0, 0.4) 0 1px 3px, rgba(0, 0, 0, 0.35) 0 0 1px;
background: #fff;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
-ms-border-radius: 6px;
-o-border-radius: 6px;
border-radius: 6px; }
.login-wrapper .box .content-wrap {
width: 82%;
margin: 0 auto; }
.login-wrapper .box h6 {
text-transform: uppercase;
margin-bottom: 35px;
font-size: 18px;
font-weight: 600; }
.login-wrapper .box input[type="text"],
.login-wrapper .box input[type="password"] {
font-size: 15px;
height: 40px;
margin-bottom: 10px;
border-color: #b2bfc7;
padding-left: 12px; }
.login-wrapper .box input[type="text"]:focus,
.login-wrapper .box input[type="password"]:focus {
border: 1px solid #28a0e5;
outline: none;
-webkit-box-shadow: inset 0 1px 2px #ddd,0px 0 5px #28a0e5;
-moz-box-shadow: inset 0 1px 2px #ddd,0px 0 5px #28a0e5;
-ms-box-shadow: inset 0 1px 2px #ddd,0px 0 5px #28a0e5;
-o-box-shadow: inset 0 1px 2px #ddd,0px 0 5px #28a0e5;
box-shadow: inset 0 1px 2px #dddddd, 0px 0 5px #28a0e5; }
.login-wrapper .box input[type="password"] {
margin-bottom: 10px; }
.login-wrapper .box input:-moz-placeholder {
color: #9ba8b6;
font-size: 14px;
letter-spacing: 0px;
font-style: italic; }
.login-wrapper .box input:-ms-input-placeholder {
color: #9ba8b6;
font-style: italic;
letter-spacing: 0px;
font-size: 14px; }
.login-wrapper .box input::-webkit-input-placeholder {
color: #9ba8b6;
font-style: italic;
letter-spacing: 0px;
font-size: 14px; }
.login-wrapper .box .action {
border-top: 1px solid #d3d7db;
background-color: #f4f5f6;
margin: 0px -36px;
position: relative;
top: 30px;
border-radius: 0px 0px 7px 7px;
padding: 15px 0px; }
.login-wrapper .box .signup {
text-transform: uppercase;
font-size: 13px;
padding: 7px 25px;
border-radius: 5px; }
.login-wrapper .already {
margin: 0 auto;
float: none;
text-align: center;
font-size: 13px;
margin-top: 30px; }
.login-wrapper .already p {
display: inline-block;
color: #222; }
.login-wrapper .already a {
color: #222;
margin-left: 7px;
border-bottom: 1px solid;
transition: all .1s linear;
-moz-transition: all .1s linear;
/* Firefox 4 */
-webkit-transition: all .1s linear;
/* Safari and Chrome */
-o-transition: all .1s linear;
/* Opera */ }
.login-wrapper .already a:hover {
text-decoration: none;
color: #000;
border-bottom-color: #000; }
/* responsive */
@media (max-width: 767px) {
.login-wrapper .box {
width: 350px; }
.login-wrapper .box .action {
margin: 0px -31px; } }
@media (max-width: 480px) {
.login-wrapper .box {
width: 90%; } }

View File

@ -0,0 +1,134 @@
/* general table styles */
.table-wrapper {
width: 100%;
margin-bottom: 100px; }
.table-wrapper .filter-block {
margin-bottom: 34px; }
.table-wrapper .filter-block .ui-select {
margin-right: 20px;
top: 1px;
height: 24px;
width: 150px; }
.table-wrapper .filter-block .search {
margin: 0 60px 0 0; }
.table-wrapper .filter-block .new-product {
padding: 4px 14px; }
.table-wrapper .table th input[type="checkbox"] {
margin-top: 4px; }
.table-wrapper .table input[type="checkbox"] {
float: left;
margin-top: 11px;
margin-right: 23px; }
.table-wrapper .table .img {
height: 31px;
float: left;
background: white;
width: 31px;
border: 1px solid #dfe4eb;
text-align: center;
cursor: pointer;
margin-right: 23px; }
.table-wrapper .table .img img {
margin-top: 4px; }
.table-wrapper .table tr.first td {
border-top: 0 none; }
.table-wrapper .table td a {
text-decoration: underline;
display: inline-block; }
.table-wrapper .table td.description {
vertical-align: middle;
color: #516372; }
.table-wrapper .table ul.actions {
margin: 5px 0 0 0;
padding: 0;
float: right; }
.table-wrapper .table ul.actions li {
display: inline;
padding: 5px 6px 0px 3px; }
.table-wrapper .table ul.actions li.last {
border: 0 none; }
.table-wrapper .table ul.actions i {
cursor: pointer;
opacity: 0.6;
transition: opacity .1s linear;
-moz-transition: opacity .1s linear;
-webkit-transition: opacity .1s linear;
-o-transition: opacity .1s linear; }
.table-wrapper .table ul.actions i:hover {
opacity: 1; }
.table-wrapper .label {
position: relative; }
/* products table specific styles */
.table-wrapper.products-table a.name {
position: relative;
top: 6px; }
/* orders table specific styles */
.table-wrapper.orders-table td {
padding: 12px 8px; }
/* users table specific styles */
.table-wrapper.users-table .table td {
vertical-align: middle;
font-size: 13px; }
.table-wrapper.users-table .table img.avatar {
float: left;
margin-right: 14px;
max-width: 45px;
position: relative;
top: 8px; }
.table-wrapper.users-table .table a.name {
color: #3389d1;
display: block;
font-weight: 600;
font-size: 14px;
margin: 15px 0 0 0; }
.table-wrapper.users-table .table .subtext {
font-size: 12px;
margin-left: 0;
color: #778391;
font-style: italic;
margin-top: 0; }
/*Responsive*/
@media (max-width: 979px) {
.pointer {
top: 26.8%; } }
@media (max-width: 767px) {
.table-wrapper .table .img {
display: none; }
.table-wrapper .table input[type="checkbox"] {
margin-right: 10px; }
.table-wrapper .table .label {
display: none; }
.table-wrapper .filter-block .search {
width: 30%;
margin: 0 10px 0 0; }
.table-wrapper .filter-block .order-search {
float: left;
margin: 0;
width: 40%; }
.table-wrapper .filter-block .user-search {
float: left;
margin: 0;
width: 55%; }
.table-wrapper .filter-block .add-user {
margin-top: 0; } }
@media (max-width: 480px) {
.table-wrapper .filter-block .search {
float: right;
width: 48%;
margin: 0; }
.table-wrapper .filter-block .new-product {
float: right;
margin-top: 15px; }
.table-wrapper .filter-block .order-search {
float: left;
width: 43%; }
.table-wrapper .filter-block .add-user {
margin-top: 0; }
.table-wrapper .filter-block .user-search {
float: left;
margin: 0;
width: 55%; } }

View File

@ -0,0 +1,115 @@
#pad-wrapper {
/* separator */
/* pop dialogs specific styles */ }
#pad-wrapper .title {
margin-bottom: 30px; }
#pad-wrapper .section {
margin-bottom: 40px; }
#pad-wrapper .section a.btn-flat,
#pad-wrapper .section a.btn-glow {
margin-right: 5px; }
#pad-wrapper .section.btns a.btn-flat,
#pad-wrapper .section.btns a.btn-glow {
margin-bottom: 12px; }
#pad-wrapper .section code {
margin-right: 25px; }
#pad-wrapper .section .btn-group i {
color: #7d8892; }
#pad-wrapper .section .btn-group.audio i {
color: #96a9b8;
font-size: 12px; }
#pad-wrapper .ctrls {
margin-bottom: 20px; }
#pad-wrapper .ctrls .btn-glow {
margin-right: 8px; }
#pad-wrapper .ctrls .btn-flat.icon {
margin-right: 8px; }
#pad-wrapper .ctrls .btn-group.settings {
margin-left: 20px; }
#pad-wrapper .ctrls .btn-group.settings i {
font-size: 13px;
color: #444; }
#pad-wrapper .ctrls .slider-frame {
margin-right: 10px; }
#pad-wrapper .ctrls .pagination {
margin: 5px 0px; }
#pad-wrapper .ctrls .pagination.inverse {
margin-left: 25px; }
#pad-wrapper .ctrls h4 {
margin: 20px 0px 20px 0px; }
#pad-wrapper .sliders .slider {
margin-bottom: 20px; }
#pad-wrapper .separator {
border-top: 1px solid #edeff1;
margin-top: 100px;
padding-top: 45px;
box-shadow: inset 0px 3px 4px -1px #fafafa; }
#pad-wrapper .section.dialogs h4 {
margin-bottom: 30px; }
/* for menu dialog sample */
.pop-dialog .menu {
width: 200px;
margin: 5px -10px 0px -10px; }
.pop-dialog .menu .item {
display: block;
padding: 5px 0px 5px 20px;
font-weight: 600;
color: #333;
text-decoration: none;
margin-bottom: 5px; }
.pop-dialog .menu .item:hover {
background-color: #30a1ec;
color: #fff; }
.pop-dialog .menu .footer {
border-top: 1px solid #e6e8e9;
background-color: #eff4f7;
margin: 15px 0px -10px 0px;
border-radius: 0px 0px 5px 5px;
padding: 12px 20px; }
.pop-dialog .menu .footer .logout {
font-weight: 600;
color: #7d91a8; }
/* styles for settings dialog sample */
.pop-dialog.full {
width: 100%; }
.pop-dialog .settings {
width: auto;
margin: 5px -10px 0px -10px;
position: relative; }
.pop-dialog .settings .close-icon {
text-decoration: none;
position: absolute;
top: -18px;
right: 10px; }
.pop-dialog .settings .icon-remove-sign {
font-size: 15px;
color: #95a8b7;
cursor: pointer; }
.pop-dialog .settings .items {
margin-top: 15px; }
.pop-dialog .settings .items .item {
display: block;
padding: 7px 0px 7px 20px;
color: #333;
font-size: 13px;
font-weight: 600;
border-top: 1px solid #e6e8e9; }
.pop-dialog .settings .items .item:hover {
color: #6187c0; }
.pop-dialog .settings .items .item:first-child {
border-top: 0px; }
.pop-dialog .settings .items .item .check {
float: right;
margin-right: 30px; }
.pop-dialog .settings .items .item .icon-reorder {
color: #d9e4ee;
font-size: 18px;
margin-right: 13px; }
@media (min-width: 768px) and (max-width: 979px) {
#pad-wrapper .section.dialogs > .span4 {
width: 100%;
margin-bottom: 30px; } }

View File

@ -0,0 +1,67 @@
.users-list .header input.search {
padding: 5px 6px;
position: relative;
top: -1px; }
.users-list .header input.search:focus {
box-shadow: none;
border: 1px solid #888; }
.users-list .header .ui-select {
margin: 3px 40px 0 0; }
.users-list .header .ui-dropdown {
margin-left: 20px; }
.users-list .header a.btn-flat span {
font-size: 17px;
position: relative;
top: 2px;
margin-right: 4px; }
.users-list .table td {
vertical-align: middle;
font-size: 13px; }
.users-list .table img.avatar {
float: left;
margin-right: 14px;
max-width: 45px;
position: relative;
top: 8px; }
.users-list .table a.name {
color: #3389d1;
display: block;
font-weight: 600;
font-size: 14px;
margin: 15px 0 0 0; }
.users-list .table .subtext {
font-size: 12px;
margin-left: 0;
color: #778391;
font-style: italic;
margin-top: 0; }
.users-list .pagination {
margin-top: 25px; }
/* responsive */
@media (max-width: 767px) {
.ui-dropdown .dialog .body {
width: 250px;
left: 58%;
position: relative; }
.users-list .table a.name {
font-size: 12px; }
.users-list .table td {
font-size: 12px; }
.users-list h3 {
display: block;
float: none;
margin-bottom: 30px; }
.users-list .header input.search {
margin-bottom: 18px; }
.users-list .header .ui-dropdown {
float: left;
margin-left: 0; }
.ui-dropdown .dialog .body .form input[type="text"] {
margin-top: 10px; }
.ui-dropdown .dialog .body .form a {
margin-top: 10px;
margin-left: 18px; } }

View File

@ -0,0 +1,120 @@
.user-profile .header .avatar {
float: left;
margin-right: 25px;
border: 2px solid #e9ecee;
position: relative;
top: 3px; }
.user-profile .header .name {
font-weight: 600;
margin: 20px 0 8px 0;
line-height: 26px;
margin-bottom: 10px;
float: none; }
.user-profile .header span.area {
color: #7d848c;
font-style: italic;
font-size: 14px; }
.user-profile .header a.btn-flat {
margin-top: 18px; }
.user-profile .header a.delete-user {
margin-left: 10px;
font-size: 14px; }
.user-profile .profile .profile-box {
border-top: 1px solid #dde2e9;
padding-top: 23px;
width: 90%; }
.user-profile .profile .section {
margin-bottom: 80px; }
.user-profile .profile .section.comment {
margin-bottom: 100px;
margin-top: 60px; }
.user-profile .profile .bio {
box-shadow: 4px 0px 3px -1px rgba(226, 226, 226, 0.1);
border-right: 1px solid #edeef1; }
.user-profile .profile .bio .span12 {
margin-left: 0; }
.user-profile .profile .bio h6 {
font-weight: 600;
font-size: 14px; }
.user-profile .profile .bio p {
color: #777e86; }
.user-profile .profile .bio textarea {
width: 97%;
margin-bottom: 13px;
height: 80px; }
.user-profile .profile .bio .submit-box {
text-align: right; }
.user-profile .profile .bio .submit-box input.btn-flat {
font-weight: 500; }
.user-profile .profile .bio .submit-box span {
text-transform: uppercase;
color: #7e91aa;
font-weight: 600;
display: inline-block;
vertical-align: middle;
margin: 0 2px 0 8px; }
.user-profile .profile .bio .submit-box input.reset {
color: #7e91aa;
font-weight: 500; }
.user-profile .address h6 {
font-weight: 600;
font-size: 14px;
margin-bottom: 30px;
margin-left: 30px; }
.user-profile .address iframe {
width: 90%;
margin-bottom: 30px;
float: right; }
.user-profile .address ul {
padding: 0;
margin-left: 30px;
list-style: none; }
.user-profile .address ul li {
font-size: 13px;
line-height: 21px; }
.user-profile .address ul li.ico-li {
margin: 7px 0 7px; }
.user-profile .address ul i {
display: inline-block;
position: relative;
top: 4px;
margin-right: 7px; }
.user-profile .address ul i.ico-mail {
margin-right: 5px; }
/* responsive */
@media (min-width: 768px) and (max-width: 979px) {
.user-profile .address ul {
margin-left: 18px; }
.user-profile .address ul i {
display: none; }
.user-profile .address ul li.ico-li {
font-weight: bold; }
.user-profile .address ul li.ico-li a {
font-weight: normal; } }
@media (max-width: 767px) {
.user-profile .profile .bio {
border-right: 0 none;
border-bottom: 1px solid #edeef1;
box-shadow: 0px 4px 3px -1px rgba(226, 226, 226, 0.1); }
.user-profile .profile .bio .span12 {
width: auto; }
.user-profile .profile .profile-box {
width: 100%; }
.user-profile .address {
margin-top: 44px; }
.user-profile .address iframe {
width: 100%; }
.user-profile .address h6 {
margin-left: 0; }
.user-profile .address ul {
margin: 0; }
.user-profile .header a.btn-flat {
margin: 0; }
.user-profile .header a.edit {
margin-right: 10px; } }
@media (max-width: 480px) {
.user-profile .header a.btn-flat {
margin: 0; }
.user-profile .header a.edit {
margin-right: 10px; } }

View File

@ -0,0 +1,20 @@
.icons-wrapper {
margin-bottom: 60px; }
.icons-wrapper h4 {
margin-bottom: 40px !important; }
.icons-wrapper ul {
list-style: none;
margin: 0; }
.icons-wrapper ul li {
font-size: 13px;
line-height: 32px;
margin-right: 10px; }
.icons-wrapper ul i {
width: 32px;
font-size: 16px;
margin-right: 13px; }
.icons-wrapper-border {
border-top: 1px solid #edeff1;
padding-top: 60px;
box-shadow: 0px 4px 7px -5px rgba(68, 68, 68, 0.14) inset; }

View File

@ -0,0 +1,653 @@
/* THIS ARE ALL NEW EXTRA ELEMENTS BESIDE TWITTER BOOTSTRAP */
/* glow btn group */
.btn-group.large button.glow {
padding: 6px 15px;
font-size: 13px;
}
.btn-group button.glow.large {
font-size: 12px;
}
.btn-group.large i {
font-size: 13px;
}
.btn-group button.glow {
font-size: 11px;
font-family: "Open sans", Helvetica, Arial;
color: #313d4c;
font-weight: 700;
padding: 5px 10px;
line-height: 14px;
background: #fefefe; /* Old browsers */
background: -moz-linear-gradient(top, #fefefe 0%, #f7f7f7 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fefefe), color-stop(100%,#f7f7f7)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #fefefe 0%,#f7f7f7 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #fefefe 0%,#f7f7f7 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #fefefe 0%,#f7f7f7 100%); /* IE10+ */
background: linear-gradient(to bottom, #fefefe 0%,#f7f7f7 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fefefe', endColorstr='#f7f7f7',GradientType=0 ); /* IE6-9 */
border: 1px solid #d0dde9;
transition: color .1s linear;
-moz-transition: color .1s linear; /* Firefox 4 */
-webkit-transition: color .1s linear; /* Safari and Chrome */
-o-transition: color .1s linear; /* Opera */
}
.btn-group button.glow:active, .btn-group button.glow.active {
-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.2) inset;
-moz-box-shadow:0 1px 0 rgba(0,0,0,0.2) inset;
box-shadow:0 1px 0 rgba(0,0,0,0.2) inset;
color: #a8b5c7;
}
.btn-group button.glow.left{
border-radius: 4px 0 0 4px;
border-right: 0;
}
.btn-group button.glow.middle{
border-right: 0;
}
.btn-group button.glow.right{
border-radius: 0 4px 4px 0;
}
.btn-group button.glow:hover{
color: #a8b5c7;
}
.btn-group > .btn.glow {
font-size: 12px;
font-weight: 500;
padding: 6px 14px;
color: #313d4c;
line-height: 14px;
border: 1px solid #d0dde9;
}
.btn-group > .btn.glow.dropdown-toggle {
padding: 6px 9px;
}
.btn-group > .btn.glow .caret {
margin-top: 6px;
}
.btn-group > .btn.glow:hover {
background: #fefefe;
background: -moz-linear-gradient(top, #fefefe 0%, #f7f7f7 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#fefefe), color-stop(100%,#f7f7f7));
background: -webkit-linear-gradient(top, #fefefe 0%,#f7f7f7 100%);
background: -o-linear-gradient(top, #fefefe 0%,#f7f7f7 100%);
background: -ms-linear-gradient(top, #fefefe 0%,#f7f7f7 100%);
background: linear-gradient(to bottom, #fefefe 0%,#f7f7f7 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fefefe', endColorstr='#f7f7f7',GradientType=0 );
}
.btn-group .dropdown-menu > li > a {
font-size: 12px;
}
/* FLAT BUTTONS */
.btn-flat.small {
font-size: 11px;
padding: 5px 9px;
}
.btn-flat.large {
font-size: 13px;
padding: 10px 16px;
}
.btn-flat, .btn-flat.default{
display: inline-block;
margin: 0;
line-height: 15px;
vertical-align: middle;
font-size: 12px;
text-shadow: none;
box-shadow: none;
background-image: none;
border: 0 none;
color: #fff;
font-weight: 500;
border-radius: 4px;
background: #4387bf;
border: 1px solid rgb(56, 131, 192);
cursor: pointer;
padding: 7px 14px;
-webkit-transition: all .1s linear;
-moz-transition: all .1s linear;
transition: all .1s linear;
}
.btn-flat:active {
-webkit-box-shadow:0px 2px 2px 0px rgba(0,0,0,0.3) inset;
-moz-box-shadow:0px 2px 2px 0px rgba(0,0,0,0.3) inset;
box-shadow:0px 2px 2px 0px rgba(0,0,0,0.3) inset;
}
.btn-flat:hover{
text-decoration: none;
opacity: 0.87;
color: #fff;
}
.btn-flat:active{
background: rgb(48, 98, 139);
opacity: 1;
}
.btn-flat.inverse{
background: #343e4b;
border: 1px solid #000;
}
.btn-flat.inverse:active{
background: #000;
}
.btn-flat.gray{
background: #7e91aa;
border: 1px solid rgb(136, 142, 151);
}
.btn-flat.gray:active{
background: rgb(93, 107, 126);
color: rgb(243, 243, 243);
}
.btn-flat.primary{
background: #3b9ff3;
border: 1px solid rgb(53, 150, 231);
}
.btn-flat.primary:active{
background: rgb(43, 118, 182);
color: rgb(237, 246, 253);
}
.btn-flat.success {
background: #96bf48;
border: 1px solid #7ea13d;
text-shadow: 1px 1px 0px rgba(0,0,0,0.3);
font-weight: 600;
}
.btn-flat.white {
color: #626263;
background: #fff;
border: 1px solid #d0dde9;
}
.btn-flat.white:hover {
border-color: #bbb;
color: #000;
}
.btn-flat.info {
background: #5ba0a3;
color: #fff;
border-color: #5ba0a3;
}
.btn-flat.info:active {
background: #30696c;
}
.btn-flat.danger {
background: #b85e80;
border-color: #b85e80;
color: #fff;
}
.btn-flat.danger:active {
background: #6e354a;
}
.btn-flat.icon {
padding: 7px 10px;
color: #1a2129;
background: #e6ebf3;
border: 1px solid rgb(216, 221, 228);
box-shadow: 0px 1px 0px 0px rgba(255, 255, 255,0.4) inset, 0px 1px 0px 0px rgb(204, 204, 204);
}
.btn-flat.icon:active {
background: #e0e6ef;
-webkit-box-shadow:0px 2px 1px 0px rgba(0,0,0,0.3) inset;
-moz-box-shadow:0px 2px 1px 0px rgba(0,0,0,0.3) inset;
box-shadow:0px 2px 1px 0px rgba(0,0,0,0.3) inset;
}
.btn-flat.icon i {font-size: 14px;}
.btn-flat [class^="icon-"],
.btn-flat [class*=" icon-"] {
margin-right: 3px;
}
/* GLOW BUTTONS */
.btn-glow.small {
font-size: 11px;
padding: 4px 7px;
}
.btn-glow.large {
font-size: 14px;
padding: 9px 16px;
}
.btn-glow{
font-size: 13px;
border-radius: 4px;
color: #333;
padding: 5px 10px;
text-align: center;
box-shadow: 0px 1px 0px 0px rgba(255, 255, 255,0.2) inset, 0px 1px 0px 0px rgb(204, 204, 204);
display: inline-block;
border: 1px solid #e5e5e5;
vertical-align: middle;
cursor: pointer;
background: #ffffff;
background: -moz-linear-gradient(top, #ffffff 0%, #eef0f1 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#eef0f1));
background: -webkit-linear-gradient(top, #ffffff 0%,#eef0f1 100%);
background: -o-linear-gradient(top, #ffffff 0%,#eef0f1 100%);
background: -ms-linear-gradient(top, #ffffff 0%,#eef0f1 100%);
background: linear-gradient(to bottom, #ffffff 0%,#eef0f1 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#eef0f1',GradientType=0 );
}
.btn-glow:hover {
text-decoration: none;
background: #ffffff;
background: -moz-linear-gradient(top, #ffffff 0%, #E6E6E6 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#E6E6E6));
background: -webkit-linear-gradient(top, #ffffff 0%,#E6E6E6 100%);
background: -o-linear-gradient(top, #ffffff 0%,#E6E6E6 100%);
background: -ms-linear-gradient(top, #ffffff 0%,#E6E6E6 100%);
background: linear-gradient(to bottom, #ffffff 0%,#E6E6E6 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#E6E6E6',GradientType=0 );
}
.btn-glow:active,.btn-glow.active {
-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.2) inset !important;
-moz-box-shadow:0 1px 0 rgba(0,0,0,0.2) inset !important;
box-shadow:0 1px 0 rgba(0,0,0,0.2) inset !important;
}
.btn-glow [class^="icon-"],
.btn-glow [class*=" icon-"] {
margin-right: 3px;
}
.btn-glow i.shuffle {top: 2px;}
.btn-glow.inverse{
border-color: #000;
color: #fff;
box-shadow: inset 0px 1px 0px 0px rgba(255,255,255,0.5);
background: #353f4c; /* Old browsers */
background: -moz-linear-gradient(top, #353f4c 0%, #222a33 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#353f4c), color-stop(100%,#222a33)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #353f4c 0%,#222a33 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #353f4c 0%,#222a33 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #353f4c 0%,#222a33 100%); /* IE10+ */
background: linear-gradient(to bottom, #353f4c 0%,#222a33 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#353f4c', endColorstr='#222a33',GradientType=0 ); /* IE6-9 */
}
.btn-glow.inverse:hover {
background: -webkit-linear-gradient(top, rgb(67, 76, 88) 0%,rgb(66, 74, 83) 100%);
}
.btn-glow.primary{
border-color: #2480c2;
color: #fff;
text-shadow: rgba(0,0,0,0.35) 0 1px 0;
box-shadow: inset 0px 1px 0px 0px rgba(255,255,255,0.5);
background: #54b3ff;
background: -moz-linear-gradient(top, #54b3ff 0%, #0078d9 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#54b3ff), color-stop(100%,#0078d9));
background: -webkit-linear-gradient(top, #54b3ff 0%,#0078d9 100%);
background: linear-gradient(#54b3ff,#0078d9);
background: -o-linear-gradient(top, #54b3ff 0%,#0078d9 100%);
background: -ms-linear-gradient(top, #54b3ff 0%,#0078d9 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#54b3ff', endColorstr='#0078d9',GradientType=0 );
}
.btn-glow.primary:hover {
background: rgb(56, 155, 235);
background: -moz-linear-gradient(top, rgb(56, 155, 235) 0%, #0078d9 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(56, 155, 235)), color-stop(100%,#0078d9));
background: -webkit-linear-gradient(top, rgb(56, 155, 235) 0%,#0078d9 100%);
background: linear-gradient(rgb(56, 155, 235),#0078d9);
background: -o-linear-gradient(top, rgb(56, 155, 235) 0%,#0078d9 100%);
background: -ms-linear-gradient(top, rgb(56, 155, 235) 0%,#0078d9 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='rgb(56, 155, 235)', endColorstr='#0078d9',GradientType=0 );
}
.btn-glow.primary:active {
background: rgb(56, 155, 235);
background: -moz-linear-gradient(top, rgb(56, 155, 235) 0%, #0078d9 100%);
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,rgb(56, 155, 235)), color-stop(100%,#0078d9));
background: -webkit-linear-gradient(top, rgb(56, 155, 235) 0%,#0078d9 100%);
background: linear-gradient(rgb(56, 155, 235),#0078d9);
background: -o-linear-gradient(top, rgb(56, 155, 235) 0%,#0078d9 100%);
background: -ms-linear-gradient(top, rgb(56, 155, 235) 0%,#0078d9 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='rgb(56, 155, 235)', endColorstr='#0078d9',GradientType=0 );
}
.btn-glow.primary[disabled] {
border: 0px;
box-shadow: none !important;
background: rgb(129, 183, 226) !important;
cursor: default;
}
.btn-glow.success {
background: #96bf48;
background: linear-gradient(to bottom, rgb(169, 214, 81) 0%,#96bf48 100%);
box-shadow: inset 0px 1px 0px 0px rgba(255,255,255,0.5);
border: 1px solid rgb(153, 189, 86);
text-shadow: rgba(0, 0, 0, 0.247059) 0px 1px 0px;
color: #fff;
}
/* Switch slider button */
.slider-frame.info { background-color: rgba(92, 160, 163, 0.9); }
.slider-frame.success { background-color: rgba(151, 192, 73, 0.9); }
.slider-frame.primary { background-color: rgba(91, 158, 214, 0.9); }
.slider-frame.danger { background-color: #d94774; }
.slider-frame {
position: relative;
display: inline-block;
margin: 0 auto;
width: 67px;
background-color: #d5dde4;
height: 23px;
-moz-border-radius: 15px;
border-radius: 15px;
box-shadow: inset 0px 1px 5px 0px rgba(0, 0, 0, 0.30);
}
.slider-button {
display: block;
width: 37px;
height: 21px;
line-height: 23px;
background: #fff;
border: 1px solid #d0dde9;
-moz-border-radius: 9px;
border-radius: 9px;
-webkit-transition: all 0.25s ease-in-out;
-moz-transition: all 0.25s ease-in-out;
transition: all 0.25s ease-in-out;
color: #000;
font-family:sans-serif;
font-size:11px;
font-weight:bold;
text-align: center;
cursor: pointer;
}
.slider-button.on {
margin-left: 29px;
/*background: #EDF2F7;*/
}
/* Custom Select */
.ui-select {
width: 137px;
margin-left: 0px !important;
vertical-align: middle;
min-width: 100px;
height: 25px;
min-height: 25px !important;
position: relative;
overflow: hidden;
background: #ffffff;
background: url("../img/select-bg.png"), -moz-linear-gradient(top, #ffffff 0%, #f0f1f2 100%);
background: url("../img/select-bg.png"), -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(100%,#f0f1f2));
background: url("../img/select-bg.png"), -webkit-linear-gradient(top, #ffffff 0%,#f0f1f2 100%);
background: url("../img/select-bg.png"), -o-linear-gradient(top, #ffffff 0%,#f0f1f2 100%);
background: url("../img/select-bg.png"), -ms-linear-gradient(top, #ffffff 0%,#f0f1f2 100%);
background: url("../img/select-bg.png"), linear-gradient(to bottom, #ffffff 0%,#f0f1f2 100%);
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f0f1f2',GradientType=0 );
display: inline-block;
border: 1px solid #cfdde8;
border-radius: 5px;
background-position: 94%;
background-repeat: no-repeat;
}
.ui-select select {
line-height: inherit;
width: 135%;
font-family: "Open Sans", Arial;
font-size: 12px;
border: none;
padding: 1px 30px 0px 7px;
height: 25px;
-webkit-appearance: none;
color: #737f8d;
text-shadow: 1px 1px 1px #fff;
background: transparent;
}
/* jQuery UI Slider overrides */
.ui-slider {
border: 1px solid #cfdde8;
height: 4px;
background: #edeeef;
box-shadow: inset 0px -3px 7px 0px #fff;
}
.ui-state-default,
.ui-widget-content .ui-state-default,
.ui-widget-header .ui-state-default {
background: url("../img/jquery-ui/slider-handler.png") no-repeat;
border: none;
width: 16px;
height: 17px;
top: -6px;
outline: 0;
}
.ui-slider.vertical-handler .ui-state-default {
background: url("../img/jquery-ui/slider-handler2.png") no-repeat;
width: 11px;
height: 21px;
top: -8px;
}
.ui-slider .ui-slider-range {
border: 1px solid #30a1ec;
background: #4faeef;
box-shadow: inset 0px 0px 3px 0px rgb(255, 255, 255);
}
.ui-slider.success .ui-slider-range {
background: #96bf48;
border: 1px solid rgb(121, 175, 94);
}
.ui-slider.info .ui-slider-range {
background: #5ba0a3;
border: 1px solid #5ba0a3;
}
/* Custom Dialog */
.pop-dialog {
z-index: 10000;
display: inline-block;
}
.pop-dialog.is-visible {
display: block;
-webkit-animation: reveal .2s ease-out;
-moz-animation: reveal .2s ease-out;
animation: reveal .2s ease-out;
}
.pop-dialog .pointer {
position: relative;
top: -22px;
}
.pop-dialog .pointer .arrow,
.pop-dialog .pointer .arrow_border {
border-color: transparent transparent #fff;
border-style: solid;
border-width: 8px;
cursor: pointer;
position: absolute;
top: 7px;
z-index: 1002;
left: 25px;
}
.pop-dialog .pointer .arrow_border {
border-color: transparent transparent #a1a1a1;
border-width: 9px;
top: 4px;
z-index: 1001;
left: 24px;
}
/* pop-dialog with pointer to the right */
.pop-dialog .pointer.right .arrow {left: auto;right:25px;}
.pop-dialog .pointer.right .arrow_border {left: auto;right:24px;}
.pop-dialog .body {
width: auto;
background-color: #fff;
border: 1px solid #a1a1a1;
border-radius: 5px;
box-shadow: 0px 0px 9px 0px rgb(214, 214, 214);
padding: 10px;
}
/* Dropdown with dialog */
.ui-dropdown {
position: relative;
display: inline-block;
}
.ui-dropdown .head {
color: #272727;
font-size: 13px;
position: relative;
border: 1px solid #dedede;
border-radius: 4px;
padding: 4px 46px 4px 12px;
text-shadow: 1px 1px 1px #fff;
box-shadow: 1px 1px 4px 0px #efefef;
cursor: pointer;
background: #ffffff; /* Old browsers */
background: -moz-linear-gradient(top, #ffffff 0%, #f8f8f8 47%, #f4f4f4 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(47%,#f8f8f8), color-stop(100%,#f4f4f4)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #ffffff 0%,#f8f8f8 47%,#f4f4f4 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #ffffff 0%,#f8f8f8 47%,#f4f4f4 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #ffffff 0%,#f8f8f8 47%,#f4f4f4 100%); /* IE10+ */
background: linear-gradient(to bottom, #ffffff 0%,#f8f8f8 47%,#f4f4f4 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f4f4f4',GradientType=0 ); /* IE6-9 */
}
.ui-dropdown .head:hover,
.ui-dropdown .head.active {
background: #fefefe; /* Old browsers */
background: -moz-linear-gradient(top, #ffffff 0%, #FDFDFD 47%, #F1F1F1 100%); /* FF3.6+ */
background: -webkit-gradient(linear, left top, left bottom, color-stop(0%,#ffffff), color-stop(47%,#FDFDFD), color-stop(100%,#F1F1F1)); /* Chrome,Safari4+ */
background: -webkit-linear-gradient(top, #ffffff 0%,#FDFDFD 47%,#F1F1F1 100%); /* Chrome10+,Safari5.1+ */
background: -o-linear-gradient(top, #ffffff 0%,#FDFDFD 47%,#F1F1F1 100%); /* Opera 11.10+ */
background: -ms-linear-gradient(top, #ffffff 0%,#FDFDFD 47%,#F1F1F1 100%); /* IE10+ */
background: linear-gradient(to bottom, #ffffff 0%,#FDFDFD 47%,#F1F1F1 100%); /* W3C */
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#F1F1F1',GradientType=0 ); /* IE6-9 */
}
.ui-dropdown .head:active,
.ui-dropdown .head.active {
box-shadow: none;
-webkit-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 1px 3px rgba(0, 0, 0, 0.15), 0 1px 2px rgba(0, 0, 0, 0.05);
}
.ui-dropdown .head i.arrow-down{
position: absolute;
top: 12px;
right: 16px;
}
.ui-dropdown .dialog {
display: none;
position: absolute;
right: 0px;
top: 42px;
z-index: 100;
}
.ui-dropdown .dialog.is-visible {
display: block;
-webkit-animation: reveal .2s ease-out;
-moz-animation: reveal .2s ease-out;
animation: reveal .2s ease-out;
}
.ui-dropdown .dialog .pointer {
position: relative;
top: -22px;
}
.ui-dropdown .dialog .pointer .arrow,
.ui-dropdown .dialog .pointer .arrow_border {
border-color: transparent transparent #fff;
border-style: solid;
border-width: 8px;
cursor: pointer;
position: absolute;
top: 7px;
z-index: 1002;
right: 25px;
}
.ui-dropdown .dialog .pointer .arrow_border {
border-color: transparent transparent #a1a1a1;
border-width: 9px;
top: 4px;
z-index: 1001;
right: 24px;
}
.ui-dropdown .dialog .body {
width: 440px;
background-color: #fff;
border: 1px solid #a1a1a1;
border-radius: 5px;
box-shadow: 0px 0px 9px 0px rgb(214, 214, 214);
padding: 8px 10px 8px 10px;
}
.ui-dropdown .dialog .body p.title {
font-weight: 600;
margin-bottom: 10px;
font-size: 13px;
}
.ui-dropdown .dialog .body .form { }
.ui-dropdown .dialog .body .form select {
display: inline-block;
width: 120px;
vertical-align: top;
height: 27px;
margin-right: 2px;
}
.ui-dropdown .dialog .body .form input[type="text"] {
height: 17px;
width: 90px;
margin-right: 2px;
}
.ui-dropdown .dialog .body .form a {
vertical-align: top;
}
@-webkit-keyframes reveal{
0% {
margin-left:-999px;
opacity:0;
}
1% {
margin-left:0;
opacity:0;
-webkit-transform:scale(0.98) translateY(-15px);
}
80% {
-webkit-transform:scale(1);
}
100% {
-webkit-transform:translateY(0);
}
}
@-moz-keyframes reveal {
0% {
margin-left:-999px;
opacity:0;
}
1% {
margin-left:0;
opacity:0;
-moz-transform:scale(0.98) translateY(-15px);
}
80% {
-moz-transform:scale(1);
}
100% {
-moz-transform:translateY(0);
}
}

115
View/public/css/icons.css Normal file
View File

@ -0,0 +1,115 @@
i.tool{
height: 14px;
width: 14px;
background: url("../img/btn-tool.png") no-repeat;
display: inline-block;
margin-top: 1px;
*margin-right: .3em;
line-height: 14px;
vertical-align: text-top;
}
i.arrow-down {
background: url("../img/ico-arrow-black.png") no-repeat;
width: 9px;
height: 6px;
display: inline-block;
margin-top: 1px;
*margin-right: .3em;
line-height: 14px;
vertical-align: text-top;
}
i.shuffle{
background: url("../img/btn-shuffle.png") no-repeat;
display: inline-block;
height: 13px;
width: 18px;
margin-top: 1px;
*margin-right: .3em;
line-height: 14px;
vertical-align: text-top;
}
i.setting{
background: url("../img/btn-setting.png") no-repeat;
display: inline-block;
height: 16px;
width: 16px;
margin-top: 1px;
*margin-right: .3em;
line-height: 14px;
vertical-align: text-top;
}
i.attach{
background: url("../img/btn-attach.png") no-repeat;
display: inline-block;
height: 16px;
width: 16px;
margin-top: 1px;
*margin-right: .3em;
line-height: 14px;
vertical-align: text-top;
}
i.ico-phone{
background: url("../img/ico-phone.png") no-repeat;
height: 18px;
width: 13px;
margin-top: 1px;
*margin-right: .3em;
line-height: 14px;
vertical-align: text-top;
}
i.ico-mail{
background: url("../img/ico-mail.png") no-repeat;
height:11px;
width: 17px;
margin-top: 1px;
*margin-right: .3em;
line-height: 14px;
vertical-align: text-top;
}
i.gallery-edit{
background: url("../img/ico-gallery-edit.png") no-repeat;
height:20px;
width: 20px;
margin-top: 1px;
*margin-right: .3em;
line-height: 14px;
vertical-align: text-top;
}
i.gallery-trash{
background: url("../img/ico-gallery-trash.png") no-repeat;
height:19px;
width: 17px;
margin-top: 1px;
*margin-right: .3em;
line-height: 14px;
vertical-align: text-top;
}
i.table-edit{
background: url("../img/ico-table-new.png") no-repeat;
width: 14px;
height: 13px;
display: inline-block;
margin-top: 1px;
*margin-right: .3em;
line-height: 14px;
vertical-align: text-top;
}
i.table-settings{
background: url("../img/ico-table-edit.png") no-repeat;
width: 16px;
height: 16px;
display: inline-block;
position: relative;
top: 1px;
}
i.table-delete{
background: url("../img/ico-table-delete.png") no-repeat;
width: 12px;
height: 12px;
display: inline-block;
margin-top: 1px;
*margin-right: .3em;
line-height: 14px;
vertical-align: text-top;
}

570
View/public/css/layout.css Normal file
View File

@ -0,0 +1,570 @@
body {
font-family: 'Open Sans', sans-serif;
background-color: #f7f7f7;
position: relative;
margin: 0px;
font-size: 12px;
padding: 0px;
/*-webkit-font-smoothing: antialiased;*/
}
h1,h2,h3,h4,h5 {
margin: 0;
line-height: inherit;
color: #29323d;
}
h1 small,h2 small,h3 small,h4 small,h5 small {
margin-left: 15px;
font-style: italic;
}
input.search{
background: url("../img/lens.png") #fcfcfc no-repeat 95%;
box-shadow: none;
height: 19px;
font-size: 13px;
padding: 2px 6px;
border:1px solid #d0dde9;
margin: 0;
border-radius: 2px;
top: 11px;
}
.header{
margin-bottom: 60px;
}
.header h1,
.header h2,
.header h3,
.header h4,
.header h5 {
float: left;
margin-top: 5px;
}
/* Custom navbar stuff */
/* search input */
.navbar-inverse input.search {
background: url("../img/lens.png") #0f1217 no-repeat 95%;
border: 1px solid #0f1217;
position: relative;
border-radius: 4px;
top: 9px;
padding: 3px 6px;
color: #000;
font-size: 13px;
margin-right: 40px;
-webkit-transition: all .3s linear;
-moz-transition: all .3s linear;
transition: all .3s linear;
}
.navbar-inverse input.search:focus {
background-color: #fff;
}
/* navbar settings and logout icons */
.navbar-inverse .settings i {
color: #9ba3ad;
font-size: 21px;
}
.copyrights{text-indent:-9999px;height:0;line-height:0;font-size:0;overflow:hidden;}
/* notification menu with custom dropdowns */
.navbar-inverse .notification-dropdown {
position: relative;
}
.navbar-inverse .notification-dropdown > a:hover,
.navbar-inverse .notification-dropdown > a.active {
background: #254261 !important;
box-shadow: inset 1px 0px 1px 0px rgb(62, 90, 121);
}
.navbar-inverse .notification-dropdown i {
font-size: 17px;
color: #9ba3ad;
}
.navbar-inverse .notification-dropdown .count {
position: absolute;
top: 1px;
left: 58%;
background: rgb(53, 186, 196);
padding: 0px 5px;
border-radius: 30px;
color: #fff;
line-height: 16px;
z-index: 9999;
text-align: center;
font-size: 11px;
}
/* navbar popup dialog */
.navbar-inverse .pop-dialog {
position: absolute;
right: -10px;
top: 55px;
display: none;
}
.navbar-inverse .pop-dialog.is-visible {
display: block;
-webkit-animation: reveal .2s ease-out;
-moz-animation: reveal .2s ease-out;
animation: reveal .2s ease-out;
}
.navbar-inverse .pop-dialog .body {
box-shadow: 0px 1px 9px 1px #c2c2c2;
}
.navbar-inverse .pop-dialog .close-icon {
float: right;
text-decoration: none;
z-index: 9999;
position: relative;
}
.navbar-inverse .pop-dialog .footer {
border-top: 1px solid #e6e8e9;
background-color: #eff4f7;
margin: 15px 0px -10px 0px;
border-radius: 0px 0px 5px 5px;
padding: 12px 20px;
text-align: center;
}
.navbar-inverse .pop-dialog .footer a {
font-weight: 600;
color: #7d91a8;
}
/* navar popup dialog for notifications */
.navbar-inverse .pop-dialog .notifications {
width: 330px;
margin: 10px -10px 0px -10px;
}
.navbar-inverse .pop-dialog .notifications h3 {
font-size: 13px;
color: #404951;
font-weight: bold;
padding-left: 20px;
margin-top: 5px;
margin-bottom: 15px;
}
.navbar-inverse .pop-dialog .notifications .item {
display: block;
padding: 10px 0px 8px 20px;
border-top: 1px solid #e7e8ea;
color: rgb(54, 54, 54);
text-decoration: none;
padding-left: 50px;
position: relative;
transition: all .25s linear;
-moz-transition: all .25s linear;
-webkit-transition: all .25s linear;
-o-transition: all .25s linear;
}
.navbar-inverse .pop-dialog .notifications .item:hover {
background: rgb(240, 246, 255);
}
.navbar-inverse .pop-dialog .notifications .item > i {
color: rgb(252, 130, 123);
position: absolute;
left: 19px;
font-size: 18px;
}
.navbar-inverse .pop-dialog .notifications .item > i.icon-user {
left: 18px;
}
.navbar-inverse .pop-dialog .notifications .item .time {
float: right;
color: #82a3c1;
font-style: italic;
font-weight: 600;
font-size: 11px;
min-width: 60px;
margin-right: 5px;
}
.navbar-inverse .pop-dialog .notifications .item .time i {
font-size: 13px;
color: #cfcfcf;
margin-right: 1px;
}
/* navar popup dialog for messages */
.navbar-inverse .pop-dialog .messages {
width: 330px;
margin: 10px -10px 0px -10px;
}
.navbar-inverse .pop-dialog .messages .item {
display: block;
padding: 10px 20px 15px 20px;
height: 54px;
border-bottom: 1px solid #e7e8ea;
color: rgb(54, 54, 54);
text-decoration: none;
position: relative;
transition: all .25s linear;
-moz-transition: all .25s linear;
-webkit-transition: all .25s linear;
-o-transition: all .25s linear;
}
.navbar-inverse .pop-dialog .messages .item.last {
border-bottom: 0px;
}
.navbar-inverse .pop-dialog .messages .item:hover {
background: rgb(240, 246, 255);
}
.navbar-inverse .pop-dialog .messages .item .display {
float: left;
border-radius: 50px;
margin-right: 15px;
}
.navbar-inverse .pop-dialog .messages .item .name {
font-size: 12px;
color: #404951;
font-weight: bold;
}
.navbar-inverse .pop-dialog .messages .item .msg {
font-size: 11px;
color: rgb(117, 118, 119);
font-weight: 600;
line-height: 13px;
position: relative;
top: -1px;
}
.navbar-inverse .pop-dialog .messages .item .time {
position: absolute;
right: 0px;
bottom: 6px;
color: #82a3c1;
font-style: italic;
font-weight: 600;
font-size: 11px;
min-width: 60px;
margin-right: 5px;
}
.navbar-inverse .pop-dialog .messages .item .time i {
font-size: 13px;
color: #cfcfcf;
margin-right: 1px;
}
.navbar-inverse .pop-dialog .messages .footer {
margin-top: 6px;
}
/* Sidebar */
#sidebar-nav {
position: absolute;
width: 180px;
float: left;
margin: 0em;
padding-top: 5.8em;
}
#dashboard-menu {
list-style: none;
padding-right: 15px;
padding-left: 15px;
margin-bottom: 0;
margin-left: 20px;
}
#dashboard-menu > li > a {
display: block;
margin-right: -15px;
margin-left: -15px;
padding: 19px 14px 15px 14px;
margin-bottom: 5px;
border-bottom: 1px solid #dae1e8;
box-shadow: 0 2px 1px -1px #FFFFFF;
color: rgb(110, 130, 155);
outline: 0px;
width: 88%;
}
#dashboard-menu > li {
position: relative;
}
/* font awesome icon */
#dashboard-menu > li .icon-group {
font-size: 22px;
}
#dashboard-menu > li i {
font-size: 23px;
top: 17px;
}
#dashboard-menu .pointer {
position: absolute;
right: 9px;
top: 20px;
}
#dashboard-menu .pointer .arrow,
#dashboard-menu .pointer .arrow_border {
border-color: transparent #fff transparent transparent;
border-width: 11px;
border-style: solid;
font-size: 0;
left: 50%;
line-height: 0;
margin: 0 auto;
position: absolute;
top: 0;
width: 0;
z-index: 1002;
left: 0;
margin-left: 45%;
}
#dashboard-menu .pointer .arrow_border {
border-color: transparent rgb(192, 210, 221) transparent transparent;
border-width: 11px;
margin-left: -1px;
border-style: solid;
z-index: 1001;
top: 0px;
}
#dashboard-menu a span {
margin-left: 35px;
transition: color .1s linear;
-moz-transition: color .1s linear;
-webkit-transition: color .1s linear;
-o-transition: color .1s linear;
}
#dashboard-menu a.ui-elements span {
margin-left: 25px;
}
#dashboard-menu a i {
position: absolute;
left: 0;
height: 24px;
width: 24px;
opacity: 0.7;
transition: opacity .1s ease;
-moz-transition: opacity .1s ease;
-webkit-transition: opacity .1s ease;
-o-transition: opacity .1s ease;
}
#dashboard-menu a i.icon-chevron-down {
position: relative;
float: right;
top: 5px;
font-size: 11px;
color: rgb(104, 104, 104);
width: initial;
height: initial;
}
#dashboard-menu > li:hover i{
opacity: 1;
}
#dashboard-menu > li.active > a,
#dashboard-menu > li > a:hover {
color: rgba(51, 69, 90, 1);
text-decoration: none;
}
#dashboard-menu > li.active a {
font-weight: 600;
text-shadow: 1px 1px 1px #fff;
}
#dashboard-menu > li.active i{
opacity: 1;
}
/* sidebar submenus */
#dashboard-menu > li.active .dropdown-toggle {
border-bottom: 0px;
box-shadow: none;
}
#dashboard-menu ul.submenu {
list-style-type: none;
display: none;
margin-top: 7px;
margin-bottom: 15px;
margin-right: 5px;
margin-left: -15px;
padding-left: 15px;
border-bottom: 1px solid #dae1e8;
box-shadow: 0 2px 1px -1px #FFFFFF;
padding-bottom: 10px;
}
#dashboard-menu ul.submenu.active {
display: block;
}
#dashboard-menu ul.submenu a {
font-weight: normal;
font-size: 13px;
color: rgb(76, 83, 90);
text-decoration: none;
display: block;
margin-bottom: 7px;
}
#dashboard-menu ul.submenu a:hover {
text-decoration: underline;
}
#dashboard-menu ul.submenu a.active {
font-weight: bold;
text-shadow: none;
}
#pad-wrapper {
padding: 0px 25px;
margin-top: 55px;
}
#pad-wrapper h4 {
margin: 0 0 0 20px;
color: #696d73;
font-style: italic;
}
.content {
min-width: 400px;
min-height: 620px;
margin-bottom: 100px;
padding-bottom: 50px;
overflow: hidden;
position: relative;
background: #fff;
margin-left: 177px;
border-left: 1px solid #dae3e9;
border-bottom: 1px solid #dae3e9;
box-shadow: -3px 3px 3px -2px #f1f1f3;
border-radius: 0px 0px 0px 5px;
}
.content.wide-content {
margin-left: 0;
border-radius: 0;
}
/* starts skins changer */
.content .skins-nav {
opacity: 1;
-webkit-transition: right .3s;
-moz-transition: right .3s;
-ms-transition: right .3s;
-o-transition: right .3s;
transition: right .3s;
position: fixed;
right: -85px;
top: 135px;
font-size: 13px;
z-index: 9999;
}
.content .skins-nav:hover {
right: 0;
}
.content .skins-nav a {
display: block;
color: #fff;
text-decoration: none;
padding-left: 10px;
height: 37px;
-webkit-border-radius: 4px 0 0 4px;
-moz-border-radius: 4px 0 0 4px;
border-radius: 4px 0 0 4px;
margin-bottom: 3px;
-webkit-transition: all .5s;
-moz-transition: all .5s;
-ms-transition: all .5s;
-o-transition: all .5s;
transition: all .5s;
}
.content .skins-nav a.first_nav {
background: rgba(95, 175, 228, 0.8);
}
.content .skins-nav a.second_nav {
background: rgba(36, 43, 77, 0.8);
}
.content .skins-nav a.first_nav:hover {
background: rgba(95, 175, 228, 1);
}
.content .skins-nav a.second_nav:hover {
background: rgba(36, 43, 77, 1);
}
.content .skins-nav a .icon {
float: left;
width: 9px;
height: 10px;
background: url('../img/skin-nav-bullets.png') 0 0 no-repeat;
margin: 15px 15px 0 5px;
}
.content .skins-nav a.selected .icon {
background-position: 0 -9px;
}
.content .skins-nav a .text {
padding-right: 12px;
white-space: nowrap;
display: block;
width: 100px;
position: relative;
top: 9px;
-webkit-transition: width .2s;
-moz-transition: width .2s;
-ms-transition: width .2s;
-o-transition: width .2s;
transition: width .2s;
}
/* end skin changer*/
/* responsive */
@media (max-width: 1020px) {
.content {
margin-left: 65px;
}
#dashboard-menu {
margin-left: 5px;
}
#dashboard-menu .pointer {
display: none;
}
#dashboard-menu li a span {
visibility: hidden;
}
}
@media (max-width: 600px) {
.content {
margin-left: 0em;
border-left-width: 0px;
}
}
@media (max-width: 822px) {
.navbar-inverse input.search {display: none;}
}
@media (max-width: 767px) {
#pad-wrapper {
padding: 0px 10px;
}
.content {
min-width: 0px;
margin:0;
}
#main-stats .stat{
width: 50%;
float: left;
}
#sidebar-nav {
left: -200px;
position: fixed;
z-index: 9999;
background-color: #f7f7f7;
padding-top: 0px;
border-right: 1px solid #ccc;
width: 165px;
box-shadow: 1px 1px 4px 1px rgb(233, 233, 233);
-webkit-transition: left .25s ease;
-moz-transition: left .25s ease;
-o-transition: left .25s ease;
-ms-transition: left .25s ease;
transition: left .25s ease;
}
#sidebar-nav #dashboard-menu {
margin-left: 10px;
}
#sidebar-nav #dashboard-menu li a span {
visibility: visible;
}
#sidebar-nav #dashboard-menu li:last-child a {
border-bottom: 0px;
box-shadow: none;
}
#sidebar-nav.display {
position: absolute;
left: 0;
height: 100%;
}
}

View File

@ -0,0 +1,48 @@
ul.wysihtml5-toolbar {
margin: 0;
padding: 0;
display: block;
}
ul.wysihtml5-toolbar::after {
clear: both;
display: table;
content: "";
}
ul.wysihtml5-toolbar > li {
float: left;
display: list-item;
list-style: none;
margin: 0 5px 10px 0;
}
ul.wysihtml5-toolbar a[data-wysihtml5-command=bold] {
font-weight: bold;
}
ul.wysihtml5-toolbar a[data-wysihtml5-command=italic] {
font-style: italic;
}
ul.wysihtml5-toolbar a[data-wysihtml5-command=underline] {
text-decoration: underline;
}
ul.wysihtml5-toolbar a.btn.wysihtml5-command-active {
background-image: none;
-webkit-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);
-moz-box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.15),0 1px 2px rgba(0, 0, 0, 0.05);
background-color: #E6E6E6;
background-color: #D9D9D9 9;
outline: 0;
}
ul.wysihtml5-commands-disabled .dropdown-menu {
display: none !important;
}
ul.wysihtml5-toolbar .btn {
font-size: 13px;
}

View File

@ -0,0 +1,301 @@
/*!
* Datepicker for Bootstrap
*
* Copyright 2012 Stefan Petre
* Improvements by Andrew Rowls
* Licensed under the Apache License v2.0
* http://www.apache.org/licenses/LICENSE-2.0
*
*/
.datepicker {
padding: 4px;
margin-top: 1px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
direction: ltr;
/*.dow {
border-top: 1px solid #ddd !important;
}*/
}
.datepicker-inline {
width: 220px;
}
.datepicker.datepicker-rtl {
direction: rtl;
}
.datepicker.datepicker-rtl table tr td span {
float: right;
}
.datepicker-dropdown {
top: 0;
left: 0;
}
.datepicker-dropdown:before {
content: '';
display: inline-block;
border-left: 7px solid transparent;
border-right: 7px solid transparent;
border-bottom: 7px solid #ccc;
border-bottom-color: rgba(0, 0, 0, 0.2);
position: absolute;
top: -7px;
left: 6px;
}
.datepicker-dropdown:after {
content: '';
display: inline-block;
border-left: 6px solid transparent;
border-right: 6px solid transparent;
border-bottom: 6px solid #ffffff;
position: absolute;
top: -6px;
left: 7px;
}
.datepicker > div {
display: none;
}
.datepicker.days div.datepicker-days {
display: block;
}
.datepicker.months div.datepicker-months {
display: block;
}
.datepicker.years div.datepicker-years {
display: block;
}
.datepicker table {
margin: 0;
}
.datepicker td,
.datepicker th {
text-align: center;
width: 20px;
height: 20px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
border: none;
}
.table-striped .datepicker table tr td,
.table-striped .datepicker table tr th {
background-color: transparent;
}
.datepicker table tr td.day:hover {
background: #eeeeee;
cursor: pointer;
}
.datepicker table tr td.old,
.datepicker table tr td.new {
color: #999999;
}
.datepicker table tr td.disabled,
.datepicker table tr td.disabled:hover {
background: none;
color: #999999;
cursor: default;
}
.datepicker table tr td.today,
.datepicker table tr td.today:hover,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today.disabled:hover {
background-color: #fde19a;
background-image: -moz-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -ms-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fdd49a), to(#fdf59a));
background-image: -webkit-linear-gradient(top, #fdd49a, #fdf59a);
background-image: -o-linear-gradient(top, #fdd49a, #fdf59a);
background-image: linear-gradient(top, #fdd49a, #fdf59a);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fdd49a', endColorstr='#fdf59a', GradientType=0);
border-color: #fdf59a #fdf59a #fbed50;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
}
.datepicker table tr td.today:hover,
.datepicker table tr td.today:hover:hover,
.datepicker table tr td.today.disabled:hover,
.datepicker table tr td.today.disabled:hover:hover,
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active,
.datepicker table tr td.today.disabled,
.datepicker table tr td.today:hover.disabled,
.datepicker table tr td.today.disabled.disabled,
.datepicker table tr td.today.disabled:hover.disabled,
.datepicker table tr td.today[disabled],
.datepicker table tr td.today:hover[disabled],
.datepicker table tr td.today.disabled[disabled],
.datepicker table tr td.today.disabled:hover[disabled] {
background-color: #fdf59a;
}
.datepicker table tr td.today:active,
.datepicker table tr td.today:hover:active,
.datepicker table tr td.today.disabled:active,
.datepicker table tr td.today.disabled:hover:active,
.datepicker table tr td.today.active,
.datepicker table tr td.today:hover.active,
.datepicker table tr td.today.disabled.active,
.datepicker table tr td.today.disabled:hover.active {
background-color: #fbf069 \9;
}
.datepicker table tr td.active,
.datepicker table tr td.active:hover,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active.disabled:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
background-image: linear-gradient(top, #0088cc, #0044cc);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td.active:hover,
.datepicker table tr td.active:hover:hover,
.datepicker table tr td.active.disabled:hover,
.datepicker table tr td.active.disabled:hover:hover,
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active,
.datepicker table tr td.active.disabled,
.datepicker table tr td.active:hover.disabled,
.datepicker table tr td.active.disabled.disabled,
.datepicker table tr td.active.disabled:hover.disabled,
.datepicker table tr td.active[disabled],
.datepicker table tr td.active:hover[disabled],
.datepicker table tr td.active.disabled[disabled],
.datepicker table tr td.active.disabled:hover[disabled] {
background-color: #0044cc;
}
.datepicker table tr td.active:active,
.datepicker table tr td.active:hover:active,
.datepicker table tr td.active.disabled:active,
.datepicker table tr td.active.disabled:hover:active,
.datepicker table tr td.active.active,
.datepicker table tr td.active:hover.active,
.datepicker table tr td.active.disabled.active,
.datepicker table tr td.active.disabled:hover.active {
background-color: #003399 \9;
}
.datepicker table tr td span {
display: block;
width: 23%;
height: 54px;
line-height: 54px;
float: left;
margin: 1%;
cursor: pointer;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
.datepicker table tr td span:hover {
background: #eeeeee;
}
.datepicker table tr td span.disabled,
.datepicker table tr td span.disabled:hover {
background: none;
color: #999999;
cursor: default;
}
.datepicker table tr td span.active,
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active.disabled:hover {
background-color: #006dcc;
background-image: -moz-linear-gradient(top, #0088cc, #0044cc);
background-image: -ms-linear-gradient(top, #0088cc, #0044cc);
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#0088cc), to(#0044cc));
background-image: -webkit-linear-gradient(top, #0088cc, #0044cc);
background-image: -o-linear-gradient(top, #0088cc, #0044cc);
background-image: linear-gradient(top, #0088cc, #0044cc);
background-repeat: repeat-x;
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#0088cc', endColorstr='#0044cc', GradientType=0);
border-color: #0044cc #0044cc #002a80;
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
filter: progid:DXImageTransform.Microsoft.gradient(enabled=false);
color: #fff;
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.datepicker table tr td span.active:hover,
.datepicker table tr td span.active:hover:hover,
.datepicker table tr td span.active.disabled:hover,
.datepicker table tr td span.active.disabled:hover:hover,
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active,
.datepicker table tr td span.active.disabled,
.datepicker table tr td span.active:hover.disabled,
.datepicker table tr td span.active.disabled.disabled,
.datepicker table tr td span.active.disabled:hover.disabled,
.datepicker table tr td span.active[disabled],
.datepicker table tr td span.active:hover[disabled],
.datepicker table tr td span.active.disabled[disabled],
.datepicker table tr td span.active.disabled:hover[disabled] {
background-color: #0044cc;
}
.datepicker table tr td span.active:active,
.datepicker table tr td span.active:hover:active,
.datepicker table tr td span.active.disabled:active,
.datepicker table tr td span.active.disabled:hover:active,
.datepicker table tr td span.active.active,
.datepicker table tr td span.active:hover.active,
.datepicker table tr td span.active.disabled.active,
.datepicker table tr td span.active.disabled:hover.active {
background-color: #003399 \9;
}
.datepicker table tr td span.old {
color: #999999;
}
.datepicker th.switch {
width: 145px;
}
.datepicker thead tr:first-child th,
.datepicker tfoot tr:first-child th {
cursor: pointer;
}
.datepicker thead tr:first-child th:hover,
.datepicker tfoot tr:first-child th:hover {
background: #eeeeee;
}
.datepicker .cw {
font-size: 10px;
width: 12px;
padding: 0 2px 0 5px;
vertical-align: middle;
}
.datepicker thead tr:first-child th.cw {
cursor: default;
background-color: transparent;
}
.input-append.date .add-on i,
.input-prepend.date .add-on i {
display: block;
cursor: pointer;
width: 16px;
height: 16px;
}

1268
View/public/css/lib/font-awesome.css vendored Normal file

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,600 @@
/*!
* FullCalendar v1.6.1 Stylesheet
* Docs & License: http://arshaw.com/fullcalendar/
* (c) 2013 Adam Shaw
*/
.fc {
direction: ltr;
text-align: left;
}
.fc table {
border-collapse: collapse;
border-spacing: 0;
}
html .fc,
.fc table {
font-size: 1em;
}
.fc td,
.fc th {
padding: 0;
vertical-align: top;
}
/* Header
------------------------------------------------------------------------*/
.fc-header {
margin-bottom: 25px;
}
.fc-header td {
white-space: nowrap;
}
.fc-header-left {
width: 25%;
text-align: left;
}
.fc-header-center {
text-align: center;
}
.fc-header-right {
width: 25%;
text-align: right;
}
.fc-header-title {
display: inline-block;
vertical-align: top;
}
.fc-header-title h2 {
margin-top: 0;
white-space: nowrap;
font-weight: 600;
font-size: 20px;
}
.fc .fc-header-space {
padding-left: 10px;
}
.fc-header .fc-button {
margin-bottom: 1em;
vertical-align: top;
}
/* buttons edges butting together */
.fc-header .fc-button {
margin-right: -1px;
}
.fc-header .fc-corner-right, /* non-theme */
.fc-header .ui-corner-right { /* theme */
margin-right: 0; /* back to normal */
}
/* button layering (for border precedence) */
.fc-header .fc-state-hover,
.fc-header .ui-state-hover {
z-index: 2;
}
.fc-header .fc-state-down {
z-index: 3;
}
.fc-header .fc-state-active,