Skip to content

Commit

Permalink
Make mci_get_category_id_internal an anonymous fn
Browse files Browse the repository at this point in the history
  • Loading branch information
vboctor committed Nov 10, 2017
1 parent 23eb41a commit 4ce614a
Showing 1 changed file with 26 additions and 32 deletions.
58 changes: 26 additions & 32 deletions api/soap/mc_api.php
Expand Up @@ -802,47 +802,41 @@ function mci_get_category( $p_category_id ) {
*
* @param string|array $p_category Category name or array with id and/or name.
* @param integer $p_project_id Project id.
* @return integer category id or 0 if not found
* @return integer|SoapFault|RestFault category id or error.
*/
function mci_get_category_id_internal( $p_category, $p_project_id ) {
if( !isset( $p_category ) ) {
return 0;
}
function mci_get_category_id( $p_category, $p_project_id ) {
$fn_get_category_id_internal = function( $p_category, $p_project_id ) {
if( !isset( $p_category ) ) {
return 0;
}

if( is_array( $p_category ) ) {
if( isset( $p_category['id'] ) ) {
if( category_exists( $p_category['id'] ) ) {
return $p_category['id'];
$t_category_name = '';

if( is_array( $p_category ) ) {
if( isset( $p_category['id'] ) ) {
if( category_exists( $p_category['id'] ) ) {
return $p_category['id'];
}
} else if( isset( $p_category['name'] ) ) {
$t_category_name = $p_category['name'];
} else {
return 0;
}
} else if( isset( $p_category['name'] ) ) {
$t_category_name = $p_category['name'];
} else {
return 0;
$t_category_name = $p_category;
}
} else {
$t_category_name = $p_category;
}

$t_cat_array = category_get_all_rows( $p_project_id );
foreach( $t_cat_array as $t_category_row ) {
if( strcasecmp( $t_category_row['name'], $t_category_name ) == 0 ) {
return $t_category_row['id'];
$t_cat_array = category_get_all_rows( $p_project_id );
foreach( $t_cat_array as $t_category_row ) {
if( strcasecmp( $t_category_row['name'], $t_category_name ) == 0 ) {
return $t_category_row['id'];
}
}
}

return 0;
}
return 0;
};

/**
* Convert a category name, or category object reference (array w/ id, name,
* or id + name) to a category id for a given project.
*
* @param string|array $p_category Category name or array with id and/or name.
* @param integer $p_project_id Project id.
* @return integer|SoapFault|RestFault category id or error.
*/
function mci_get_category_id( $p_category, $p_project_id ) {
$t_category_id = mci_get_category_id_internal( $p_category, $p_project_id );
$t_category_id = $fn_get_category_id_internal( $p_category, $p_project_id );
if( $t_category_id == 0 && !config_get( 'allow_no_category' ) ) {
if( !isset( $p_category ) ) {
return ApiObjectFactory::faultBadRequest( 'Category field must be supplied.' );
Expand Down

0 comments on commit 4ce614a

Please sign in to comment.