// ExtraVars
$extra_args->module_srl = $midArraySrl;
$extra_output = executeQueryArray('module.getModuleExtraVars', $extra_args);
if ($extra_output->toBool() && is_array($extra_output->data)){
foreach($extra_output->data as $var){
$extra_vars->{$var->name} = $var->value;
}
}
위와 같은 코드에서 굵게 칠한 부분이 에러 라인으로 지목이 됩니다.
Warning: Creating default object from empty value 에러인데요.
제가 예상한대로 처리 해봤더니 에러는 사라지는데 rss로 게시글 생성이 안되더군요.
가각 굵은표시 윗줄에
$extra_args = new stdClass();
$extra_args->module_srl = $midArraySrl;
$extra_output = executeQueryArray('module.getModuleExtraVars', $extra_args);
if ($extra_output->toBool() && is_array($extra_output->data)){
foreach($extra_output->data as $var){
$extra_vars = new stdClass();
$extra_vars->{$var->name} = $var->value;
}
}
붉은색으로 했더니 게시글이 등록이 안되네요.
함수 전체 코드 입니다.
function triggerXrssDisplayBefore(&$output)
{
$act = Context::get('act');
$module = Context::get('module');
$mid = Context::get('mid');
if($act || $module == 'admin') return;
// 지정된 보드인지 체크
$midArray = array();
$oModuleModel = &getModel('module');
// Aplly List
$module_config = $oModuleModel->getModuleConfig('xrss');
$midArray = explode(",",$module_config->collect_mid);
if(!$midArray) return;
// Exec
for($i=0;$i<count($midArray);$i++){
// Srl
$midArraySrl = $oModuleModel->getModuleInfoByMid(trim($midArray[$i]))->module_srl;
if(!$midArraySrl) continue;
// ExtraVars
$extra_args->module_srl = $midArraySrl;
$extra_output = executeQueryArray('module.getModuleExtraVars', $extra_args);
if ($extra_output->toBool() && is_array($extra_output->data)){
foreach($extra_output->data as $var){
$extra_vars->{$var->name} = $var->value;
}
}
$args = new stdClass;
for($k=0;$k<$extra_vars->list_cnt;$k++){
$str = 'list'.$k;
$val = unserialize($extra_vars->$str);
$args->$str=$val;
}
$xrssAdminModel = getAdminModel('xrss');
$list_array = $xrssAdminModel->objectToArray($args);
// Insert
for($k=0;$k < count($list_array);$k++){
if($list_array['list'.$k]['mid'] !== $mid) continue;
if($list_array['list'.$k]['used'] !== 'Y') continue;
// Rss Insert
if($list_array['list'.$k]['rss_used'] == 'Y')
$this->collect_exec($list_array, $midArraySrl, $k);
// Youtube Insert
if($list_array['list'.$k]['yu_used'] == 'Y')
$this->collect_yu_exec($list_array, $midArraySrl, $k);
// Instagram Insert
if($list_array['list'.$k]['in_used'] == 'Y')
$this->collect_in_exec($list_array, $midArraySrl, $k);
}
}
}