UPdated : Language System
Updated : Email templates and settings
This commit is contained in:
parent
e8c4e96d8d
commit
2aac3f79cf
7 changed files with 390 additions and 118 deletions
|
@ -1,7 +1,7 @@
|
|||
<?php
|
||||
/*
|
||||
**************************************************************
|
||||
| Copyright (c) 2007-2010 Clip-Bucket.com. All rights reserved.
|
||||
| Copyright (c) 2007-2012 Clip-Bucket.com. All rights reserved.
|
||||
| @ Author : ArslanHassan
|
||||
| @ Software : ClipBucket , © PHPBucket.com
|
||||
***************************************************************
|
||||
|
@ -13,16 +13,16 @@ $userquery->login_check('web_config_access');
|
|||
$pages->page_redir();
|
||||
|
||||
//Making Language Default
|
||||
if(isset($_POST['make_default']))
|
||||
if(isset($_POST['default_language']))
|
||||
{
|
||||
$id = mysql_clean($_POST['make_default']);
|
||||
$id = mysql_clean($_POST['default_language']);
|
||||
$lang_obj->make_default($id);
|
||||
}
|
||||
|
||||
//Importing language
|
||||
if(isset($_POST['add_language']))
|
||||
{
|
||||
$lang_obj->import_lang();
|
||||
$lang_obj->import_lang($_POST);
|
||||
}
|
||||
|
||||
//Removig Langiage
|
||||
|
@ -35,8 +35,14 @@ if(isset($_GET['delete']))
|
|||
//Updateing Language
|
||||
if(isset($_POST['update_language']))
|
||||
{
|
||||
$_POST['lang_id'] = $_GET['edit_language'];
|
||||
$_POST['lang_id'] = $_POST['update_language'];
|
||||
$lang_obj->update_lang($_POST);
|
||||
|
||||
//Updating phrases
|
||||
if(($_FILES['lang_file']['tmp_name']))
|
||||
{
|
||||
$lang_obj->import_lang($_POST);
|
||||
}
|
||||
}
|
||||
|
||||
//Downloading Language
|
||||
|
|
|
@ -116,6 +116,9 @@ $(document).ready(function(){
|
|||
<script type="text/javascript" src="{$template_url}/jquery/scrolltofixed.js"></script>
|
||||
<!-- Loading Masonary -->
|
||||
<script type="text/javascript" src="{$template_url}/jquery/masonary.js"></script>
|
||||
<!-- jEditable -->
|
||||
<script type="text/javascript" src="{$template_url}/jquery/jeditable.js"></script>
|
||||
|
||||
|
||||
<!-- Including Amplify Requests -->
|
||||
{include file="$layout_dir/amplify.requests.html"}
|
||||
|
|
|
@ -165,5 +165,15 @@
|
|||
total_thumbs.prop('checked',true);
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
|
||||
$('.edit_lang').editable(baseurl+'/actions/update_phrase.php', {
|
||||
indicator : '<img src="'+baseurl+'/images/icons/progIndicator.gif">',
|
||||
tooltip : 'Click to edit...',
|
||||
type : 'textarea',
|
||||
width :500}
|
||||
);
|
||||
|
||||
})
|
||||
</script>
|
|
@ -1,112 +1,237 @@
|
|||
{if $edit_lang != 'yes'}
|
||||
<h2>Language Settings</h2>
|
||||
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0" style="margin-top:15px">
|
||||
<tr>
|
||||
<td width="20" class="left_head" style="padding-left:5px">ID</td>
|
||||
<td width="100" align="left" class="head"><div class="head_sep_left">Default</div></td>
|
||||
<td class="head"><div class="head_sep_left" style="width:100px">Language</div></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<form name="default_lang" method="post" action="?default">
|
||||
{section name=l_list loop=$language_list}
|
||||
<div class="row_white">
|
||||
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td width="20" height="25" valign="top" style="padding-left:5px">{$language_list[l_list].language_id}</td>
|
||||
<td width="100" align="left" valign="top"><label>
|
||||
<input type="radio" name="make_default" id="radio" value="{$language_list[l_list].language_id}" {if $language_list[l_list].language_default =='yes'}checked="checked"{/if} onclick="document.default_lang.submit()"/>
|
||||
</label></td>
|
||||
<td valign="top">{$language_list[l_list].language_name}({$language_list[l_list].language_code})
|
||||
<div><a href="?create_package={$language_list[l_list].language_code}">Recreate Pack</a>
|
||||
- <a href="?recreate_from_pack={$language_list[l_list].language_code}" >Recreate from pack</a>
|
||||
- <a href="?edit_language={$language_list[l_list].language_id}" >Edit Phrases</a>
|
||||
- <a href="?edit_language={$language_list[l_list].language_id}">Edit</a>
|
||||
- <a href="javascript:void(0)" onclick="if(confirm_it('Are you sure you want to delete \'{$language_list[l_list].language_name}\' pack')) window.location = '?delete={$language_list[l_list].language_id}'">Delete</a>
|
||||
- <a href="?download={$language_list[l_list].language_id}" target="_blank">Export</a>{if $language_list[l_list].language_active!='yes'}
|
||||
- <a href="?action=activate&id={$language_list[l_list].language_id}">Activate</a>{/if}{if $language_list[l_list].language_active=='yes'}
|
||||
- <a href="?action=deactivate&id={$language_list[l_list].language_id}">Dectivate</a>{/if}</div></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="height10"></div>
|
||||
|
||||
{$languages=$language_list}
|
||||
<div class="manager-list">
|
||||
<div class="controller scrolltoFixed white-grad">
|
||||
<div class="buttons">
|
||||
<div class="btn-toolbar">
|
||||
<div class="btn-group">
|
||||
|
||||
</div>
|
||||
<div class="btn-group">
|
||||
<a class="btn btn-primary" data-toggle="modal" data-target="#create-language">
|
||||
<i class="icon-plus icon-white"></i>
|
||||
{lang code='Create New Lanuages'}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="right-button">
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="modal hide" id="create-language">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h3>Create new language</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form class="form form-vertical" method="post" enctype="multipart/form-data" id="add-language-form">
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="lang_name">{lang code='Language Name'}</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="input-xlarge" id="lang_name" name="name">
|
||||
<p class="help-block">Name your language something more user friendly e.g 'Urdu', 'English US'</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="lang_code">{lang code='Language Code'}</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="input-xlarge" id="lang_code" name="code">
|
||||
<p class="help-block">e.g 'ur' , 'en-US'</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="lang_file">{lang code='Language File'}</label>
|
||||
<div class="controls">
|
||||
<input type="file" class="input-xlarge" id="lang_file" name="lang_file">
|
||||
<p class="help-block">a .json file, see documentation for more details</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="add_language" value="do" />
|
||||
{* @todo : Add language documentation link *}
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" class="btn" data-dismiss="modal">Close</a>
|
||||
<a href="#" class="btn btn-primary" onclick="$('#add-language-form').submit();">{lang code='Create'}</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form name="manage-languages-form" method="post" id="manage-languages-form" action="language_settings.php">
|
||||
|
||||
<table id="manage-languages-list" class="table table-striped list-block {if !$languages}display-none{/if}">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="70">#</th>
|
||||
<th>{lang code='Name'}</th>
|
||||
<th width="70">{lang code='Active'}</th>
|
||||
<th width="200">{lang code='Default'}</th>
|
||||
<th width="120"></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
{foreach $languages as $language}
|
||||
|
||||
<tr>
|
||||
<td>{$language.language_id}</td>
|
||||
<td>{$language.language_name}
|
||||
{if $language.language_default=='yes'}
|
||||
<span class="label label-success">default</span>
|
||||
{/if}
|
||||
</td>
|
||||
<td>{$language.language_active}</td>
|
||||
<td><input type="radio" name="default_language" value="{$language.language_id}"
|
||||
{if $language.language_default=='yes'}checked="checked"{/if}
|
||||
onclick="$('#manage-languages-form').submit();"
|
||||
/></td>
|
||||
<td>
|
||||
<div class="dropdown pull-right btn-group">
|
||||
<a class="btn dropdown-toggle" data-toggle="dropdown">
|
||||
Options <i class="caret"></i>
|
||||
</a>
|
||||
<ul class="dropdown-menu">
|
||||
<li><a href="javascript:void(0)" data-toggle="modal" data-target='#edit-language-{$language.language_id}'>{lang code='Edit'}</a></li>
|
||||
{if $language.language_active!='yes'}</li>
|
||||
<li><a href="?action=activate&id={$language.language_id}">{lang code='Activate'}</a>{/if}
|
||||
{if $language.language_active=='yes'}</li>
|
||||
<li><a href="?action=deactivate&id={$language.language_id}">{lang code='Deactivate'}</a>{/if}</li>
|
||||
|
||||
<li class="divider"></li>
|
||||
|
||||
|
||||
<li><a href="?create_package={$language.language_code}">{lang code='Refresh Cache'}</a></li>
|
||||
<li><a href="?edit_language={$language.language_id}" >{lang code='Edit Phrases'}</a></li>
|
||||
<li><a href="?download={$language.language_id}" target="_blank">{lang code='Export'}</a>
|
||||
|
||||
|
||||
<li class="divider"></li>
|
||||
{$title=lang("Delete Language")}
|
||||
{$content=sprintf(lang("Are you sure you want to remove %s ?"),$language.language_name)}
|
||||
<li><a href="javascript:void(0)" onclick="cb_confirm('{$title}','{$content}',function(){
|
||||
window.location = '?delete='+{$language.language_id};
|
||||
})">{lang code='Delete'}</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
</form>
|
||||
|
||||
</div>
|
||||
{/section}
|
||||
</form>
|
||||
|
||||
<div style="height:50px"></div>
|
||||
<h2> Add New Language </h2>
|
||||
<form action="?import" method="post" enctype="multipart/form-data" name="import_language" id="import_language">
|
||||
<fieldset>
|
||||
<legend>Upload file</legend>
|
||||
<table width="100%" border="0" cellpadding="2" cellspacing="0" class="block">
|
||||
<tr>
|
||||
<td>Browse ClipBucket Language File ( must be .xml format )
|
||||
<input type="file" name="lang_file" id="lang_file" />
|
||||
<input type="submit" name="add_language" id="add_language" value="Add Language" class="button" /></td>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
</form>
|
||||
|
||||
{* Calling foreach loop again to write down modal boxes for languages because we cannot declare a form within a form *}
|
||||
{foreach $languages as $language}
|
||||
<div class="modal hide" id="edit-language-{$language.language_id}">
|
||||
<div class="modal-header">
|
||||
<button type="button" class="close" data-dismiss="modal">×</button>
|
||||
<h3>{lang code='Edit Language'} - {$language.language_name}</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<form class="form form-horizontal" name="edit_language_{$language.language_id}" enctype="multipart/form-data" id="edit-lang-{$language.language_id}" method="post">
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="name">{lang code='Language Name'}</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="input-xlarge" id="name" name="name" value="{$language.language_name}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="code">{lang code='Language Code'}</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="input-xlarge" id="code" name="code" value="{$language.language_code}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="regex">{lang code='Language Regex'}</label>
|
||||
<div class="controls">
|
||||
<input type="text" class="input-xlarge" id="regex" name="regex" value="{$language.language_regex}" />
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
Update language phrases from a file, leave blank otherwise.
|
||||
<div class="height10"></div>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="lang_file">{lang code='Language File'}</label>
|
||||
<div class="controls">
|
||||
<input type="file" class="input-xlarge" id="lang_file" name="lang_file">
|
||||
<p class="help-block">a .json file, see documentation for more details</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<input type="hidden" name="update_language" value="{$language.language_id}" />
|
||||
</form>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<a href="#" class="btn" data-dismiss="modal">Close</a>
|
||||
<a href="#" class="btn btn-primary" onclick="$('#edit-lang-{$language.language_id}').submit();">Save changes</a>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{/foreach}
|
||||
|
||||
|
||||
{lang code='awein'}
|
||||
|
||||
{else}
|
||||
<span class="page_title">Edit {$lang_details.language_name}</span>
|
||||
<h2>{lang code='Edit Language phrases'} - {$lang_details.language_name}</h2>
|
||||
<div class="height20"></div>
|
||||
|
||||
<div class="search_box"> <form id="form1" name="form1" method="post" action="">
|
||||
<label>Language Name
|
||||
<input name="name" type="text" id="name" value="{$lang_details.language_name}" />
|
||||
Language Code </label>
|
||||
<input name="code" type="text" id="code" value="{$lang_details.language_code}" />
|
||||
Language Regex
|
||||
<input name="regex" type="text" id="regex" value="{$lang_details.language_regex}" />
|
||||
<input type="submit" name="update_language" class="button" value="Update" style="margin-top:10px" id="update_language"/>
|
||||
<br />
|
||||
</form></div>
|
||||
|
||||
<div style="height:10px">
|
||||
<form name="search_phrases" id="search_phrases" class="form form-horizontal" method="get">
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="varname">{lang code='Phrase Code - Name'}</label>
|
||||
<div class="controls">
|
||||
<input name="varname" class="input-xlarge" type="text" id="varname" value="{$smarty.get.varname|form_val}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<span class="page_title">Editing {$lang_details.language_name} Phrases</span>
|
||||
<div class="control-group">
|
||||
<label class="control-label" for="text">{lang code='Phrase Text'}</label>
|
||||
<div class="controls">
|
||||
<input name="text" class="input-xlarge" type="text" id="text" value="{$smarty.get.text|form_val}" />
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div style="height:10px">
|
||||
<input name="edit_language" type="hidden" value="{$smarty.get.edit_language}" />
|
||||
|
||||
</div>
|
||||
<div class="form-actions">
|
||||
<button type="submit" class="btn btn-primary">{lang code='Search Phrases'}</button>
|
||||
</div>
|
||||
|
||||
</form>
|
||||
|
||||
|
||||
<div class="search_box"> <form id="form1" name="form1" method="get" action="?">
|
||||
<label>Phrase Code - Name<br />
|
||||
<input name="varname" type="text" id="varname" value="{$smarty.get.varname|form_val}" />
|
||||
<input name="edit_language" type="hidden" value="{$smarty.get.edit_language}" />
|
||||
</label>
|
||||
<br />
|
||||
<label>Phrase Text<br />
|
||||
<input name="text" type="text" id="text" value="{$smarty.get.text|form_val}" />
|
||||
</label>
|
||||
<br />
|
||||
<label>
|
||||
<input type="submit" name="search_phrase" class="button" value="Submit" style="margin-top:10px" id="search_phrase"/>
|
||||
</label>
|
||||
</form></div>
|
||||
|
||||
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td width="5" class="left_head" ></td>
|
||||
<td width="200" class="head">Phrase Code</td>
|
||||
<td align="left" class="head">Phrase</td>
|
||||
<td width="200" class="right_head"></td>
|
||||
</tr>
|
||||
<table class="table table-striped table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
<th width="150">Phrase code</th>
|
||||
<th>Phrase Text</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{foreach $lang_phrases as $phrase}
|
||||
<tr>
|
||||
<td>{$phrase.varname}</td>
|
||||
<td><div class="edit_lang" id="{$phrase.id}">{$phrase.text}</div></td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
{section name=p_list loop=$lang_phrases}
|
||||
<div class="row_white">
|
||||
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="0">
|
||||
<tr>
|
||||
<td width="5" ></td>
|
||||
<td width="200" >{$lang_phrases[p_list].varname}</td>
|
||||
<td align="left"><div class="edit_lang" id="{$lang_phrases[p_list].id}">{$lang_phrases[p_list].text}</div></td>
|
||||
<td width="200" ></td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
{/section}
|
||||
|
||||
<!-- DIsplaying Videos Ends-->
|
||||
{include file="$style_dir/blocks/pagination.html" }
|
||||
|
||||
|
|
|
@ -19,6 +19,10 @@
|
|||
#
|
||||
|
||||
|
||||
/**
|
||||
* @todo : Make sure when there is no phrase in databse pack, a notification should be added for administrator that XxX phrase has no defination.
|
||||
*/
|
||||
|
||||
|
||||
class language
|
||||
{
|
||||
|
@ -120,8 +124,13 @@ class language
|
|||
global $db;
|
||||
//First checking if phrase already exists or not
|
||||
if($this->get_phrase($id,$lang_code))
|
||||
$db->update(tbl("phrases"),array('text'),array(mysql_real_escape_string($text))," id = '".mysql_real_escape_string($id)."' ");
|
||||
}
|
||||
$db->update(tbl("phrases"),array('text'),array('|no_mc|'.mysql_real_escape_string($text))," id = '".mysql_real_escape_string($id)."' ");
|
||||
|
||||
if($this->auto_update_pack)
|
||||
{
|
||||
$this->createPack($lang_code);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Function used to get all phrases of particular language
|
||||
|
@ -255,22 +264,16 @@ class language
|
|||
$lang_details = $this->get_lang($id);
|
||||
if($lang_details)
|
||||
{
|
||||
$content = file_get_contents(BASEDIR.'/includes/langs/'.$lang_details['language_code'].'.lang');
|
||||
|
||||
header("Pragma: public"); // required
|
||||
header("Expires: 0");
|
||||
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
|
||||
header("Cache-Control: private",false); // required for certain browsers
|
||||
header("Content-type: application/force-download");
|
||||
header("Content-Disposition: attachment; filename=\"cb_lang_".$lang_details['language_code'].".xml\"");
|
||||
echo '<?xml version="1.0" encoding="UTF-8"?>';
|
||||
?>
|
||||
<clipbucket_language>
|
||||
<name><?=$lang_details['language_name']?></name>
|
||||
<iso_code><?=$lang_details['language_code']?></iso_code>
|
||||
<phrases>
|
||||
<?=array2xml(array('lang'=>$this->lang_phrases()));?>
|
||||
</phrases>
|
||||
</clipbucket_language>
|
||||
<?php
|
||||
header("Content-Disposition: attachment; filename=\"cb_lang_".$lang_details['language_code'].".json\"");
|
||||
echo $content;
|
||||
|
||||
exit();
|
||||
}else
|
||||
e(lang("lang_doesnt_exist"));
|
||||
|
@ -279,12 +282,14 @@ class language
|
|||
/**
|
||||
* Function used to import language
|
||||
*/
|
||||
function import_lang()
|
||||
function import_lang_old()
|
||||
{
|
||||
global $db;
|
||||
//First we will move uploaded file
|
||||
$file_name = TEMP_DIR.'/cb_lang.xml';
|
||||
|
||||
|
||||
|
||||
if(empty($_FILES['lang_file']['name']))
|
||||
e(lang("no_file_was_selected"));
|
||||
elseif(move_uploaded_file($_FILES['lang_file']['tmp_name'],$file_name))
|
||||
|
@ -335,6 +340,95 @@ class language
|
|||
unlink($file_name);
|
||||
}
|
||||
|
||||
|
||||
|
||||
function import_lang($array)
|
||||
{
|
||||
global $db;
|
||||
if(!$array['code'])
|
||||
{
|
||||
e(lang('Input language code was invalid '));
|
||||
return false;
|
||||
}
|
||||
|
||||
if(!$array['name'])
|
||||
$array['name'] = $array['code'];
|
||||
|
||||
$name = $array['name'];
|
||||
$code = $array['code'];
|
||||
|
||||
//Checking if language already exists...
|
||||
$lang = $this->lang_exists($code);
|
||||
|
||||
if(!$lang)
|
||||
{
|
||||
//Add language in databse.
|
||||
//Create language file.
|
||||
//Update from pack.
|
||||
|
||||
$db_fields = array(
|
||||
'language_code' => $code,
|
||||
'language_name' => $name,
|
||||
'language_regex' => '/'.$code.'/',
|
||||
'language_default' => 'no'
|
||||
);
|
||||
|
||||
cb_insert(tbl('languages'),$db_fields);
|
||||
$lang_file = BASEDIR.'/includes/langs/'.$code.'.lang';
|
||||
$new_file = TEMP_DIR.'/'.$code.'.lang';
|
||||
|
||||
$lang_id = $db->insert_id();
|
||||
|
||||
if(move_uploaded_file($_FILES['lang_file']['tmp_name'], $new_file))
|
||||
{
|
||||
rename($new_file,$lang_file);
|
||||
$this->updateFromPack($code);
|
||||
|
||||
if(!error())
|
||||
{
|
||||
e(sprintf(lang('%s has been added.'),$name),'m');
|
||||
return true;
|
||||
}else
|
||||
return false;
|
||||
}else{
|
||||
cb_update(tbl('languages'),array('language_active'=>'no')," language_id='$lang_id' ");
|
||||
e(lang('Unable to upload language file'));
|
||||
return false;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
//Replace existing lang file and execute update from pack
|
||||
//function ;)
|
||||
|
||||
$lang_file = BASEDIR.'/includes/langs/'.$lang['language_code'].'.lang';
|
||||
$new_file = TEMP_DIR.'/'.$lang['language_code'].'.lang';
|
||||
|
||||
if(move_uploaded_file($_FILES['lang_file']['tmp_name'], $new_file))
|
||||
{
|
||||
unlink($lang_file);
|
||||
rename($new_file,$lang_file);
|
||||
|
||||
|
||||
$this->updateFromPack($lang['language_code']);
|
||||
|
||||
if(!error())
|
||||
{
|
||||
e(lang('Language phrases been updated'),'m');
|
||||
return true;
|
||||
}else
|
||||
return false;
|
||||
}else{
|
||||
e(lang('Unable to upload language file'));
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Function used to delete language pack
|
||||
*/
|
||||
|
@ -392,7 +486,8 @@ class language
|
|||
{
|
||||
if(!$lang)
|
||||
$lang = $this->lang;
|
||||
$phrases = $this->get_phrases($lang);
|
||||
|
||||
$phrases = $this->get_phrases($lang);
|
||||
|
||||
if(count($phrases)==0) return false;
|
||||
$new_array = array();
|
||||
|
@ -468,28 +563,35 @@ class language
|
|||
global $db;
|
||||
if(!$lang)
|
||||
$lang = $this->lang;
|
||||
$file = BASEDIR.'/includes/langs/'.$lang.'.lang';
|
||||
|
||||
|
||||
$file = BASEDIR.'/includes/langs/'.$lang.'.lang';
|
||||
|
||||
|
||||
if(file_exists($file))
|
||||
{
|
||||
$langData = file_get_contents($file);
|
||||
$phrases = json_decode($langData,true);
|
||||
|
||||
//First lets delete all language phrases
|
||||
$db->delete(tbl("phrases"),array("lang_iso"),array($lang));
|
||||
//Now create query and then execute it
|
||||
|
||||
//Now create query and then execute it
|
||||
$query = "INSERT INTO ".tbl("phrases")."
|
||||
(`lang_iso` ,`varname` ,`text`)
|
||||
VALUES";
|
||||
|
||||
|
||||
$count = 0;
|
||||
foreach($phrases as $key => $phrase)
|
||||
{
|
||||
if($count>0)
|
||||
$query .= ",";
|
||||
$query .= "('$lang', '$key', '".addslashes($phrase)."')";
|
||||
$query .= "('$lang', '$key', '".clean($phrase)."')";
|
||||
$count++;
|
||||
}
|
||||
$query .= ";";
|
||||
|
||||
|
||||
$db->Execute($query);
|
||||
|
||||
}
|
||||
|
@ -497,4 +599,5 @@ class language
|
|||
|
||||
}
|
||||
|
||||
|
||||
?>
|
|
@ -2959,6 +2959,31 @@ function cond($condition, $operater = 'AND', $var = NULL) {
|
|||
return $cond;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* CB New Insert function to make dev easy
|
||||
*
|
||||
* @param STRING tbl_name
|
||||
* @param ARRAY fields=>values
|
||||
*/
|
||||
function cb_insert($tbl,$array)
|
||||
{
|
||||
global $db;
|
||||
|
||||
$fields = array();
|
||||
$values = array();
|
||||
|
||||
|
||||
foreach($array as $index=>$val)
|
||||
{
|
||||
$fields[] = $index;
|
||||
$values[] = $val;
|
||||
}
|
||||
|
||||
return $db->insert($tbl,$fields,$values);
|
||||
}
|
||||
|
||||
//Including videos functions
|
||||
include("functions_videos.php");
|
||||
//Including Users Functions
|
||||
|
|
Loading…
Add table
Reference in a new issue