<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class sdf_gii extends SDF_Controller {
public function index()
{
$this->_error('你访问的插件或者模块不存在!<br/><a style="color:red" href="'.__URL__.'/generate/'.$this->uri->uri_string().'" target="_blank">点击此处,生成该模块</a>');
echo 'sdf.index';return;
$this->load->test();
$this->load->model('admin/admin_user_model');
$this->admin_user_model->load->test();
$this->load->view($this->D.$this->C.'/'.$this->M);
}
public function generate($modules,$class){
if(!is_dir(MODULESPATH.$modules)){
echo '插件'.$modules.'不存在,点击此处:<a style="color:red" href="'.__URL__.'/generate_modules/'.$modules.'" target="_blank">生成插件目录结构</a>';
}else{
echo '插件“'.$modules.'”已经存在';
}
echo '<br/>';
if(!is_file(MODULESPATH.$modules.'/controllers/'.$class.'.php')){
echo '模块'.$class.'不存在,点击此处:<a style="color:red" href="'.__URL__.'/generate_controller/'.$modules.'/'.$class.'" target="_blank">生成默认模块功能</a>';
}else{
echo '模块“'.MODULESPATH.$modules.'/controllers/'.$class.'.php”已经存在';
}
echo '<br/>';
if(!is_file(MODULESPATH.$modules.'/models/'.$class.'_model.php')){
echo '模型'.$class.'不存在,点击此处:<a style="color:red" href="'.__URL__.'/generate_models/'.$modules.'/'.$class.'" target="_blank">生成默认模型</a>';
}else{
echo '模型“'.MODULESPATH.$modules.'/models/'.$class.'_model.php”已经存在';
}
echo '<br/>';
if(!is_dir(MODULESPATH.$modules.'/views/'.$class)){
echo '视图'.MODULESPATH.$modules.'/views/'.$class.'不存在,点击此处:<a style="color:red" href="'.__URL__.'/generate_values/'.$modules.'/'.$class.'" target="_blank">生成默认视图</a>';
}else{
echo '视图“'.MODULESPATH.$modules.'/views/'.$class.'”已经存在,点击此处:<a style="color:red" href="'.__URL__.'/generate_values/'.$modules.'/'.$class.'" target="_blank">重新生成</a>';
}
echo '<br/>';
}
public function generate_values($modules,$class){
$this->load->model($this->C.'_model',"model");
$field_data = $this->model->_from($class)->_field_data();
$primary = $this->model->_from($class)->_get_pk() $data = array(
'views_name' => $class,
'primary' =>$primary,
'field_data' =>$field_data,
);
$views_index_str = $this->load->view('sdf_gii/sdf_gii_views_index_template', $data, true);
if(is_writable(MODULESPATH.$modules.'/views/') and !is_dir(MODULESPATH.$modules.'/views/'.$class) and @mkdir(MODULESPATH.$modules.'/views/'.$class)){
echo MODULESPATH.$modules.'/views/'.$class.":目录生成成功!<br/>";
}else{
echo MODULESPATH.$modules.'/views/'.$class.":目录生成失败,后面的生成无法完成,请确定有生成权限!如果目录已存在也会出现次提示。<br/>";
}
if(!is_file(MODULESPATH.$modules.'/views/'.$class.'/index.php') and file_put_contents(MODULESPATH.$modules.'/views/'.$class.'/index.php',$views_index_str )){
echo MODULESPATH.$modules.'/views/'.$class.'/index.php'.":文件生成成功!<br/>";
}else{
echo MODULESPATH.$modules.'/views/'.$class.'/index.php'.":文件生成失败!文件不可写或者已经存在。请复制以下内容手动创建。<br/><textarea>$views_index_str </textarea><br/>";
}
$views_add_str = $this->load->view('sdf_gii/sdf_gii_views_add_template', $data, true);
if(!is_file(MODULESPATH.$modules.'/views/'.$class.'/add.php') and file_put_contents(MODULESPATH.$modules.'/views/'.$class.'/add.php',$views_add_str)){
echo MODULESPATH.$modules.'/views/'.$class.'/add.php'.":文件生成成功!<br/>";
}else{
echo MODULESPATH.$modules.'/views/'.$class.'/add.php'.":文件生成失败!文件不可写或者已经存在。请复制以下内容手动创建。<br/><textarea>".htmlentities($views_add_str)."</textarea><br/>";
}
$views_edit_str = $this->load->view('sdf_gii/sdf_gii_views_edit_template', $data, true);
if(!is_file(MODULESPATH.$modules.'/views/'.$class.'/edit.php') and file_put_contents(MODULESPATH.$modules.'/views/'.$class.'/edit.php',$views_edit_str)){
echo MODULESPATH.$modules.'/views/'.$class.'/edit.php'.":文件生成成功!<br/>";
}else{
echo MODULESPATH.$modules.'/views/'.$class.'/edit.php'.":文件生成失败!文件不可写或者已经存在。请复制以下内容手动创建。<br/><textarea>".htmlentities($views_edit_str)."</textarea><br/>";
}
}
public function generate_models($modules,$class){
$data = array(
'model_name' => $class,
);
$model_str = $this->load->view('sdf_gii/sdf_gii_models_template', $data, true);
if(is_writable(MODULESPATH.$modules.'/models/') and !is_file(MODULESPATH.$modules.'/models/'.$class.'_model.php') and file_put_contents(MODULESPATH.$modules.'/models/'.$class.'_model.php',$model_str)){
echo MODULESPATH.$modules.'/models/'.$class.'_model.php'.":文件生成成功!<br/>";
}else{
echo MODULESPATH.$modules.'/models/'.$class.'_model.php'.":文件生成失败!文件不可写或者已经存在。请复制以下内容手动创建。<br/><textarea>$model_str</textarea><br/>";
}
}
public function generate_controller($modules,$class){
$data = array(
'Controller_name' => $class,
);
$controller_str = $this->load->view('sdf_gii/sdf_gii_controller_template', $data, true);
if(is_writable(MODULESPATH.$modules.'/controllers/') and !is_file(MODULESPATH.$modules.'/controllers/'.$class.'.php') and file_put_contents(MODULESPATH.$modules.'/controllers/'.$class.'.php',$controller_str)){
echo MODULESPATH.$modules.'/controllers/'.$class.'.php'.":文件生成成功!<br/>";
}else{
echo MODULESPATH.$modules.'/controllers/'.$class.'.php'.":文件生成失败!文件不可写或者已经存在。请复制以下内容手动创建。<br/><textarea>$controller_str</textarea><br/>";
}
echo "生成模块$modules/$class";
}
public function generate_modules($modules){
if(is_writable(MODULESPATH) and !empty($modules)){
$generate_dirs = array('config','controllers','helpers','language','libraries','models','views');
foreach($generate_dirs as $d){
$dirname = MODULESPATH.$modules.'/'.$d;
if(!is_dir($dirname) and mkdir($dirname,0777,TRUE)){
echo $dirname.':生成成功!<br/>';
}else{
echo $dirname.':生成失败或已经存在!<br/>';
}
}
if( !is_file(MODULESPATH.$modules.'/.htaccess') and copy(MODULESPATH.'.htaccess',MODULESPATH.$modules.'/.htaccess')) {
echo MODULESPATH.$modules.'/.htaccess'.'copy成功!<br/>';
}else{
echo MODULESPATH.$modules.'/.htaccess'.' copy失败或者已经存在!<br/>';
}
if( !is_file(MODULESPATH.$modules.'/index.html') and copy(MODULESPATH.'index.html',MODULESPATH.$modules.'/index.html')) {
echo MODULESPATH.$modules.'/index.html'.' copy成功!<br/>';
}else{
echo MODULESPATH.$modules.'/index.html'.' copy失败或者已经存在!<br/>';
}
}else{
echo MODULESPATH.'不可写!无法生成,请手动生成插件目录结构。';
}
}
}