コード例 #1
0
 public function __construct($file_name)
 {
     $this->partner_group_list = array();
     $partner_group = null;
     $content = file_get_contents($file_name);
     $lines = explode("\n", $content);
     foreach ($lines as $line) {
         $trimmed_line = trim($line);
         if (!$trimmed_line) {
             continue;
         }
         if (strpos($trimmed_line, ":")) {
             //echo "new group: $trimmed_line<br>";
             // add the previous $partner_group (if exists) to the list
             if ($partner_group) {
                 $partner_group->calculateValue();
                 $this->partner_group_list[$partner_group->name] = $partner_group;
             }
             // define a new partnerGroup
             $partner_group = new partnerGroup();
             list($name, $fields) = explode(":", $trimmed_line);
             $partner_group->setName($name);
             $partner_group->setField($fields);
             //echo "new group: [$partner_group->name]<br>";
         } else {
             if ($partner_group) {
                 //echo "data: $trimmed_line<br>";
                 // add it's data
                 $partner_group->addToValue($trimmed_line);
             } else {
                 // error - data comes before the first partner_group !
                 echo "Attempting to add {$trimmed_line} to no group at all!";
             }
         }
     }
     if ($partner_group) {
         $partner_group->calculateValue();
         $this->partner_group_list[$partner_group->name] = $partner_group;
     }
     //		print_r ( $partner_group_list );
 }