Version 4.7.0
This commit is contained in:
1 parent
517a5e1f70
commit
8ba7d43898
1933 files changed
+65613
-11332
No files matched your search
@@ -135,6 +135,11 @@ class _Fields extends \IPS\CustomField implements \IPS\Node\Permissions
|
||||
* @brief [CustomField] Upload storage extension
|
||||
*/
|
||||
protected static $uploadStorageExtension = 'cms_Records';
|
||||
|
||||
/**
|
||||
* @brief [CustomField] Set to TRUE if uploads fields are capable of holding the submitted content for moderation
|
||||
*/
|
||||
public static $uploadsCanBeModerated = TRUE;
|
||||
|
||||
/**
|
||||
* @brief [CustomField] Cache retrieved fields
|
||||
@@ -334,6 +339,8 @@ class _Fields extends \IPS\CustomField implements \IPS\Node\Permissions
|
||||
|
||||
foreach( static::roots( $permissionCheck ) as $row )
|
||||
{
|
||||
$row->required = (bool) $row->required;
|
||||
|
||||
if ( $container !== NULL AND $database->use_categories )
|
||||
{
|
||||
if ( $container->fields !== '*' AND $container->fields !== NULL )
|
||||
@@ -1480,15 +1487,15 @@ class _Fields extends \IPS\CustomField implements \IPS\Node\Permissions
|
||||
|
||||
if ( $start and $end )
|
||||
{
|
||||
return \IPS\Member::loggedIn()->language()->addToStack('field_daterange_start_end', NULL, array( 'sprintf' => array( $start, $end ) ) );
|
||||
return \IPS\Member::loggedIn()->language()->addToStack( 'field_daterange_start_end', FALSE, array( 'sprintf' => array( $start, $end ) ) );
|
||||
}
|
||||
else if ( $start )
|
||||
{
|
||||
return \IPS\Member::loggedIn()->language()->addToStack('field_daterange_start', NULL, array( 'sprintf' => array( $start ) ) );
|
||||
return \IPS\Member::loggedIn()->language()->addToStack( 'field_daterange_start', FALSE, array( 'sprintf' => array( $start ) ) );
|
||||
}
|
||||
else if ( $end )
|
||||
{
|
||||
return \IPS\Member::loggedIn()->language()->addToStack('field_daterange_end', NULL, array( 'sprintf' => array( $end ) ) );
|
||||
return \IPS\Member::loggedIn()->language()->addToStack( 'field_daterange_end', FALSE, array( 'sprintf' => array( $end ) ) );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1718,7 +1725,7 @@ class _Fields extends \IPS\CustomField implements \IPS\Node\Permissions
|
||||
|
||||
if ( !$ok )
|
||||
{
|
||||
\IPS\Output::i()->output .= \IPS\Theme::i()->getTemplate( 'global', 'core', 'global' )->message( \IPS\Member::loggedIn()->language()->addToStack( 'cms_field_no_type_warning', NULL, array( 'sprintf' => array( $this->type ) ) ), 'warning', NULL, FALSE );
|
||||
\IPS\Output::i()->output .= \IPS\Theme::i()->getTemplate( 'global', 'core', 'global' )->message( \IPS\Member::loggedIn()->language()->addToStack( 'cms_field_no_type_warning', FALSE, array( 'sprintf' => array( $this->type ) ) ), 'warning', NULL, FALSE );
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1765,7 +1772,7 @@ class _Fields extends \IPS\CustomField implements \IPS\Node\Permissions
|
||||
'Email' => array_merge( array( 'field_max_length', 'field_default_value', 'field_unique' ), $displayDefaults ),
|
||||
'Item' => array_merge( array( 'field_is_multiple', 'field_relational_db', 'field_crosslink' ), $displayDefaults ),
|
||||
'Member' => array_merge( array( 'field_is_multiple', 'field_unique' ), $displayDefaults ),
|
||||
'Number' => array_merge( array( 'field_default_value', 'field_number_decimals_on', 'field_number_decimals', 'field_unique' ), $displayDefaults ),
|
||||
'Number' => array_merge( array( 'field_default_value', 'field_number_decimals_on', 'field_number_decimals', 'field_unique', 'field_number_min', 'field_number_max' ), $displayDefaults ),
|
||||
'Password' => array_merge( array( 'field_default_value' ), $displayDefaults ),
|
||||
'Radio' => array_merge( array( 'field_extra', 'field_default_value', 'field_truncate', 'field_unique' ), $displayDefaults ),
|
||||
'Select' => array_merge( array( 'field_extra', 'field_default_value', 'field_is_multiple', 'field_truncate', 'field_unique' ), $displayDefaults ),
|
||||
@@ -1851,7 +1858,7 @@ class _Fields extends \IPS\CustomField implements \IPS\Node\Permissions
|
||||
else
|
||||
{
|
||||
$disabled[] = $db->id;
|
||||
$databases[ $db->id ] = \IPS\Member::loggedIn()->language()->addToStack( 'cms_db_relational_with_name_disabled', NULL, array( 'sprintf' => array( $db->_title ) ) );
|
||||
$databases[ $db->id ] = \IPS\Member::loggedIn()->language()->addToStack( 'cms_db_relational_with_name_disabled', FALSE, array( 'sprintf' => array( $db->_title ) ) );
|
||||
}
|
||||
}
|
||||
if ( ! \count( $databases ) )
|
||||
@@ -1865,9 +1872,11 @@ class _Fields extends \IPS\CustomField implements \IPS\Node\Permissions
|
||||
}
|
||||
|
||||
/* Number specific */
|
||||
$form->add( new \IPS\Helpers\Form\Number( 'field_number_min', $this->id and isset( $this->extra['min'] ) ? $this->extra['min'] : NULL, FALSE, array( 'unlimited' => '', 'unlimitedLang' => 'any' ), NULL, NULL, NULL, 'field_number_min' ) );
|
||||
$form->add( new \IPS\Helpers\Form\Number( 'field_number_max', $this->id and isset( $this->extra['max'] ) ? $this->extra['max'] : NULL, FALSE, array( 'unlimited' => '', 'unlimitedLang' => 'any' ), NULL, NULL, NULL, 'field_number_max' ) );
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'field_number_decimals_on', $this->id ? ( ( isset( $this->extra['on'] ) and $this->extra['on'] ) ? TRUE : FALSE ) : FALSE, FALSE, array( 'togglesOn' => array( 'field_number_decimals' ) ), NULL, NULL, NULL, 'field_number_decimals_on' ) );
|
||||
$form->add( new \IPS\Helpers\Form\Number( 'field_number_decimals', $this->id ? ( ( isset( $this->extra['places'] ) and $this->extra['places'] ) ? $this->extra['places'] : 0 ) : 0, FALSE, array( 'max' => 6 ), NULL, NULL, NULL, 'field_number_decimals' ) );
|
||||
|
||||
|
||||
/* Upload specific */
|
||||
$form->add( new \IPS\Helpers\Form\YesNo( 'field_upload_is_multiple', $this->id ? $this->is_multiple : 0, FALSE, array( ), NULL, NULL, NULL, 'field_upload_is_multiple' ) );
|
||||
|
||||
@@ -2007,10 +2016,9 @@ class _Fields extends \IPS\CustomField implements \IPS\Node\Permissions
|
||||
if ( isset( \IPS\Request::i()->database_id ) )
|
||||
{
|
||||
$usingForum = \IPS\cms\Databases::load( \IPS\Request::i()->database_id )->forum_record;
|
||||
|
||||
if ( ! $usingForum and $this->id )
|
||||
{
|
||||
$usingForum = \IPS\Db::i()->select( 'COUNT(*)', 'cms_database_categories', array( 'category_database_id=? and category_forum_override=1 and category_forum_record=1', $this->id ) );
|
||||
$usingForum = \IPS\Db::i()->select( 'COUNT(*)', 'cms_database_categories', array( 'category_database_id=? and category_forum_override=1 and category_forum_record=1', $this->id ) )->first();
|
||||
}
|
||||
|
||||
if ( $usingForum )
|
||||
@@ -2277,6 +2285,7 @@ class _Fields extends \IPS\CustomField implements \IPS\Node\Permissions
|
||||
$columnDefinition['type'] = 'INT';
|
||||
$columnDefinition['length'] = 10;
|
||||
$values['field_extra'] = '';
|
||||
$values['default_value'] = ( isset( $values['default_value'] ) ) ? (int) $values['default_value'] : NULL;
|
||||
break;
|
||||
case 'Number':
|
||||
if ( isset( $values['field_number_decimals_on'] ) and $values['field_number_decimals_on'] and $values['field_number_decimals'] )
|
||||
@@ -2711,9 +2720,9 @@ class _Fields extends \IPS\CustomField implements \IPS\Node\Permissions
|
||||
}
|
||||
|
||||
/* Special number stuff */
|
||||
if ( isset( $values['field_type'] ) AND $values['field_type'] === 'Number' AND isset( $values['field_number_decimals_on'] ) )
|
||||
if ( isset( $values['field_type'] ) AND $values['field_type'] === 'Number' AND ( isset( $values['field_number_decimals_on'] ) or isset( $values['field_number_min'] ) or isset( $values['field_number_max'] ) ) )
|
||||
{
|
||||
$values['extra'] = array( 'on' => (boolean) $values['field_number_decimals_on'], 'places' => $values['field_number_decimals'] );
|
||||
$values['extra'] = array( 'on' => (boolean) $values['field_number_decimals_on'], 'places' => $values['field_number_decimals'], 'min' => $values['field_number_min'], 'max' => $values['field_number_max'] );
|
||||
}
|
||||
|
||||
/* Remove the filter flag if this field cannot be filtered */
|
||||
@@ -2728,7 +2737,7 @@ class _Fields extends \IPS\CustomField implements \IPS\Node\Permissions
|
||||
$this->_oldDefaultValue = $this->default_value;
|
||||
}
|
||||
|
||||
foreach( array( 'field_crosslink', 'field_number_decimals_on', 'field_number_decimals', 'field_format_opts_on', 'field_relational_db', 'field_upload_is_multiple', 'field_default_update_existing', 'field_date_time_override', 'field_date_timezone', 'field_date_time_time', 'field_upload_is_image', 'field_image_size', 'field_upload_thumb', 'field_title', 'field_display_display_json_badge', 'field_display_display_json_custom', 'field_display_listing_json_badge', 'field_display_listing_json_custom', 'field_display_listing_json_badge_right', 'media_display_listing_method', 'media_display_display_method', 'field_show_map_listing', 'field_show_map_listing_dims', 'field_show_map_display', 'field_show_map_display_dims', 'field_display_display_json_where' ) as $field )
|
||||
foreach( array( 'field_crosslink', 'field_number_decimals_on', 'field_number_decimals', 'field_number_min', 'field_number_max', 'field_format_opts_on', 'field_relational_db', 'field_upload_is_multiple', 'field_default_update_existing', 'field_date_time_override', 'field_date_timezone', 'field_date_time_time', 'field_upload_is_image', 'field_image_size', 'field_upload_thumb', 'field_title', 'field_display_display_json_badge', 'field_display_display_json_custom', 'field_display_listing_json_badge', 'field_display_listing_json_custom', 'field_display_listing_json_badge_right', 'media_display_listing_method', 'media_display_display_method', 'field_show_map_listing', 'field_show_map_listing_dims', 'field_show_map_display', 'field_show_map_display_dims', 'field_display_display_json_where' ) as $field )
|
||||
{
|
||||
if ( array_key_exists( $field, $values ) )
|
||||
{
|
||||
@@ -2867,6 +2876,9 @@ class _Fields extends \IPS\CustomField implements \IPS\Node\Permissions
|
||||
}
|
||||
catch( \IPS\Db\Exception $e ) { }
|
||||
}
|
||||
|
||||
\IPS\Lang::deleteCustom( 'cms', "content_field_{$this->id}_desc" );
|
||||
\IPS\Lang::deleteCustom( 'cms', "content_field_{$this->id}_validation_error" );
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -2929,13 +2941,14 @@ class _Fields extends \IPS\CustomField implements \IPS\Node\Permissions
|
||||
break;
|
||||
case 'Upload':
|
||||
$options['storageExtension'] = static::$uploadStorageExtension;
|
||||
$options['canBeModerated'] = static::$uploadsCanBeModerated;
|
||||
|
||||
if ( isset( $this->extra['type'] ) )
|
||||
{
|
||||
if ( $this->extra['type'] === 'image' )
|
||||
{
|
||||
$options['allowStockPhotos'] = TRUE;
|
||||
$options['image'] = array( 'maxWidth' => $this->extra['maxsize'][0], 'maxHeight' => $this->extra['maxsize'][1] );
|
||||
$options['image'] = array( 'maxWidth' => $this->extra['maxsize'][0] ?: NULL, 'maxHeight' => $this->extra['maxsize'][1] ?: NULL );
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -3098,6 +3111,16 @@ class _Fields extends \IPS\CustomField implements \IPS\Node\Permissions
|
||||
$options['decimals'] = $this->extra['places'];
|
||||
}
|
||||
|
||||
if ( isset( $this->extra['min'] ) and $this->extra['min'] )
|
||||
{
|
||||
$options['min'] = $this->extra['min'];
|
||||
}
|
||||
|
||||
if ( isset( $this->extra['max'] ) and $this->extra['max'])
|
||||
{
|
||||
$options['max'] = $this->extra['max'];
|
||||
}
|
||||
|
||||
if( !$this->required )
|
||||
{
|
||||
$options['unlimited'] = '';
|
||||
|
||||
Reference in new issue
Block a user