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:
commit
69288bd8dc
5
.buildpath
Normal file
5
.buildpath
Normal 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
28
.project
Normal 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>
|
2
.settings/org.eclipse.php.core.prefs
Normal file
2
.settings/org.eclipse.php.core.prefs
Normal file
@ -0,0 +1,2 @@
|
||||
eclipse.preferences.version=1
|
||||
include_path=0;/McAccount
|
7
.settings/org.eclipse.wst.common.project.facet.core.xml
Normal file
7
.settings/org.eclipse.wst.common.project.facet.core.xml
Normal 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
446
Amysql/Amysql.php
Normal 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
31
Amysql/Config.php
Normal 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
201
Amysql/Function.php
Normal 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
286
Amysql/mail.class.php
Normal 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
37
Controller/index.php
Normal 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");
|
||||
}
|
||||
|
||||
}
|
45
Controller/mail_status.php
Normal file
45
Controller/mail_status.php
Normal 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
34
Controller/retrieve.php
Normal 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("验证成功");
|
||||
|
||||
}
|
||||
}
|
12
Controller/user_current.php
Normal file
12
Controller/user_current.php
Normal file
@ -0,0 +1,12 @@
|
||||
<?php
|
||||
class user_current extends AmysqlController
|
||||
{
|
||||
function current()
|
||||
{
|
||||
$money = $this -> _model('current_model') -> money_current($_REQUEST['user']);
|
||||
|
||||
JsonSuccess( $money );
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
51
Controller/user_public.php
Normal file
51
Controller/user_public.php
Normal 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
77
Model/authme.php
Normal 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
12
Model/current_model.php
Normal 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
14
Model/mail.php
Normal 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
34
Model/mail_model.php
Normal 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
11
View/AmysqlNotice.php
Normal 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
223
View/forge.php
Normal 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
297
View/forge1.php
Normal 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="下一步»" />
|
||||
</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="«上一步" />-->
|
||||
<input type="button" class="next right btn btn-primary"
|
||||
value="下一步»" />
|
||||
</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="«上一步" />-->
|
||||
<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
29
View/header.php
Normal 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
195
View/index.php
Normal 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
22
View/left.php
Normal 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
109
View/login.php
Normal 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
202
View/mail/mailstatus-.php
Normal 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
166
View/mail/mailstatus.php
Normal 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
204
View/message.php
Normal 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
147
View/password.php
Normal 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>
|
369
View/public/css/bootstrap/bootstrap-overrides.css
vendored
Normal file
369
View/public/css/bootstrap/bootstrap-overrides.css
vendored
Normal 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;
|
||||
}
|
||||
|
||||
|
1109
View/public/css/bootstrap/bootstrap-responsive.css
vendored
Normal file
1109
View/public/css/bootstrap/bootstrap-responsive.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
6158
View/public/css/bootstrap/bootstrap.css
vendored
Normal file
6158
View/public/css/bootstrap/bootstrap.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
12
View/public/css/code-editor.css
Normal file
12
View/public/css/code-editor.css
Normal 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;
|
||||
}
|
80
View/public/css/compiled/calendar.css
Normal file
80
View/public/css/compiled/calendar.css
Normal 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; } }
|
23
View/public/css/compiled/chart-showcase.css
Normal file
23
View/public/css/compiled/chart-showcase.css
Normal 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*/
|
580
View/public/css/compiled/elements.css
Normal file
580
View/public/css/compiled/elements.css
Normal 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); } }
|
62
View/public/css/compiled/form-showcase.css
Normal file
62
View/public/css/compiled/form-showcase.css
Normal 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; } }
|
139
View/public/css/compiled/form-wizard.css
Normal file
139
View/public/css/compiled/form-wizard.css
Normal 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; } }
|
162
View/public/css/compiled/gallery.css
Normal file
162
View/public/css/compiled/gallery.css
Normal 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; } }
|
16
View/public/css/compiled/grids.css
Normal file
16
View/public/css/compiled/grids.css
Normal 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; }
|
195
View/public/css/compiled/index.css
Normal file
195
View/public/css/compiled/index.css
Normal 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; } }
|
112
View/public/css/compiled/new-user.css
Normal file
112
View/public/css/compiled/new-user.css
Normal 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; } }
|
90
View/public/css/compiled/personal-info.css
Normal file
90
View/public/css/compiled/personal-info.css
Normal 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%; } }
|
134
View/public/css/compiled/signin.css
Normal file
134
View/public/css/compiled/signin.css
Normal 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%; } }
|
135
View/public/css/compiled/signup.css
Normal file
135
View/public/css/compiled/signup.css
Normal 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%; } }
|
134
View/public/css/compiled/tables.css
Normal file
134
View/public/css/compiled/tables.css
Normal 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%; } }
|
115
View/public/css/compiled/ui-elements.css
Normal file
115
View/public/css/compiled/ui-elements.css
Normal 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; } }
|
67
View/public/css/compiled/user-list.css
Normal file
67
View/public/css/compiled/user-list.css
Normal 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; } }
|
120
View/public/css/compiled/user-profile.css
Normal file
120
View/public/css/compiled/user-profile.css
Normal 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; } }
|
20
View/public/css/compiled/web-app-icons.css
Normal file
20
View/public/css/compiled/web-app-icons.css
Normal 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; }
|
653
View/public/css/elements.css
Normal file
653
View/public/css/elements.css
Normal 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
115
View/public/css/icons.css
Normal 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
570
View/public/css/layout.css
Normal 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%;
|
||||
}
|
||||
}
|
48
View/public/css/lib/bootstrap-wysihtml5.css
vendored
Normal file
48
View/public/css/lib/bootstrap-wysihtml5.css
vendored
Normal 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;
|
||||
}
|
301
View/public/css/lib/bootstrap.datepicker.css
vendored
Normal file
301
View/public/css/lib/bootstrap.datepicker.css
vendored
Normal 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
1268
View/public/css/lib/font-awesome.css
vendored
Normal file
File diff suppressed because it is too large
Load Diff
600
View/public/css/lib/fullcalendar.css
Normal file
600
View/public/css/lib/fullcalendar.css
Normal 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,
|
||||