@@ -71,17 +71,7 @@ public function generateCatalog(array $dictionary, $configFilePath)
7171 if (!empty ($ fileContent )) {
7272 $ dom ->loadXML ($ fileContent );
7373 } else {
74- $ projectNode = $ dom ->createElement ('project ' );
75-
76- //PhpStorm 9 version for component is "4"
77- $ projectNode ->setAttribute ('version ' , '4 ' );
78- $ dom ->appendChild ($ projectNode );
79- $ rootComponentNode = $ dom ->createElement ('component ' );
80-
81- //PhpStorm 9 version for ProjectRootManager is "2"
82- $ rootComponentNode ->setAttribute ('version ' , '2 ' );
83- $ rootComponentNode ->setAttribute ('name ' , 'ProjectRootManager ' );
84- $ projectNode ->appendChild ($ rootComponentNode );
74+ $ this ->initEmptyFile ($ dom );
8575 }
8676 $ xpath = new \DOMXPath ($ dom );
8777 $ nodeList = $ xpath ->query ('/project ' );
@@ -90,17 +80,7 @@ public function generateCatalog(array $dictionary, $configFilePath)
9080 } catch (FileSystemException $ f ) {
9181 //create file if does not exists
9282 $ dom = $ this ->domDocumentFactory ->create ();
93- $ projectNode = $ dom ->createElement ('project ' );
94-
95- //PhpStorm 9 version for component is "4"
96- $ projectNode ->setAttribute ('version ' , '4 ' );
97- $ dom ->appendChild ($ projectNode );
98- $ rootComponentNode = $ dom ->createElement ('component ' );
99-
100- //PhpStorm 9 version for ProjectRootManager is "2"
101- $ rootComponentNode ->setAttribute ('version ' , '2 ' );
102- $ rootComponentNode ->setAttribute ('name ' , 'ProjectRootManager ' );
103- $ projectNode ->appendChild ($ rootComponentNode );
83+ $ projectNode = $ this ->initEmptyFile ($ dom );
10484 }
10585
10686 $ xpath = new \DOMXPath ($ dom );
@@ -127,4 +107,26 @@ public function generateCatalog(array $dictionary, $configFilePath)
127107 $ file ->write ($ dom ->saveXML ());
128108 $ file ->close ();
129109 }
110+
111+ /**
112+ * Setup basic empty dom elements
113+ *
114+ * @param \DOMDocument $dom
115+ * @return \DOMElement
116+ */
117+ private function initEmptyFile (\DOMDocument $ dom )
118+ {
119+ $ projectNode = $ dom ->createElement ('project ' );
120+
121+ //PhpStorm 9 version for component is "4"
122+ $ projectNode ->setAttribute ('version ' , '4 ' );
123+ $ dom ->appendChild ($ projectNode );
124+ $ rootComponentNode = $ dom ->createElement ('component ' );
125+
126+ //PhpStorm 9 version for ProjectRootManager is "2"
127+ $ rootComponentNode ->setAttribute ('version ' , '2 ' );
128+ $ rootComponentNode ->setAttribute ('name ' , 'ProjectRootManager ' );
129+ $ projectNode ->appendChild ($ rootComponentNode );
130+ return $ projectNode ;
131+ }
130132}
0 commit comments