=================================================================================
     
=================================================================================

  system/controllers/content/actions/item_props_fields.php ( 21)

 $props = $this->model->getContentProps($ctype['name'], $category_id); 

:

#   	
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
    if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		$model = cmsCore::getModel('languages');
		if($props)	
		foreach($props as $key=>$val){		
			$trans_prop = $model->filterEqual('item_id', $val['id'])->filterEqual('lang', 

$system_lang)->get('languages_con_'.$ctype['name'].'_props');
			$model->filterEqual('item_id', $val['id'] + 1000)->filterEqual('lang', $system_lang);
			$trans_prop_vals = $model->getFieldFiltered('languages_con_'.$ctype['name'].'_props', 

'vals');
			if($trans_prop)
			foreach($trans_prop as $tp){		
				$props[$val['id']]['title'] = $tp['title'];
				$props[$val['id']]['fieldset'] = $tp['fieldset'];			
				$props[$val['id']]['values'] = $tp['vals'];						
			}
			
			$model->filterEqual('item_id', $val['id'] + 1000)->filterEqual('lang', $system_lang);
			$trans_prop_vals = $model->getFieldFiltered('languages_con_'.$ctype['name'].'_props', 

'vals');
			if($trans_prop_vals)$props[$key]['options']['units'] = $trans_prop_vals;
		}
	} 
#   



=================================================================================
     
=================================================================================

  system/controllers/tags/actions/search.php ( 19)

 $tag_id = $this->model->getTagId($query); 

:

	#   
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
    if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		$model = cmsCore::getModel('languages');
			$f = $model->filterEqual('title', $query)->filterEqual('lang', $system_lang)->getFieldFiltered('languages_tags', 'ctype');
			if($f) { $tag_translate = $query; $query = $f; }
	} 
	#   


=================================================================================
    
=================================================================================

  templates/default/assets/ui/filter-panel.tpl.php ( 17)

 <?php foreach($fields as $name => $field){ ?> 

:

<?php  #   
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
    if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		$model = cmsCore::getModel('languages');
		if(strstr($form_url, 'users')){
			$f = $model->filterEqual('ctype', $name)->filterEqual('lang', $system_lang)->getFieldFiltered('languages_userfields', 'title');
			if($f) $field['title'] = $f;
		} else {
			$f = $model->filterEqual('item_id', $name)->filterEqual('lang', $system_lang)->getFieldFiltered('languages_fields', 'title');
			if($f) $field['title'] = $f;		
		}
	} 
#    ?>


=================================================================================
   FIELDSET  
=================================================================================

  templates/default/assets/ui/form.tpl.php ( 53)

 <?php foreach($form->getStructure() as $fieldset_id => $fieldset){ ?> 

:

<?php #  fieldset
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
	if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		$contr = cmsCore::getController('languages');
		$url = explode('/', $contr->cms_core->uri);
		$current_controller = 'languages_con_'.$url[0];
		
		if(isset($data['ctype_id'])) {
			$content_model = cmsCore::getModel('content');										
			$ctype = $content_model->getContentType($data['ctype_id']);
			$model = cmsCore::getModel('languages');	
		
			foreach($fieldset['childs'] as $key=>$child){
				$model->filterEqual('item_id', $key.'_fieldset')->filterEqual('lang', $system_lang);
				$title = $model->getFieldFiltered('languages_fields', 'title');	
				if($title) $fieldset['title'] = $title;								
			}
		}
		
		if($current_controller = 'users' && isset($fieldset['title'])){
			foreach($fieldset['childs'] as $key=>$child){
				$model = cmsCore::getModel('languages');
				$model->filterEqual('item_id', 0)->filterEqual('ctype', str_replace(' ', '_', $fieldset['title']))->filterEqual('lang', $system_lang);
				$title = $model->getFieldFiltered('languages_userfields', 'title');	
				if($title) $fieldset['title'] = $title;								
			}
			
		}

	} 	
#  fieldset ?>


=================================================================================
   FIELDSET  
=================================================================================

  templates/default/assets/ui/form.tpl.php ( 138)

 <?php echo $field->getInput($value); ?>

 :

<? #   
	if(cmsCore::isControllerExists('languages')) {
		$controller = cmsCore::getController('languages');
		$options = $controller->getOptions();
		$url = explode('/', $controller->cms_core->uri);		
		
		if($options['enable_forms'] && $url[0] != 'admin'){
			$model = cmsCore::getModel('languages');
			$system_lang = cmsCore::getLanguageName();		
			$user = cmsUser::getInstance();
			$allow = false;
			$is_moderator = false;			

			if(isset($data['ctype_id'])) {
				$content_model = cmsCore::getModel('content');										
				$ctype = $content_model->getContentType($data['ctype_id']);
				$is_moderator =  cmsCore::getModel('content')->userIsContentTypeModerator($ctype['name'], $user->id);				
			}		

			if(($user->is_admin || $is_moderator) && $options['forms_admin'] == 1) $allow = true;
			if($user->is_logged && $options['forms_user'] == 1) $allow = true;
			if(!$user->is_logged && $options['forms_guest'] == 1) $allow = true;
	
			$val = $field->getInput($value);

			if(isset($ctype)){
				$result = $model->processForm($ctype, $value, $val, $field, $system_lang, $data, $allow, $options, $controller);
				list($val, $field) = $result;
				echo $val;											
			}else { 
				$result = $model->processStandartForm($value, $val, $field, $system_lang, $data);
				list($val, $field) = $result;
				echo $val;	
			}
		} else { echo $field->getInput($value); }
	} else { echo $field->getInput($value); }
#    ?>


   templates/default/assets/ui/form.tpl.php :

<script>
	(function($) {$(function() {
		$('ul.notebooks__caption').on('click', 'li:not(.active)', function() {
			$(this)
				.addClass('active').siblings().removeClass('active')
				.closest('div.notebooks').find('div.notebooks__content').removeClass('active').eq($(this).index()).addClass('active');
		});
	
	});
	})(jQuery);
</script>

<script type="text/javascript">

	function ya_get(button){
		var button = $(button);
		var default_lang = 'ru';
		var page_lang = 'en';										

		
		var target_lang = button.attr('id');//  
		
		//   
		var field = '';
		var current = button.attr('mark');
		if(current.indexOf("_" + target_lang) + 1){ 
			field = current.replace("_" + target_lang, '') 
		} else { field = current; }	

		//  	
		textareas = $('#' + field + "_container");	
		lang = target_lang;			
		target = field.replace("_" + target_lang, ""); 
		if(target_lang != default_lang) target = target + "_" + target_lang;

		if ( $("input[name='" + target + "']").is( "input" )){ target_type = ".input";	}
		if ( $("textarea[name='" + target + "']").is( "textarea" )) target_type = ".textarea";
				
		//   
		if(textareas)
		textareas.find(target_type).each(function() {
			text = $(this).val();
				
			//  
			if($(this).attr('name') == field + '_' + page_lang && $(this).val()){
				translate(text, lang, target);			
				return false;
			} 
		
			//  
			if($(this).attr('name') == field && $(this).val()){ 
				translate(text, lang, target);	
				return false;				
			}
			
			//  
			if($(this).attr('name') != current && $(this).attr('name') != field && $(this).val()){ 
				translate(text, lang, target);
				return false;				
			}

		});


	
		
		function translate(text, lang, target){

			$('img', button).attr('src', '/templates/default/images/loading.gif');			
			$.post("<?php echo href_to('languages').'/translate_ajax'; ?>", { text: text, lang : lang })
			.done(function(data) {
				data = data.replace('}null', '}');				
				var val = eval( '(' + data+ ')' );
				if(val.code > 200) { alert(val.message); } else {
					$('textarea[name=' + target + ']').val(val.text);
					$('#' + target + '_text .redactor-editor').html(val.text);
					$("input[name='" + target + "']").val(val.text);
				}					 
				$('img', button).attr('src', '/templates/default/controllers/languages/images/flags/flag_' + lang + '.png');
			});	
		}		

	}

</script>

=================================================================================
   
=================================================================================

  templates/default/assets/ui/form.tpl.php ( 1)    

:

<?php	$css_file = $this->getStylesFileName('languages');
        if ($css_file){ $this->addCSS($css_file); } ?>

=================================================================================
      
=================================================================================

  templates/default/assets/ui/menu.tpl.php ( 1)

    :

<?php  #   
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
    if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		$model = cmsCore::getModel('languages');
		foreach($menu as $key=>$val){
			if(isset($val['parent_id']) && $val['parent_id'] == 33){
				$m_id =str_replace('group', '', $val['id']);
				$mname = $model->filterEqual('item_id', $m_id)->filterEqual('ctype', 'groups')->filterEqual('lang', $system_lang)->getFieldFiltered('languages_groups', 'title');
				if($mname) $menu[$key]['title'] = $mname;			
			}
		}
	} 
#    ?>


=================================================================================
       
=================================================================================

  templates/default/controllers/content/category_form.tpl.php ( 1)

    :

<?php
    #   
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
	if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		$model = cmsCore::getModel('languages');
		$model->filterEqual('item_id', $ctype['id'])->filterEqual('lang', $system_lang);
		$title = $model->getFieldFiltered('languages_ctypes', 'title');			
		if($title) $ctype['title'] = $title;
	} 
	#     
?>


=================================================================================
    
=================================================================================

  templates/default/controllers/content/category_view.tpl.php ( 1)

    :

<?php  
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
	if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		$model = cmsCore::getModel('languages');
		
		#   				
		$title = $model->getCatTitle($ctype['name'], $category['id'], $system_lang);
		if($title) $category['title'] = $title; 
		#   
		
		#  
		if($datasets) 
		foreach($datasets as $key=>$set){   	
			$title = $model->getDatasetTitle($set['id'], $system_lang, $ctype['name']);
			if($title) $datasets[$key]['title'] = $title;
		} 
		#  		 

		#   		
		if($subcats) 
		foreach($subcats as $key=>$c){			
			$title = $model->getCatTitle($ctype['name'], $c['id'], $system_lang);
			if($title) $subcats[$key]['title'] = $title;
		} 
		#   
}
 ?>


=================================================================================
      
=================================================================================

  templates/default/controllers/content/item_form.tpl.php ( 1)

    :

<?php #   
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
	if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		$model = cmsCore::getModel('languages');			
		$model->filterEqual('item_id', $ctype['id'])->filterEqual('lang', $system_lang);
		$title = $model->getFieldFiltered('languages_ctypes', 'title');	
		if($title) $ctype['title'] = $title;
		$labels = $model->filterEqual('item_id', $ctype['id'])->filterEqual('lang', $system_lang)->getFieldFiltered('languages_ctypes', 'labels');
		$labels = $model->yamlToArray($labels);
		if($labels) $ctype['labels']['create'] = $labels['create'];
		if(isset($item['id'])){
			$model->filterEqual('item_id', $item['id'])->filterEqual('lang', $system_lang);
			$title = $model->getFieldFiltered('languages_con_' . $ctype['name'], 'title');
			if($title) $item['title'] = $title;
		}
	} 
#     ?>


=================================================================================
      
=================================================================================

  templates/default/controllers/content/item_view.tpl.php ( 58)



<?php

    $this->renderContentItem($ctype['name'], array(
        'item' => $item,
        'ctype' => $ctype,
        'fields' => $fields,
        'props' => $props,
        'props_values' => $props_values,
    ));

:

<?php  #   	
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
    if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		$model = cmsCore::getModel('languages');
		if($props)	
		foreach($props as $key=>$val){		
			$trans_prop = $model->filterEqual('item_id', $val['id'])->filterEqual('lang', $system_lang)->get('languages_con_'.$ctype['name'].'_props');
			$model->filterEqual('item_id', $val['id'] + 1000)->filterEqual('lang', $system_lang);
			$trans_prop_vals = $model->getFieldFiltered('languages_con_'.$ctype['name'].'_props', 'vals');
			if($trans_prop)
			foreach($trans_prop as $tp){		
				$props[$val['id']]['title'] = $tp['title'];
				$props[$val['id']]['fieldset'] = $tp['fieldset'];			
				$props[$val['id']]['values'] = $tp['vals'];						
			}
			
			$model->filterEqual('item_id', $val['id'] + 1000)->filterEqual('lang', $system_lang);
			$trans_prop_vals = $model->getFieldFiltered('languages_con_'.$ctype['name'].'_props', 'vals');
			if($trans_prop_vals)$props[$key]['options']['units'] = $trans_prop_vals;
		}
	} 
#    ?>

=================================================================================
   
=================================================================================

  templates/default/controllers/content/widgets/categories/categories.tpl.php ( 1)

    :

<?php  #  
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
	if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		foreach($cats as $key=>$cat){
			$model = cmsCore::getModel('languages');			
			$title = $model->filterEqual('item_id', $cat['id'])->filterEqual('lang', $system_lang)->getFieldFiltered('languages_cats', 'title');
			if($title) $cats[$key]['title'] = $title;
		}
	} 
#   ?>


=================================================================================
  
=================================================================================

  

templates/default/controllers/groups/group_activity.tpl.php ( 1)
templates/default/controllers/groups/group_members.tpl.php ( 1)

    :

<?php  #  	
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
    if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		$model = cmsCore::getModel('languages');
		$title = $model->filterEqual('item_id', $group['id'])->filterEqual('lang', $system_lang)->filterEqual('ctype', 'groups')->getFieldFiltered('languages_groups', 'title');
		if($title) $group['title'] = $title;
		} 

#   ?>


=================================================================================
  
=================================================================================

  templates/default/controllers/groups/group_content.tpl.php ( 4)

 

$list_header = empty($ctype['labels']['profile']) ? $ctype['title'] : $ctype['labels']['profile'];

:

#  	
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
    if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		$model = cmsCore::getModel('languages');
		$title = $model->filterEqual('item_id', $group['id'])->filterEqual('lang', $system_lang)->filterEqual('ctype', 'groups')->getFieldFiltered('languages_groups', 'title');
		if($title) $group['title'] = $title;
		$ctitle = $model->filterEqual('item_id', $ctype['id'])->filterEqual('lang', $system_lang)->getFieldFiltered('languages_ctypes', 'title');
		if($ctitle) $list_header = $ctitle;			
	} 
#  

=================================================================================
  
=================================================================================

  templates/default/controllers/groups/group_view.tpl.php ( 1)

    :

<?php  #  	
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
    if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		$model = cmsCore::getModel('languages');
		$title = $model->filterEqual('item_id', $group['id'])->filterEqual('lang', $system_lang)->filterEqual('ctype', 'groups')->getFieldFiltered('languages_groups', 'title');
		$desc = $model->filterEqual('item_id', $group['id'])->filterEqual('lang', $system_lang)->filterEqual('ctype', 'description')->getFieldFiltered('languages_groups', 'title'); 	
		if($title) $group['title'] = $title;
		if($desc) $group['description'] = $desc;	
		} 
		#    
		$m = cmsCore::getModel('content');
		foreach($content_counts as $key=>$val){	
			$ct = $m->getContentTypeByName($key);
			$ctitle = $model->filterEqual('item_id', $ct['id'])->filterEqual('lang', $system_lang)->getFieldFiltered('languages_ctypes', 'title');
			if($ctitle) $content_counts[$key]['title'] = $ctitle;
			
		}
#   ?>

=================================================================================
      
=================================================================================

  templates/default/controllers/photos/upload.tpl.php ( 1)

    :

<?php  #      
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
    if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		$model = cmsCore::getModel('languages');
		$model->filterEqual('item_id', $album['id'])->filterEqual('lang', $system_lang);
		$atitle = $model->filterEqual('ctype', $ctype['name'])->getFieldFiltered('languages_con_'.$ctype['name'], 'title');
		if($atitle) $album['title'] = $atitle;
		
		$ct = $model->filterEqual('item_id', $ctype['id'])->filterEqual('lang', $system_lang)->getItem('languages_ctypes');
		
		if($ct) {
			$ctype['title'] = $ct['title'];	
			$ctype['labels'] = $model->yamlToArray($ct['labels']);
		}
	} 
#       ?>

=================================================================================
   
=================================================================================

  templates/default/controllers/users/index.tpl.php ( 1)

    :

<?php  #  
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
    if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		$model = cmsCore::getModel('languages');
		foreach($datasets as $key=>$val){
		$set_name = $model->filterEqual('ctype', $key)->filterEqual('lang', $system_lang)->getFieldFiltered('languages_usergroups', 'title');
		if($set_name) $datasets[$key]['title'] = $set_name; 				
		}	
	}
#   ?>

=================================================================================
   
=================================================================================

 
 
templates/default/controllers/users/profile_view.tpl.php ( 1) 
templates/default/controllers/users/profile_tab.tpl.php ( 1)
templates/default/controllers/users/profile_karma.tpl.php ( 1)

    :

<?php  #   
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
    if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		$model = cmsCore::getModel('languages');
		foreach($tabs as $key=>$tab){
			$tabname = $model->filterEqual('ctype', $tab['title'])->filterEqual('lang', $system_lang)->getFieldFiltered('languages_usertabs', 'title');
			if($tabname) $tabs[$key]['title'] = $tabname;					
		}
	} 
#    ?>

=================================================================================
   
=================================================================================

  templates/default/controllers/users/profile_view.tpl.php ( 1,  170)

    :

<?php  #      	
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
    if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		$model = cmsCore::getModel('languages');
		#    
		$m = cmsCore::getModel('content'); 
		foreach($content_counts as $key=>$val){	
			$ct = $m->getContentTypeByName($key);
			$ctitle = $model->filterEqual('item_id', $ct['id'])->filterEqual('lang', $system_lang)->getFieldFiltered('languages_ctypes', 'title');
			if($ctitle) $content_counts[$key]['title'] = $ctitle;	
		}
		#   
		foreach($tabs as $key=>$tab){
			$tabname = $model->filterEqual('ctype', $tab['title'])->filterEqual('lang', $system_lang)->getFieldFiltered('languages_usertabs', 'title');
			if($tabname) $tabs[$key]['title'] = $tabname;					
		}
	} 
#       ?>


  

<?php foreach($fieldsets as $fieldset){ ?> ( ~ 170)

:

<?php  #  	
	$system_lang = cmsCore::getLanguageName();
	$config = cmsConfig::getInstance();
	$model = cmsCore::getModel('languages');
	if(cmsCore::isControllerExists('languages') && $system_lang !== $config->language) {
		$pattern = str_replace(' ', '_', $fieldset['title']);
		$ctitle = $model->filterEqual('ctype', $pattern)->filterEqual('lang', $system_lang)->getFieldFiltered('languages_userfields', 'title');
		if($ctitle) $fieldset['title'] = $ctitle;
	} 
#   ?> 


=================================================================================
   
=================================================================================

  

system/controllers/content/actions/item_add.php ( 120) 
system/controllers/content/actions/item_edit.php ( 117)



$errors = $form->validate($this,  $item);

  :

list($list, $item) = cmsEventsManager::hook('content_before_validate', array($this->request->getAll(), $item));



=================================================================================
   
=================================================================================

 ,     ""           :

1.    

2.      -

3.  p  2 ,   "":

	)   cms_controllers - http://img-fotki.yandex.ru/get/194503/109657871.5/0_568a61_1c040bfd_orig.png

	)   cms_widgets - http://img-fotki.yandex.ru/get/198488/109657871.5/0_568a62_c90c54aa_orig.png

4.    

5.     - cms_languages_albums, cms_languages_articles, cms_languages_board, cms_languages_news  ..(        )       NULL.          .            ,    .

http://img-fotki.yandex.ru/get/176331/109657871.5/0_568a60_b3e4bf40_orig.png 

    ? -          -,  ,        .

6.   languages_fields    item_id c INT(11)  VARCHAR(50)

7.     ,        (         ,    ,            ,         .             .  ,        .).            res.

=================================================================================
 
=================================================================================

           :

1.       geo

2.          :

	- RU(       InstantCMS)
	- EN  UK(     InstantCMS)
	- geotables_default_rus.sql    (  )

  ,   ,                     .

      (cms_)          .

 ,    -       ,    :

=================================================================================
INSTANTCMS -   
=================================================================================

  InstantCMS          :

	cms_geo_cities
	cms_geo_cities_en
	cms_geo_cities_uk
	cms_geo_countries
	cms_geo_countries_en
	cms_geo_countries_uk
	cms_geo_regions
	cms_geo_regions_en
	cms_geo_regions_uk

 

	cms_geo_cities
	cms_geo_countries
	cms_geo_regions

  ,   ,     

=================================================================================
INSTANTCMS -   
=================================================================================

     

	cms_geo_cities
	cms_geo_countries
	cms_geo_regions

          .      geotables_default_rus.sql 

  InstantCMS          :

	cms_geo_cities
	cms_geo_cities_ru
	cms_geo_cities_uk
	cms_geo_countries
	cms_geo_countries_ru
	cms_geo_countries_uk
	cms_geo_regions
	cms_geo_regions_ru
	cms_geo_regions_uk

 

	cms_geo_cities
	cms_geo_countries
	cms_geo_regions

 ,    geotables_default_rus.sql 

            geo        .     system/fields/city.php  system/controllers/geo/model.php    - .

=================================================================================
 
=================================================================================

   -   ,     ,       .             .       ,              .




