ce5482dd by Jeremy Groot

broker team assignment cli update

1 parent 28a73bec
This diff could not be displayed because it is too large.
This diff could not be displayed because it is too large.
......@@ -99,6 +99,13 @@ article {
}
}
// .page-template-marketing_masters-php {
// &.has-text-align-center {
// text-align: center !important;
// }
// }
#menu-hamburger-1 {
white-space: nowrap;
}
......
......@@ -23,12 +23,14 @@ function syncBrokerListToPosts() {
global $wpdb;
$broker_posts = $wpdb->get_results('select post_author from wp_posts where post_author IN('.implode(',', $broker_ids).') and post_type = "broker"',OBJECT_K);
$broker_posts = $wpdb->get_results('select post_author,ID from wp_posts where post_author IN('.implode(',', $broker_ids).') and post_type = "broker"',OBJECT_K);
foreach($brokerList as $bl) {
if(!empty($bl['broker_id']) && empty($broker_posts[$bl['broker_id']])) {
wp_insert_post(['post_type'=>'broker','post_author'=>$bl['broker_id'],'post_title'=>$bl['brokerage'],'post_status' => 'publish']);
} else {
wp_update_post(['ID'=>$broker_posts[$bl['broker_id']]->ID,'post_author'=>$bl['broker_id'],'post_title'=>$bl['brokerage'],'post_status' => 'publish']);
}
......
......@@ -3,7 +3,87 @@
if ( class_exists( 'WP_CLI' ) ) {
class TZ_BROKER_COMMANDS {
//collect rows of a csv file and store them in an associative array
function sync_broker_teams_assignment() {
$staff_members = [];
$row = 0;
if (($handle = fopen(wp_get_upload_dir()['basedir'] . "/" . "staff_assignment.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
if($row == 0) {
++$row;
continue;
}
$staff_members[] = ['full_name'=>trim($data[0]),'email'=>trim($data[1]),
'phone'=>trim($data[2]).' #'.trim($data[3]),'category'=>strtolower(trim($data[4])),'sub_category'=>strtolower(trim($data[5])),'brokerages'=>trim($data[6])];
}
}
// if(count($staff_members) > 0) {
// $assignments = get_fields('options')['assignments'];
//Gather all the field keys from the ACF system
$field_keys = [];
$field_obj = get_field_objects('options')['assignments'];
foreach($field_obj['sub_fields'] as $fo) {
$field_keys[] = ['name'=>$fo['name'],'key'=>$fo['key']];
}
global $wpdb;
$broker_posts = $wpdb->get_results('select post_author,ID from wp_posts where post_type = "broker"',OBJECT_K);
// $current_assignment_count = get_option('options_assignments');
$iter_counter = 0;
foreach($staff_members as $assign) {
foreach($field_keys as $fk) {
$option_name = 'options_assignments_'.$iter_counter."_".$fk['name'];
$option_value = $assign[$fk['name']];
if($option_value == 'all') {
$option_value = '';
}
$option_name_key = '_options_assignments_'.$iter_counter."_".$fk['name'];
$option_value_key = $fk['key'];
// if($fk['name'] == 'brokerages') {
// var_dump($assign[$fk['name']]);
// }
if($fk['name'] == 'brokerages' && !empty($option_value)) {
$option_value = explode(',',$option_value);
$new_option_values = [];
foreach($option_value as $ov) {
foreach($broker_posts as $key => $val ) {
if($ov == $key) {
$ov = $val->ID;
$new_option_values[] = (int)$val->ID;
}
}
}
var_dump($new_option_values);exit;
$option_value = serialize($new_option_values);
}
update_option($option_name, $option_value);
update_option($option_name_key, $option_value_key);
}
// var_dump( $assign);
++$iter_counter;
}
// }
// syncBrokerListToPosts();
}
function rebuild_brokers_assigment($args ) {
......